diff --git a/src/bin/eolian/eo1_generator.c b/src/bin/eolian/eo1_generator.c index f41a72f04e..1fbdca990a 100644 --- a/src/bin/eolian/eo1_generator.c +++ b/src/bin/eolian/eo1_generator.c @@ -278,18 +278,18 @@ eo1_header_generate(const char *classname, Eina_Strbuf *buf) _template_fill(str_subid, tmpl_eo_subid, classname, funcname, EINA_FALSE); eo1_fundef_generate(classname, (Eolian_Function)data, UNRESOLVED, str_hdr); } - if (prop_read) - { - sprintf(tmpstr, "%s_get", funcname); - _template_fill(str_subid, tmpl_eo_subid, classname, tmpstr, EINA_FALSE); - eo1_fundef_generate(classname, (Eolian_Function)data, GET, str_hdr); - } if (prop_write) { sprintf(tmpstr, "%s_set", funcname); _template_fill(str_subid, tmpl_eo_subid, classname, tmpstr, EINA_FALSE); eo1_fundef_generate(classname, (Eolian_Function)data, SET, str_hdr); } + if (prop_read) + { + sprintf(tmpstr, "%s_get", funcname); + _template_fill(str_subid, tmpl_eo_subid, classname, tmpstr, EINA_FALSE); + eo1_fundef_generate(classname, (Eolian_Function)data, GET, str_hdr); + } } eina_strbuf_replace_all(str_hdr, "@#list_subid", eina_strbuf_string_get(str_subid)); @@ -621,19 +621,19 @@ eo1_source_end_generate(const char *classname, Eina_Strbuf *buf) Eina_Bool prop_read = ( ftype == SET ) ? EINA_FALSE : EINA_TRUE; Eina_Bool prop_write = ( ftype == GET ) ? EINA_FALSE : EINA_TRUE; - if (prop_read) - { - sprintf(tmpstr, "%s_get", funcname); - _template_fill(str_func, tmpl_impl_str, impl_class, tmpstr, EINA_FALSE); - eo1_bind_func_generate(classname, in_prop, GET, str_bodyf, impl_class); - } - if (prop_write) { sprintf(tmpstr, "%s_set", funcname); _template_fill(str_func, tmpl_impl_str, impl_class, tmpstr, EINA_FALSE); eo1_bind_func_generate(classname, in_prop, SET, str_bodyf, impl_class); } + + if (prop_read) + { + sprintf(tmpstr, "%s_get", funcname); + _template_fill(str_func, tmpl_impl_str, impl_class, tmpstr, EINA_FALSE); + eo1_bind_func_generate(classname, in_prop, GET, str_bodyf, impl_class); + } } eina_strbuf_free(tmpl_impl); } @@ -664,22 +664,6 @@ eo1_source_end_generate(const char *classname, Eina_Strbuf *buf) Eina_Bool prop_read = ( ftype == SET ) ? EINA_FALSE : EINA_TRUE; Eina_Bool prop_write = ( ftype == GET ) ? EINA_FALSE : EINA_TRUE; - if (prop_read) - { - char *desc = _source_desc_get(eolian_function_description_get(fn, "comment_get")); - - sprintf(tmpstr, "%s_get", funcname); - eo1_eo_op_desc_generate(classname, tmpstr, tmpbuf); - eina_strbuf_replace_all(tmpbuf, "@#desc", desc); - free(desc); - eina_strbuf_append(str_op, eina_strbuf_string_get(tmpbuf)); - - if (!eolian_function_is_virtual_pure(fn)) - eo1_eo_func_desc_generate(classname, tmpstr, tmpbuf); - else - eina_strbuf_reset(tmpbuf); - eina_strbuf_append(str_func, eina_strbuf_string_get(tmpbuf)); - } if (prop_write) { char *desc = _source_desc_get(eolian_function_description_get(fn, "comment_set")); @@ -690,6 +674,22 @@ eo1_source_end_generate(const char *classname, Eina_Strbuf *buf) eina_strbuf_append(str_op, eina_strbuf_string_get(tmpbuf)); free(desc); + if (!eolian_function_is_virtual_pure(fn)) + eo1_eo_func_desc_generate(classname, tmpstr, tmpbuf); + else + eina_strbuf_reset(tmpbuf); + eina_strbuf_append(str_func, eina_strbuf_string_get(tmpbuf)); + } + if (prop_read) + { + char *desc = _source_desc_get(eolian_function_description_get(fn, "comment_get")); + + sprintf(tmpstr, "%s_get", funcname); + eo1_eo_op_desc_generate(classname, tmpstr, tmpbuf); + eina_strbuf_replace_all(tmpbuf, "@#desc", desc); + free(desc); + eina_strbuf_append(str_op, eina_strbuf_string_get(tmpbuf)); + if (!eolian_function_is_virtual_pure(fn)) eo1_eo_func_desc_generate(classname, tmpstr, tmpbuf); else diff --git a/src/bin/eolian/legacy_generator.c b/src/bin/eolian/legacy_generator.c index bb93dd27ce..9d83fd0f55 100644 --- a/src/bin/eolian/legacy_generator.c +++ b/src/bin/eolian/legacy_generator.c @@ -331,14 +331,14 @@ legacy_header_generate(const char *classname, int eo_version EINA_UNUSED, Eina_S { _eapi_decl_func_generate(classname, (Eolian_Function)data, METHOD_FUNC, buf); } - if (prop_read) - { - _eapi_decl_func_generate(classname, (Eolian_Function)data, GET, buf); - } if (prop_write) { _eapi_decl_func_generate(classname, (Eolian_Function)data, SET, buf); } + if (prop_read) + { + _eapi_decl_func_generate(classname, (Eolian_Function)data, GET, buf); + } } return EINA_TRUE; } @@ -400,16 +400,6 @@ legacy_header_append(const char *classname, int eo_version EINA_UNUSED, Eina_Str if (!eo1_fundef_generate(classname, (Eolian_Function)data, UNRESOLVED, str_funcdef)) return EINA_FALSE; } } - if (prop_read) - { - sprintf(tmpstr, "%s_get", funcname); - if (!strstr(eina_strbuf_string_get(header), tmpstr)) - { - printf ("Appending eo function %s\n", tmpstr); - eo1_enum_append(classname, tmpstr, str_subid); - if (!eo1_fundef_generate(classname, (Eolian_Function)data, GET, str_funcdef)) return EINA_FALSE; - } - } if (prop_write) { sprintf(tmpstr, "%s_set", funcname); @@ -420,6 +410,16 @@ legacy_header_append(const char *classname, int eo_version EINA_UNUSED, Eina_Str if (!eo1_fundef_generate(classname, (Eolian_Function)data, SET, str_funcdef)) return EINA_FALSE; } } + if (prop_read) + { + sprintf(tmpstr, "%s_get", funcname); + if (!strstr(eina_strbuf_string_get(header), tmpstr)) + { + printf ("Appending eo function %s\n", tmpstr); + eo1_enum_append(classname, tmpstr, str_subid); + if (!eo1_fundef_generate(classname, (Eolian_Function)data, GET, str_funcdef)) return EINA_FALSE; + } + } } const char *hdstr = eina_strbuf_string_get(header); @@ -459,16 +459,16 @@ legacy_source_generate(const char *classname, Eina_Bool legacy, int eo_version E Eina_Bool prop_read = ( ftype == SET ) ? EINA_FALSE : EINA_TRUE; Eina_Bool prop_write = ( ftype == GET ) ? EINA_FALSE : EINA_TRUE; - if (prop_read) - { - if (!eo1_bind_func_generate(classname, fn, GET, str_bodyf, NULL)) return EINA_FALSE; - if (legacy) _eapi_func_generate(classname, fn, GET, str_bodyf); - } if (prop_write) { if (!eo1_bind_func_generate(classname, fn, SET, str_bodyf, NULL)) return EINA_FALSE; if (legacy) _eapi_func_generate(classname, fn, SET, str_bodyf); } + if (prop_read) + { + if (!eo1_bind_func_generate(classname, fn, GET, str_bodyf, NULL)) return EINA_FALSE; + if (legacy) _eapi_func_generate(classname, fn, GET, str_bodyf); + } } //Methods