summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/ASTMatcher.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@nokia.com>2010-03-16 17:29:40 +0100
committerErik Verbruggen <erik.verbruggen@nokia.com>2010-03-17 10:30:17 +0100
commitb4d72a78dbe365a0b5578e453bb9daaeb0260996 (patch)
tree5e4de55006cc0276cce7942a9aa33d2f78ea92b4 /src/shared/cplusplus/ASTMatcher.cpp
parent61132f260c029c868e1971771424c62f36cef638 (diff)
downloadqt-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.cpp37
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;