1 | // RUN: %clang_cc1 -fsyntax-only -verify %s |
2 | |
3 | @interface Foo |
4 | - (int) garf; // expected-note {{previous declaration is here}} |
5 | - (int) OK; |
6 | + (int) cgarf; // expected-note {{previous declaration is here}} |
7 | - (int) InstMeth; |
8 | @end |
9 | |
10 | @interface Foo() |
11 | - (void) garf; // expected-error {{duplicate declaration of method 'garf'}} |
12 | + (void) cgarf; // expected-error {{duplicate declaration of method 'cgarf'}} |
13 | + (int) InstMeth; |
14 | - (int) OK; |
15 | @end |
16 | |
17 | // rdar://16312105 |
18 | @class NSObject; |
19 | |
20 | __attribute__((objc_root_class)) @interface AppDelegate |
21 | + (void)someMethodWithArgument:(NSObject *)argument; |
22 | + (void)someMethodWithArgument:(NSObject *)argument : (NSObject*) argument2; // expected-note {{previous declaration is here}} |
23 | @end |
24 | |
25 | @interface AppDelegate () |
26 | - (void)someMethodWithArgument:(float)argument; // OK. No warning to be issued here. |
27 | + (void)someMethodWithArgument:(float)argument : (float)argument2; // expected-error {{duplicate declaration of method 'someMethodWithArgument::'}} |
28 | @end |
29 | |
30 | __attribute__((objc_root_class)) |
31 | @interface Test |
32 | -(void)meth; // expected-note {{declared here}} |
33 | @end |
34 | |
35 | @interface Test() |
36 | -(void)meth; |
37 | @end |
38 | |
39 | @implementation Test // expected-warning {{method definition for 'meth' not found}} |
40 | @end |
41 | |