| // RUN: %clang_cc1 -fsyntax-only -verify %s |
| // rdar://7020493 |
| |
| @protocol P1 |
| @optional |
| - (int) PMeth; |
| @required |
| - (void) : (double) arg; // expected-note {{method declared here}} |
| @end |
| |
| @interface NSImage <P1> |
| - (void) initialize; // expected-note {{method declared here}} |
| @end |
| |
| @interface NSImage (AirPortUI) |
| - (void) initialize; |
| @end |
| |
| @interface NSImage() |
| - (void) CEMeth; // expected-note {{method declared here}} |
| @end |
| |
| @implementation NSImage (AirPortUI) |
| - (void) initialize {NSImage *p=0; [p initialize]; } // expected-warning {{category is implementing a method which will also be implemented by its primary class}} |
| - (int) PMeth{ return 0; } |
| - (void) : (double) arg{}; // expected-warning {{category is implementing a method which will also be implemented by its primary class}} |
| - (void) CEMeth {}; // expected-warning {{category is implementing a method which will also be implemented by its primary class}} |
| @end |
| |
| // rdar://10014946 |
| typedef char BOOL; |
| @interface I |
| { |
| BOOL allowsDeleting; |
| } |
| @property (nonatomic, assign, readwrite) BOOL allowsDeleting; |
| @end |
| |
| @implementation I(CAT) |
| - (BOOL) allowsDeleting { return 1; } |
| @end |