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.cpp31
1 files changed, 30 insertions, 1 deletions
diff --git a/src/shared/cplusplus/ASTVisit.cpp b/src/shared/cplusplus/ASTVisit.cpp
index c556b21015..0f2052127d 100644
--- a/src/shared/cplusplus/ASTVisit.cpp
+++ b/src/shared/cplusplus/ASTVisit.cpp
@@ -1200,7 +1200,36 @@ void ObjCProtocolRefsAST::accept0(ASTVisitor *visitor)
void ObjCMessageExpressionAST::accept0(ASTVisitor *visitor)
{
if (visitor->visit(this)) {
- // FIXME: TODO
+ // visit ObjCMessageExpressionAST
+ if (receiver_expression)
+ accept(receiver_expression, visitor);
+ if (argument_list)
+ accept(argument_list, visitor);
+ // visit ExpressionAST
+ }
+ visitor->endVisit(this);
+}
+
+void ObjCMessageArgumentListAST::accept0(ASTVisitor *visitor)
+{
+ if (visitor->visit(this)) {
+ // visit ObjCMessageArgumentListAST
+ if (arg)
+ accept(arg, visitor);
+ if (next)
+ accept(next, visitor);
+ // visit AST
+ }
+ visitor->endVisit(this);
+}
+
+void ObjCMessageArgumentAST::accept0(ASTVisitor *visitor)
+{
+ if (visitor->visit(this)) {
+ // visit ObjCMessageArgumentAST
+ if (parameter_value_expression)
+ accept(parameter_value_expression, visitor);
+ // visit AST
}
visitor->endVisit(this);
}