diff options
author | Erik Verbruggen <erik.verbruggen@nokia.com> | 2009-07-31 16:03:48 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@nokia.com> | 2009-07-31 16:03:48 +0200 |
commit | 4a0da2c6f2663d9469bfd929fa682b6df7d42ab7 (patch) | |
tree | d8fb1fbbeacaadad06024ecd5ce8e84c8f30d547 /src/shared/cplusplus/CheckExpression.cpp | |
parent | b713f1772a4de8330bcdd96a00b9cf103541e008 (diff) | |
download | qt-creator-4a0da2c6f2663d9469bfd929fa682b6df7d42ab7.tar.gz |
Added Semantic checks for ObjC methods.
Diffstat (limited to 'src/shared/cplusplus/CheckExpression.cpp')
-rw-r--r-- | src/shared/cplusplus/CheckExpression.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/shared/cplusplus/CheckExpression.cpp b/src/shared/cplusplus/CheckExpression.cpp index 25cfe8ba43..ac93a1a9de 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 |