summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/ASTMatcher.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/cplusplus/ASTMatcher.cpp')
-rw-r--r--src/shared/cplusplus/ASTMatcher.cpp66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/shared/cplusplus/ASTMatcher.cpp b/src/shared/cplusplus/ASTMatcher.cpp
index 138950c230..73decce350 100644
--- a/src/shared/cplusplus/ASTMatcher.cpp
+++ b/src/shared/cplusplus/ASTMatcher.cpp
@@ -195,8 +195,74 @@ bool ASTMatcher::match(AccessDeclarationAST *node, AccessDeclarationAST *pattern
pattern->colon_token = node->colon_token;
+#ifdef ICHECK_BUILD
+ pattern->invoke_token = node->invoke_token;
+#endif
+
+ return true;
+}
+
+#ifdef ICHECK_BUILD
+bool ASTMatcher::match(QPropertyDeclarationAST *node, QPropertyDeclarationAST *pattern)
+{
+ (void) node;
+ (void) pattern;
+
+ pattern->property_specifier_token = node->property_specifier_token;
+
+ pattern->type_name_token = node->type_name_token;
+
+ pattern->read_function_token = node->read_function_token;
+
+ pattern->write_function_token = node->write_function_token;
+
+ pattern->notify_function_token = node->notify_function_token;
+
+ return true;
+}
+
+bool ASTMatcher::match(QEnumDeclarationAST *node, QEnumDeclarationAST *pattern)
+{
+ (void) node;
+ (void) pattern;
+
+ pattern->enum_specifier_token = node->enum_specifier_token;
+
+ if (! pattern->enumerator_list)
+ pattern->enumerator_list = node->enumerator_list;
+ else if (! AST::match(node->enumerator_list, pattern->enumerator_list, this))
+ return false;
+
+ return true;
+}
+
+bool ASTMatcher::match(QFlagsDeclarationAST *node, QFlagsDeclarationAST *pattern)
+{
+ (void) node;
+ (void) pattern;
+
+ pattern->flags_specifier_token = node->flags_specifier_token;
+
+ if (! pattern->enumerator_list)
+ pattern->enumerator_list = node->enumerator_list;
+ else if (! AST::match(node->enumerator_list, pattern->enumerator_list, this))
+ return false;
+
+ return true;
+}
+
+bool ASTMatcher::match(QDeclareFlagsDeclarationAST *node, QDeclareFlagsDeclarationAST *pattern)
+{
+ (void) node;
+ (void) pattern;
+
+ pattern->declareflags_specifier_token = node->declareflags_specifier_token;
+ pattern->flag_token = node->flag_token;
+ pattern->enum_token = node->enum_token;
+
return true;
}
+#endif
bool ASTMatcher::match(AsmDefinitionAST *node, AsmDefinitionAST *pattern)
{