q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b339313e4b8df1076b7db6fb68d6ea09d337521b
commit b339313e4b8df1076b7db6fb68d6ea09d337521b Author: Daniel Kolesa <d.kol...@osg.samsung.com> Date: Fri May 22 16:46:07 2015 +0100 eolian: remove obsolete code dealing with multiple classes per file --- src/lib/eolian/database_fill.c | 15 +++++---------- src/lib/eolian/eo_lexer.c | 4 ---- src/lib/eolian/eo_lexer.h | 1 - src/lib/eolian/eo_parser.c | 2 -- src/lib/eolian/eolian_database.c | 15 ++++++--------- 5 files changed, 11 insertions(+), 26 deletions(-) diff --git a/src/lib/eolian/database_fill.c b/src/lib/eolian/database_fill.c index 38ff1a3..9a24a11 100644 --- a/src/lib/eolian/database_fill.c +++ b/src/lib/eolian/database_fill.c @@ -235,20 +235,15 @@ eo_parser_database_fill(const char *filename, Eina_Bool eot) if (eot) goto done; - if (!eina_list_count(ls->tmp.classes)) + if (!(cl = ls->tmp.kls)) { - fprintf(stderr, "eolian: no classes for file '%s'\n", filename); + fprintf(stderr, "eolian: no class for file '%s'\n", filename); goto error; } + ls->tmp.kls = NULL; - while (ls->tmp.classes) - { - cl = eina_list_data_get(ls->tmp.classes); - if (!_db_fill_class(cl)) - goto error; - ls->tmp.classes = eina_list_remove_list(ls->tmp.classes, - ls->tmp.classes); - } + if (!_db_fill_class(cl)) + goto error; done: if (eot) diff --git a/src/lib/eolian/eo_lexer.c b/src/lib/eolian/eo_lexer.c index c84df4b..e838564 100644 --- a/src/lib/eolian/eo_lexer.c +++ b/src/lib/eolian/eo_lexer.c @@ -677,7 +677,6 @@ _temps_free(Eo_Lexer_Temps *tmp) { Eina_Strbuf *buf; Eolian_Type *tp; - Eolian_Class *cl; const char *s; if (tmp->kls) @@ -697,9 +696,6 @@ _temps_free(Eo_Lexer_Temps *tmp) EINA_LIST_FREE(tmp->strs, s) if (s) eina_stringshare_del(s); - - EINA_LIST_FREE(tmp->classes, cl) - database_class_del(cl); } void diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h index 60c13a6..0ffda4a 100644 --- a/src/lib/eolian/eo_lexer.h +++ b/src/lib/eolian/eo_lexer.h @@ -98,7 +98,6 @@ typedef struct _Eo_Lexer_Temps { Eolian_Class *kls; Eolian_Variable *var; - Eina_List *classes; Eina_List *str_bufs; Eina_List *type_defs; Eina_List *expr_defs; diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index d8e37ce..5323cf4 100644 --- a/src/lib/eolian/eo_parser.c +++ b/src/lib/eolian/eo_parser.c @@ -1942,8 +1942,6 @@ parse_unit(Eo_Lexer *ls, Eina_Bool eot) return EINA_FALSE; found_class: database_decl_add(ls->tmp.kls->full_name, EOLIAN_DECL_CLASS, ls->tmp.kls); - ls->tmp.classes = eina_list_append(ls->tmp.classes, ls->tmp.kls); - ls->tmp.kls = NULL; return EINA_TRUE; } diff --git a/src/lib/eolian/eolian_database.c b/src/lib/eolian/eolian_database.c index d9eb110..7a03487 100644 --- a/src/lib/eolian/eolian_database.c +++ b/src/lib/eolian/eolian_database.c @@ -228,20 +228,17 @@ eolian_eo_file_parse(const char *filepath) Eolian_Constructor *ctor; if (!class) { - const char *full_filepath = eina_hash_find(_filenames, bfilename); - if (!full_filepath) full_filepath = filepath; - if (!eo_parser_database_fill(full_filepath, EINA_FALSE)) + if (!eo_parser_database_fill(filepath, EINA_FALSE)) { free(bfiledup); goto error; } class = eolian_class_get_by_file(bfilename); - if (!class) - { - fprintf(stderr, "eolian: no class for file '%s'\n", bfilename); - free(bfiledup); - goto error; - } + } + else + { + free(bfiledup); + return EINA_TRUE; } free(bfiledup); itr = eolian_class_implements_get(class); --