aboutsummaryrefslogtreecommitdiffstats
path: root/src/shared/cplusplus/CheckExpression.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/cplusplus/CheckExpression.cpp')
-rw-r--r--src/shared/cplusplus/CheckExpression.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/shared/cplusplus/CheckExpression.cpp b/src/shared/cplusplus/CheckExpression.cpp
index 25cfe8ba43a..ac93a1a9de0 100644
--- a/src/shared/cplusplus/CheckExpression.cpp
+++ b/src/shared/cplusplus/CheckExpression.cpp
@@ -383,4 +383,29 @@ bool CheckExpression::visit(MemberAccessAST *ast)
return false;
}
+bool CheckExpression::visit(ObjCMessageExpressionAST *ast)
+{
+ semantic()->check(ast->receiver_expression, _scope);
+
+ if (Name *name = semantic()->check(ast->selector, _scope))
+ _scope->addUse(ast->selector->firstToken(), name);
+
+ accept(ast->argument_list);
+ return false;
+}
+
+bool CheckExpression::visit(ObjCEncodeExpressionAST * /*ast*/)
+{
+ // TODO: visit the type name, but store the type here? (EV)
+ return true;
+}
+
+bool CheckExpression::visit(ObjCSelectorExpressionAST *ast)
+{
+ if (Name *name = semantic()->check(ast->selector, _scope))
+ _scope->addUse(ast->selector->firstToken(), name);
+
+ return false;
+}
+
CPLUSPLUS_END_NAMESPACE