eolian: property cleanup

This commit is contained in:
Daniel Kolesa 2014-09-10 16:46:34 +01:00
parent 10843dc0e2
commit 588f2dd9db
2 changed files with 13 additions and 9 deletions

View File

@ -61,29 +61,31 @@ _db_fill_property(Eolian_Class *cl, Eo_Class_Def *kls, Eo_Property_Def *prop)
if (prop->get_accessor)
{
if (kls->type == EOLIAN_CLASS_INTERFACE)
foo_id->get_virtual_pure = EINA_TRUE;
foo_id->base = prop->base;
prop->base.file = NULL;
}
if (prop->set_accessor)
{
if (kls->type == EOLIAN_CLASS_INTERFACE)
foo_id->set_virtual_pure = EINA_TRUE;
foo_id->set_base = prop->set_base;
prop->set_base.file = NULL;
}
if (!prop->get_accessor && !prop->set_accessor)
else
{
foo_id->type = EOLIAN_PROPERTY;
if (kls->type == EOLIAN_CLASS_INTERFACE)
foo_id->get_virtual_pure = foo_id->set_virtual_pure = EINA_TRUE;
foo_id->base = prop->base;
prop->base.file = NULL;
}
if (kls->type == EOLIAN_CLASS_INTERFACE)
{
if (foo_id->type == EOLIAN_PROP_GET)
foo_id->get_virtual_pure = EINA_TRUE;
else if (foo_id->type == EOLIAN_PROP_SET)
foo_id->set_virtual_pure = EINA_TRUE;
if (foo_id->type == EOLIAN_PROPERTY)
foo_id->get_virtual_pure = foo_id->set_virtual_pure = EINA_TRUE;
}
cl->properties = eina_list_append(cl->properties, foo_id);
}

View File

@ -1392,6 +1392,8 @@ body:
}
end:
check_match(ls, '}', '{', line, col);
if (!has_get && !has_set)
prop->type = EOLIAN_PROPERTY;
}
static void