diff options
author | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-03-16 17:29:40 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-03-17 10:30:17 +0100 |
commit | b4d72a78dbe365a0b5578e453bb9daaeb0260996 (patch) | |
tree | 5e4de55006cc0276cce7942a9aa33d2f78ea92b4 /src/shared/cplusplus/ASTMatcher.cpp | |
parent | 61132f260c029c868e1971771424c62f36cef638 (diff) | |
download | qt-creator-b4d72a78dbe365a0b5578e453bb9daaeb0260996.tar.gz |
Added parser support for Q_INTERFACES.
Diffstat (limited to 'src/shared/cplusplus/ASTMatcher.cpp')
-rw-r--r-- | src/shared/cplusplus/ASTMatcher.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/shared/cplusplus/ASTMatcher.cpp b/src/shared/cplusplus/ASTMatcher.cpp index c9980d62e2..044f7b1f06 100644 --- a/src/shared/cplusplus/ASTMatcher.cpp +++ b/src/shared/cplusplus/ASTMatcher.cpp @@ -313,6 +313,43 @@ bool ASTMatcher::match(QtFlagsDeclarationAST *node, QtFlagsDeclarationAST *patte return true; } +bool ASTMatcher::match(QtInterfaceNameAST *node, QtInterfaceNameAST *pattern) +{ + (void) node; + (void) pattern; + + if (! pattern->interface_name) + pattern->interface_name = node->interface_name; + else if (! AST::match(node->interface_name, pattern->interface_name, this)) + return false; + + if (! pattern->constraint_list) + pattern->constraint_list = node->constraint_list; + else if (! AST::match(node->constraint_list, pattern->constraint_list, this)) + return false; + + return true; +} + +bool ASTMatcher::match(QtInterfacesDeclarationAST *node, QtInterfacesDeclarationAST *pattern) +{ + (void) node; + (void) pattern; + + pattern->interfaces_token = node->interfaces_token; + + pattern->lparen_token = node->lparen_token; + + if (! pattern->interface_name_list) + pattern->interface_name_list = node->interface_name_list; + else if (! AST::match(node->interface_name_list, pattern->interface_name_list, this)) + return false; + + pattern->rparen_token = node->rparen_token; + + return true; +} + bool ASTMatcher::match(AsmDefinitionAST *node, AsmDefinitionAST *pattern) { (void) node; |