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

-- 


Reply via email to