q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=144fd1e2aebf69ed1523d223e9841302c7f47fd2
commit 144fd1e2aebf69ed1523d223e9841302c7f47fd2 Author: Daniel Kolesa <[email protected]> Date: Thu Jul 10 15:31:01 2014 +0100 eolian: refactoring: get rid of Eo_Event_Def --- src/lib/eolian/database_event.c | 18 ++++-------------- src/lib/eolian/eo_definitions.c | 19 +++---------------- src/lib/eolian/eo_definitions.h | 11 +---------- src/lib/eolian/eo_parser.c | 10 +++++----- 4 files changed, 13 insertions(+), 45 deletions(-) diff --git a/src/lib/eolian/database_event.c b/src/lib/eolian/database_event.c index 8608880..f51a408 100644 --- a/src/lib/eolian/database_event.c +++ b/src/lib/eolian/database_event.c @@ -1,22 +1,12 @@ #include <Eina.h> #include "eolian_database.h" -Eolian_Event * -database_event_new(const char *event_name, const char *event_type, const char *event_comment) -{ - if (!event_name) return NULL; - Eolian_Event *event_desc = calloc(1, sizeof(Eolian_Event)); - if (!event_desc) return NULL; - event_desc->name = eina_stringshare_add(event_name); - if (event_type) event_desc->type = eina_stringshare_add(event_type); - event_desc->comment = eina_stringshare_add(event_comment); - return event_desc; -} - void database_event_del(Eolian_Event *event) { - eina_stringshare_del(event->name); - eina_stringshare_del(event->comment); + if (!event) return; + if (event->name) eina_stringshare_del(event->name); + if (event->type) eina_stringshare_del(event->type); + if (event->comment) eina_stringshare_del(event->comment); free(event); } diff --git a/src/lib/eolian/eo_definitions.c b/src/lib/eolian/eo_definitions.c index a4e0b30..6ac981d 100644 --- a/src/lib/eolian/eo_definitions.c +++ b/src/lib/eolian/eo_definitions.c @@ -89,26 +89,13 @@ eo_definitions_method_def_free(Eo_Method_Def *meth) free(meth); } -static void -eo_definitions_event_def_free(Eo_Event_Def *sgn) -{ - if (sgn->name) - eina_stringshare_del(sgn->name); - if (sgn->type) - eina_stringshare_del(sgn->type); - if (sgn->comment) - eina_stringshare_del(sgn->comment); - - free(sgn); -} - void eo_definitions_class_def_free(Eo_Class_Def *kls) { const char *s; Eo_Property_Def *prop; Eo_Method_Def *meth; - Eo_Event_Def *sgn; + Eolian_Event *sgn; Eolian_Implement *impl; if (kls->name) @@ -138,7 +125,7 @@ eo_definitions_class_def_free(Eo_Class_Def *kls) eo_definitions_method_def_free(meth); EINA_LIST_FREE(kls->events, sgn) - eo_definitions_event_def_free(sgn); + database_event_del(sgn); free(kls); } @@ -191,7 +178,7 @@ eo_definitions_temps_free(Eo_Lexer_Temps *tmp) if (s) eina_stringshare_del(s); if (tmp->event) - eo_definitions_event_def_free(tmp->event); + database_event_del(tmp->event); if (tmp->impl) database_implement_del(tmp->impl); diff --git a/src/lib/eolian/eo_definitions.h b/src/lib/eolian/eo_definitions.h index c27ae9f..7f96d3b 100644 --- a/src/lib/eolian/eo_definitions.h +++ b/src/lib/eolian/eo_definitions.h @@ -90,15 +90,6 @@ typedef struct _Eo_Method_Def int scope; } Eo_Method_Def; -/* SIGNAL */ - -typedef struct _Eo_Event_Def -{ - Eina_Stringshare *name; - Eina_Stringshare *type; - Eina_Stringshare *comment; -} Eo_Event_Def; - /* CLASS */ typedef struct _Eo_Class_Def @@ -134,7 +125,7 @@ typedef struct _Eo_Lexer_Temps Eo_Accessor_Def *accessor; Eo_Accessor_Param *accessor_param; Eina_List *str_items; - Eo_Event_Def *event; + Eolian_Event *event; Eolian_Implement *impl; } Eo_Lexer_Temps; diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index 61f9129..6a8a01c 100644 --- a/src/lib/eolian/eo_parser.c +++ b/src/lib/eolian/eo_parser.c @@ -797,7 +797,7 @@ end: static void parse_event(Eo_Lexer *ls) { - Eo_Event_Def *ev = calloc(1, sizeof(Eo_Event_Def)); + Eolian_Event *ev = calloc(1, sizeof(Eolian_Event)); ls->tmp.event = ev; /* code path not in use yet if (ls->t.kw == KW_private) @@ -1069,7 +1069,7 @@ _dump_class(Eo_Class_Def *kls) Eo_Method_Def *meth; Eo_Param_Def *param; Eo_Accessor_Def *accessor; - Eo_Event_Def *sgn; + Eolian_Event *sgn; Eolian_Implement *impl; printf("Class: %s (%s)\n", @@ -1207,7 +1207,7 @@ _db_fill_class(Eo_Class_Def *kls, const char *filename) Eo_Method_Def *meth; Eo_Param_Def *param; Eo_Accessor_Def *accessor; - Eo_Event_Def *event; + Eolian_Event *event; Eolian_Implement *impl; Eolian_Class *class = database_class_add(kls->name, kls->type); @@ -1388,8 +1388,8 @@ _db_fill_class(Eo_Class_Def *kls, const char *filename) EINA_LIST_FOREACH(kls->events, l, event) { - Eolian_Event *ev = database_event_new(event->name, event->type, event->comment); - database_class_event_add(class, ev); + database_class_event_add(class, event); + eina_list_data_set(l, NULL); /* prevent double free */ } return EINA_TRUE; --
