q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a22ac701b6b705d07327ace41e9a05398ff3a466

commit a22ac701b6b705d07327ace41e9a05398ff3a466
Author: Daniel Kolesa <d.kol...@osg.samsung.com>
Date:   Wed May 20 16:39:00 2015 +0100

    eolian: use eolian_property_values_get correctly
---
 src/bin/eolian/eo_generator.c     | 12 +++++++-----
 src/bin/eolian/impl_generator.c   |  5 +++--
 src/bin/eolian/legacy_generator.c | 10 ++++++----
 3 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/src/bin/eolian/eo_generator.c b/src/bin/eolian/eo_generator.c
index a9c1ae6..508eff9 100644
--- a/src/bin/eolian/eo_generator.c
+++ b/src/bin/eolian/eo_generator.c
@@ -89,12 +89,13 @@ eo_fundef_generate(const Eolian_Class *class, const 
Eolian_Function *func, Eolia
    const char *rettype = NULL;
    Eina_Bool ret_const = EINA_FALSE;
    Eolian_Object_Scope scope = eolian_function_scope_get(func);
+   Eina_Bool is_prop = (ftype == EOLIAN_PROP_GET || ftype == EOLIAN_PROP_SET);
 
    _class_func_env_create(class, eolian_function_name_get(func), ftype, 
&func_env);
    rettypet = eolian_function_return_type_get(func, ftype);
    if (ftype == EOLIAN_PROP_GET && !rettypet)
      {
-        itr = eolian_function_parameters_get(func);
+        itr = eolian_property_values_get(func);
         /* We want to check if there is only one parameter */
         if (eina_iterator_next(itr, &data) && !eina_iterator_next(itr, &data2))
           {
@@ -164,7 +165,7 @@ eo_fundef_generate(const Eolian_Class *class, const 
Eolian_Function *func, Eolia
 
    if (!var_as_ret)
      {
-        itr = eolian_function_parameters_get(func);
+        itr = is_prop ? eolian_property_values_get(func) : 
eolian_function_parameters_get(func);
         EINA_ITERATOR_FOREACH(itr, data)
           {
              Eolian_Function_Parameter *param = data;
@@ -366,6 +367,7 @@ eo_bind_func_generate(const Eolian_Class *class, const 
Eolian_Function *funcid,
    Eina_Bool is_empty = impl ? eolian_implement_is_empty(impl) : 
eolian_function_is_empty(funcid, ftype);
    Eina_Bool is_auto = impl ? eolian_implement_is_auto(impl) : 
eolian_function_is_auto(funcid, ftype);
    if (ftype != EOLIAN_PROP_GET && ftype != EOLIAN_PROP_SET) ftype = 
eolian_function_type_get(funcid);
+   Eina_Bool is_prop = (ftype == EOLIAN_PROP_GET || ftype == EOLIAN_PROP_SET);
 
    Eina_Bool need_implementation = EINA_TRUE;
    if (!impl_env && eolian_function_is_virtual_pure(funcid, ftype)) 
need_implementation = EINA_FALSE;
@@ -388,7 +390,7 @@ eo_bind_func_generate(const Eolian_Class *class, const 
Eolian_Function *funcid,
         add_star = EINA_TRUE;
         if (!rettypet)
           {
-             itr = eolian_function_parameters_get(funcid);
+             itr = eolian_property_values_get(funcid);
              /* We want to check if there is only one parameter */
              if (eina_iterator_next(itr, &data) && !eina_iterator_next(itr, 
&data2))
                {
@@ -424,7 +426,7 @@ eo_bind_func_generate(const Eolian_Class *class, const 
Eolian_Function *funcid,
    eina_iterator_free(itr);
    if (!var_as_ret)
      {
-        itr = eolian_function_parameters_get(funcid);
+        itr = is_prop ? eolian_property_values_get(funcid) : 
eolian_function_parameters_get(funcid);
         EINA_ITERATOR_FOREACH(itr, data)
           {
              Eolian_Function_Parameter *param = data;
@@ -563,7 +565,7 @@ eo_bind_func_generate(const Eolian_Class *class, const 
Eolian_Function *funcid,
 
         if (!has_params && !var_as_ret)
           {
-             itr = eolian_function_parameters_get(funcid);
+             itr = is_prop ? eolian_property_values_get(funcid) : 
eolian_function_parameters_get(funcid);
              has_params |= (eina_iterator_next(itr, &data));
              eina_iterator_free(itr);
           }
diff --git a/src/bin/eolian/impl_generator.c b/src/bin/eolian/impl_generator.c
index 75f1266..490de91 100644
--- a/src/bin/eolian/impl_generator.c
+++ b/src/bin/eolian/impl_generator.c
@@ -16,6 +16,7 @@ _params_generate(const Eolian_Function *foo, 
Eolian_Function_Type ftype, Eina_Bo
 {
    Eina_Iterator *itr;
    Eolian_Function_Parameter *param;
+   Eina_Bool is_prop = (ftype == EOLIAN_PROP_GET || ftype == EOLIAN_PROP_SET);
    eina_strbuf_reset(params);
    eina_strbuf_reset(short_params);
    itr = eolian_property_keys_get(foo);
@@ -42,7 +43,7 @@ _params_generate(const Eolian_Function *foo, 
Eolian_Function_Type ftype, Eina_Bo
    if (!var_as_ret)
      {
         Eina_Bool add_star = (ftype == EOLIAN_PROP_GET);
-        itr = eolian_function_parameters_get(foo);
+        itr = is_prop ? eolian_property_values_get(foo) : 
eolian_function_parameters_get(foo);
         EINA_ITERATOR_FOREACH(itr, param)
           {
              const Eolian_Type *ptypet = eolian_parameter_type_get(param);
@@ -147,7 +148,7 @@ _prototype_generate(const Eolian_Function *foo, 
Eolian_Function_Type ftype, Eina
    const Eolian_Type *rettypet = eolian_function_return_type_get(foo, ftype);
    if (ftype == EOLIAN_PROP_GET && !rettypet)
      {
-        Eina_Iterator *itr = eolian_function_parameters_get(foo);
+        Eina_Iterator *itr = eolian_property_values_get(foo);
         void *data, *data2;
         /* We want to check if there is only one parameter */
         if (eina_iterator_next(itr, &data) && !eina_iterator_next(itr, &data2))
diff --git a/src/bin/eolian/legacy_generator.c 
b/src/bin/eolian/legacy_generator.c
index dc705bf..20af6d5 100644
--- a/src/bin/eolian/legacy_generator.c
+++ b/src/bin/eolian/legacy_generator.c
@@ -55,6 +55,7 @@ _eapi_decl_func_generate(const Eolian_Class *class, const 
Eolian_Function *funci
    Eina_Bool var_as_ret = EINA_FALSE;
    Eina_Bool add_star = EINA_FALSE;
    Eina_Bool ret_const = EINA_FALSE;
+   Eina_Bool is_prop = (ftype == EOLIAN_PROP_GET || ftype == EOLIAN_PROP_SET);
    Eina_Iterator *itr;
    void *data, *data2;
    Eina_Strbuf *flags = NULL;
@@ -71,7 +72,7 @@ _eapi_decl_func_generate(const Eolian_Class *class, const 
Eolian_Function *funci
         add_star = EINA_TRUE;
         if (!rettypet)
           {
-             itr = eolian_function_parameters_get(funcid);
+             itr = eolian_property_values_get(funcid);
              /* We want to check if there is only one parameter */
              if (eina_iterator_next(itr, &data) && !eina_iterator_next(itr, 
&data2))
                {
@@ -142,7 +143,7 @@ _eapi_decl_func_generate(const Eolian_Class *class, const 
Eolian_Function *funci
    eina_iterator_free(itr);
    if (!var_as_ret)
      {
-       itr = eolian_function_parameters_get(funcid);
+       itr = is_prop ? eolian_property_values_get(funcid) : 
eolian_function_parameters_get(funcid);
        EINA_ITERATOR_FOREACH(itr, data)
          {
             Eolian_Function_Parameter *param = data;
@@ -222,6 +223,7 @@ _eapi_func_generate(const Eolian_Class *class, const 
Eolian_Function *funcid, Eo
    Eina_Bool ret_const = EINA_FALSE;
    Eina_Bool add_star = EINA_FALSE;
    Eina_Bool ret_is_void = EINA_FALSE;
+   Eina_Bool is_prop = (ftype == EOLIAN_PROP_GET || ftype == EOLIAN_PROP_SET);
 
    Eina_Strbuf *fbody = eina_strbuf_new();
    Eina_Strbuf *fparam = eina_strbuf_new();
@@ -240,7 +242,7 @@ _eapi_func_generate(const Eolian_Class *class, const 
Eolian_Function *funcid, Eo
         add_star = EINA_TRUE;
         if (!rettypet)
           {
-             itr = eolian_function_parameters_get(funcid);
+             itr = eolian_property_values_get(funcid);
              /* We want to check if there is only one parameter */
              if (eina_iterator_next(itr, &data) && !eina_iterator_next(itr, 
&data2))
                {
@@ -302,7 +304,7 @@ _eapi_func_generate(const Eolian_Class *class, const 
Eolian_Function *funcid, Eo
    eina_iterator_free(itr);
    if (!var_as_ret)
    {
-      itr = eolian_function_parameters_get(funcid);
+      itr = is_prop ? eolian_property_values_get(funcid) : 
eolian_function_parameters_get(funcid);
       EINA_ITERATOR_FOREACH(itr, data)
         {
             Eolian_Function_Parameter *param = data;

-- 


Reply via email to