From ac6aba5ec34e2b2f7f83105e9a986e629e00ad14 Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Sat, 6 Feb 2010 11:38:54 +0100 Subject: Simplified Q_FLAGS and Q_DECLARE_FLAGS parsing. --- src/shared/cplusplus/ASTMatcher.cpp | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'src/shared/cplusplus/ASTMatcher.cpp') diff --git a/src/shared/cplusplus/ASTMatcher.cpp b/src/shared/cplusplus/ASTMatcher.cpp index 25b0ef3d2d..75ff5eceb8 100644 --- a/src/shared/cplusplus/ASTMatcher.cpp +++ b/src/shared/cplusplus/ASTMatcher.cpp @@ -318,13 +318,13 @@ bool ASTMatcher::match(QtFlagsDeclarationAST *node, QtFlagsDeclarationAST *patte pattern->lparen_token = node->lparen_token; - pattern->rparen_token = node->rparen_token; - - if (! pattern->enumerator_list) - pattern->enumerator_list = node->enumerator_list; - else if (! AST::match(node->enumerator_list, pattern->enumerator_list, this)) + if (! pattern->flag_enums_list) + pattern->flag_enums_list = node->flag_enums_list; + else if (! AST::match(node->flag_enums_list, pattern->flag_enums_list, this)) return false; + pattern->rparen_token = node->rparen_token; + return true; } @@ -337,9 +337,17 @@ bool ASTMatcher::match(QtDeclareFlagsDeclarationAST *node, QtDeclareFlagsDeclara pattern->lparen_token = node->lparen_token; - pattern->flag_token = node->flag_token; + if (! pattern->flags_name) + pattern->flags_name = node->flags_name; + else if (! AST::match(node->flags_name, pattern->flags_name, this)) + return false; - pattern->enum_token = node->enum_token; + pattern->comma_token = node->comma_token; + + if (! pattern->enum_name) + pattern->enum_name = node->enum_name; + else if (! AST::match(node->enum_name, pattern->enum_name, this)) + return false; pattern->rparen_token = node->rparen_token; -- cgit v1.2.1