1 | // RUN: %clang_cc1 -fsyntax-only -verify %s |
2 | |
3 | @interface MyClass1 |
4 | @end |
5 | |
6 | @protocol P |
7 | - (void) Pmeth; // expected-note {{method 'Pmeth' declared here}} |
8 | - (void) Pmeth1; // expected-note {{method 'Pmeth1' declared here}} |
9 | @end |
10 | |
11 | @interface MyClass1(CAT) <P> |
12 | - (void) meth2; // expected-note {{method 'meth2' declared here}} |
13 | @end |
14 | |
15 | @implementation MyClass1(CAT) // expected-warning {{method 'Pmeth' in protocol 'P' not implemented}} \ |
16 | // expected-warning {{method definition for 'meth2' not found}} |
17 | - (void) Pmeth1{} |
18 | @end |
19 | |
20 | @interface MyClass1(DOG) <P> |
21 | - (void)ppp; // expected-note {{method 'ppp' declared here}} |
22 | @end |
23 | |
24 | @implementation MyClass1(DOG) // expected-warning {{method 'Pmeth1' in protocol 'P' not implemented}} \ |
25 | // expected-warning {{method definition for 'ppp' not found}} |
26 | - (void) Pmeth {} |
27 | @end |
28 | |
29 | @implementation MyClass1(CAT1) |
30 | @end |
31 | |
32 | // rdar://10823023 |
33 | @class NSString; |
34 | |
35 | @protocol NSObject |
36 | - (NSString *)meth_inprotocol; |
37 | @end |
38 | |
39 | @interface NSObject <NSObject> |
40 | - (NSString *)description; |
41 | + (NSString *) cls_description; |
42 | @end |
43 | |
44 | @protocol Foo |
45 | - (NSString *)description; |
46 | + (NSString *) cls_description; |
47 | @end |
48 | |
49 | @interface NSObject (FooConformance) <Foo> |
50 | @end |
51 | |
52 | @implementation NSObject (FooConformance) |
53 | @end |
54 | |
55 | // rdar://11186449 |
56 | // Don't warn when a category does not implemented a method imported |
57 | // by its protocol because another category has its declaration and |
58 | // that category will implement it. |
59 | @interface NSOrderedSet @end |
60 | |
61 | @interface NSOrderedSet(CoolectionImplements) |
62 | - (unsigned char)containsObject:(id)object; |
63 | @end |
64 | |
65 | @protocol Collection |
66 | - (unsigned char)containsObject:(id)object; |
67 | @end |
68 | |
69 | @interface NSOrderedSet (CollectionConformance) <Collection> |
70 | @end |
71 | |
72 | @implementation NSOrderedSet (CollectionConformance) |
73 | @end |
74 | |
75 | |