diff options
author | Daniel Zaoui <daniel.zaoui@samsung.com> | 2014-05-25 16:44:50 +0300 |
---|---|---|
committer | Daniel Zaoui <daniel.zaoui@samsung.com> | 2014-05-26 13:56:06 +0300 |
commit | a1e72dee0d56f05d4947b0a192f4e28b958556f8 (patch) | |
tree | 40511e2c3af6d6371d7a5d05bd4b8a3e5233f48c /src/bin/eolian/eo1_generator.c | |
parent | 8e4700ce65306d34079b40913eb8ab69ad99231d (diff) |
Eolian/Generator: add support to namespaces.
The C generators now support namespaces generation.
Diffstat (limited to 'src/bin/eolian/eo1_generator.c')
-rw-r--r-- | src/bin/eolian/eo1_generator.c | 63 |
1 files changed, 34 insertions, 29 deletions
diff --git a/src/bin/eolian/eo1_generator.c b/src/bin/eolian/eo1_generator.c index bae93c6502..f8924df217 100644 --- a/src/bin/eolian/eo1_generator.c +++ b/src/bin/eolian/eo1_generator.c | |||
@@ -132,8 +132,8 @@ eo_fundef_generate(const Eolian_Class class, Eolian_Function func, Eolian_Functi | |||
132 | Eina_Strbuf *str_func = eina_strbuf_new(); | 132 | Eina_Strbuf *str_func = eina_strbuf_new(); |
133 | if (scope == EOLIAN_SCOPE_PROTECTED) | 133 | if (scope == EOLIAN_SCOPE_PROTECTED) |
134 | eina_strbuf_append_printf(str_func, "#ifdef %s_PROTECTED\n", capclass); | 134 | eina_strbuf_append_printf(str_func, "#ifdef %s_PROTECTED\n", capclass); |
135 | _template_fill(str_func, tmpl_eo_funcdef_doxygen, eolian_class_name_get(class), funcname, EINA_FALSE); | 135 | _template_fill(str_func, tmpl_eo_funcdef_doxygen, class, NULL, funcname, EINA_FALSE); |
136 | _template_fill(str_func, tmpl_eo_funcdef, eolian_class_name_get(class), funcname, EINA_FALSE); | 136 | _template_fill(str_func, tmpl_eo_funcdef, class, NULL, funcname, EINA_FALSE); |
137 | if (scope == EOLIAN_SCOPE_PROTECTED) | 137 | if (scope == EOLIAN_SCOPE_PROTECTED) |
138 | eina_strbuf_append_printf(str_func, "#endif\n"); | 138 | eina_strbuf_append_printf(str_func, "#endif\n"); |
139 | eina_strbuf_append_printf(str_func, "\n"); | 139 | eina_strbuf_append_printf(str_func, "\n"); |
@@ -240,7 +240,6 @@ eo_header_generate(const Eolian_Class class, Eina_Strbuf *buf) | |||
240 | void *data; | 240 | void *data; |
241 | char *tmpstr = malloc(0x1FF); | 241 | char *tmpstr = malloc(0x1FF); |
242 | Eina_Strbuf * str_hdr = eina_strbuf_new(); | 242 | Eina_Strbuf * str_hdr = eina_strbuf_new(); |
243 | const char *classname = eolian_class_name_get(class); | ||
244 | 243 | ||
245 | const char *desc = eolian_class_description_get(class); | 244 | const char *desc = eolian_class_description_get(class); |
246 | Eina_Strbuf *linedesc = eina_strbuf_new(); | 245 | Eina_Strbuf *linedesc = eina_strbuf_new(); |
@@ -256,7 +255,7 @@ eo_header_generate(const Eolian_Class class, Eina_Strbuf *buf) | |||
256 | eina_strbuf_append(buf, eina_strbuf_string_get(linedesc)); | 255 | eina_strbuf_append(buf, eina_strbuf_string_get(linedesc)); |
257 | eina_strbuf_free(linedesc); | 256 | eina_strbuf_free(linedesc); |
258 | 257 | ||
259 | _template_fill(str_hdr, tmpl_eo_obj_header, classname, "", EINA_TRUE); | 258 | _template_fill(str_hdr, tmpl_eo_obj_header, class, NULL, "", EINA_TRUE); |
260 | 259 | ||
261 | eina_strbuf_replace_all(str_hdr, "@#EOPREFIX", current_eo_prefix_upper); | 260 | eina_strbuf_replace_all(str_hdr, "@#EOPREFIX", current_eo_prefix_upper); |
262 | eina_strbuf_replace_all(str_hdr, "@#eoprefix", current_eo_prefix_lower); | 261 | eina_strbuf_replace_all(str_hdr, "@#eoprefix", current_eo_prefix_lower); |
@@ -280,7 +279,7 @@ eo_header_generate(const Eolian_Class class, Eina_Strbuf *buf) | |||
280 | eina_strbuf_prepend(tmpbuf," * "); | 279 | eina_strbuf_prepend(tmpbuf," * "); |
281 | eina_strbuf_append_printf(str_ev, "\n/**\n%s\n */\n", eina_strbuf_string_get(tmpbuf)); | 280 | eina_strbuf_append_printf(str_ev, "\n/**\n%s\n */\n", eina_strbuf_string_get(tmpbuf)); |
282 | 281 | ||
283 | _template_fill(tmpbuf, "@#CLASS_EVENT_@#FUNC", classname, evname, EINA_TRUE); | 282 | _template_fill(tmpbuf, "@#CLASS_EVENT_@#FUNC", class, NULL, evname, EINA_TRUE); |
284 | eina_strbuf_replace_all(tmpbuf, ",", "_"); | 283 | eina_strbuf_replace_all(tmpbuf, ",", "_"); |
285 | const char* s = eina_strbuf_string_get(tmpbuf); | 284 | const char* s = eina_strbuf_string_get(tmpbuf); |
286 | eina_strbuf_append_printf(str_ev, "#define %s (&(_%s))\n", s, s); | 285 | eina_strbuf_append_printf(str_ev, "#define %s (&(_%s))\n", s, s); |
@@ -298,19 +297,19 @@ eo_header_generate(const Eolian_Class class, Eina_Strbuf *buf) | |||
298 | 297 | ||
299 | if (!prop_read && !prop_write) | 298 | if (!prop_read && !prop_write) |
300 | { | 299 | { |
301 | _template_fill(str_subid, tmpl_eo_subid, classname, funcname, EINA_FALSE); | 300 | _template_fill(str_subid, tmpl_eo_subid, class, NULL, funcname, EINA_FALSE); |
302 | eo_fundef_generate(class, (Eolian_Function)data, EOLIAN_UNRESOLVED, str_hdr); | 301 | eo_fundef_generate(class, (Eolian_Function)data, EOLIAN_UNRESOLVED, str_hdr); |
303 | } | 302 | } |
304 | if (prop_write) | 303 | if (prop_write) |
305 | { | 304 | { |
306 | sprintf(tmpstr, "%s_set", funcname); | 305 | sprintf(tmpstr, "%s_set", funcname); |
307 | _template_fill(str_subid, tmpl_eo_subid, classname, tmpstr, EINA_FALSE); | 306 | _template_fill(str_subid, tmpl_eo_subid, class, NULL, tmpstr, EINA_FALSE); |
308 | eo_fundef_generate(class, (Eolian_Function)data, EOLIAN_PROP_SET, str_hdr); | 307 | eo_fundef_generate(class, (Eolian_Function)data, EOLIAN_PROP_SET, str_hdr); |
309 | } | 308 | } |
310 | if (prop_read) | 309 | if (prop_read) |
311 | { | 310 | { |
312 | sprintf(tmpstr, "%s_get", funcname); | 311 | sprintf(tmpstr, "%s_get", funcname); |
313 | _template_fill(str_subid, tmpl_eo_subid, classname, tmpstr, EINA_FALSE); | 312 | _template_fill(str_subid, tmpl_eo_subid, class, NULL, tmpstr, EINA_FALSE); |
314 | eo_fundef_generate(class, (Eolian_Function)data, EOLIAN_PROP_GET, str_hdr); | 313 | eo_fundef_generate(class, (Eolian_Function)data, EOLIAN_PROP_GET, str_hdr); |
315 | } | 314 | } |
316 | eina_strbuf_replace_all(str_subid, "@#EOPREFIX", current_eo_prefix_upper); | 315 | eina_strbuf_replace_all(str_subid, "@#EOPREFIX", current_eo_prefix_upper); |
@@ -341,10 +340,11 @@ eo_bind_func_generate(const Eolian_Class class, Eolian_Function funcid, Eolian_F | |||
341 | const char *retname = NULL; | 340 | const char *retname = NULL; |
342 | Eina_Bool ret_const = EINA_FALSE; | 341 | Eina_Bool ret_const = EINA_FALSE; |
343 | Eina_Bool add_star = EINA_FALSE; | 342 | Eina_Bool add_star = EINA_FALSE; |
344 | const char *classname = eolian_class_name_get(class); | ||
345 | 343 | ||
346 | Eina_Bool need_implementation = EINA_TRUE; | 344 | Eina_Bool need_implementation = EINA_TRUE; |
347 | if (!impl_name && eolian_function_is_virtual_pure(funcid, ftype)) need_implementation = EINA_FALSE; | 345 | if (!impl_name && eolian_function_is_virtual_pure(funcid, ftype)) need_implementation = EINA_FALSE; |
346 | _class_func_names_fill(class, NULL, NULL); | ||
347 | char *classname = strdup(current_classname); | ||
348 | 348 | ||
349 | Eina_Strbuf *fbody = eina_strbuf_new(); | 349 | Eina_Strbuf *fbody = eina_strbuf_new(); |
350 | Eina_Strbuf *va_args = eina_strbuf_new(); | 350 | Eina_Strbuf *va_args = eina_strbuf_new(); |
@@ -377,8 +377,8 @@ eo_bind_func_generate(const Eolian_Class class, Eolian_Function funcid, Eolian_F | |||
377 | char tmpstr[0xFF]; | 377 | char tmpstr[0xFF]; |
378 | sprintf (tmpstr, "%s%s", eolian_function_name_get(funcid), suffix); | 378 | sprintf (tmpstr, "%s%s", eolian_function_name_get(funcid), suffix); |
379 | char tmpstr2[0xFF]; | 379 | char tmpstr2[0xFF]; |
380 | sprintf (tmpstr2, "%s_%s", classname, impl_name); | 380 | sprintf (tmpstr2, "%s_%s", lowclass, impl_name); |
381 | _class_func_names_fill(impl_name?tmpstr2:classname, tmpstr); | 381 | _class_func_names_fill(impl_name?NULL:class, impl_name?tmpstr2:NULL, tmpstr); |
382 | 382 | ||
383 | const Eina_List *l; | 383 | const Eina_List *l; |
384 | void *data; | 384 | void *data; |
@@ -477,6 +477,7 @@ eo_bind_func_generate(const Eolian_Class class, Eolian_Function funcid, Eolian_F | |||
477 | } | 477 | } |
478 | eina_strbuf_append(buf, eina_strbuf_string_get(fbody)); | 478 | eina_strbuf_append(buf, eina_strbuf_string_get(fbody)); |
479 | 479 | ||
480 | free(classname); | ||
480 | eina_strbuf_free(va_args); | 481 | eina_strbuf_free(va_args); |
481 | eina_strbuf_free(full_params); | 482 | eina_strbuf_free(full_params); |
482 | eina_strbuf_free(params); | 483 | eina_strbuf_free(params); |
@@ -488,9 +489,10 @@ static Eina_Bool | |||
488 | eo_func_desc_generate(const Eolian_Class class, const char *impl_name, const char *func_name, Eina_Strbuf *buf) | 489 | eo_func_desc_generate(const Eolian_Class class, const char *impl_name, const char *func_name, Eina_Strbuf *buf) |
489 | { | 490 | { |
490 | if (impl_name) | 491 | if (impl_name) |
491 | _class_func_names_fill(impl_name, func_name); | 492 | _class_func_names_fill(NULL, impl_name, func_name); |
492 | else | 493 | else |
493 | _class_func_names_fill(eolian_class_name_get(class), func_name); | 494 | _class_func_names_fill(class, NULL, func_name); |
495 | |||
494 | eina_strbuf_reset(buf); | 496 | eina_strbuf_reset(buf); |
495 | eina_strbuf_append_printf(buf, | 497 | eina_strbuf_append_printf(buf, |
496 | "\n EO_OP_FUNC(%s_ID(%s_SUB_ID_%s), _eo_obj_%s%s%s_%s),", | 498 | "\n EO_OP_FUNC(%s_ID(%s_SUB_ID_%s), _eo_obj_%s%s%s_%s),", |
@@ -508,7 +510,7 @@ eo_op_desc_generate(const Eolian_Class class, Eolian_Function fid, Eolian_Functi | |||
508 | const char *suffix = ""; | 510 | const char *suffix = ""; |
509 | 511 | ||
510 | eina_strbuf_reset(buf); | 512 | eina_strbuf_reset(buf); |
511 | _class_func_names_fill(eolian_class_name_get(class), funcname); | 513 | _class_func_names_fill(class, NULL, funcname); |
512 | if (ftype == EOLIAN_PROP_GET) suffix = "_get"; | 514 | if (ftype == EOLIAN_PROP_GET) suffix = "_get"; |
513 | if (ftype == EOLIAN_PROP_SET) suffix = "_set"; | 515 | if (ftype == EOLIAN_PROP_SET) suffix = "_set"; |
514 | Eina_Bool is_virtual_pure = eolian_function_is_virtual_pure(fid, ftype); | 516 | Eina_Bool is_virtual_pure = eolian_function_is_virtual_pure(fid, ftype); |
@@ -538,7 +540,7 @@ eo_source_beginning_generate(const Eolian_Class class, Eina_Strbuf *buf) | |||
538 | 540 | ||
539 | eolian_class_event_information_get(event, &evname, NULL, &evdesc); | 541 | eolian_class_event_information_get(event, &evname, NULL, &evdesc); |
540 | evdesc_line1 = _source_desc_get(evdesc); | 542 | evdesc_line1 = _source_desc_get(evdesc); |
541 | _template_fill(str_ev, "@#CLASS_EVENT_@#FUNC", eolian_class_name_get(class), evname, EINA_TRUE); | 543 | _template_fill(str_ev, "@#CLASS_EVENT_@#FUNC", class, NULL, evname, EINA_TRUE); |
542 | eina_strbuf_replace_all(str_ev, ",", "_"); | 544 | eina_strbuf_replace_all(str_ev, ",", "_"); |
543 | 545 | ||
544 | eina_strbuf_append_printf(tmpbuf, | 546 | eina_strbuf_append_printf(tmpbuf, |
@@ -560,7 +562,9 @@ eo_source_end_generate(const Eolian_Class class, Eina_Strbuf *buf) | |||
560 | Eina_Bool ret = EINA_FALSE; | 562 | Eina_Bool ret = EINA_FALSE; |
561 | const Eina_List *itr; | 563 | const Eina_List *itr; |
562 | Eolian_Function fn; | 564 | Eolian_Function fn; |
563 | const char *classname = eolian_class_name_get(class); | 565 | |
566 | _class_func_names_fill(class, NULL, NULL); | ||
567 | char *classname = strdup(current_classname); | ||
564 | 568 | ||
565 | const char *str_classtype = NULL; | 569 | const char *str_classtype = NULL; |
566 | switch(eolian_class_type_get(class)) | 570 | switch(eolian_class_type_get(class)) |
@@ -595,7 +599,7 @@ eo_source_end_generate(const Eolian_Class class, Eina_Strbuf *buf) | |||
595 | Eina_Strbuf *str_ev = eina_strbuf_new(); | 599 | Eina_Strbuf *str_ev = eina_strbuf_new(); |
596 | Eina_Strbuf *tmpl_impl = eina_strbuf_new(); | 600 | Eina_Strbuf *tmpl_impl = eina_strbuf_new(); |
597 | 601 | ||
598 | _template_fill(str_end, tmpl_eo_src, classname, NULL, EINA_TRUE); | 602 | _template_fill(str_end, tmpl_eo_src, class, NULL, NULL, EINA_TRUE); |
599 | 603 | ||
600 | eina_strbuf_replace_all(str_end, "@#type_class", str_classtype); | 604 | eina_strbuf_replace_all(str_end, "@#type_class", str_classtype); |
601 | eina_strbuf_replace_all(str_end, "@#EOPREFIX", current_eo_prefix_upper); | 605 | eina_strbuf_replace_all(str_end, "@#EOPREFIX", current_eo_prefix_upper); |
@@ -606,7 +610,7 @@ eo_source_end_generate(const Eolian_Class class, Eina_Strbuf *buf) | |||
606 | 610 | ||
607 | eina_strbuf_reset(tmpbuf); | 611 | eina_strbuf_reset(tmpbuf); |
608 | if (eolian_class_ctor_enable_get(class)) | 612 | if (eolian_class_ctor_enable_get(class)) |
609 | _template_fill(tmpbuf, "_@#class_class_constructor", classname, "", EINA_TRUE); | 613 | _template_fill(tmpbuf, "_@#class_class_constructor", class, NULL, "", EINA_TRUE); |
610 | else | 614 | else |
611 | eina_strbuf_append_printf(tmpbuf, "NULL"); | 615 | eina_strbuf_append_printf(tmpbuf, "NULL"); |
612 | eina_strbuf_replace_all(str_end, "@#ctor_name", eina_strbuf_string_get(tmpbuf)); | 616 | eina_strbuf_replace_all(str_end, "@#ctor_name", eina_strbuf_string_get(tmpbuf)); |
@@ -616,7 +620,7 @@ eo_source_end_generate(const Eolian_Class class, Eina_Strbuf *buf) | |||
616 | { | 620 | { |
617 | eina_strbuf_replace_all(str_end, "@#dtor_func", eina_strbuf_string_get(tmpbuf)); | 621 | eina_strbuf_replace_all(str_end, "@#dtor_func", eina_strbuf_string_get(tmpbuf)); |
618 | eina_strbuf_reset(tmpbuf); | 622 | eina_strbuf_reset(tmpbuf); |
619 | _template_fill(tmpbuf, "_@#class_class_destructor", classname, "", EINA_TRUE); | 623 | _template_fill(tmpbuf, "_@#class_class_destructor", class, NULL, "", EINA_TRUE); |
620 | eina_strbuf_replace_all(str_end, "@#dtor_name", eina_strbuf_string_get(tmpbuf)); | 624 | eina_strbuf_replace_all(str_end, "@#dtor_name", eina_strbuf_string_get(tmpbuf)); |
621 | } | 625 | } |
622 | else | 626 | else |
@@ -636,9 +640,10 @@ eo_source_end_generate(const Eolian_Class class, Eina_Strbuf *buf) | |||
636 | Eolian_Function_Type ftype; | 640 | Eolian_Function_Type ftype; |
637 | 641 | ||
638 | eolian_implement_information_get(impl_desc, &impl_classname, &funcname, &ftype); | 642 | eolian_implement_information_get(impl_desc, &impl_classname, &funcname, &ftype); |
643 | Eolian_Class impl_class = eolian_class_find_by_name(impl_classname); | ||
639 | 644 | ||
640 | eina_strbuf_reset(tmpl_impl); | 645 | eina_strbuf_reset(tmpl_impl); |
641 | _template_fill(str_func, NULL, impl_classname, NULL, EINA_FALSE); /* Invoked to set the variables */ | 646 | _template_fill(str_func, NULL, impl_class, NULL, NULL, EINA_FALSE); /* Invoked to set the variables */ |
642 | eina_strbuf_append(tmpl_impl, tmpl_eo_func_desc); | 647 | eina_strbuf_append(tmpl_impl, tmpl_eo_func_desc); |
643 | eina_strbuf_replace_all(tmpl_impl, "@#EOPREFIX", current_eo_prefix_upper); | 648 | eina_strbuf_replace_all(tmpl_impl, "@#EOPREFIX", current_eo_prefix_upper); |
644 | eina_strbuf_replace_all(tmpl_impl, "@#eoprefix", current_eo_prefix_lower); | 649 | eina_strbuf_replace_all(tmpl_impl, "@#eoprefix", current_eo_prefix_lower); |
@@ -655,7 +660,6 @@ eo_source_end_generate(const Eolian_Class class, Eina_Strbuf *buf) | |||
655 | Eolian_Function in_prop = NULL; | 660 | Eolian_Function in_prop = NULL; |
656 | const Eina_List *itr2; | 661 | const Eina_List *itr2; |
657 | Eolian_Function fnid; | 662 | Eolian_Function fnid; |
658 | Eolian_Class impl_class = eolian_class_find_by_name(impl_classname); | ||
659 | EINA_LIST_FOREACH(eolian_class_functions_list_get(impl_class, EOLIAN_CTOR), itr2, fnid) | 663 | EINA_LIST_FOREACH(eolian_class_functions_list_get(impl_class, EOLIAN_CTOR), itr2, fnid) |
660 | if (fnid && !strcmp(eolian_function_name_get(fnid), funcname)) in_meth = fnid; | 664 | if (fnid && !strcmp(eolian_function_name_get(fnid), funcname)) in_meth = fnid; |
661 | EINA_LIST_FOREACH(eolian_class_functions_list_get(impl_class, EOLIAN_METHOD), itr2, fnid) | 665 | EINA_LIST_FOREACH(eolian_class_functions_list_get(impl_class, EOLIAN_METHOD), itr2, fnid) |
@@ -676,7 +680,7 @@ eo_source_end_generate(const Eolian_Class class, Eina_Strbuf *buf) | |||
676 | 680 | ||
677 | if (in_meth) | 681 | if (in_meth) |
678 | { | 682 | { |
679 | _template_fill(str_op, tmpl_impl_str, impl_classname, funcname, EINA_FALSE); | 683 | _template_fill(str_op, tmpl_impl_str, impl_class, NULL, funcname, EINA_FALSE); |
680 | eo_bind_func_generate(class, in_meth, EOLIAN_UNRESOLVED, str_bodyf, impl_classname); | 684 | eo_bind_func_generate(class, in_meth, EOLIAN_UNRESOLVED, str_bodyf, impl_classname); |
681 | continue; | 685 | continue; |
682 | } | 686 | } |
@@ -693,14 +697,14 @@ eo_source_end_generate(const Eolian_Class class, Eina_Strbuf *buf) | |||
693 | if (prop_write) | 697 | if (prop_write) |
694 | { | 698 | { |
695 | sprintf(tmpstr, "%s_set", funcname); | 699 | sprintf(tmpstr, "%s_set", funcname); |
696 | _template_fill(str_op, tmpl_impl_str, impl_classname, tmpstr, EINA_FALSE); | 700 | _template_fill(str_op, tmpl_impl_str, impl_class, NULL, tmpstr, EINA_FALSE); |
697 | eo_bind_func_generate(class, in_prop, EOLIAN_PROP_SET, str_bodyf, impl_classname); | 701 | eo_bind_func_generate(class, in_prop, EOLIAN_PROP_SET, str_bodyf, impl_classname); |
698 | } | 702 | } |
699 | 703 | ||
700 | if (prop_read) | 704 | if (prop_read) |
701 | { | 705 | { |
702 | sprintf(tmpstr, "%s_get", funcname); | 706 | sprintf(tmpstr, "%s_get", funcname); |
703 | _template_fill(str_op, tmpl_impl_str, impl_classname, tmpstr, EINA_FALSE); | 707 | _template_fill(str_op, tmpl_impl_str, impl_class, NULL, tmpstr, EINA_FALSE); |
704 | eo_bind_func_generate(class, in_prop, EOLIAN_PROP_GET, str_bodyf, impl_classname); | 708 | eo_bind_func_generate(class, in_prop, EOLIAN_PROP_GET, str_bodyf, impl_classname); |
705 | } | 709 | } |
706 | } | 710 | } |
@@ -787,7 +791,7 @@ eo_source_end_generate(const Eolian_Class class, Eina_Strbuf *buf) | |||
787 | const char *evname; | 791 | const char *evname; |
788 | 792 | ||
789 | eolian_class_event_information_get(event, &evname, NULL, NULL); | 793 | eolian_class_event_information_get(event, &evname, NULL, NULL); |
790 | _template_fill(tmpbuf, "@#CLASS_EVENT_@#FUNC", classname, evname, EINA_TRUE); | 794 | _template_fill(tmpbuf, "@#CLASS_EVENT_@#FUNC", class, NULL, evname, EINA_TRUE); |
791 | eina_strbuf_replace_all(tmpbuf, ",", "_"); | 795 | eina_strbuf_replace_all(tmpbuf, ",", "_"); |
792 | eina_strbuf_append_printf(str_ev, "\n %s,", eina_strbuf_string_get(tmpbuf)); | 796 | eina_strbuf_append_printf(str_ev, "\n %s,", eina_strbuf_string_get(tmpbuf)); |
793 | } | 797 | } |
@@ -796,7 +800,7 @@ eo_source_end_generate(const Eolian_Class class, Eina_Strbuf *buf) | |||
796 | if (eina_strbuf_length_get(str_ev)) | 800 | if (eina_strbuf_length_get(str_ev)) |
797 | { | 801 | { |
798 | Eina_Strbuf *events_desc = eina_strbuf_new(); | 802 | Eina_Strbuf *events_desc = eina_strbuf_new(); |
799 | _template_fill(events_desc, tmpl_events_desc, classname, "", EINA_TRUE); | 803 | _template_fill(events_desc, tmpl_events_desc, class, NULL, "", EINA_TRUE); |
800 | eina_strbuf_replace_all(events_desc, "@#list_evdesc", eina_strbuf_string_get(str_ev)); | 804 | eina_strbuf_replace_all(events_desc, "@#list_evdesc", eina_strbuf_string_get(str_ev)); |
801 | eina_strbuf_replace_all(str_end, "@#events_desc", eina_strbuf_string_get(events_desc)); | 805 | eina_strbuf_replace_all(str_end, "@#events_desc", eina_strbuf_string_get(events_desc)); |
802 | eina_strbuf_free(events_desc); | 806 | eina_strbuf_free(events_desc); |
@@ -816,7 +820,7 @@ eo_source_end_generate(const Eolian_Class class, Eina_Strbuf *buf) | |||
816 | Eolian_Class inherit_class = eolian_class_find_by_name(inherit_name); | 820 | Eolian_Class inherit_class = eolian_class_find_by_name(inherit_name); |
817 | const char *eo_prefix = eolian_class_eo_prefix_get(inherit_class); | 821 | const char *eo_prefix = eolian_class_eo_prefix_get(inherit_class); |
818 | if (!eo_prefix) eo_prefix = inherit_name; | 822 | if (!eo_prefix) eo_prefix = inherit_name; |
819 | _template_fill(tmpbuf, "@#EOPREFIX_CLASS, ", eo_prefix, "", EINA_FALSE); | 823 | _template_fill(tmpbuf, "@#EOPREFIX_CLASS, ", NULL, eo_prefix, "", EINA_FALSE); |
820 | eina_strbuf_replace_all(tmpbuf, "@#EOPREFIX", current_eo_prefix_upper); | 824 | eina_strbuf_replace_all(tmpbuf, "@#EOPREFIX", current_eo_prefix_upper); |
821 | } | 825 | } |
822 | 826 | ||
@@ -829,13 +833,13 @@ eo_source_end_generate(const Eolian_Class class, Eina_Strbuf *buf) | |||
829 | if (eina_strbuf_length_get(str_op)) | 833 | if (eina_strbuf_length_get(str_op)) |
830 | { | 834 | { |
831 | Eina_Strbuf *ops_desc = eina_strbuf_new(); | 835 | Eina_Strbuf *ops_desc = eina_strbuf_new(); |
832 | _template_fill(ops_desc, tmpl_eo_ops_desc, classname, "", EINA_TRUE); | 836 | _template_fill(ops_desc, tmpl_eo_ops_desc, class, NULL, "", EINA_TRUE); |
833 | eina_strbuf_replace_all(ops_desc, "@#list_op", eina_strbuf_string_get(str_op)); | 837 | eina_strbuf_replace_all(ops_desc, "@#list_op", eina_strbuf_string_get(str_op)); |
834 | eina_strbuf_replace_all(str_end, "@#ops_desc", eina_strbuf_string_get(ops_desc)); | 838 | eina_strbuf_replace_all(str_end, "@#ops_desc", eina_strbuf_string_get(ops_desc)); |
835 | eina_strbuf_free(ops_desc); | 839 | eina_strbuf_free(ops_desc); |
836 | _template_fill(tmpbuf, | 840 | _template_fill(tmpbuf, |
837 | "EO_CLASS_DESCRIPTION_OPS(_@#class_op_desc)", | 841 | "EO_CLASS_DESCRIPTION_OPS(_@#class_op_desc)", |
838 | classname, NULL, EINA_TRUE); | 842 | class, NULL, NULL, EINA_TRUE); |
839 | } | 843 | } |
840 | else | 844 | else |
841 | { | 845 | { |
@@ -862,6 +866,7 @@ eo_source_end_generate(const Eolian_Class class, Eina_Strbuf *buf) | |||
862 | 866 | ||
863 | ret = EINA_TRUE; | 867 | ret = EINA_TRUE; |
864 | end: | 868 | end: |
869 | free(classname); | ||
865 | eina_strbuf_free(tmpbuf); | 870 | eina_strbuf_free(tmpbuf); |
866 | eina_strbuf_free(str_op); | 871 | eina_strbuf_free(str_op); |
867 | eina_strbuf_free(str_func); | 872 | eina_strbuf_free(str_func); |