Home | History | Annotate | Download | only in Index
      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)protoMethod;
     18 + (void)methodWithParam:(int)param;
     19 @end
     20 
     21 @interface B : A <P2, P3>
     22 - (void)method;
     23 - (void)protoMethod;
     24 @end
     25 
     26 @implementation B
     27 - (void)method { }
     28 + (void)methodWithParam:(int)param { }
     29 @end
     30 
     31 @protocol P4 <P3>
     32 - (void)protoMethod;
     33 @end
     34 
     35 @interface B(cat) <P4>
     36 - (void)protoMethod;
     37 @end
     38 
     39 @interface B2
     40 @end
     41 
     42 @interface B2(cat)
     43 -(void)meth;
     44 @end
     45 
     46 @interface I2 : B2
     47 @end
     48 
     49 @implementation I2
     50 -(void)meth { }
     51 @end
     52 
     53 // RUN: c-index-test -test-load-source local %s | FileCheck %s
     54 // CHECK: overrides.m:12:9: ObjCInstanceMethodDecl=protoMethod:12:9 [Overrides @3:9]
     55 // CHECK: overrides.m:22:9: ObjCInstanceMethodDecl=method:22:9 [Overrides @16:9]
     56 // CHECK: overrides.m:23:9: ObjCInstanceMethodDecl=protoMethod:23:9 [Overrides @12:9, @8:9, @32:9, @17:9]
     57 // CHECK: overrides.m:27:9: ObjCInstanceMethodDecl=method:27:9 (Definition) [Overrides @16:9]
     58 // CHECK: overrides.m:28:9: ObjCClassMethodDecl=methodWithParam::28:9 (Definition) [Overrides @18:9]
     59 // CHECK: overrides.m:32:9: ObjCInstanceMethodDecl=protoMethod:32:9 [Overrides @8:9]
     60 // CHECK: overrides.m:36:9: ObjCInstanceMethodDecl=protoMethod:36:9 [Overrides @12:9, @8:9, @32:9, @17:9]
     61 // CHECK: overrides.m:50:8: ObjCInstanceMethodDecl=meth:50:8 (Definition) [Overrides @43:8]
     62