summaryrefslogtreecommitdiff
path: root/src/bin/eolian/eo_generator.c
diff options
context:
space:
mode:
authorDaniel Kolesa <d.kolesa@samsung.com>2014-06-20 16:53:51 +0100
committerDaniel Kolesa <d.kolesa@samsung.com>2014-06-20 17:09:03 +0100
commit43e23492033614096dda88aedc482d0d7c2d0546 (patch)
treef14750252106483f6b697c4931a8002135c90bfd /src/bin/eolian/eo_generator.c
parent4dcd45b010c956046e073ca39a45637ecf7eb447 (diff)
eolian/generator: public api func name deduplication, spank tasn if it breaks
Diffstat (limited to 'src/bin/eolian/eo_generator.c')
-rw-r--r--src/bin/eolian/eo_generator.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/bin/eolian/eo_generator.c b/src/bin/eolian/eo_generator.c
index 30e11bc3c1..1eb4fbd50f 100644
--- a/src/bin/eolian/eo_generator.c
+++ b/src/bin/eolian/eo_generator.c
@@ -598,6 +598,7 @@ eo_source_end_generate(const Eolian_Class class, Eina_Strbuf *buf)
598 Eolian_Function fnid = NULL; 598 Eolian_Function fnid = NULL;
599 const char *funcname = NULL; 599 const char *funcname = NULL;
600 char *tp = implname; 600 char *tp = implname;
601 char *ret;
601 602
602 if (eolian_implement_information_get(impl_desc, &impl_class, &fnid, &ftype)) 603 if (eolian_implement_information_get(impl_desc, &impl_class, &fnid, &ftype))
603 { 604 {
@@ -615,29 +616,31 @@ eo_source_end_generate(const Eolian_Class class, Eina_Strbuf *buf)
615 goto end; 616 goto end;
616 } 617 }
617 618
619 ret = _func_name_dedup(impl_env.lower_eo_prefix, funcname);
618 switch (ftype) 620 switch (ftype)
619 { 621 {
620 case EOLIAN_PROP_SET: case EOLIAN_PROP_GET: case EOLIAN_PROPERTY: 622 case EOLIAN_PROP_SET: case EOLIAN_PROP_GET: case EOLIAN_PROPERTY:
621 if (ftype != EOLIAN_PROP_GET) 623 if (ftype != EOLIAN_PROP_GET)
622 { 624 {
623 eina_strbuf_append_printf(str_op, "\n EO_OP_FUNC_OVERRIDE(%s_%s_set, _%s_%s_set),", 625 eina_strbuf_append_printf(str_op, "\n EO_OP_FUNC_OVERRIDE(%s_set, _%s_%s_set),",
624 impl_env.lower_eo_prefix, funcname, implname, funcname); 626 ret, implname, funcname);
625 eo_bind_func_generate(class, fnid, EOLIAN_PROP_SET, str_bodyf, &impl_env); 627 eo_bind_func_generate(class, fnid, EOLIAN_PROP_SET, str_bodyf, &impl_env);
626 } 628 }
627 629
628 if (ftype != EOLIAN_PROP_SET) 630 if (ftype != EOLIAN_PROP_SET)
629 { 631 {
630 eina_strbuf_append_printf(str_op, "\n EO_OP_FUNC_OVERRIDE(%s_%s_get, _%s_%s_get),", 632 eina_strbuf_append_printf(str_op, "\n EO_OP_FUNC_OVERRIDE(%s_get, _%s_%s_get),",
631 impl_env.lower_eo_prefix, funcname, implname, funcname); 633 ret, implname, funcname);
632 eo_bind_func_generate(class, fnid, EOLIAN_PROP_GET, str_bodyf, &impl_env); 634 eo_bind_func_generate(class, fnid, EOLIAN_PROP_GET, str_bodyf, &impl_env);
633 } 635 }
634 break; 636 break;
635 default: 637 default:
636 eina_strbuf_append_printf(str_op, "\n EO_OP_FUNC_OVERRIDE(%s_%s, _%s_%s),", 638 eina_strbuf_append_printf(str_op, "\n EO_OP_FUNC_OVERRIDE(%s, _%s_%s),",
637 impl_env.lower_eo_prefix, funcname, implname, funcname); 639 ret, implname, funcname);
638 eo_bind_func_generate(class, fnid, ftype, str_bodyf, &impl_env); 640 eo_bind_func_generate(class, fnid, ftype, str_bodyf, &impl_env);
639 break; 641 break;
640 } 642 }
643 free(ret);
641 } 644 }
642 645
643 //Constructors 646 //Constructors