1 // RUN: %clang_cc1 -fsyntax-only -verify %s 2 // rdar://7020493 3 4 @protocol P1 5 @optional 6 - (int) PMeth; 7 @required 8 - (void) : (double) arg; // expected-note {{method ':' declared here}} 9 @end 10 11 @interface NSImage <P1> 12 - (void) initialize; // expected-note {{method 'initialize' declared here}} 13 @end 14 15 @interface NSImage (AirPortUI) 16 - (void) initialize; 17 @end 18 19 @interface NSImage() 20 - (void) CEMeth; // expected-note {{method 'CEMeth' declared here}} 21 @end 22 23 @implementation NSImage (AirPortUI) 24 - (void) initialize {NSImage *p=0; [p initialize]; } // expected-warning {{category is implementing a method which will also be implemented by its primary class}} 25 - (int) PMeth{ return 0; } 26 - (void) : (double) arg{}; // expected-warning {{category is implementing a method which will also be implemented by its primary class}} 27 - (void) CEMeth {}; // expected-warning {{category is implementing a method which will also be implemented by its primary class}} 28 @end 29 30 // rdar://10014946 31 typedef char BOOL; 32 @interface I 33 { 34 BOOL allowsDeleting; 35 } 36 @property (nonatomic, assign, readwrite) BOOL allowsDeleting; 37 @end 38 39 @implementation I(CAT) 40 - (BOOL) allowsDeleting { return 1; } 41 @end 42