eolian generator: add obj as first param to header method prototypes

This commit is contained in:
Daniel Kolesa 2016-03-01 11:38:17 +00:00 committed by Tom Hacohen
parent 0ceca701bf
commit eb5aa57159
1 changed files with 3 additions and 11 deletions

View File

@ -97,7 +97,7 @@ eo_fundef_generate(const Eolian_Class *class, const Eolian_Function *func, Eolia
eina_strbuf_append_char(str_func, '\n');
eina_strbuf_free(dbuf);
}
eina_strbuf_append_printf(str_func, "EOAPI @#rettype@#retspace%s(@#full_params);\n", func_env.lower_eo_func);
eina_strbuf_append_printf(str_func, "EOAPI @#rettype@#retspace%s(Eo *obj@#full_params);\n", func_env.lower_eo_func);
if (scope == EOLIAN_SCOPE_PROTECTED)
eina_strbuf_append_printf(str_func, "#endif\n");
@ -106,7 +106,6 @@ eo_fundef_generate(const Eolian_Class *class, const Eolian_Function *func, Eolia
eina_strbuf_append_printf(str_func, "\n");
Eina_Strbuf *str_par = eina_strbuf_new();
Eina_Strbuf *str_pardesc = eina_strbuf_new();
itr = eolian_property_keys_get(func, ftype);
EINA_ITERATOR_FOREACH(itr, data)
@ -115,9 +114,7 @@ eo_fundef_generate(const Eolian_Class *class, const Eolian_Function *func, Eolia
const Eolian_Type *ptypet = eolian_parameter_type_get(param);
const char *pname = eolian_parameter_name_get(param);
const char *ptype = eolian_type_c_type_get(ptypet);
if (eina_strbuf_length_get(str_par)) eina_strbuf_append(str_par, ", ");
eina_strbuf_append_printf(str_par, "%s %s", ptype, pname);
eina_strbuf_append_printf(str_par, ", %s %s", ptype, pname);
eina_stringshare_del(ptype);
}
eina_iterator_free(itr);
@ -142,8 +139,7 @@ eo_fundef_generate(const Eolian_Class *class, const Eolian_Function *func, Eolia
if (ftype == EOLIAN_UNRESOLVED || ftype == EOLIAN_METHOD) add_star = (pdir == EOLIAN_OUT_PARAM || pdir == EOLIAN_INOUT_PARAM);
Eina_Bool had_star = !!strchr(ptype, '*');
if (eina_strbuf_length_get(str_par)) eina_strbuf_append(str_par, ", ");
eina_strbuf_append_printf(str_par, "%s%s%s%s",
eina_strbuf_append_printf(str_par, ", %s%s%s%s",
ptype, had_star?"":" ", add_star?"*":"", pname);
eina_stringshare_del(ptype);
@ -159,15 +155,11 @@ eo_fundef_generate(const Eolian_Class *class, const Eolian_Function *func, Eolia
else
eina_strbuf_replace_all(str_func, "@#retspace", "");
eina_strbuf_replace_all(str_func, "@#list_param", eina_strbuf_string_get(str_par));
if (!eina_strbuf_length_get(str_par)) eina_strbuf_append(str_par, "void");
eina_strbuf_replace_all(str_func, "@#full_params", eina_strbuf_string_get(str_par));
eina_strbuf_replace_all(str_func, "@#list_desc_param", eina_strbuf_string_get(str_pardesc));
if (rettype) eina_stringshare_del(rettype);
eina_strbuf_free(str_par);
eina_strbuf_free(str_pardesc);
eina_strbuf_append(functext, eina_strbuf_string_get(str_func));
eina_strbuf_free(str_func);