Home | History | Annotate | Download | only in SemaObjC
      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> // expected-note {{required for direct or indirect protocol 'P'}}
     12 - (void) meth2;	 // expected-note {{method definition for 'meth2' not found}}
     13 @end
     14 
     15 @implementation MyClass1(CAT) // expected-warning {{incomplete implementation}}  \
     16 				// expected-warning {{method 'Pmeth' in protocol not implemented}}
     17 - (void) Pmeth1{}
     18 @end
     19 
     20 @interface MyClass1(DOG) <P> // expected-note {{required for direct or indirect protocol 'P'}}
     21 - (void)ppp;    // expected-note {{method definition for 'ppp' not found}} 
     22 @end
     23 
     24 @implementation MyClass1(DOG) // expected-warning {{incomplete implementation}} \
     25 		// expected-warning {{method 'Pmeth1' in protocol not implemented}}
     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