q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=588f2dd9db091978f9041b5030608e026c10f492
commit 588f2dd9db091978f9041b5030608e026c10f492 Author: Daniel Kolesa <d.kol...@samsung.com> Date: Wed Sep 10 16:46:34 2014 +0100 eolian: property cleanup --- src/lib/eolian/database_fill.c | 20 +++++++++++--------- src/lib/eolian/eo_parser.c | 2 ++ 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/lib/eolian/database_fill.c b/src/lib/eolian/database_fill.c index d0081cd..33ef6ec 100644 --- a/src/lib/eolian/database_fill.c +++ b/src/lib/eolian/database_fill.c @@ -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); } diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index 37d1b5c..baf6d7c 100644 --- a/src/lib/eolian/eo_parser.c +++ b/src/lib/eolian/eo_parser.c @@ -1392,6 +1392,8 @@ body: } end: check_match(ls, '}', '{', line, col); + if (!has_get && !has_set) + prop->type = EOLIAN_PROPERTY; } static void --