Home | History | Annotate | Download | only in Index
      1 // RUN: c-index-test -test-load-source local %s | FileCheck %s
      2 
      3 // From: <rdar://problem/7568881>
      4 // The method 'bar' was also being reported outside the @implementation
      5 
      6 @interface Foo {
      7   id x;
      8 }
      9 - (id) bar;
     10 @end
     11 
     12 @implementation Foo
     13 - (id) bar {
     14   return 0;
     15 }
     16 @end
     17 
     18 // From: <rdar://problem/8380046>
     19 
     20 @protocol Prot8380046
     21 @end
     22 
     23 @interface R8380046
     24 @end
     25 
     26 @interface R8380046 () <Prot8380046>
     27 @end
     28 
     29 @class NSString;
     30 
     31 void test() {
     32   NSString *s = @"objc str";
     33 }
     34 
     35 // CHECK: local-symbols.m:6:12: ObjCInterfaceDecl=Foo:6:12 Extent=[6:1 - 10:5]
     36 // CHECK: local-symbols.m:7:6: ObjCIvarDecl=x:7:6 (Definition) Extent=[7:3 - 7:7]
     37 // CHECK: local-symbols.m:7:3: TypeRef=id:0:0 Extent=[7:3 - 7:5]
     38 // CHECK: local-symbols.m:9:8: ObjCInstanceMethodDecl=bar:9:8 Extent=[9:1 - 9:12]
     39 // CHECK: local-symbols.m:9:4: TypeRef=id:0:0 Extent=[9:4 - 9:6]
     40 // CHECK: local-symbols.m:12:17: ObjCImplementationDecl=Foo:12:17 (Definition) Extent=[12:1 - 16:2]
     41 // CHECK: local-symbols.m:13:8: ObjCInstanceMethodDecl=bar:13:8 (Definition) Extent=[13:1 - 15:2]
     42 // CHECK: local-symbols.m:13:4: TypeRef=id:0:0 Extent=[13:4 - 13:6]
     43 // CHECK: local-symbols.m:14:10: UnexposedExpr= Extent=[14:10 - 14:11]
     44 // CHECK: local-symbols.m:14:10: IntegerLiteral= Extent=[14:10 - 14:11]
     45 // CHECK: local-symbols.m:20:11: ObjCProtocolDecl=Prot8380046:20:11 (Definition) Extent=[20:1 - 21:5]
     46 // CHECK: local-symbols.m:23:12: ObjCInterfaceDecl=R8380046:23:12 Extent=[23:1 - 24:5]
     47 // CHECK: local-symbols.m:26:12: ObjCCategoryDecl=:26:12 Extent=[26:1 - 27:5]
     48 // CHECK: local-symbols.m:26:12: ObjCClassRef=R8380046:23:12 Extent=[26:12 - 26:20]
     49 // CHECK: local-symbols.m:26:25: ObjCProtocolRef=Prot8380046:20:11 Extent=[26:25 - 26:36]
     50 
     51 // CHECK: local-symbols.m:32:17: ObjCStringLiteral="objc str" Extent=[32:17 - 32:28]
     52