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>
     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