// RUN: %clang_cc1 -fsyntax-only -verify %s @interface MyClass1 @end @protocol P - (void) Pmeth; // expected-note {{method 'Pmeth' declared here}} - (void) Pmeth1; // expected-note {{method 'Pmeth1' declared here}} @end @interface MyClass1(CAT) <P> - (void) meth2; // expected-note {{method 'meth2' declared here}} @end @implementation MyClass1(CAT) // expected-warning {{method 'Pmeth' in protocol 'P' not implemented}} \ // expected-warning {{method definition for 'meth2' not found}} - (void) Pmeth1{} @end @interface MyClass1(DOG) <P> - (void)ppp; // expected-note {{method 'ppp' declared here}} @end @implementation MyClass1(DOG) // expected-warning {{method 'Pmeth1' in protocol 'P' not implemented}} \ // expected-warning {{method definition for 'ppp' not found}} - (void) Pmeth {} @end @implementation MyClass1(CAT1) @end // rdar://10823023 @class NSString; @protocol NSObject - (NSString *)meth_inprotocol; @end @interface NSObject <NSObject> - (NSString *)description; + (NSString *) cls_description; @end @protocol Foo - (NSString *)description; + (NSString *) cls_description; @end @interface NSObject (FooConformance) <Foo> @end @implementation NSObject (FooConformance) @end // rdar://11186449 // Don't warn when a category does not implemented a method imported // by its protocol because another category has its declaration and // that category will implement it. @interface NSOrderedSet @end @interface NSOrderedSet(CoolectionImplements) - (unsigned char)containsObject:(id)object; @end @protocol Collection - (unsigned char)containsObject:(id)object; @end @interface NSOrderedSet (CollectionConformance) <Collection> @end @implementation NSOrderedSet (CollectionConformance) @end |