diff options
author | Steve Naroff <snaroff@apple.com> | 2008-09-30 14:38:43 +0000 |
---|---|---|
committer | Steve Naroff <snaroff@apple.com> | 2008-09-30 14:38:43 +0000 |
commit | 4a82d815de070537545538ac1fbfaafa48cb97bf (patch) | |
tree | 4a617b7ebeeb18991d4c9a35943ddd8ee19ebb4f /clang/lib/Sema/Sema.h | |
parent | a459f128621bf5652336dea5e2513688b811f476 (diff) | |
download | bcm5719-llvm-4a82d815de070537545538ac1fbfaafa48cb97bf.tar.gz bcm5719-llvm-4a82d815de070537545538ac1fbfaafa48cb97bf.zip |
Fix <rdar://problem/6191148> [sema] Objective-C method lookup (at global scope) fails to handle overloaded selectors properly.
Long standing bug in Sema::ActOnInstanceMessage(). We now warn when messaging an "id" with multiple method signatures in scope. The diags are a little verbose, however they can be streamlined if necessary.
llvm-svn: 56843
Diffstat (limited to 'clang/lib/Sema/Sema.h')
-rw-r--r-- | clang/lib/Sema/Sema.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/Sema.h b/clang/lib/Sema/Sema.h index dcd197dad6f..49d69ad92da 100644 --- a/clang/lib/Sema/Sema.h +++ b/clang/lib/Sema/Sema.h @@ -379,6 +379,10 @@ private: /// messages sent to "id" (where the class of the object is unknown). void AddInstanceMethodToGlobalPool(ObjCMethodDecl *Method); + /// LookupInstanceMethodInGlobalPool - Returns the method and warns if + /// there are multiple signatures. + ObjCMethodDecl *LookupInstanceMethodInGlobalPool(Selector Sel, SourceRange R); + /// AddFactoryMethodToGlobalPool - Same as above, but for factory methods. void AddFactoryMethodToGlobalPool(ObjCMethodDecl *Method); //===--------------------------------------------------------------------===// |