diff options
author | Daniel Kolesa <d.kolesa@osg.samsung.com> | 2016-05-26 14:17:07 +0100 |
---|---|---|
committer | Daniel Kolesa <d.kolesa@osg.samsung.com> | 2016-05-26 14:17:07 +0100 |
commit | 2781680b5141b2acac9b6c2d4dea8bab22ae254d (patch) | |
tree | ee67bec1e4897c49630753fe6b3eb6bd69397e22 | |
parent | 3c6cb6a02b154ce6b7404653958aab82c58a8002 (diff) | |
download | efl-2781680b5141b2acac9b6c2d4dea8bab22ae254d.tar.gz |
eolian: put ownable checks into its own func
-rw-r--r-- | src/lib/eolian/eo_parser.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index 5f83683111..d1c8c97160 100644 --- a/src/lib/eolian/eo_parser.c +++ b/src/lib/eolian/eo_parser.c @@ -691,6 +691,14 @@ _parse_dep(Eo_Lexer *ls, const char *fname, const char *name) } } +static Eina_Bool +_type_is_ownable(Eolian_Type *tp) +{ + return (tp->type == EOLIAN_TYPE_POINTER || + tp->type == EOLIAN_TYPE_COMPLEX || + tp->type == EOLIAN_TYPE_CLASS); +} + static Eolian_Type * parse_type_void(Eo_Lexer *ls) { @@ -721,9 +729,7 @@ parse_type_void(Eo_Lexer *ls) check_next(ls, '('); eo_lexer_context_push(ls); def = parse_type_void(ls); - if (def->type != EOLIAN_TYPE_POINTER && - def->type != EOLIAN_TYPE_COMPLEX && - def->type != EOLIAN_TYPE_CLASS) + if (!_type_is_ownable(def)) { eo_lexer_context_restore(ls); eo_lexer_syntax_error(ls, "ownable type expected"); @@ -743,9 +749,7 @@ parse_type_void(Eo_Lexer *ls) check_next(ls, '('); eo_lexer_context_push(ls); def = parse_type_void(ls); - if (def->type != EOLIAN_TYPE_POINTER && - def->type != EOLIAN_TYPE_COMPLEX && - def->type != EOLIAN_TYPE_CLASS) + if (!_type_is_ownable(def)) { eo_lexer_context_restore(ls); eo_lexer_syntax_error(ls, "freeable type expected"); |