summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExprObjC.cpp
diff options
context:
space:
mode:
authorSteve Naroff <snaroff@apple.com>2008-06-04 14:43:54 +0000
committerSteve Naroff <snaroff@apple.com>2008-06-04 14:43:54 +0000
commitf4308aac534fddcb3bac972f3dd37f984f043638 (patch)
tree7e77ce38c997ba3c71703c63c698083fa616134d /clang/lib/Sema/SemaExprObjC.cpp
parentcfd41dbd5e657f98aaab5687d5dcdad89b732bd1 (diff)
downloadbcm5719-llvm-f4308aac534fddcb3bac972f3dd37f984f043638.tar.gz
bcm5719-llvm-f4308aac534fddcb3bac972f3dd37f984f043638.zip
Sema::ActOnClassMessage() needs to look through it's local implementation for private class methods.
llvm-svn: 51938
Diffstat (limited to 'clang/lib/Sema/SemaExprObjC.cpp')
-rw-r--r--clang/lib/Sema/SemaExprObjC.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaExprObjC.cpp b/clang/lib/Sema/SemaExprObjC.cpp
index 2f3949fe604..c9cfc92f4d6 100644
--- a/clang/lib/Sema/SemaExprObjC.cpp
+++ b/clang/lib/Sema/SemaExprObjC.cpp
@@ -170,6 +170,12 @@ Sema::ExprResult Sema::ActOnClassMessage(
ObjCMethodDecl *Method = ClassDecl->lookupClassMethod(Sel);
QualType returnType;
+ // If we have an implementation in scope, check "private" methods.
+ if (!Method) {
+ if (ObjCImplementationDecl *ImpDecl =
+ ObjCImplementations[ClassDecl->getIdentifier()])
+ Method = ImpDecl->getClassMethod(Sel);
+ }
// Before we give up, check if the selector is an instance method.
if (!Method)
Method = ClassDecl->lookupInstanceMethod(Sel);
OpenPOWER on IntegriCloud