From 2781680b5141b2acac9b6c2d4dea8bab22ae254d Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Thu, 26 May 2016 14:17:07 +0100 Subject: [PATCH] eolian: put ownable checks into its own func --- src/lib/eolian/eo_parser.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index 5f83683..d1c8c97 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"); -- 2.7.4