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