diff options
author | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-02-06 11:38:54 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-02-07 10:49:03 +0100 |
commit | ac6aba5ec34e2b2f7f83105e9a986e629e00ad14 (patch) | |
tree | 78f62f21381b749ed9c81939a9284a4cc5c29a20 /src/shared/cplusplus/ASTMatcher.cpp | |
parent | 8d8b05da5a93bcd8f45a2d1b796ff1e4b1102ff5 (diff) | |
download | qt-creator-ac6aba5ec34e2b2f7f83105e9a986e629e00ad14.tar.gz |
Simplified Q_FLAGS and Q_DECLARE_FLAGS parsing.
Diffstat (limited to 'src/shared/cplusplus/ASTMatcher.cpp')
-rw-r--r-- | src/shared/cplusplus/ASTMatcher.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
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; |