1 | // RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s |
2 | typedef signed char BOOL; |
3 | typedef int NSInteger; |
4 | |
5 | @protocol NSObject |
6 | - (BOOL)isEqual:(id)object; |
7 | - (BOOL)respondsToSelector:(SEL)s; |
8 | @end |
9 | |
10 | @interface NSObject <NSObject> {} |
11 | @end |
12 | |
13 | @class NSString, NSData, NSMutableData, NSMutableDictionary, NSMutableArray; |
14 | |
15 | @protocol PBXCompletionItem |
16 | - (NSString *) name; |
17 | - (NSInteger)priority; |
18 | - setPriority:(NSInteger)p; |
19 | @end |
20 | |
21 | @implementation PBXCodeAssistant // expected-warning{{cannot find interface declaration for 'PBXCodeAssistant'}} |
22 | static NSMutableArray * recentCompletions = ((void *)0); |
23 | + (float) factorForRecentCompletion:(NSString *) completion |
24 | { |
25 | for (NSObject<PBXCompletionItem> * item in [self completionItems]) // expected-warning{{method '+completionItems' not found (return type defaults to 'id')}} |
26 | { |
27 | if ([item respondsToSelector:@selector(setPriority:)]) |
28 | { |
29 | [(id)item setPriority:[item priority] / [PBXCodeAssistant factorForRecentCompletion:[item name]]]; |
30 | } |
31 | } |
32 | return 0; |
33 | } |
34 | @end |
35 | |
36 | |