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;

-- 


Reply via email to