summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Kolesa <d.kolesa@samsung.com>2015-01-29 11:12:04 +0000
committerDaniel Kolesa <d.kolesa@samsung.com>2015-01-29 11:12:41 +0000
commit4a14bbd0f5cadf35b177e4d16515122bf7d702ec (patch)
treef0b6e9d95e24414d6f791bd9e033141360d9fe75
parentfc81ae40e31cec2f20a7087dca2a70d78a5bad88 (diff)
downloadefl-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.c9
-rw-r--r--src/lib/eolian/eo_parser.c1
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);