summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/ASTVisit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/cplusplus/ASTVisit.cpp')
-rw-r--r--src/shared/cplusplus/ASTVisit.cpp45
1 files changed, 41 insertions, 4 deletions
diff --git a/src/shared/cplusplus/ASTVisit.cpp b/src/shared/cplusplus/ASTVisit.cpp
index d5238f52a6..b6b21ad357 100644
--- a/src/shared/cplusplus/ASTVisit.cpp
+++ b/src/shared/cplusplus/ASTVisit.cpp
@@ -1309,8 +1309,6 @@ void ObjcPropertyAttributeListAST::accept0(ASTVisitor *visitor)
// visit ObjcPropertyAttributeListAST
if (attr)
accept(attr, visitor);
- if (next)
- accept(next, visitor);
// visit AST
}
visitor->endVisit(this);
@@ -1320,8 +1318,8 @@ void ObjCPropertyDeclarationAST::accept0(ASTVisitor *visitor)
{
if (visitor->visit(this)) {
// visit ObjCPropertyDeclarationAST:
- if (property_attributes)
- accept(property_attributes, visitor);
+ for (ObjcPropertyAttributeListAST *it = property_attributes; it; it = it->next)
+ accept(it, visitor);
if (simple_declaration)
accept(simple_declaration, visitor);
// visit DeclarationAST:
@@ -1329,4 +1327,43 @@ void ObjCPropertyDeclarationAST::accept0(ASTVisitor *visitor)
visitor->endVisit(this);
}
+void ObjCMessageArgumentDeclarationAST::accept0(ASTVisitor *visitor)
+{
+ if (visitor->visit(this)) {
+ // visit ObjCMessageArgumentDeclarationAST
+ if (type_name)
+ accept(type_name, visitor);
+ if (attributes)
+ accept(attributes, visitor);
+ // visit AST
+ }
+ visitor->endVisit(this);
+}
+
+void ObjCMessageArgumentDeclarationListAST::accept0(ASTVisitor *visitor)
+{
+ if (visitor->visit(this)) {
+ // visit ObjCMessageArgumentDeclarationListAST
+ if (argument_declaration)
+ accept(argument_declaration, visitor);
+ // visit AST
+ }
+ visitor->endVisit(this);
+}
+
+void ObjCMethodPrototypeAST::accept0(ASTVisitor *visitor)
+{
+ if (visitor->visit(this)) {
+ // visit ObjCMethodPrototypeAST
+ if (type_name)
+ accept(type_name, visitor);
+ for (ObjCMessageArgumentDeclarationListAST *it = arguments; it; it = it->next)
+ accept(it, visitor);
+ if (attributes)
+ accept(attributes, visitor);
+ // visit AST
+ }
+ visitor->endVisit(this);
+}
+
CPLUSPLUS_END_NAMESPACE