Douglas Gregor | 9f59234 | 2010-10-01 20:25:15 +0000 | [diff] [blame] | 1 | |
| 2 | @protocol P1 |
| 3 | - (void)protoMethod; |
| 4 | - (void)protoMethodWithParam:(int)param; |
| 5 | @end |
| 6 | |
| 7 | @protocol P3 |
| 8 | - (void)protoMethod; |
| 9 | @end |
| 10 | |
| 11 | @protocol P2 <P1> |
| 12 | - (void)protoMethod; |
| 13 | @end |
| 14 | |
| 15 | @interface A |
| 16 | - (void)method; |
| 17 | + (void)methodWithParam:(int)param; |
| 18 | @end |
| 19 | |
| 20 | @interface B : A <P2, P3> |
| 21 | - (void)method; |
| 22 | - (void)protoMethod; |
| 23 | @end |
| 24 | |
| 25 | @implementation B |
| 26 | - (void)method { } |
| 27 | + (void)methodWithParam:(int)param { } |
| 28 | @end |
| 29 | |
| 30 | // RUN: c-index-test -test-load-source local %s | FileCheck %s |
| 31 | // CHECK: overrides.m:12:1: ObjCInstanceMethodDecl=protoMethod:12:1 [Overrides @3:1] Extent=[12:1 - 12:21] |
| 32 | // CHECK: overrides.m:21:1: ObjCInstanceMethodDecl=method:21:1 [Overrides @16:1] Extent=[21:1 - 21:16] |
| 33 | // CHECK: overrides.m:22:1: ObjCInstanceMethodDecl=protoMethod:22:1 [Overrides @12:1, @8:1] Extent=[22:1 - 22:21] |
| 34 | // CHECK: overrides.m:26:1: ObjCInstanceMethodDecl=method:26:1 (Definition) [Overrides @21:1] Extent=[26:1 - 26:19] |
| 35 | // CHECK: overrides.m:27:1: ObjCClassMethodDecl=methodWithParam::27:1 (Definition) [Overrides @17:1] Extent=[27:1 - 27:39] |