blob: be0e323c9360fc49f6ee30e69d21edcefd64f3ad [file] [log] [blame]
Argyrios Kyrtzidisd4e7e222011-11-01 19:47:41 +00001
Ted Kremeneke542f772010-04-20 23:15:40 +00002
Ted Kremenekcf999102010-04-29 17:43:29 +00003static inline int my_helper(int x, int y) { return x + y; }
4
Ted Kremeneke542f772010-04-20 23:15:40 +00005enum {
6 ABA,
7 CADABA
8};
9
10enum {
11 FOO,
12 BAR
13};
14
15typedef struct {
16 int wa;
17 int moo;
18} MyStruct;
19
20enum Pizza {
21 CHEESE,
22 MUSHROOMS
23};
24
25@interface Foo {
26 id x;
27 id y;
28}
29- (id) godzilla;
30+ (id) kingkong;
31@property int d1;
32@end
33
34@implementation Foo
35- (id) godzilla {
36 static int a = 0;
37 extern int z;
38 return 0;
39}
40+ (id) kingkong {
Ted Kremenekcf999102010-04-29 17:43:29 +000041 int local_var;
Ted Kremeneke542f772010-04-20 23:15:40 +000042 return 0;
43}
44@synthesize d1;
45@end
46
47int z;
48
Ted Kremenekcf999102010-04-29 17:43:29 +000049static int local_func(int x) { return x; }
50
Ted Kremenek448278a2010-06-23 18:10:30 +000051@interface CWithExt
Ted Kremenek28a7f252010-08-24 23:13:41 +000052- (id) meth1;
Ted Kremenek448278a2010-06-23 18:10:30 +000053@end
54@interface CWithExt ()
Ted Kremenek28a7f252010-08-24 23:13:41 +000055- (id) meth2;
Ted Kremenek448278a2010-06-23 18:10:30 +000056@end
57@interface CWithExt ()
Ted Kremenek28a7f252010-08-24 23:13:41 +000058- (id) meth3;
59@end
60@interface CWithExt (Bar)
61- (id) meth4;
Ted Kremenek448278a2010-06-23 18:10:30 +000062@end
63@implementation CWithExt
Ted Kremenek28a7f252010-08-24 23:13:41 +000064- (id) meth1 { return 0; }
65- (id) meth2 { return 0; }
66- (id) meth3 { return 0; }
67@end
68@implementation CWithExt (Bar)
69- (id) meth4 { return 0; }
Ted Kremenek448278a2010-06-23 18:10:30 +000070@end
71
Ted Kremenek007a7c92010-11-01 23:26:51 +000072void aux_1(int, int, int);
73int test_multi_declaration(void) {
74 int foo = 1, bar = 2, baz = 3;
75 aux_1(foo, bar, baz);
76 return 0;
77}
78
Ted Kremenek52d6bbe2011-02-05 01:10:26 +000079@protocol P1
80- (void)method;
81@end
82
Argyrios Kyrtzidis87ec9c22011-11-01 17:14:12 +000083@interface CWithExt2
84@end
85@interface CWithExt2 () {
86 id var_ext;
87}
88@property (assign) id pro_ext;
89@end
90
Sebastian Pop9ec60df2012-01-20 22:01:23 +000091// RUN: c-index-test -test-load-source-usrs all -target x86_64-apple-macosx10.7 %s | FileCheck %s
Abramo Bagnaraff676cb2011-03-08 08:55:46 +000092// CHECK: usrs.m c:usrs.m@67@F@my_helper Extent=[3:1 - 3:60]
Ted Kremenekf48b5312010-07-22 11:14:15 +000093// CHECK: usrs.m c:usrs.m@95@F@my_helper@x Extent=[3:29 - 3:34]
94// CHECK: usrs.m c:usrs.m@102@F@my_helper@y Extent=[3:36 - 3:41]
95// CHECK: usrs.m c:usrs.m@128@Ea Extent=[5:1 - 8:2]
96// CHECK: usrs.m c:usrs.m@128@Ea@ABA Extent=[6:3 - 6:6]
97// CHECK: usrs.m c:usrs.m@128@Ea@CADABA Extent=[7:3 - 7:9]
98// CHECK: usrs.m c:usrs.m@155@Ea Extent=[10:1 - 13:2]
99// CHECK: usrs.m c:usrs.m@155@Ea@FOO Extent=[11:3 - 11:6]
100// CHECK: usrs.m c:usrs.m@155@Ea@BAR Extent=[12:3 - 12:6]
Ted Kremenekcf999102010-04-29 17:43:29 +0000101// CHECK: usrs.m c:@SA@MyStruct Extent=[15:9 - 18:2]
Abramo Bagnaraff676cb2011-03-08 08:55:46 +0000102// CHECK: usrs.m c:@SA@MyStruct@FI@wa Extent=[16:3 - 16:9]
103// CHECK: usrs.m c:@SA@MyStruct@FI@moo Extent=[17:3 - 17:10]
Abramo Bagnara344577e2011-03-06 15:48:19 +0000104// CHECK: usrs.m c:usrs.m@179@T@MyStruct Extent=[15:1 - 18:11]
Ted Kremenekcf999102010-04-29 17:43:29 +0000105// CHECK: usrs.m c:@E@Pizza Extent=[20:1 - 23:2]
106// CHECK: usrs.m c:@E@Pizza@CHEESE Extent=[21:3 - 21:9]
107// CHECK: usrs.m c:@E@Pizza@MUSHROOMS Extent=[22:3 - 22:12]
108// CHECK: usrs.m c:objc(cs)Foo Extent=[25:1 - 32:5]
Abramo Bagnaraff676cb2011-03-08 08:55:46 +0000109// CHECK: usrs.m c:objc(cs)Foo@x Extent=[26:3 - 26:7]
110// CHECK: usrs.m c:objc(cs)Foo@y Extent=[27:3 - 27:7]
Ted Kremenekcf999102010-04-29 17:43:29 +0000111// CHECK: usrs.m c:objc(cs)Foo(im)godzilla Extent=[29:1 - 29:17]
112// CHECK: usrs.m c:objc(cs)Foo(cm)kingkong Extent=[30:1 - 30:17]
Douglas Gregorbdb2d502010-12-21 17:34:17 +0000113// CHECK: usrs.m c:objc(cs)Foo(py)d1 Extent=[31:1 - 31:17]
Argyrios Kyrtzidis65ab9072011-09-26 19:05:37 +0000114// CHECK: usrs.m c:objc(cs)Foo(im)d1 Extent=[31:15 - 31:17]
115// CHECK: usrs.m c:objc(cs)Foo(im)setD1: Extent=[31:15 - 31:17]
116// CHECK: usrs.m c:usrs.m@352objc(cs)Foo(im)setD1:@d1 Extent=[31:15 - 31:17]
Ted Kremenekcf999102010-04-29 17:43:29 +0000117// CHECK: usrs.m c:objc(cs)Foo Extent=[34:1 - 45:2]
118// CHECK: usrs.m c:objc(cs)Foo(im)godzilla Extent=[35:1 - 39:2]
Abramo Bagnaraff676cb2011-03-08 08:55:46 +0000119// CHECK: usrs.m c:usrs.m@402objc(cs)Foo(im)godzilla@a Extent=[36:3 - 36:19]
120// CHECK: usrs.m c:objc(cs)Foo(im)godzilla@z Extent=[37:3 - 37:15]
Ted Kremenekcf999102010-04-29 17:43:29 +0000121// CHECK: usrs.m c:objc(cs)Foo(cm)kingkong Extent=[40:1 - 43:2]
Ted Kremenekf48b5312010-07-22 11:14:15 +0000122// CHECK: usrs.m c:usrs.m@470objc(cs)Foo(cm)kingkong@local_var Extent=[41:3 - 41:16]
Ted Kremenekcf999102010-04-29 17:43:29 +0000123// CHECK: usrs.m c:objc(cs)Foo(py)d1 Extent=[44:1 - 44:15]
124// CHECK: usrs.m c:@z Extent=[47:1 - 47:6]
Abramo Bagnaraff676cb2011-03-08 08:55:46 +0000125// CHECK: usrs.m c:usrs.m@529@F@local_func Extent=[49:1 - 49:43]
Ted Kremenekf48b5312010-07-22 11:14:15 +0000126// CHECK: usrs.m c:usrs.m@551@F@local_func@x Extent=[49:23 - 49:28]
Ted Kremenek28a7f252010-08-24 23:13:41 +0000127// CHECK: usrs.m c:objc(cs)CWithExt Extent=[51:1 - 53:5]
128// CHECK: usrs.m c:objc(cs)CWithExt(im)meth1 Extent=[52:1 - 52:14]
Argyrios Kyrtzidis87ec9c22011-11-01 17:14:12 +0000129// CHECK: usrs.m c:objc(ext)CWithExt@usrs.m@612 Extent=[54:1 - 56:5]
Ted Kremenek28a7f252010-08-24 23:13:41 +0000130// CHECK: usrs.m c:objc(cs)CWithExt(im)meth2 Extent=[55:1 - 55:14]
Argyrios Kyrtzidis87ec9c22011-11-01 17:14:12 +0000131// CHECK: usrs.m c:objc(ext)CWithExt@usrs.m@654 Extent=[57:1 - 59:5]
Ted Kremenek28a7f252010-08-24 23:13:41 +0000132// CHECK: usrs.m c:objc(cs)CWithExt(im)meth3 Extent=[58:1 - 58:14]
133// CHECK: usrs.m c:objc(cy)CWithExt@Bar Extent=[60:1 - 62:5]
Ted Kremenekcd9175d2011-02-04 07:13:40 +0000134// CHECK: usrs.m c:objc(cs)CWithExt(im)meth4 Extent=[61:1 - 61:14]
Ted Kremenek28a7f252010-08-24 23:13:41 +0000135// CHECK: usrs.m c:objc(cs)CWithExt Extent=[63:1 - 67:2]
136// CHECK: usrs.m c:objc(cs)CWithExt(im)meth1 Extent=[64:1 - 64:27]
137// CHECK: usrs.m c:objc(cs)CWithExt(im)meth2 Extent=[65:1 - 65:27]
138// CHECK: usrs.m c:objc(cs)CWithExt(im)meth3 Extent=[66:1 - 66:27]
139// CHECK: usrs.m c:objc(cy)CWithExt@Bar Extent=[68:1 - 70:2]
Ted Kremenekcd9175d2011-02-04 07:13:40 +0000140// CHECK: usrs.m c:objc(cs)CWithExt(im)meth4 Extent=[69:1 - 69:27]
Abramo Bagnaraff676cb2011-03-08 08:55:46 +0000141// CHECK: usrs.m c:@F@aux_1 Extent=[72:1 - 72:26]
142// CHECK: usrs.m c:@F@test_multi_declaration Extent=[73:1 - 77:2]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000143// CHECK: usrs.m c:usrs.m@980@F@test_multi_declaration@foo Extent=[74:3 - 74:14]
144// CHECK: usrs.m c:usrs.m@980@F@test_multi_declaration@bar Extent=[74:16 - 74:23]
145// CHECK: usrs.m c:usrs.m@980@F@test_multi_declaration@baz Extent=[74:25 - 74:32]
Ted Kremenek52d6bbe2011-02-05 01:10:26 +0000146// CHECK: usrs.m c:objc(pl)P1 Extent=[79:1 - 81:5]
147// CHECK: usrs.m c:objc(pl)P1(im)method Extent=[80:1 - 80:16]
Argyrios Kyrtzidis87ec9c22011-11-01 17:14:12 +0000148// CHECK: usrs.m c:objc(cs)CWithExt2 Extent=[83:1 - 84:5]
149// CHECK: usrs.m c:objc(ext)CWithExt2@usrs.m@1111 Extent=[85:1 - 89:5]
150// CHECK: usrs.m c:objc(cs)CWithExt2@var_ext Extent=[86:3 - 86:13]
151// CHECK: usrs.m c:objc(cs)CWithExt2(py)pro_ext Extent=[88:1 - 88:30]
152// CHECK: usrs.m c:objc(cs)CWithExt2(im)pro_ext Extent=[88:23 - 88:30]
153// CHECK: usrs.m c:objc(cs)CWithExt2(im)setPro_ext: Extent=[88:23 - 88:30]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000154
155// RUN: c-index-test -test-load-source all %s | FileCheck -check-prefix=CHECK-source %s
Abramo Bagnaraff676cb2011-03-08 08:55:46 +0000156// CHECK-source: usrs.m:3:19: FunctionDecl=my_helper:3:19 (Definition) Extent=[3:1 - 3:60]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000157// CHECK-source: usrs.m:3:33: ParmDecl=x:3:33 (Definition) Extent=[3:29 - 3:34]
158// CHECK-source: usrs.m:3:40: ParmDecl=y:3:40 (Definition) Extent=[3:36 - 3:41]
Douglas Gregor42b29842011-10-05 19:00:14 +0000159// CHECK-source: usrs.m:3:43: CompoundStmt= Extent=[3:43 - 3:60]
160// CHECK-source: usrs.m:3:45: ReturnStmt= Extent=[3:45 - 3:57]
161// CHECK-source: usrs.m:3:52: BinaryOperator= Extent=[3:52 - 3:57]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000162// CHECK-source: usrs.m:3:52: DeclRefExpr=x:3:33 Extent=[3:52 - 3:53]
163// CHECK-source: usrs.m:3:56: DeclRefExpr=y:3:40 Extent=[3:56 - 3:57]
164// CHECK-source: usrs.m:5:1: EnumDecl=:5:1 (Definition) Extent=[5:1 - 8:2]
165// CHECK-source: usrs.m:6:3: EnumConstantDecl=ABA:6:3 (Definition) Extent=[6:3 - 6:6]
166// CHECK-source: usrs.m:7:3: EnumConstantDecl=CADABA:7:3 (Definition) Extent=[7:3 - 7:9]
167// CHECK-source: usrs.m:10:1: EnumDecl=:10:1 (Definition) Extent=[10:1 - 13:2]
168// CHECK-source: usrs.m:11:3: EnumConstantDecl=FOO:11:3 (Definition) Extent=[11:3 - 11:6]
169// CHECK-source: usrs.m:12:3: EnumConstantDecl=BAR:12:3 (Definition) Extent=[12:3 - 12:6]
Argyrios Kyrtzidis6f155de2011-08-25 22:24:47 +0000170// CHECK-source: usrs.m:18:3: TypedefDecl=MyStruct:18:3 (Definition) Extent=[15:1 - 18:11]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000171// CHECK-source: usrs.m:15:9: StructDecl=:15:9 (Definition) Extent=[15:9 - 18:2]
Abramo Bagnaraff676cb2011-03-08 08:55:46 +0000172// CHECK-source: usrs.m:16:7: FieldDecl=wa:16:7 (Definition) Extent=[16:3 - 16:9]
173// CHECK-source: usrs.m:17:7: FieldDecl=moo:17:7 (Definition) Extent=[17:3 - 17:10]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000174// CHECK-source: usrs.m:20:6: EnumDecl=Pizza:20:6 (Definition) Extent=[20:1 - 23:2]
175// CHECK-source: usrs.m:21:3: EnumConstantDecl=CHEESE:21:3 (Definition) Extent=[21:3 - 21:9]
176// CHECK-source: usrs.m:22:3: EnumConstantDecl=MUSHROOMS:22:3 (Definition) Extent=[22:3 - 22:12]
177// CHECK-source: usrs.m:25:12: ObjCInterfaceDecl=Foo:25:12 Extent=[25:1 - 32:5]
Abramo Bagnaraff676cb2011-03-08 08:55:46 +0000178// CHECK-source: usrs.m:26:6: ObjCIvarDecl=x:26:6 (Definition) Extent=[26:3 - 26:7]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000179// CHECK-source: usrs.m:26:3: TypeRef=id:0:0 Extent=[26:3 - 26:5]
Abramo Bagnaraff676cb2011-03-08 08:55:46 +0000180// CHECK-source: usrs.m:27:6: ObjCIvarDecl=y:27:6 (Definition) Extent=[27:3 - 27:7]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000181// CHECK-source: usrs.m:27:3: TypeRef=id:0:0 Extent=[27:3 - 27:5]
Argyrios Kyrtzidisccc6f362012-03-23 03:33:19 +0000182// CHECK-source: usrs.m:29:8: ObjCInstanceMethodDecl=godzilla:29:8 Extent=[29:1 - 29:17]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000183// CHECK-source: usrs.m:29:4: TypeRef=id:0:0 Extent=[29:4 - 29:6]
Argyrios Kyrtzidisccc6f362012-03-23 03:33:19 +0000184// CHECK-source: usrs.m:30:8: ObjCClassMethodDecl=kingkong:30:8 Extent=[30:1 - 30:17]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000185// CHECK-source: usrs.m:30:4: TypeRef=id:0:0 Extent=[30:4 - 30:6]
Douglas Gregorbdb2d502010-12-21 17:34:17 +0000186// CHECK-source: usrs.m:31:15: ObjCPropertyDecl=d1:31:15 Extent=[31:1 - 31:17]
Argyrios Kyrtzidis65ab9072011-09-26 19:05:37 +0000187// CHECK-source: usrs.m:31:15: ObjCInstanceMethodDecl=d1:31:15 Extent=[31:15 - 31:17]
188// CHECK-source: usrs.m:31:15: ObjCInstanceMethodDecl=setD1::31:15 Extent=[31:15 - 31:17]
189// CHECK-source: usrs.m:31:15: ParmDecl=d1:31:15 (Definition) Extent=[31:15 - 31:17]
Argyrios Kyrtzidis1711fc92011-10-04 04:48:02 +0000190// CHECK-source: usrs.m:34:17: ObjCImplementationDecl=Foo:34:17 (Definition) Extent=[34:1 - 45:2]
Argyrios Kyrtzidisccc6f362012-03-23 03:33:19 +0000191// CHECK-source: usrs.m:35:8: ObjCInstanceMethodDecl=godzilla:35:8 (Definition) Extent=[35:1 - 39:2]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000192// CHECK-source: usrs.m:35:4: TypeRef=id:0:0 Extent=[35:4 - 35:6]
Douglas Gregor42b29842011-10-05 19:00:14 +0000193// CHECK-source: usrs.m:35:17: CompoundStmt= Extent=[35:17 - 39:2]
194// CHECK-source: usrs.m:36:3: DeclStmt= Extent=[36:3 - 36:20]
Abramo Bagnaraff676cb2011-03-08 08:55:46 +0000195// CHECK-source: usrs.m:36:14: VarDecl=a:36:14 (Definition) Extent=[36:3 - 36:19]
Douglas Gregor42b29842011-10-05 19:00:14 +0000196// CHECK-source: usrs.m:36:18: IntegerLiteral= Extent=[36:18 - 36:19]
197// CHECK-source: usrs.m:37:3: DeclStmt= Extent=[37:3 - 37:16]
Abramo Bagnaraff676cb2011-03-08 08:55:46 +0000198// CHECK-source: usrs.m:37:14: VarDecl=z:37:14 Extent=[37:3 - 37:15]
Douglas Gregor42b29842011-10-05 19:00:14 +0000199// CHECK-source: usrs.m:38:3: ReturnStmt= Extent=[38:3 - 38:11]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000200// CHECK-source: usrs.m:38:10: UnexposedExpr= Extent=[38:10 - 38:11]
Douglas Gregor42b29842011-10-05 19:00:14 +0000201// CHECK-source: usrs.m:38:10: IntegerLiteral= Extent=[38:10 - 38:11]
Argyrios Kyrtzidisccc6f362012-03-23 03:33:19 +0000202// CHECK-source: usrs.m:40:8: ObjCClassMethodDecl=kingkong:40:8 (Definition) Extent=[40:1 - 43:2]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000203// CHECK-source: usrs.m:40:4: TypeRef=id:0:0 Extent=[40:4 - 40:6]
Douglas Gregor42b29842011-10-05 19:00:14 +0000204// CHECK-source: usrs.m:40:17: CompoundStmt= Extent=[40:17 - 43:2]
205// CHECK-source: usrs.m:41:3: DeclStmt= Extent=[41:3 - 41:17]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000206// CHECK-source: usrs.m:41:7: VarDecl=local_var:41:7 (Definition) Extent=[41:3 - 41:16]
Douglas Gregor42b29842011-10-05 19:00:14 +0000207// CHECK-source: usrs.m:42:3: ReturnStmt= Extent=[42:3 - 42:11]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000208// CHECK-source: usrs.m:42:10: UnexposedExpr= Extent=[42:10 - 42:11]
Douglas Gregor42b29842011-10-05 19:00:14 +0000209// CHECK-source: usrs.m:42:10: IntegerLiteral= Extent=[42:10 - 42:11]
Douglas Gregor352697a2011-06-03 23:08:58 +0000210// CHECK-source: usrs.m:44:13: ObjCSynthesizeDecl=d1:31:15 (Definition) Extent=[44:1 - 44:15]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000211// CHECK-source: usrs.m:47:5: VarDecl=z:47:5 Extent=[47:1 - 47:6]
Abramo Bagnaraff676cb2011-03-08 08:55:46 +0000212// CHECK-source: usrs.m:49:12: FunctionDecl=local_func:49:12 (Definition) Extent=[49:1 - 49:43]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000213// CHECK-source: usrs.m:49:27: ParmDecl=x:49:27 (Definition) Extent=[49:23 - 49:28]
Douglas Gregor42b29842011-10-05 19:00:14 +0000214// CHECK-source: usrs.m:49:30: CompoundStmt= Extent=[49:30 - 49:43]
215// CHECK-source: usrs.m:49:32: ReturnStmt= Extent=[49:32 - 49:40]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000216// CHECK-source: usrs.m:49:39: DeclRefExpr=x:49:27 Extent=[49:39 - 49:40]
217// CHECK-source: usrs.m:51:12: ObjCInterfaceDecl=CWithExt:51:12 Extent=[51:1 - 53:5]
Argyrios Kyrtzidisccc6f362012-03-23 03:33:19 +0000218// CHECK-source: usrs.m:52:8: ObjCInstanceMethodDecl=meth1:52:8 Extent=[52:1 - 52:14]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000219// CHECK-source: usrs.m:52:4: TypeRef=id:0:0 Extent=[52:4 - 52:6]
220// CHECK-source: usrs.m:54:12: ObjCCategoryDecl=:54:12 Extent=[54:1 - 56:5]
221// CHECK-source: usrs.m:54:12: ObjCClassRef=CWithExt:51:12 Extent=[54:12 - 54:20]
Argyrios Kyrtzidisccc6f362012-03-23 03:33:19 +0000222// CHECK-source: usrs.m:55:8: ObjCInstanceMethodDecl=meth2:55:8 Extent=[55:1 - 55:14]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000223// CHECK-source: usrs.m:55:4: TypeRef=id:0:0 Extent=[55:4 - 55:6]
224// CHECK-source: usrs.m:57:12: ObjCCategoryDecl=:57:12 Extent=[57:1 - 59:5]
225// CHECK-source: usrs.m:57:12: ObjCClassRef=CWithExt:51:12 Extent=[57:12 - 57:20]
Argyrios Kyrtzidisccc6f362012-03-23 03:33:19 +0000226// CHECK-source: usrs.m:58:8: ObjCInstanceMethodDecl=meth3:58:8 Extent=[58:1 - 58:14]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000227// CHECK-source: usrs.m:58:4: TypeRef=id:0:0 Extent=[58:4 - 58:6]
228// CHECK-source: usrs.m:60:12: ObjCCategoryDecl=Bar:60:12 Extent=[60:1 - 62:5]
229// CHECK-source: usrs.m:60:12: ObjCClassRef=CWithExt:51:12 Extent=[60:12 - 60:20]
Argyrios Kyrtzidisccc6f362012-03-23 03:33:19 +0000230// CHECK-source: usrs.m:61:8: ObjCInstanceMethodDecl=meth4:61:8 Extent=[61:1 - 61:14]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000231// CHECK-source: usrs.m:61:4: TypeRef=id:0:0 Extent=[61:4 - 61:6]
Argyrios Kyrtzidis1711fc92011-10-04 04:48:02 +0000232// CHECK-source: usrs.m:63:17: ObjCImplementationDecl=CWithExt:63:17 (Definition) Extent=[63:1 - 67:2]
Argyrios Kyrtzidisccc6f362012-03-23 03:33:19 +0000233// CHECK-source: usrs.m:64:8: ObjCInstanceMethodDecl=meth1:64:8 (Definition) Extent=[64:1 - 64:27]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000234// CHECK-source: usrs.m:64:4: TypeRef=id:0:0 Extent=[64:4 - 64:6]
Douglas Gregor42b29842011-10-05 19:00:14 +0000235// CHECK-source: usrs.m:64:14: CompoundStmt= Extent=[64:14 - 64:27]
236// CHECK-source: usrs.m:64:16: ReturnStmt= Extent=[64:16 - 64:24]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000237// CHECK-source: usrs.m:64:23: UnexposedExpr= Extent=[64:23 - 64:24]
Douglas Gregor42b29842011-10-05 19:00:14 +0000238// CHECK-source: usrs.m:64:23: IntegerLiteral= Extent=[64:23 - 64:24]
Argyrios Kyrtzidisccc6f362012-03-23 03:33:19 +0000239// CHECK-source: usrs.m:65:8: ObjCInstanceMethodDecl=meth2:65:8 (Definition) Extent=[65:1 - 65:27]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000240// CHECK-source: usrs.m:65:4: TypeRef=id:0:0 Extent=[65:4 - 65:6]
Douglas Gregor42b29842011-10-05 19:00:14 +0000241// CHECK-source: usrs.m:65:14: CompoundStmt= Extent=[65:14 - 65:27]
242// CHECK-source: usrs.m:65:16: ReturnStmt= Extent=[65:16 - 65:24]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000243// CHECK-source: usrs.m:65:23: UnexposedExpr= Extent=[65:23 - 65:24]
Douglas Gregor42b29842011-10-05 19:00:14 +0000244// CHECK-source: usrs.m:65:23: IntegerLiteral= Extent=[65:23 - 65:24]
Argyrios Kyrtzidisccc6f362012-03-23 03:33:19 +0000245// CHECK-source: usrs.m:66:8: ObjCInstanceMethodDecl=meth3:66:8 (Definition) Extent=[66:1 - 66:27]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000246// CHECK-source: usrs.m:66:4: TypeRef=id:0:0 Extent=[66:4 - 66:6]
Douglas Gregor42b29842011-10-05 19:00:14 +0000247// CHECK-source: usrs.m:66:14: CompoundStmt= Extent=[66:14 - 66:27]
248// CHECK-source: usrs.m:66:16: ReturnStmt= Extent=[66:16 - 66:24]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000249// CHECK-source: usrs.m:66:23: UnexposedExpr= Extent=[66:23 - 66:24]
Douglas Gregor42b29842011-10-05 19:00:14 +0000250// CHECK-source: usrs.m:66:23: IntegerLiteral= Extent=[66:23 - 66:24]
Argyrios Kyrtzidis1711fc92011-10-04 04:48:02 +0000251// CHECK-source: usrs.m:68:17: ObjCCategoryImplDecl=Bar:68:17 (Definition) Extent=[68:1 - 70:2]
252// CHECK-source: usrs.m:68:17: ObjCClassRef=CWithExt:51:12 Extent=[68:17 - 68:25]
Argyrios Kyrtzidisccc6f362012-03-23 03:33:19 +0000253// CHECK-source: usrs.m:69:8: ObjCInstanceMethodDecl=meth4:69:8 (Definition) Extent=[69:1 - 69:27]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000254// CHECK-source: usrs.m:69:4: TypeRef=id:0:0 Extent=[69:4 - 69:6]
Douglas Gregor42b29842011-10-05 19:00:14 +0000255// CHECK-source: usrs.m:69:14: CompoundStmt= Extent=[69:14 - 69:27]
256// CHECK-source: usrs.m:69:16: ReturnStmt= Extent=[69:16 - 69:24]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000257// CHECK-source: usrs.m:69:23: UnexposedExpr= Extent=[69:23 - 69:24]
Douglas Gregor42b29842011-10-05 19:00:14 +0000258// CHECK-source: usrs.m:69:23: IntegerLiteral= Extent=[69:23 - 69:24]
Abramo Bagnaraff676cb2011-03-08 08:55:46 +0000259// CHECK-source: usrs.m:72:6: FunctionDecl=aux_1:72:6 Extent=[72:1 - 72:26]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000260// CHECK-source: usrs.m:72:15: ParmDecl=:72:15 (Definition) Extent=[72:12 - 72:16]
261// CHECK-source: usrs.m:72:20: ParmDecl=:72:20 (Definition) Extent=[72:17 - 72:21]
262// CHECK-source: usrs.m:72:25: ParmDecl=:72:25 (Definition) Extent=[72:22 - 72:26]
Abramo Bagnaraff676cb2011-03-08 08:55:46 +0000263// CHECK-source: usrs.m:73:5: FunctionDecl=test_multi_declaration:73:5 (Definition) Extent=[73:1 - 77:2]
Douglas Gregor42b29842011-10-05 19:00:14 +0000264// CHECK-source: usrs.m:73:34: CompoundStmt= Extent=[73:34 - 77:2]
265// CHECK-source: usrs.m:74:3: DeclStmt= Extent=[74:3 - 74:33]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000266// CHECK-source: usrs.m:74:7: VarDecl=foo:74:7 (Definition) Extent=[74:3 - 74:14]
Douglas Gregor42b29842011-10-05 19:00:14 +0000267// CHECK-source: usrs.m:74:13: IntegerLiteral= Extent=[74:13 - 74:14]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000268// CHECK-source: usrs.m:74:16: VarDecl=bar:74:16 Extent=[74:16 - 74:23]
Douglas Gregor42b29842011-10-05 19:00:14 +0000269// CHECK-source: usrs.m:74:22: IntegerLiteral= Extent=[74:22 - 74:23]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000270// CHECK-source: usrs.m:74:25: VarDecl=baz:74:25 Extent=[74:25 - 74:32]
Douglas Gregor42b29842011-10-05 19:00:14 +0000271// CHECK-source: usrs.m:74:31: IntegerLiteral= Extent=[74:31 - 74:32]
Ted Kremenek007a7c92010-11-01 23:26:51 +0000272// CHECK-source: usrs.m:75:3: CallExpr=aux_1:72:6 Extent=[75:3 - 75:23]
273// CHECK-source: usrs.m:75:3: UnexposedExpr=aux_1:72:6 Extent=[75:3 - 75:8]
274// CHECK-source: usrs.m:75:3: DeclRefExpr=aux_1:72:6 Extent=[75:3 - 75:8]
275// CHECK-source: usrs.m:75:9: DeclRefExpr=foo:74:7 Extent=[75:9 - 75:12]
276// CHECK-source: usrs.m:75:14: DeclRefExpr=bar:74:16 Extent=[75:14 - 75:17]
277// CHECK-source: usrs.m:75:19: DeclRefExpr=baz:74:25 Extent=[75:19 - 75:22]
Douglas Gregor42b29842011-10-05 19:00:14 +0000278// CHECK-source: usrs.m:76:3: ReturnStmt= Extent=[76:3 - 76:11]
279// CHECK-source: usrs.m:76:10: IntegerLiteral= Extent=[76:10 - 76:11]
Argyrios Kyrtzidis1711fc92011-10-04 04:48:02 +0000280// CHECK-source: usrs.m:79:11: ObjCProtocolDecl=P1:79:11 (Definition) Extent=[79:1 - 81:5]
Argyrios Kyrtzidisccc6f362012-03-23 03:33:19 +0000281// CHECK-source: usrs.m:80:9: ObjCInstanceMethodDecl=method:80:9 Extent=[80:1 - 80:16]
Ted Kremenekf48b5312010-07-22 11:14:15 +0000282