summaryrefslogtreecommitdiff
path: root/src/bin/eolian/eo1_generator.c
diff options
context:
space:
mode:
authorDaniel Zaoui <daniel.zaoui@samsung.com>2014-03-26 16:12:39 +0200
committerDaniel Zaoui <daniel.zaoui@samsung.com>2014-03-27 08:52:53 +0200
commitc863154a7956f5af356053094fe50ce52b9a5adb (patch)
tree8ad574513414e010320bfb44600f849625fd31fc /src/bin/eolian/eo1_generator.c
parent149509249bdbc6d6ab8fb940ca2829cec6479008 (diff)
Eolian: fix virtual pure support.
When a property needs be defined as virtual pure, its type could not be given. It means that, even it was explicit that e.g only the get property if virtual pure, both (set and get) were considered as virtual pure. @fix
Diffstat (limited to '')
-rw-r--r--src/bin/eolian/eo1_generator.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/bin/eolian/eo1_generator.c b/src/bin/eolian/eo1_generator.c
index d294504038..36cb4fb406 100644
--- a/src/bin/eolian/eo1_generator.c
+++ b/src/bin/eolian/eo1_generator.c
@@ -369,7 +369,7 @@ eo1_bind_func_generate(const char *classname, Eolian_Function funcid, Eolian_Fun
369 Eina_Bool ret_const = EINA_FALSE; 369 Eina_Bool ret_const = EINA_FALSE;
370 Eina_Bool add_star = EINA_FALSE; 370 Eina_Bool add_star = EINA_FALSE;
371 371
372 if (!impl_name && eolian_function_is_virtual_pure(funcid)) return EINA_TRUE; 372 if (!impl_name && eolian_function_is_virtual_pure(funcid, ftype)) return EINA_TRUE;
373 Eina_Strbuf *fbody = eina_strbuf_new(); 373 Eina_Strbuf *fbody = eina_strbuf_new();
374 Eina_Strbuf *va_args = eina_strbuf_new(); 374 Eina_Strbuf *va_args = eina_strbuf_new();
375 Eina_Strbuf *params = eina_strbuf_new(); /* only variables names */ 375 Eina_Strbuf *params = eina_strbuf_new(); /* only variables names */
@@ -759,7 +759,7 @@ eo1_source_end_generate(const char *classname, Eina_Strbuf *buf)
759 eina_strbuf_append(str_op, eina_strbuf_string_get(tmpbuf)); 759 eina_strbuf_append(str_op, eina_strbuf_string_get(tmpbuf));
760 free(desc); 760 free(desc);
761 761
762 if (!eolian_function_is_virtual_pure(fn)) 762 if (!eolian_function_is_virtual_pure(fn, SET))
763 eo1_eo_func_desc_generate(classname, NULL, tmpstr, tmpbuf); 763 eo1_eo_func_desc_generate(classname, NULL, tmpstr, tmpbuf);
764 else 764 else
765 eina_strbuf_reset(tmpbuf); 765 eina_strbuf_reset(tmpbuf);
@@ -774,7 +774,7 @@ eo1_source_end_generate(const char *classname, Eina_Strbuf *buf)
774 free(desc); 774 free(desc);
775 eina_strbuf_append(str_op, eina_strbuf_string_get(tmpbuf)); 775 eina_strbuf_append(str_op, eina_strbuf_string_get(tmpbuf));
776 776
777 if (!eolian_function_is_virtual_pure(fn)) 777 if (!eolian_function_is_virtual_pure(fn, GET))
778 eo1_eo_func_desc_generate(classname, NULL, tmpstr, tmpbuf); 778 eo1_eo_func_desc_generate(classname, NULL, tmpstr, tmpbuf);
779 else 779 else
780 eina_strbuf_reset(tmpbuf); 780 eina_strbuf_reset(tmpbuf);
@@ -792,7 +792,7 @@ eo1_source_end_generate(const char *classname, Eina_Strbuf *buf)
792 free(desc); 792 free(desc);
793 eina_strbuf_append(str_op, eina_strbuf_string_get(tmpbuf)); 793 eina_strbuf_append(str_op, eina_strbuf_string_get(tmpbuf));
794 794
795 if (!eolian_function_is_virtual_pure(fn)) 795 if (!eolian_function_is_virtual_pure(fn, METHOD_FUNC))
796 eo1_eo_func_desc_generate(classname, NULL, funcname, tmpbuf); 796 eo1_eo_func_desc_generate(classname, NULL, funcname, tmpbuf);
797 else 797 else
798 eina_strbuf_reset(tmpbuf); 798 eina_strbuf_reset(tmpbuf);