1f4a2713aSLionel Sambuc 2f4a2713aSLionel Sambuc 3f4a2713aSLionel Sambucstatic inline int my_helper(int x, int y) { return x + y; } 4f4a2713aSLionel Sambuc 5f4a2713aSLionel Sambucenum { 6f4a2713aSLionel Sambuc ABA, 7f4a2713aSLionel Sambuc CADABA 8f4a2713aSLionel Sambuc}; 9f4a2713aSLionel Sambuc 10f4a2713aSLionel Sambucenum { 11f4a2713aSLionel Sambuc FOO, 12f4a2713aSLionel Sambuc BAR 13f4a2713aSLionel Sambuc}; 14f4a2713aSLionel Sambuc 15f4a2713aSLionel Sambuctypedef struct { 16f4a2713aSLionel Sambuc int wa; 17f4a2713aSLionel Sambuc int moo; 18f4a2713aSLionel Sambuc} MyStruct; 19f4a2713aSLionel Sambuc 20f4a2713aSLionel Sambucenum Pizza { 21f4a2713aSLionel Sambuc CHEESE, 22f4a2713aSLionel Sambuc MUSHROOMS 23f4a2713aSLionel Sambuc}; 24f4a2713aSLionel Sambuc 25f4a2713aSLionel Sambuc@interface Foo { 26f4a2713aSLionel Sambuc id x; 27f4a2713aSLionel Sambuc id y; 28f4a2713aSLionel Sambuc} 29f4a2713aSLionel Sambuc- (id) godzilla; 30f4a2713aSLionel Sambuc+ (id) kingkong; 31f4a2713aSLionel Sambuc@property int d1; 32f4a2713aSLionel Sambuc@end 33f4a2713aSLionel Sambuc 34f4a2713aSLionel Sambuc@implementation Foo 35f4a2713aSLionel Sambuc- (id) godzilla { 36f4a2713aSLionel Sambuc static int a = 0; 37f4a2713aSLionel Sambuc extern int z; 38f4a2713aSLionel Sambuc return 0; 39f4a2713aSLionel Sambuc} 40f4a2713aSLionel Sambuc+ (id) kingkong { 41f4a2713aSLionel Sambuc int local_var; 42f4a2713aSLionel Sambuc return 0; 43f4a2713aSLionel Sambuc} 44f4a2713aSLionel Sambuc@synthesize d1; 45f4a2713aSLionel Sambuc@end 46f4a2713aSLionel Sambuc 47f4a2713aSLionel Sambucint z; 48f4a2713aSLionel Sambuc 49f4a2713aSLionel Sambucstatic int local_func(int x) { return x; } 50f4a2713aSLionel Sambuc 51f4a2713aSLionel Sambuc@interface CWithExt 52f4a2713aSLionel Sambuc- (id) meth1; 53f4a2713aSLionel Sambuc@end 54f4a2713aSLionel Sambuc@interface CWithExt () 55f4a2713aSLionel Sambuc- (id) meth2; 56f4a2713aSLionel Sambuc@end 57f4a2713aSLionel Sambuc@interface CWithExt () 58f4a2713aSLionel Sambuc- (id) meth3; 59f4a2713aSLionel Sambuc@end 60f4a2713aSLionel Sambuc@interface CWithExt (Bar) 61f4a2713aSLionel Sambuc- (id) meth4; 62f4a2713aSLionel Sambuc@end 63f4a2713aSLionel Sambuc@implementation CWithExt 64f4a2713aSLionel Sambuc- (id) meth1 { return 0; } 65f4a2713aSLionel Sambuc- (id) meth2 { return 0; } 66f4a2713aSLionel Sambuc- (id) meth3 { return 0; } 67f4a2713aSLionel Sambuc@end 68f4a2713aSLionel Sambuc@implementation CWithExt (Bar) 69f4a2713aSLionel Sambuc- (id) meth4 { return 0; } 70f4a2713aSLionel Sambuc@end 71f4a2713aSLionel Sambuc 72f4a2713aSLionel Sambucvoid aux_1(int, int, int); 73f4a2713aSLionel Sambucint test_multi_declaration(void) { 74f4a2713aSLionel Sambuc int foo = 1, bar = 2, baz = 3; 75f4a2713aSLionel Sambuc aux_1(foo, bar, baz); 76f4a2713aSLionel Sambuc return 0; 77f4a2713aSLionel Sambuc} 78f4a2713aSLionel Sambuc 79f4a2713aSLionel Sambuc@protocol P1 80f4a2713aSLionel Sambuc- (void)method; 81f4a2713aSLionel Sambuc@end 82f4a2713aSLionel Sambuc 83f4a2713aSLionel Sambuc@interface CWithExt2 84f4a2713aSLionel Sambuc@end 85f4a2713aSLionel Sambuc@interface CWithExt2 () { 86f4a2713aSLionel Sambuc id var_ext; 87f4a2713aSLionel Sambuc} 88f4a2713aSLionel Sambuc@property (assign) id pro_ext; 89f4a2713aSLionel Sambuc-(int)methodWithFn:(void (*)(int *p))fn; 90f4a2713aSLionel Sambuc@end 91f4a2713aSLionel Sambuc 92*0a6a1f1dSLionel Sambuc#include <usrs-system.h> 93*0a6a1f1dSLionel Sambuc 94*0a6a1f1dSLionel Sambuc#define MACRO1 123 95*0a6a1f1dSLionel Sambuc 96*0a6a1f1dSLionel Sambuc#define MACRO2 123 97*0a6a1f1dSLionel Sambuc#undef MACRO2 98*0a6a1f1dSLionel Sambuc#define MACRO2 789 99*0a6a1f1dSLionel Sambuc 100*0a6a1f1dSLionel Sambuc#define MACRO3(X) 123, X 101*0a6a1f1dSLionel Sambuc#define MACRO3(X) 789, X 102*0a6a1f1dSLionel Sambuc 103*0a6a1f1dSLionel Sambuc// RUN: c-index-test -test-load-source-usrs all -target x86_64-apple-macosx10.7 %s -isystem %S/Inputs | FileCheck %s 104*0a6a1f1dSLionel Sambuc// CHECK: usrs-system.h c:@macro@MACRO_FROM_SYSTEM_HEADER_1 Extent=[1:9 - 1:40] 105*0a6a1f1dSLionel Sambuc// CHECK: usrs.m c:usrs.m@1265@macro@MACRO1 Extent=[94:9 - 94:19] 106*0a6a1f1dSLionel Sambuc// CHECK: usrs.m c:usrs.m@1285@macro@MACRO2 Extent=[96:9 - 96:19] 107*0a6a1f1dSLionel Sambuc// CHECK: usrs.m c:usrs.m@1318@macro@MACRO2 Extent=[98:9 - 98:19] 108*0a6a1f1dSLionel Sambuc// CHECK: usrs.m c:usrs.m@1338@macro@MACRO3 Extent=[100:9 - 100:25] 109*0a6a1f1dSLionel Sambuc// CHECK: usrs.m c:usrs.m@1363@macro@MACRO3 Extent=[101:9 - 101:25] 110*0a6a1f1dSLionel Sambuc// CHECK: usrs.m c:usrs.m@F@my_helper Extent=[3:1 - 3:60] 111f4a2713aSLionel Sambuc// CHECK: usrs.m c:usrs.m@95@F@my_helper@x Extent=[3:29 - 3:34] 112f4a2713aSLionel Sambuc// CHECK: usrs.m c:usrs.m@102@F@my_helper@y Extent=[3:36 - 3:41] 113*0a6a1f1dSLionel Sambuc// CHECK: usrs.m c:usrs.m@Ea Extent=[5:1 - 8:2] 114*0a6a1f1dSLionel Sambuc// CHECK: usrs.m c:usrs.m@Ea@ABA Extent=[6:3 - 6:6] 115*0a6a1f1dSLionel Sambuc// CHECK: usrs.m c:usrs.m@Ea@CADABA Extent=[7:3 - 7:9] 116*0a6a1f1dSLionel Sambuc// CHECK: usrs.m c:usrs.m@Ea Extent=[10:1 - 13:2] 117*0a6a1f1dSLionel Sambuc// CHECK: usrs.m c:usrs.m@Ea@FOO Extent=[11:3 - 11:6] 118*0a6a1f1dSLionel Sambuc// CHECK: usrs.m c:usrs.m@Ea@BAR Extent=[12:3 - 12:6] 119f4a2713aSLionel Sambuc// CHECK: usrs.m c:@SA@MyStruct Extent=[15:9 - 18:2] 120f4a2713aSLionel Sambuc// CHECK: usrs.m c:@SA@MyStruct@FI@wa Extent=[16:3 - 16:9] 121f4a2713aSLionel Sambuc// CHECK: usrs.m c:@SA@MyStruct@FI@moo Extent=[17:3 - 17:10] 122*0a6a1f1dSLionel Sambuc// CHECK: usrs.m c:usrs.m@T@MyStruct Extent=[15:1 - 18:11] 123f4a2713aSLionel Sambuc// CHECK: usrs.m c:@E@Pizza Extent=[20:1 - 23:2] 124f4a2713aSLionel Sambuc// CHECK: usrs.m c:@E@Pizza@CHEESE Extent=[21:3 - 21:9] 125f4a2713aSLionel Sambuc// CHECK: usrs.m c:@E@Pizza@MUSHROOMS Extent=[22:3 - 22:12] 126f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)Foo Extent=[25:1 - 32:5] 127f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)Foo@x Extent=[26:3 - 26:7] 128f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)Foo@y Extent=[27:3 - 27:7] 129f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)Foo(im)godzilla Extent=[29:1 - 29:17] 130f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)Foo(cm)kingkong Extent=[30:1 - 30:17] 131f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)Foo(py)d1 Extent=[31:1 - 31:17] 132f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)Foo(im)d1 Extent=[31:15 - 31:17] 133f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)Foo(im)setD1: Extent=[31:15 - 31:17] 134f4a2713aSLionel Sambuc// CHECK: usrs.m c:usrs.m@352objc(cs)Foo(im)setD1:@d1 Extent=[31:15 - 31:17] 135f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)Foo Extent=[34:1 - 45:2] 136f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)Foo(im)godzilla Extent=[35:1 - 39:2] 137f4a2713aSLionel Sambuc// CHECK: usrs.m c:usrs.m@402objc(cs)Foo(im)godzilla@a Extent=[36:3 - 36:19] 138f4a2713aSLionel Sambuc// CHECK: usrs.m c:@z Extent=[37:3 - 37:15] 139f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)Foo(cm)kingkong Extent=[40:1 - 43:2] 140f4a2713aSLionel Sambuc// CHECK: usrs.m c:usrs.m@470objc(cs)Foo(cm)kingkong@local_var Extent=[41:3 - 41:16] 141f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)Foo(py)d1 Extent=[44:1 - 44:15] 142f4a2713aSLionel Sambuc// CHECK: usrs.m c:@z Extent=[47:1 - 47:6] 143*0a6a1f1dSLionel Sambuc// CHECK: usrs.m c:usrs.m@F@local_func Extent=[49:1 - 49:43] 144f4a2713aSLionel Sambuc// CHECK: usrs.m c:usrs.m@551@F@local_func@x Extent=[49:23 - 49:28] 145f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)CWithExt Extent=[51:1 - 53:5] 146f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)CWithExt(im)meth1 Extent=[52:1 - 52:14] 147f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(ext)CWithExt@usrs.m@612 Extent=[54:1 - 56:5] 148f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)CWithExt(im)meth2 Extent=[55:1 - 55:14] 149f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(ext)CWithExt@usrs.m@654 Extent=[57:1 - 59:5] 150f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)CWithExt(im)meth3 Extent=[58:1 - 58:14] 151f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cy)CWithExt@Bar Extent=[60:1 - 62:5] 152f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)CWithExt(im)meth4 Extent=[61:1 - 61:14] 153f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)CWithExt Extent=[63:1 - 67:2] 154f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)CWithExt(im)meth1 Extent=[64:1 - 64:27] 155f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)CWithExt(im)meth2 Extent=[65:1 - 65:27] 156f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)CWithExt(im)meth3 Extent=[66:1 - 66:27] 157f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cy)CWithExt@Bar Extent=[68:1 - 70:2] 158f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)CWithExt(im)meth4 Extent=[69:1 - 69:27] 159f4a2713aSLionel Sambuc// CHECK: usrs.m c:@F@aux_1 Extent=[72:1 - 72:26] 160f4a2713aSLionel Sambuc// CHECK: usrs.m c:@F@test_multi_declaration Extent=[73:1 - 77:2] 161f4a2713aSLionel Sambuc// CHECK: usrs.m c:usrs.m@980@F@test_multi_declaration@foo Extent=[74:3 - 74:14] 162f4a2713aSLionel Sambuc// CHECK: usrs.m c:usrs.m@980@F@test_multi_declaration@bar Extent=[74:16 - 74:23] 163f4a2713aSLionel Sambuc// CHECK: usrs.m c:usrs.m@980@F@test_multi_declaration@baz Extent=[74:25 - 74:32] 164f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(pl)P1 Extent=[79:1 - 81:5] 165f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(pl)P1(im)method Extent=[80:1 - 80:16] 166f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)CWithExt2 Extent=[83:1 - 84:5] 167f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(ext)CWithExt2@usrs.m@1111 Extent=[85:1 - 90:5] 168f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)CWithExt2@var_ext Extent=[86:3 - 86:13] 169f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)CWithExt2(py)pro_ext Extent=[88:1 - 88:30] 170f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)CWithExt2(im)pro_ext Extent=[88:23 - 88:30] 171f4a2713aSLionel Sambuc// CHECK: usrs.m c:objc(cs)CWithExt2(im)setPro_ext: Extent=[88:23 - 88:30] 172f4a2713aSLionel Sambuc 173*0a6a1f1dSLionel Sambuc// RUN: c-index-test -test-load-source all %s -isystem %S/Inputs | FileCheck -check-prefix=CHECK-source %s 174*0a6a1f1dSLionel Sambuc// CHECK-source: usrs-system.h:1:9: macro definition=MACRO_FROM_SYSTEM_HEADER_1 Extent=[1:9 - 1:40] 175*0a6a1f1dSLionel Sambuc// CHECK-source: usrs.m:94:9: macro definition=MACRO1 Extent=[94:9 - 94:19] 176*0a6a1f1dSLionel Sambuc// CHECK-source: usrs.m:96:9: macro definition=MACRO2 Extent=[96:9 - 96:19] 177*0a6a1f1dSLionel Sambuc// CHECK-source: usrs.m:98:9: macro definition=MACRO2 Extent=[98:9 - 98:19] 178*0a6a1f1dSLionel Sambuc// CHECK-source: usrs.m:100:9: macro definition=MACRO3 Extent=[100:9 - 100:25] 179*0a6a1f1dSLionel Sambuc// CHECK-source: usrs.m:101:9: macro definition=MACRO3 Extent=[101:9 - 101:25] 180f4a2713aSLionel Sambuc// CHECK-source: usrs.m:3:19: FunctionDecl=my_helper:3:19 (Definition) Extent=[3:1 - 3:60] 181f4a2713aSLionel Sambuc// CHECK-source: usrs.m:3:33: ParmDecl=x:3:33 (Definition) Extent=[3:29 - 3:34] 182f4a2713aSLionel Sambuc// CHECK-source: usrs.m:3:40: ParmDecl=y:3:40 (Definition) Extent=[3:36 - 3:41] 183f4a2713aSLionel Sambuc// CHECK-source: usrs.m:3:43: CompoundStmt= Extent=[3:43 - 3:60] 184f4a2713aSLionel Sambuc// CHECK-source: usrs.m:3:45: ReturnStmt= Extent=[3:45 - 3:57] 185f4a2713aSLionel Sambuc// CHECK-source: usrs.m:3:52: BinaryOperator= Extent=[3:52 - 3:57] 186f4a2713aSLionel Sambuc// CHECK-source: usrs.m:3:52: DeclRefExpr=x:3:33 Extent=[3:52 - 3:53] 187f4a2713aSLionel Sambuc// CHECK-source: usrs.m:3:56: DeclRefExpr=y:3:40 Extent=[3:56 - 3:57] 188f4a2713aSLionel Sambuc// CHECK-source: usrs.m:5:1: EnumDecl=:5:1 (Definition) Extent=[5:1 - 8:2] 189f4a2713aSLionel Sambuc// CHECK-source: usrs.m:6:3: EnumConstantDecl=ABA:6:3 (Definition) Extent=[6:3 - 6:6] 190f4a2713aSLionel Sambuc// CHECK-source: usrs.m:7:3: EnumConstantDecl=CADABA:7:3 (Definition) Extent=[7:3 - 7:9] 191f4a2713aSLionel Sambuc// CHECK-source: usrs.m:10:1: EnumDecl=:10:1 (Definition) Extent=[10:1 - 13:2] 192f4a2713aSLionel Sambuc// CHECK-source: usrs.m:11:3: EnumConstantDecl=FOO:11:3 (Definition) Extent=[11:3 - 11:6] 193f4a2713aSLionel Sambuc// CHECK-source: usrs.m:12:3: EnumConstantDecl=BAR:12:3 (Definition) Extent=[12:3 - 12:6] 194f4a2713aSLionel Sambuc// CHECK-source: usrs.m:18:3: TypedefDecl=MyStruct:18:3 (Definition) Extent=[15:1 - 18:11] 195f4a2713aSLionel Sambuc// CHECK-source: usrs.m:15:9: StructDecl=:15:9 (Definition) Extent=[15:9 - 18:2] 196f4a2713aSLionel Sambuc// CHECK-source: usrs.m:16:7: FieldDecl=wa:16:7 (Definition) Extent=[16:3 - 16:9] 197f4a2713aSLionel Sambuc// CHECK-source: usrs.m:17:7: FieldDecl=moo:17:7 (Definition) Extent=[17:3 - 17:10] 198f4a2713aSLionel Sambuc// CHECK-source: usrs.m:20:6: EnumDecl=Pizza:20:6 (Definition) Extent=[20:1 - 23:2] 199f4a2713aSLionel Sambuc// CHECK-source: usrs.m:21:3: EnumConstantDecl=CHEESE:21:3 (Definition) Extent=[21:3 - 21:9] 200f4a2713aSLionel Sambuc// CHECK-source: usrs.m:22:3: EnumConstantDecl=MUSHROOMS:22:3 (Definition) Extent=[22:3 - 22:12] 201f4a2713aSLionel Sambuc// CHECK-source: usrs.m:25:12: ObjCInterfaceDecl=Foo:25:12 Extent=[25:1 - 32:5] 202f4a2713aSLionel Sambuc// CHECK-source: usrs.m:26:6: ObjCIvarDecl=x:26:6 (Definition) Extent=[26:3 - 26:7] 203f4a2713aSLionel Sambuc// CHECK-source: usrs.m:26:3: TypeRef=id:0:0 Extent=[26:3 - 26:5] 204f4a2713aSLionel Sambuc// CHECK-source: usrs.m:27:6: ObjCIvarDecl=y:27:6 (Definition) Extent=[27:3 - 27:7] 205f4a2713aSLionel Sambuc// CHECK-source: usrs.m:27:3: TypeRef=id:0:0 Extent=[27:3 - 27:5] 206f4a2713aSLionel Sambuc// CHECK-source: usrs.m:29:8: ObjCInstanceMethodDecl=godzilla:29:8 Extent=[29:1 - 29:17] 207f4a2713aSLionel Sambuc// CHECK-source: usrs.m:29:4: TypeRef=id:0:0 Extent=[29:4 - 29:6] 208f4a2713aSLionel Sambuc// CHECK-source: usrs.m:30:8: ObjCClassMethodDecl=kingkong:30:8 Extent=[30:1 - 30:17] 209f4a2713aSLionel Sambuc// CHECK-source: usrs.m:30:4: TypeRef=id:0:0 Extent=[30:4 - 30:6] 210f4a2713aSLionel Sambuc// CHECK-source: usrs.m:31:15: ObjCPropertyDecl=d1:31:15 Extent=[31:1 - 31:17] 211f4a2713aSLionel Sambuc// CHECK-source: usrs.m:31:15: ObjCInstanceMethodDecl=d1:31:15 Extent=[31:15 - 31:17] 212f4a2713aSLionel Sambuc// CHECK-source: usrs.m:31:15: ObjCInstanceMethodDecl=setD1::31:15 Extent=[31:15 - 31:17] 213f4a2713aSLionel Sambuc// CHECK-source: usrs.m:31:15: ParmDecl=d1:31:15 (Definition) Extent=[31:15 - 31:17] 214f4a2713aSLionel Sambuc// CHECK-source: usrs.m:34:17: ObjCImplementationDecl=Foo:34:17 (Definition) Extent=[34:1 - 45:2] 215f4a2713aSLionel Sambuc// CHECK-source: usrs.m:35:8: ObjCInstanceMethodDecl=godzilla:35:8 (Definition) Extent=[35:1 - 39:2] 216f4a2713aSLionel Sambuc// CHECK-source: usrs.m:35:4: TypeRef=id:0:0 Extent=[35:4 - 35:6] 217f4a2713aSLionel Sambuc// CHECK-source: usrs.m:35:17: CompoundStmt= Extent=[35:17 - 39:2] 218f4a2713aSLionel Sambuc// CHECK-source: usrs.m:36:3: DeclStmt= Extent=[36:3 - 36:20] 219f4a2713aSLionel Sambuc// CHECK-source: usrs.m:36:14: VarDecl=a:36:14 (Definition) Extent=[36:3 - 36:19] 220f4a2713aSLionel Sambuc// CHECK-source: usrs.m:36:18: IntegerLiteral= Extent=[36:18 - 36:19] 221f4a2713aSLionel Sambuc// CHECK-source: usrs.m:37:3: DeclStmt= Extent=[37:3 - 37:16] 222f4a2713aSLionel Sambuc// CHECK-source: usrs.m:37:14: VarDecl=z:37:14 Extent=[37:3 - 37:15] 223f4a2713aSLionel Sambuc// CHECK-source: usrs.m:38:3: ReturnStmt= Extent=[38:3 - 38:11] 224f4a2713aSLionel Sambuc// CHECK-source: usrs.m:38:10: UnexposedExpr= Extent=[38:10 - 38:11] 225f4a2713aSLionel Sambuc// CHECK-source: usrs.m:38:10: IntegerLiteral= Extent=[38:10 - 38:11] 226f4a2713aSLionel Sambuc// CHECK-source: usrs.m:40:8: ObjCClassMethodDecl=kingkong:40:8 (Definition) Extent=[40:1 - 43:2] 227f4a2713aSLionel Sambuc// CHECK-source: usrs.m:40:4: TypeRef=id:0:0 Extent=[40:4 - 40:6] 228f4a2713aSLionel Sambuc// CHECK-source: usrs.m:40:17: CompoundStmt= Extent=[40:17 - 43:2] 229f4a2713aSLionel Sambuc// CHECK-source: usrs.m:41:3: DeclStmt= Extent=[41:3 - 41:17] 230f4a2713aSLionel Sambuc// CHECK-source: usrs.m:41:7: VarDecl=local_var:41:7 (Definition) Extent=[41:3 - 41:16] 231f4a2713aSLionel Sambuc// CHECK-source: usrs.m:42:3: ReturnStmt= Extent=[42:3 - 42:11] 232f4a2713aSLionel Sambuc// CHECK-source: usrs.m:42:10: UnexposedExpr= Extent=[42:10 - 42:11] 233f4a2713aSLionel Sambuc// CHECK-source: usrs.m:42:10: IntegerLiteral= Extent=[42:10 - 42:11] 234f4a2713aSLionel Sambuc// CHECK-source: usrs.m:44:13: ObjCSynthesizeDecl=d1:31:15 (Definition) Extent=[44:1 - 44:15] 235f4a2713aSLionel Sambuc// CHECK-source: usrs.m:47:5: VarDecl=z:47:5 Extent=[47:1 - 47:6] 236f4a2713aSLionel Sambuc// CHECK-source: usrs.m:49:12: FunctionDecl=local_func:49:12 (Definition) Extent=[49:1 - 49:43] 237f4a2713aSLionel Sambuc// CHECK-source: usrs.m:49:27: ParmDecl=x:49:27 (Definition) Extent=[49:23 - 49:28] 238f4a2713aSLionel Sambuc// CHECK-source: usrs.m:49:30: CompoundStmt= Extent=[49:30 - 49:43] 239f4a2713aSLionel Sambuc// CHECK-source: usrs.m:49:32: ReturnStmt= Extent=[49:32 - 49:40] 240f4a2713aSLionel Sambuc// CHECK-source: usrs.m:49:39: DeclRefExpr=x:49:27 Extent=[49:39 - 49:40] 241f4a2713aSLionel Sambuc// CHECK-source: usrs.m:51:12: ObjCInterfaceDecl=CWithExt:51:12 Extent=[51:1 - 53:5] 242f4a2713aSLionel Sambuc// CHECK-source: usrs.m:52:8: ObjCInstanceMethodDecl=meth1:52:8 Extent=[52:1 - 52:14] 243f4a2713aSLionel Sambuc// CHECK-source: usrs.m:52:4: TypeRef=id:0:0 Extent=[52:4 - 52:6] 244f4a2713aSLionel Sambuc// CHECK-source: usrs.m:54:12: ObjCCategoryDecl=:54:12 Extent=[54:1 - 56:5] 245f4a2713aSLionel Sambuc// CHECK-source: usrs.m:54:12: ObjCClassRef=CWithExt:51:12 Extent=[54:12 - 54:20] 246f4a2713aSLionel Sambuc// CHECK-source: usrs.m:55:8: ObjCInstanceMethodDecl=meth2:55:8 Extent=[55:1 - 55:14] 247f4a2713aSLionel Sambuc// CHECK-source: usrs.m:55:4: TypeRef=id:0:0 Extent=[55:4 - 55:6] 248f4a2713aSLionel Sambuc// CHECK-source: usrs.m:57:12: ObjCCategoryDecl=:57:12 Extent=[57:1 - 59:5] 249f4a2713aSLionel Sambuc// CHECK-source: usrs.m:57:12: ObjCClassRef=CWithExt:51:12 Extent=[57:12 - 57:20] 250f4a2713aSLionel Sambuc// CHECK-source: usrs.m:58:8: ObjCInstanceMethodDecl=meth3:58:8 Extent=[58:1 - 58:14] 251f4a2713aSLionel Sambuc// CHECK-source: usrs.m:58:4: TypeRef=id:0:0 Extent=[58:4 - 58:6] 252f4a2713aSLionel Sambuc// CHECK-source: usrs.m:60:12: ObjCCategoryDecl=Bar:60:12 Extent=[60:1 - 62:5] 253f4a2713aSLionel Sambuc// CHECK-source: usrs.m:60:12: ObjCClassRef=CWithExt:51:12 Extent=[60:12 - 60:20] 254f4a2713aSLionel Sambuc// CHECK-source: usrs.m:61:8: ObjCInstanceMethodDecl=meth4:61:8 Extent=[61:1 - 61:14] 255f4a2713aSLionel Sambuc// CHECK-source: usrs.m:61:4: TypeRef=id:0:0 Extent=[61:4 - 61:6] 256f4a2713aSLionel Sambuc// CHECK-source: usrs.m:63:17: ObjCImplementationDecl=CWithExt:63:17 (Definition) Extent=[63:1 - 67:2] 257f4a2713aSLionel Sambuc// CHECK-source: usrs.m:64:8: ObjCInstanceMethodDecl=meth1:64:8 (Definition) Extent=[64:1 - 64:27] 258f4a2713aSLionel Sambuc// CHECK-source: usrs.m:64:4: TypeRef=id:0:0 Extent=[64:4 - 64:6] 259f4a2713aSLionel Sambuc// CHECK-source: usrs.m:64:14: CompoundStmt= Extent=[64:14 - 64:27] 260f4a2713aSLionel Sambuc// CHECK-source: usrs.m:64:16: ReturnStmt= Extent=[64:16 - 64:24] 261f4a2713aSLionel Sambuc// CHECK-source: usrs.m:64:23: UnexposedExpr= Extent=[64:23 - 64:24] 262f4a2713aSLionel Sambuc// CHECK-source: usrs.m:64:23: IntegerLiteral= Extent=[64:23 - 64:24] 263f4a2713aSLionel Sambuc// CHECK-source: usrs.m:65:8: ObjCInstanceMethodDecl=meth2:65:8 (Definition) Extent=[65:1 - 65:27] 264f4a2713aSLionel Sambuc// CHECK-source: usrs.m:65:4: TypeRef=id:0:0 Extent=[65:4 - 65:6] 265f4a2713aSLionel Sambuc// CHECK-source: usrs.m:65:14: CompoundStmt= Extent=[65:14 - 65:27] 266f4a2713aSLionel Sambuc// CHECK-source: usrs.m:65:16: ReturnStmt= Extent=[65:16 - 65:24] 267f4a2713aSLionel Sambuc// CHECK-source: usrs.m:65:23: UnexposedExpr= Extent=[65:23 - 65:24] 268f4a2713aSLionel Sambuc// CHECK-source: usrs.m:65:23: IntegerLiteral= Extent=[65:23 - 65:24] 269f4a2713aSLionel Sambuc// CHECK-source: usrs.m:66:8: ObjCInstanceMethodDecl=meth3:66:8 (Definition) Extent=[66:1 - 66:27] 270f4a2713aSLionel Sambuc// CHECK-source: usrs.m:66:4: TypeRef=id:0:0 Extent=[66:4 - 66:6] 271f4a2713aSLionel Sambuc// CHECK-source: usrs.m:66:14: CompoundStmt= Extent=[66:14 - 66:27] 272f4a2713aSLionel Sambuc// CHECK-source: usrs.m:66:16: ReturnStmt= Extent=[66:16 - 66:24] 273f4a2713aSLionel Sambuc// CHECK-source: usrs.m:66:23: UnexposedExpr= Extent=[66:23 - 66:24] 274f4a2713aSLionel Sambuc// CHECK-source: usrs.m:66:23: IntegerLiteral= Extent=[66:23 - 66:24] 275f4a2713aSLionel Sambuc// CHECK-source: usrs.m:68:17: ObjCCategoryImplDecl=Bar:68:17 (Definition) Extent=[68:1 - 70:2] 276f4a2713aSLionel Sambuc// CHECK-source: usrs.m:68:17: ObjCClassRef=CWithExt:51:12 Extent=[68:17 - 68:25] 277f4a2713aSLionel Sambuc// CHECK-source: usrs.m:69:8: ObjCInstanceMethodDecl=meth4:69:8 (Definition) Extent=[69:1 - 69:27] 278f4a2713aSLionel Sambuc// CHECK-source: usrs.m:69:4: TypeRef=id:0:0 Extent=[69:4 - 69:6] 279f4a2713aSLionel Sambuc// CHECK-source: usrs.m:69:14: CompoundStmt= Extent=[69:14 - 69:27] 280f4a2713aSLionel Sambuc// CHECK-source: usrs.m:69:16: ReturnStmt= Extent=[69:16 - 69:24] 281f4a2713aSLionel Sambuc// CHECK-source: usrs.m:69:23: UnexposedExpr= Extent=[69:23 - 69:24] 282f4a2713aSLionel Sambuc// CHECK-source: usrs.m:69:23: IntegerLiteral= Extent=[69:23 - 69:24] 283f4a2713aSLionel Sambuc// CHECK-source: usrs.m:72:6: FunctionDecl=aux_1:72:6 Extent=[72:1 - 72:26] 284*0a6a1f1dSLionel Sambuc// CHECK-source: usrs.m:72:15: ParmDecl=:72:15 (Definition) Extent=[72:12 - 72:15] 285*0a6a1f1dSLionel Sambuc// CHECK-source: usrs.m:72:20: ParmDecl=:72:20 (Definition) Extent=[72:17 - 72:20] 286*0a6a1f1dSLionel Sambuc// CHECK-source: usrs.m:72:25: ParmDecl=:72:25 (Definition) Extent=[72:22 - 72:25] 287f4a2713aSLionel Sambuc// CHECK-source: usrs.m:73:5: FunctionDecl=test_multi_declaration:73:5 (Definition) Extent=[73:1 - 77:2] 288f4a2713aSLionel Sambuc// CHECK-source: usrs.m:73:34: CompoundStmt= Extent=[73:34 - 77:2] 289f4a2713aSLionel Sambuc// CHECK-source: usrs.m:74:3: DeclStmt= Extent=[74:3 - 74:33] 290f4a2713aSLionel Sambuc// CHECK-source: usrs.m:74:7: VarDecl=foo:74:7 (Definition) Extent=[74:3 - 74:14] 291f4a2713aSLionel Sambuc// CHECK-source: usrs.m:74:13: IntegerLiteral= Extent=[74:13 - 74:14] 292f4a2713aSLionel Sambuc// CHECK-source: usrs.m:74:16: VarDecl=bar:74:16 Extent=[74:16 - 74:23] 293f4a2713aSLionel Sambuc// CHECK-source: usrs.m:74:22: IntegerLiteral= Extent=[74:22 - 74:23] 294f4a2713aSLionel Sambuc// CHECK-source: usrs.m:74:25: VarDecl=baz:74:25 Extent=[74:25 - 74:32] 295f4a2713aSLionel Sambuc// CHECK-source: usrs.m:74:31: IntegerLiteral= Extent=[74:31 - 74:32] 296f4a2713aSLionel Sambuc// CHECK-source: usrs.m:75:3: CallExpr=aux_1:72:6 Extent=[75:3 - 75:23] 297f4a2713aSLionel Sambuc// CHECK-source: usrs.m:75:3: UnexposedExpr=aux_1:72:6 Extent=[75:3 - 75:8] 298f4a2713aSLionel Sambuc// CHECK-source: usrs.m:75:3: DeclRefExpr=aux_1:72:6 Extent=[75:3 - 75:8] 299f4a2713aSLionel Sambuc// CHECK-source: usrs.m:75:9: DeclRefExpr=foo:74:7 Extent=[75:9 - 75:12] 300f4a2713aSLionel Sambuc// CHECK-source: usrs.m:75:14: DeclRefExpr=bar:74:16 Extent=[75:14 - 75:17] 301f4a2713aSLionel Sambuc// CHECK-source: usrs.m:75:19: DeclRefExpr=baz:74:25 Extent=[75:19 - 75:22] 302f4a2713aSLionel Sambuc// CHECK-source: usrs.m:76:3: ReturnStmt= Extent=[76:3 - 76:11] 303f4a2713aSLionel Sambuc// CHECK-source: usrs.m:76:10: IntegerLiteral= Extent=[76:10 - 76:11] 304f4a2713aSLionel Sambuc// CHECK-source: usrs.m:79:11: ObjCProtocolDecl=P1:79:11 (Definition) Extent=[79:1 - 81:5] 305f4a2713aSLionel Sambuc// CHECK-source: usrs.m:80:9: ObjCInstanceMethodDecl=method:80:9 Extent=[80:1 - 80:16] 306f4a2713aSLionel Sambuc// CHECK-source: usrs.m:89:7: ObjCInstanceMethodDecl=methodWithFn::89:7 Extent=[89:1 - 89:41] 307f4a2713aSLionel Sambuc// CHECK-source: usrs.m:89:38: ParmDecl=fn:89:38 (Definition) Extent=[89:21 - 89:40] 308f4a2713aSLionel Sambuc// CHECK-source: usrs.m:89:35: ParmDecl=p:89:35 (Definition) Extent=[89:30 - 89:36] 309