diff options
author | Daniel Kolesa <d.kolesa@samsung.com> | 2015-01-29 11:12:04 +0000 |
---|---|---|
committer | Daniel Kolesa <d.kolesa@samsung.com> | 2015-01-29 11:12:41 +0000 |
commit | 4a14bbd0f5cadf35b177e4d16515122bf7d702ec (patch) | |
tree | f0b6e9d95e24414d6f791bd9e033141360d9fe75 | |
parent | fc81ae40e31cec2f20a7087dca2a70d78a5bad88 (diff) | |
download | efl-4a14bbd0f5cadf35b177e4d16515122bf7d702ec.tar.gz |
eolian: fix unary expression parsing (correctly consume tokens)
Also disable typed expression validation for now. The interfaces are not
finished yet so some things will fail validation because of unexistent
type definitions.
Fixes T2064.
@fix
-rw-r--r-- | src/lib/eolian/database_validate.c | 9 | ||||
-rw-r--r-- | src/lib/eolian/eo_parser.c | 1 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/lib/eolian/database_validate.c b/src/lib/eolian/database_validate.c index 43b1c4a498..224d9164fb 100644 --- a/src/lib/eolian/database_validate.c +++ b/src/lib/eolian/database_validate.c @@ -128,8 +128,15 @@ _validate_expr(const Eolian_Expression *expr, const Eolian_Type *tp, Eolian_Expression_Mask msk) { Eolian_Value val; + /* TODO: enable later, for now we can't (unfinished interfaces */ if (tp) - val = eolian_expression_eval_type(expr, tp); + { +#if 0 + val = eolian_expression_eval_type(expr, tp); +#else + return EINA_TRUE; +#endif + } else val = eolian_expression_eval(expr, msk); return (val.type != EOLIAN_EXPR_UNKNOWN); diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index 9673c03bcc..f01fe83605 100644 --- a/src/lib/eolian/eo_parser.c +++ b/src/lib/eolian/eo_parser.c @@ -316,6 +316,7 @@ parse_expr_simple(Eo_Lexer *ls) if (unop >= 0) { int line = ls->line_number, col = ls->column; + eo_lexer_get(ls); Eolian_Expression *exp = parse_expr_bin(ls, UNARY_PRECEDENCE); pop_expr(ls); expr = push_expr(ls); |