q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ded5623c865263a56001ba090037ca3bb4a4dab3
commit ded5623c865263a56001ba090037ca3bb4a4dab3 Author: Daniel Kolesa <d.kol...@samsung.com> Date: Fri Jun 20 11:33:25 2014 +0100 eolian: simplify the parser a bit (unify 3 funcs into one) --- src/lib/eolian/eo_parser.c | 42 +++++------------------------------------- 1 file changed, 5 insertions(+), 37 deletions(-) diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index 35813d6..f1619ce 100644 --- a/src/lib/eolian/eo_parser.c +++ b/src/lib/eolian/eo_parser.c @@ -412,7 +412,7 @@ end: } static void -parse_keys(Eo_Lexer *ls) +parse_params(Eo_Lexer *ls, Eina_Bool allow_inout) { int line; eo_lexer_get(ls); @@ -420,23 +420,7 @@ parse_keys(Eo_Lexer *ls) check_next(ls, '{'); while (ls->t.token != '}') { - parse_param(ls, EINA_FALSE); - ls->tmp.params = eina_list_append(ls->tmp.params, ls->tmp.param); - ls->tmp.param = NULL; - } - check_match(ls, '}', '{', line); -} - -static void -parse_values(Eo_Lexer *ls) -{ - int line; - eo_lexer_get(ls); - line = ls->line_number; - check_next(ls, '{'); - while (ls->t.token != '}') - { - parse_param(ls, EINA_FALSE); + parse_param(ls, allow_inout); ls->tmp.params = eina_list_append(ls->tmp.params, ls->tmp.param); ls->tmp.param = NULL; } @@ -487,7 +471,7 @@ parse_property(Eo_Lexer *ls) if (has_keys) eo_lexer_syntax_error(ls, "double keys definition"); has_keys = EINA_TRUE; - parse_keys(ls); + parse_params(ls, EINA_FALSE); prop->keys = ls->tmp.params; ls->tmp.params = NULL; break; @@ -495,7 +479,7 @@ parse_property(Eo_Lexer *ls) if (has_values) eo_lexer_syntax_error(ls, "double values definition"); has_values = EINA_TRUE; - parse_values(ls); + parse_params(ls, EINA_FALSE); prop->values = ls->tmp.params; ls->tmp.params = NULL; break; @@ -508,22 +492,6 @@ end: } static void -parse_params(Eo_Lexer *ls) -{ - int line; - eo_lexer_get(ls); - line = ls->line_number; - check_next(ls, '{'); - while (ls->t.token != '}') - { - parse_param(ls, EINA_TRUE); - ls->tmp.params = eina_list_append(ls->tmp.params, ls->tmp.param); - ls->tmp.param = NULL; - } - check_match(ls, '}', '{', line); -} - -static void parse_method(Eo_Lexer *ls, Eina_Bool ctor) { int line; @@ -591,7 +559,7 @@ parse_method(Eo_Lexer *ls, Eina_Bool ctor) if (has_params) eo_lexer_syntax_error(ls, "double params definition"); has_params = EINA_TRUE; - parse_params(ls); + parse_params(ls, EINA_TRUE); meth->params = ls->tmp.params; ls->tmp.params = NULL; break; --