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 31void 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