diff options
Diffstat (limited to 'test/SemaObjC/method-lookup.m')
-rw-r--r-- | test/SemaObjC/method-lookup.m | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/SemaObjC/method-lookup.m b/test/SemaObjC/method-lookup.m new file mode 100644 index 0000000..917ad6b --- /dev/null +++ b/test/SemaObjC/method-lookup.m @@ -0,0 +1,34 @@ +// RUN: clang-cc -fsyntax-only -verify %s +typedef signed char BOOL; +typedef int NSInteger; + +@protocol NSObject +- (BOOL)isEqual:(id)object; +- (BOOL)respondsToSelector:(SEL)s; +@end + +@interface NSObject <NSObject> {} +@end + +@class NSString, NSData, NSMutableData, NSMutableDictionary, NSMutableArray; + +@protocol PBXCompletionItem +- (NSString *) name; +- (NSInteger)priority; +- setPriority:(NSInteger)p; +@end + +@implementation PBXCodeAssistant // expected-warning{{cannot find interface declaration for 'PBXCodeAssistant'}} +static NSMutableArray * recentCompletions = ((void *)0); ++ (float) factorForRecentCompletion:(NSString *) completion +{ + for (NSObject<PBXCompletionItem> * item in [self completionItems]) // expected-warning{{method '-completionItems' not found (return type defaults to 'id')}} + { + if ([item respondsToSelector:@selector(setPriority:)]) + { + [(id)item setPriority:[item priority] / [PBXCodeAssistant factorForRecentCompletion:[item name]]]; + } + } +} +@end + |