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