blob: 9fc412a4064931b9ea304d2fb9ac6c75465546d2 [file] [log] [blame]
Aaron Ballman75e23f82019-06-20 21:45:31 +00001// RUN: %clang_cc1 -triple x86_64-pc-win32 -Wno-unused -fblocks -ast-dump=json -ast-dump-filter Test %s | FileCheck %s
2
3typedef long NSInteger;
4typedef unsigned long NSUInteger;
5typedef signed char BOOL;
6
7@interface NSNumber
8@end
9@interface NSNumber (NSNumberCreation)
10+ (NSNumber *)numberWithChar:(char)value;
11+ (NSNumber *)numberWithUnsignedChar:(unsigned char)value;
12+ (NSNumber *)numberWithShort:(short)value;
13+ (NSNumber *)numberWithUnsignedShort:(unsigned short)value;
14+ (NSNumber *)numberWithInt:(int)value;
15+ (NSNumber *)numberWithUnsignedInt:(unsigned int)value;
16+ (NSNumber *)numberWithLong:(long)value;
17+ (NSNumber *)numberWithUnsignedLong:(unsigned long)value;
18+ (NSNumber *)numberWithLongLong:(long long)value;
19+ (NSNumber *)numberWithUnsignedLongLong:(unsigned long long)value;
20+ (NSNumber *)numberWithFloat:(float)value;
21+ (NSNumber *)numberWithDouble:(double)value;
22+ (NSNumber *)numberWithBool:(BOOL)value;
23+ (NSNumber *)numberWithInteger:(NSInteger)value;
24+ (NSNumber *)numberWithUnsignedInteger:(NSUInteger)value;
25@end
26
27@interface I
28{
29@public
30 int public;
31}
32- (int) conformsToProtocol : (Protocol *)protocl;
33- (void)method1;
34+ (void)method2;
35@end
36
37@interface J
38@property unsigned prop;
39@end
40
41@protocol Proto
42@end
43
44@interface NSMutableDictionary
45- (id)objectForKeyedSubscript:(id)key;
46- (void)setObject:(id)object forKeyedSubscript:(id)key;
47@end
48
49@interface NSMutableArray
50- (id)objectAtIndexedSubscript:(int)index;
51- (void)setObject:(id)object atIndexedSubscript:(int)index;
52@end
53
54void TestObjCEncode() {
55 @encode(int);
56 @encode(typeof(^{;}));
57}
58
59void TestObjCMessage(I *Obj) {
60 [Obj method1];
61 [I method2];
62}
63
64void TestObjCBoxed() {
65 @(1 + 1);
66}
67
68void TestObjCSelector() {
69 SEL s = @selector(dealloc);
70}
71
72void TestObjCProtocol(id Obj) {
73 [Obj conformsToProtocol:@protocol(Proto)];
74}
75
76void TestObjCPropertyRef(J *Obj) {
77 Obj.prop = 12;
78 int i = Obj.prop;
79}
80
81void TestObjCSubscriptRef(NSMutableArray *Array, NSMutableDictionary *Dict) {
82 Array[0] = (void*)0;
83 id i = Array[0];
84
85 Dict[@"key"] = (void*)0;
86 i = Dict[@"key"];
87}
88
89void TestObjCIVarRef(I *Ptr) {
90 Ptr->public = 0;
91}
92
93void TestObjCBoolLiteral() {
94 __objc_yes;
95 __objc_no;
96}
97
Aaron Ballman60294f92019-06-21 14:37:39 +000098// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
99
Aaron Ballman75e23f82019-06-20 21:45:31 +0000100
101// CHECK: "kind": "FunctionDecl",
102// CHECK-NEXT: "loc": {
Aaron Ballman75e23f82019-06-20 21:45:31 +0000103// CHECK-NEXT: "file": "{{.*}}",
Aaron Ballmana612e342019-06-24 20:07:11 +0000104// CHECK-NEXT: "line": 54,
105// CHECK-NEXT: "col": 6,
106// CHECK-NEXT: "tokLen": 14
Aaron Ballman75e23f82019-06-20 21:45:31 +0000107// CHECK-NEXT: },
108// CHECK-NEXT: "range": {
109// CHECK-NEXT: "begin": {
110// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000111// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +0000112// CHECK-NEXT: },
113// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000114// CHECK-NEXT: "line": 57,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000115// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000116// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000117// CHECK-NEXT: }
118// CHECK-NEXT: },
119// CHECK-NEXT: "name": "TestObjCEncode",
120// CHECK-NEXT: "type": {
121// CHECK-NEXT: "qualType": "void ()"
122// CHECK-NEXT: },
123// CHECK-NEXT: "inner": [
124// CHECK-NEXT: {
125// CHECK-NEXT: "id": "0x{{.*}}",
126// CHECK-NEXT: "kind": "CompoundStmt",
127// CHECK-NEXT: "range": {
128// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000129// CHECK-NEXT: "line": 54,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000130// CHECK-NEXT: "col": 23,
Aaron Ballmana612e342019-06-24 20:07:11 +0000131// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000132// CHECK-NEXT: },
133// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000134// CHECK-NEXT: "line": 57,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000135// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000136// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000137// CHECK-NEXT: }
138// CHECK-NEXT: },
139// CHECK-NEXT: "inner": [
140// CHECK-NEXT: {
141// CHECK-NEXT: "id": "0x{{.*}}",
142// CHECK-NEXT: "kind": "ImplicitCastExpr",
143// CHECK-NEXT: "range": {
144// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000145// CHECK-NEXT: "line": 55,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000146// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000147// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000148// CHECK-NEXT: },
149// CHECK-NEXT: "end": {
150// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +0000151// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000152// CHECK-NEXT: }
153// CHECK-NEXT: },
154// CHECK-NEXT: "type": {
155// CHECK-NEXT: "qualType": "char *"
156// CHECK-NEXT: },
157// CHECK-NEXT: "valueCategory": "rvalue",
158// CHECK-NEXT: "castKind": "ArrayToPointerDecay",
159// CHECK-NEXT: "inner": [
160// CHECK-NEXT: {
161// CHECK-NEXT: "id": "0x{{.*}}",
162// CHECK-NEXT: "kind": "ObjCEncodeExpr",
163// CHECK-NEXT: "range": {
164// CHECK-NEXT: "begin": {
165// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000166// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000167// CHECK-NEXT: },
168// CHECK-NEXT: "end": {
169// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +0000170// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000171// CHECK-NEXT: }
172// CHECK-NEXT: },
173// CHECK-NEXT: "type": {
174// CHECK-NEXT: "qualType": "char [2]"
175// CHECK-NEXT: },
176// CHECK-NEXT: "valueCategory": "lvalue",
177// CHECK-NEXT: "encodedType": {
178// CHECK-NEXT: "qualType": "int"
179// CHECK-NEXT: }
180// CHECK-NEXT: }
181// CHECK-NEXT: ]
182// CHECK-NEXT: },
183// CHECK-NEXT: {
184// CHECK-NEXT: "id": "0x{{.*}}",
185// CHECK-NEXT: "kind": "ImplicitCastExpr",
186// CHECK-NEXT: "range": {
187// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000188// CHECK-NEXT: "line": 56,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000189// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000190// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000191// CHECK-NEXT: },
192// CHECK-NEXT: "end": {
193// CHECK-NEXT: "col": 23,
Aaron Ballmana612e342019-06-24 20:07:11 +0000194// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000195// CHECK-NEXT: }
196// CHECK-NEXT: },
197// CHECK-NEXT: "type": {
198// CHECK-NEXT: "qualType": "char *"
199// CHECK-NEXT: },
200// CHECK-NEXT: "valueCategory": "rvalue",
201// CHECK-NEXT: "castKind": "ArrayToPointerDecay",
202// CHECK-NEXT: "inner": [
203// CHECK-NEXT: {
204// CHECK-NEXT: "id": "0x{{.*}}",
205// CHECK-NEXT: "kind": "ObjCEncodeExpr",
206// CHECK-NEXT: "range": {
207// CHECK-NEXT: "begin": {
208// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000209// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000210// CHECK-NEXT: },
211// CHECK-NEXT: "end": {
212// CHECK-NEXT: "col": 23,
Aaron Ballmana612e342019-06-24 20:07:11 +0000213// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000214// CHECK-NEXT: }
215// CHECK-NEXT: },
216// CHECK-NEXT: "type": {
217// CHECK-NEXT: "qualType": "char [3]"
218// CHECK-NEXT: },
219// CHECK-NEXT: "valueCategory": "lvalue",
220// CHECK-NEXT: "encodedType": {
221// CHECK-NEXT: "desugaredQualType": "void (^)(void)",
222// CHECK-NEXT: "qualType": "typeof (^{ })"
223// CHECK-NEXT: }
224// CHECK-NEXT: }
225// CHECK-NEXT: ]
226// CHECK-NEXT: }
227// CHECK-NEXT: ]
228// CHECK-NEXT: }
229// CHECK-NEXT: ]
230// CHECK-NEXT: }
231
232
233// CHECK: "kind": "FunctionDecl",
234// CHECK-NEXT: "loc": {
Aaron Ballman75e23f82019-06-20 21:45:31 +0000235// CHECK-NEXT: "file": "{{.*}}",
Aaron Ballmana612e342019-06-24 20:07:11 +0000236// CHECK-NEXT: "line": 59,
237// CHECK-NEXT: "col": 6,
238// CHECK-NEXT: "tokLen": 15
Aaron Ballman75e23f82019-06-20 21:45:31 +0000239// CHECK-NEXT: },
240// CHECK-NEXT: "range": {
241// CHECK-NEXT: "begin": {
242// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000243// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +0000244// CHECK-NEXT: },
245// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000246// CHECK-NEXT: "line": 62,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000247// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000248// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000249// CHECK-NEXT: }
250// CHECK-NEXT: },
251// CHECK-NEXT: "name": "TestObjCMessage",
252// CHECK-NEXT: "type": {
253// CHECK-NEXT: "qualType": "void (I *)"
254// CHECK-NEXT: },
255// CHECK-NEXT: "inner": [
256// CHECK-NEXT: {
257// CHECK-NEXT: "id": "0x{{.*}}",
258// CHECK-NEXT: "kind": "ParmVarDecl",
259// CHECK-NEXT: "loc": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000260// CHECK-NEXT: "line": 59,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000261// CHECK-NEXT: "col": 25,
Aaron Ballmana612e342019-06-24 20:07:11 +0000262// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000263// CHECK-NEXT: },
264// CHECK-NEXT: "range": {
265// CHECK-NEXT: "begin": {
266// CHECK-NEXT: "col": 22,
Aaron Ballmana612e342019-06-24 20:07:11 +0000267// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000268// CHECK-NEXT: },
269// CHECK-NEXT: "end": {
270// CHECK-NEXT: "col": 25,
Aaron Ballmana612e342019-06-24 20:07:11 +0000271// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000272// CHECK-NEXT: }
273// CHECK-NEXT: },
274// CHECK-NEXT: "isUsed": true,
275// CHECK-NEXT: "name": "Obj",
276// CHECK-NEXT: "type": {
277// CHECK-NEXT: "qualType": "I *"
278// CHECK-NEXT: }
279// CHECK-NEXT: },
280// CHECK-NEXT: {
281// CHECK-NEXT: "id": "0x{{.*}}",
282// CHECK-NEXT: "kind": "CompoundStmt",
283// CHECK-NEXT: "range": {
284// CHECK-NEXT: "begin": {
285// CHECK-NEXT: "col": 30,
Aaron Ballmana612e342019-06-24 20:07:11 +0000286// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000287// CHECK-NEXT: },
288// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000289// CHECK-NEXT: "line": 62,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000290// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000291// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000292// CHECK-NEXT: }
293// CHECK-NEXT: },
294// CHECK-NEXT: "inner": [
295// CHECK-NEXT: {
296// CHECK-NEXT: "id": "0x{{.*}}",
297// CHECK-NEXT: "kind": "ObjCMessageExpr",
298// CHECK-NEXT: "range": {
299// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000300// CHECK-NEXT: "line": 60,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000301// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000302// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000303// CHECK-NEXT: },
304// CHECK-NEXT: "end": {
305// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +0000306// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000307// CHECK-NEXT: }
308// CHECK-NEXT: },
309// CHECK-NEXT: "type": {
310// CHECK-NEXT: "qualType": "void"
311// CHECK-NEXT: },
312// CHECK-NEXT: "valueCategory": "rvalue",
313// CHECK-NEXT: "selector": "method1",
314// CHECK-NEXT: "receiverKind": "instance",
315// CHECK-NEXT: "inner": [
316// CHECK-NEXT: {
317// CHECK-NEXT: "id": "0x{{.*}}",
318// CHECK-NEXT: "kind": "ImplicitCastExpr",
319// CHECK-NEXT: "range": {
320// CHECK-NEXT: "begin": {
321// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000322// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000323// CHECK-NEXT: },
324// CHECK-NEXT: "end": {
325// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000326// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000327// CHECK-NEXT: }
328// CHECK-NEXT: },
329// CHECK-NEXT: "type": {
330// CHECK-NEXT: "qualType": "I *"
331// CHECK-NEXT: },
332// CHECK-NEXT: "valueCategory": "rvalue",
333// CHECK-NEXT: "castKind": "LValueToRValue",
334// CHECK-NEXT: "inner": [
335// CHECK-NEXT: {
336// CHECK-NEXT: "id": "0x{{.*}}",
337// CHECK-NEXT: "kind": "DeclRefExpr",
338// CHECK-NEXT: "range": {
339// CHECK-NEXT: "begin": {
340// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000341// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000342// CHECK-NEXT: },
343// CHECK-NEXT: "end": {
344// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000345// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000346// CHECK-NEXT: }
347// CHECK-NEXT: },
348// CHECK-NEXT: "type": {
349// CHECK-NEXT: "qualType": "I *"
350// CHECK-NEXT: },
351// CHECK-NEXT: "valueCategory": "lvalue",
352// CHECK-NEXT: "referencedDecl": {
353// CHECK-NEXT: "id": "0x{{.*}}",
354// CHECK-NEXT: "kind": "ParmVarDecl",
355// CHECK-NEXT: "name": "Obj",
356// CHECK-NEXT: "type": {
357// CHECK-NEXT: "qualType": "I *"
358// CHECK-NEXT: }
359// CHECK-NEXT: }
360// CHECK-NEXT: }
361// CHECK-NEXT: ]
362// CHECK-NEXT: }
363// CHECK-NEXT: ]
364// CHECK-NEXT: },
365// CHECK-NEXT: {
366// CHECK-NEXT: "id": "0x{{.*}}",
367// CHECK-NEXT: "kind": "ObjCMessageExpr",
368// CHECK-NEXT: "range": {
369// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000370// CHECK-NEXT: "line": 61,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000371// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000372// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000373// CHECK-NEXT: },
374// CHECK-NEXT: "end": {
375// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +0000376// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000377// CHECK-NEXT: }
378// CHECK-NEXT: },
379// CHECK-NEXT: "type": {
380// CHECK-NEXT: "qualType": "void"
381// CHECK-NEXT: },
382// CHECK-NEXT: "valueCategory": "rvalue",
383// CHECK-NEXT: "selector": "method2",
384// CHECK-NEXT: "receiverKind": "class",
385// CHECK-NEXT: "classType": {
386// CHECK-NEXT: "qualType": "I"
387// CHECK-NEXT: }
388// CHECK-NEXT: }
389// CHECK-NEXT: ]
390// CHECK-NEXT: }
391// CHECK-NEXT: ]
392// CHECK-NEXT: }
393
394
395// CHECK: "kind": "FunctionDecl",
396// CHECK-NEXT: "loc": {
Aaron Ballman75e23f82019-06-20 21:45:31 +0000397// CHECK-NEXT: "file": "{{.*}}",
Aaron Ballmana612e342019-06-24 20:07:11 +0000398// CHECK-NEXT: "line": 64,
399// CHECK-NEXT: "col": 6,
400// CHECK-NEXT: "tokLen": 13
Aaron Ballman75e23f82019-06-20 21:45:31 +0000401// CHECK-NEXT: },
402// CHECK-NEXT: "range": {
403// CHECK-NEXT: "begin": {
404// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000405// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +0000406// CHECK-NEXT: },
407// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000408// CHECK-NEXT: "line": 66,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000409// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000410// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000411// CHECK-NEXT: }
412// CHECK-NEXT: },
413// CHECK-NEXT: "name": "TestObjCBoxed",
414// CHECK-NEXT: "type": {
415// CHECK-NEXT: "qualType": "void ()"
416// CHECK-NEXT: },
417// CHECK-NEXT: "inner": [
418// CHECK-NEXT: {
419// CHECK-NEXT: "id": "0x{{.*}}",
420// CHECK-NEXT: "kind": "CompoundStmt",
421// CHECK-NEXT: "range": {
422// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000423// CHECK-NEXT: "line": 64,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000424// CHECK-NEXT: "col": 22,
Aaron Ballmana612e342019-06-24 20:07:11 +0000425// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000426// CHECK-NEXT: },
427// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000428// CHECK-NEXT: "line": 66,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000429// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000430// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000431// CHECK-NEXT: }
432// CHECK-NEXT: },
433// CHECK-NEXT: "inner": [
434// CHECK-NEXT: {
435// CHECK-NEXT: "id": "0x{{.*}}",
436// CHECK-NEXT: "kind": "ObjCBoxedExpr",
437// CHECK-NEXT: "range": {
438// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000439// CHECK-NEXT: "line": 65,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000440// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000441// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000442// CHECK-NEXT: },
443// CHECK-NEXT: "end": {
444// CHECK-NEXT: "col": 10,
Aaron Ballmana612e342019-06-24 20:07:11 +0000445// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000446// CHECK-NEXT: }
447// CHECK-NEXT: },
448// CHECK-NEXT: "type": {
449// CHECK-NEXT: "qualType": "NSNumber *"
450// CHECK-NEXT: },
451// CHECK-NEXT: "valueCategory": "rvalue",
452// CHECK-NEXT: "selector": "numberWithInt:",
453// CHECK-NEXT: "inner": [
454// CHECK-NEXT: {
455// CHECK-NEXT: "id": "0x{{.*}}",
456// CHECK-NEXT: "kind": "ParenExpr",
457// CHECK-NEXT: "range": {
458// CHECK-NEXT: "begin": {
459// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000460// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000461// CHECK-NEXT: },
462// CHECK-NEXT: "end": {
463// CHECK-NEXT: "col": 10,
Aaron Ballmana612e342019-06-24 20:07:11 +0000464// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000465// CHECK-NEXT: }
466// CHECK-NEXT: },
467// CHECK-NEXT: "type": {
468// CHECK-NEXT: "qualType": "int"
469// CHECK-NEXT: },
470// CHECK-NEXT: "valueCategory": "rvalue",
471// CHECK-NEXT: "inner": [
472// CHECK-NEXT: {
473// CHECK-NEXT: "id": "0x{{.*}}",
474// CHECK-NEXT: "kind": "BinaryOperator",
475// CHECK-NEXT: "range": {
476// CHECK-NEXT: "begin": {
477// CHECK-NEXT: "col": 5,
Aaron Ballmana612e342019-06-24 20:07:11 +0000478// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000479// CHECK-NEXT: },
480// CHECK-NEXT: "end": {
481// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +0000482// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000483// CHECK-NEXT: }
484// CHECK-NEXT: },
485// CHECK-NEXT: "type": {
486// CHECK-NEXT: "qualType": "int"
487// CHECK-NEXT: },
488// CHECK-NEXT: "valueCategory": "rvalue",
489// CHECK-NEXT: "opcode": "+",
490// CHECK-NEXT: "inner": [
491// CHECK-NEXT: {
492// CHECK-NEXT: "id": "0x{{.*}}",
493// CHECK-NEXT: "kind": "IntegerLiteral",
494// CHECK-NEXT: "range": {
495// CHECK-NEXT: "begin": {
496// CHECK-NEXT: "col": 5,
Aaron Ballmana612e342019-06-24 20:07:11 +0000497// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000498// CHECK-NEXT: },
499// CHECK-NEXT: "end": {
500// CHECK-NEXT: "col": 5,
Aaron Ballmana612e342019-06-24 20:07:11 +0000501// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000502// CHECK-NEXT: }
503// CHECK-NEXT: },
504// CHECK-NEXT: "type": {
505// CHECK-NEXT: "qualType": "int"
506// CHECK-NEXT: },
507// CHECK-NEXT: "valueCategory": "rvalue",
508// CHECK-NEXT: "value": "1"
509// CHECK-NEXT: },
510// CHECK-NEXT: {
511// CHECK-NEXT: "id": "0x{{.*}}",
512// CHECK-NEXT: "kind": "IntegerLiteral",
513// CHECK-NEXT: "range": {
514// CHECK-NEXT: "begin": {
515// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +0000516// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000517// CHECK-NEXT: },
518// CHECK-NEXT: "end": {
519// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +0000520// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000521// CHECK-NEXT: }
522// CHECK-NEXT: },
523// CHECK-NEXT: "type": {
524// CHECK-NEXT: "qualType": "int"
525// CHECK-NEXT: },
526// CHECK-NEXT: "valueCategory": "rvalue",
527// CHECK-NEXT: "value": "1"
528// CHECK-NEXT: }
529// CHECK-NEXT: ]
530// CHECK-NEXT: }
531// CHECK-NEXT: ]
532// CHECK-NEXT: }
533// CHECK-NEXT: ]
534// CHECK-NEXT: }
535// CHECK-NEXT: ]
536// CHECK-NEXT: }
537// CHECK-NEXT: ]
538// CHECK-NEXT: }
539
540
541// CHECK: "kind": "FunctionDecl",
542// CHECK-NEXT: "loc": {
Aaron Ballman75e23f82019-06-20 21:45:31 +0000543// CHECK-NEXT: "file": "{{.*}}",
Aaron Ballmana612e342019-06-24 20:07:11 +0000544// CHECK-NEXT: "line": 68,
545// CHECK-NEXT: "col": 6,
546// CHECK-NEXT: "tokLen": 16
Aaron Ballman75e23f82019-06-20 21:45:31 +0000547// CHECK-NEXT: },
548// CHECK-NEXT: "range": {
549// CHECK-NEXT: "begin": {
550// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000551// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +0000552// CHECK-NEXT: },
553// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000554// CHECK-NEXT: "line": 70,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000555// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000556// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000557// CHECK-NEXT: }
558// CHECK-NEXT: },
559// CHECK-NEXT: "name": "TestObjCSelector",
560// CHECK-NEXT: "type": {
561// CHECK-NEXT: "qualType": "void ()"
562// CHECK-NEXT: },
563// CHECK-NEXT: "inner": [
564// CHECK-NEXT: {
565// CHECK-NEXT: "id": "0x{{.*}}",
566// CHECK-NEXT: "kind": "CompoundStmt",
567// CHECK-NEXT: "range": {
568// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000569// CHECK-NEXT: "line": 68,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000570// CHECK-NEXT: "col": 25,
Aaron Ballmana612e342019-06-24 20:07:11 +0000571// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000572// CHECK-NEXT: },
573// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000574// CHECK-NEXT: "line": 70,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000575// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000576// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000577// CHECK-NEXT: }
578// CHECK-NEXT: },
579// CHECK-NEXT: "inner": [
580// CHECK-NEXT: {
581// CHECK-NEXT: "id": "0x{{.*}}",
582// CHECK-NEXT: "kind": "DeclStmt",
583// CHECK-NEXT: "range": {
584// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000585// CHECK-NEXT: "line": 69,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000586// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000587// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000588// CHECK-NEXT: },
589// CHECK-NEXT: "end": {
590// CHECK-NEXT: "col": 29,
Aaron Ballmana612e342019-06-24 20:07:11 +0000591// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000592// CHECK-NEXT: }
593// CHECK-NEXT: },
594// CHECK-NEXT: "inner": [
595// CHECK-NEXT: {
596// CHECK-NEXT: "id": "0x{{.*}}",
597// CHECK-NEXT: "kind": "VarDecl",
598// CHECK-NEXT: "loc": {
599// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +0000600// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000601// CHECK-NEXT: },
602// CHECK-NEXT: "range": {
603// CHECK-NEXT: "begin": {
604// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000605// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000606// CHECK-NEXT: },
607// CHECK-NEXT: "end": {
608// CHECK-NEXT: "col": 28,
Aaron Ballmana612e342019-06-24 20:07:11 +0000609// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000610// CHECK-NEXT: }
611// CHECK-NEXT: },
612// CHECK-NEXT: "name": "s",
613// CHECK-NEXT: "type": {
614// CHECK-NEXT: "desugaredQualType": "SEL *",
Aaron Ballmand5e206e2019-07-30 13:42:19 +0000615// CHECK-NEXT: "qualType": "SEL",
616// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +0000617// CHECK-NEXT: },
618// CHECK-NEXT: "init": "c",
619// CHECK-NEXT: "inner": [
620// CHECK-NEXT: {
621// CHECK-NEXT: "id": "0x{{.*}}",
622// CHECK-NEXT: "kind": "ObjCSelectorExpr",
623// CHECK-NEXT: "range": {
624// CHECK-NEXT: "begin": {
625// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +0000626// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000627// CHECK-NEXT: },
628// CHECK-NEXT: "end": {
629// CHECK-NEXT: "col": 28,
Aaron Ballmana612e342019-06-24 20:07:11 +0000630// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000631// CHECK-NEXT: }
632// CHECK-NEXT: },
633// CHECK-NEXT: "type": {
634// CHECK-NEXT: "desugaredQualType": "SEL *",
Aaron Ballmand5e206e2019-07-30 13:42:19 +0000635// CHECK-NEXT: "qualType": "SEL",
636// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +0000637// CHECK-NEXT: },
638// CHECK-NEXT: "valueCategory": "rvalue",
639// CHECK-NEXT: "selector": "dealloc"
640// CHECK-NEXT: }
641// CHECK-NEXT: ]
642// CHECK-NEXT: }
643// CHECK-NEXT: ]
644// CHECK-NEXT: }
645// CHECK-NEXT: ]
646// CHECK-NEXT: }
647// CHECK-NEXT: ]
648// CHECK-NEXT: }
649
650
651// CHECK: "kind": "FunctionDecl",
652// CHECK-NEXT: "loc": {
Aaron Ballman75e23f82019-06-20 21:45:31 +0000653// CHECK-NEXT: "file": "{{.*}}",
Aaron Ballmana612e342019-06-24 20:07:11 +0000654// CHECK-NEXT: "line": 72,
655// CHECK-NEXT: "col": 6,
656// CHECK-NEXT: "tokLen": 16
Aaron Ballman75e23f82019-06-20 21:45:31 +0000657// CHECK-NEXT: },
658// CHECK-NEXT: "range": {
659// CHECK-NEXT: "begin": {
660// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000661// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +0000662// CHECK-NEXT: },
663// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000664// CHECK-NEXT: "line": 74,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000665// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000666// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000667// CHECK-NEXT: }
668// CHECK-NEXT: },
669// CHECK-NEXT: "name": "TestObjCProtocol",
670// CHECK-NEXT: "type": {
671// CHECK-NEXT: "qualType": "void (id)"
672// CHECK-NEXT: },
673// CHECK-NEXT: "inner": [
674// CHECK-NEXT: {
675// CHECK-NEXT: "id": "0x{{.*}}",
676// CHECK-NEXT: "kind": "ParmVarDecl",
677// CHECK-NEXT: "loc": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000678// CHECK-NEXT: "line": 72,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000679// CHECK-NEXT: "col": 26,
Aaron Ballmana612e342019-06-24 20:07:11 +0000680// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000681// CHECK-NEXT: },
682// CHECK-NEXT: "range": {
683// CHECK-NEXT: "begin": {
684// CHECK-NEXT: "col": 23,
Aaron Ballmana612e342019-06-24 20:07:11 +0000685// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +0000686// CHECK-NEXT: },
687// CHECK-NEXT: "end": {
688// CHECK-NEXT: "col": 26,
Aaron Ballmana612e342019-06-24 20:07:11 +0000689// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000690// CHECK-NEXT: }
691// CHECK-NEXT: },
692// CHECK-NEXT: "isUsed": true,
693// CHECK-NEXT: "name": "Obj",
694// CHECK-NEXT: "type": {
695// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +0000696// CHECK-NEXT: "qualType": "id",
697// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +0000698// CHECK-NEXT: }
699// CHECK-NEXT: },
700// CHECK-NEXT: {
701// CHECK-NEXT: "id": "0x{{.*}}",
702// CHECK-NEXT: "kind": "CompoundStmt",
703// CHECK-NEXT: "range": {
704// CHECK-NEXT: "begin": {
705// CHECK-NEXT: "col": 31,
Aaron Ballmana612e342019-06-24 20:07:11 +0000706// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000707// CHECK-NEXT: },
708// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000709// CHECK-NEXT: "line": 74,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000710// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000711// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000712// CHECK-NEXT: }
713// CHECK-NEXT: },
714// CHECK-NEXT: "inner": [
715// CHECK-NEXT: {
716// CHECK-NEXT: "id": "0x{{.*}}",
717// CHECK-NEXT: "kind": "ObjCMessageExpr",
718// CHECK-NEXT: "range": {
719// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000720// CHECK-NEXT: "line": 73,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000721// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000722// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000723// CHECK-NEXT: },
724// CHECK-NEXT: "end": {
725// CHECK-NEXT: "col": 43,
Aaron Ballmana612e342019-06-24 20:07:11 +0000726// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000727// CHECK-NEXT: }
728// CHECK-NEXT: },
729// CHECK-NEXT: "type": {
730// CHECK-NEXT: "qualType": "int"
731// CHECK-NEXT: },
732// CHECK-NEXT: "valueCategory": "rvalue",
733// CHECK-NEXT: "selector": "conformsToProtocol:",
734// CHECK-NEXT: "receiverKind": "instance",
735// CHECK-NEXT: "inner": [
736// CHECK-NEXT: {
737// CHECK-NEXT: "id": "0x{{.*}}",
738// CHECK-NEXT: "kind": "ImplicitCastExpr",
739// CHECK-NEXT: "range": {
740// CHECK-NEXT: "begin": {
741// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000742// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000743// CHECK-NEXT: },
744// CHECK-NEXT: "end": {
745// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000746// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000747// CHECK-NEXT: }
748// CHECK-NEXT: },
749// CHECK-NEXT: "type": {
750// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +0000751// CHECK-NEXT: "qualType": "id",
752// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +0000753// CHECK-NEXT: },
754// CHECK-NEXT: "valueCategory": "rvalue",
755// CHECK-NEXT: "castKind": "LValueToRValue",
756// CHECK-NEXT: "inner": [
757// CHECK-NEXT: {
758// CHECK-NEXT: "id": "0x{{.*}}",
759// CHECK-NEXT: "kind": "DeclRefExpr",
760// CHECK-NEXT: "range": {
761// CHECK-NEXT: "begin": {
762// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000763// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000764// CHECK-NEXT: },
765// CHECK-NEXT: "end": {
766// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000767// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000768// CHECK-NEXT: }
769// CHECK-NEXT: },
770// CHECK-NEXT: "type": {
771// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +0000772// CHECK-NEXT: "qualType": "id",
773// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +0000774// CHECK-NEXT: },
775// CHECK-NEXT: "valueCategory": "lvalue",
776// CHECK-NEXT: "referencedDecl": {
777// CHECK-NEXT: "id": "0x{{.*}}",
778// CHECK-NEXT: "kind": "ParmVarDecl",
779// CHECK-NEXT: "name": "Obj",
780// CHECK-NEXT: "type": {
781// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +0000782// CHECK-NEXT: "qualType": "id",
783// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +0000784// CHECK-NEXT: }
785// CHECK-NEXT: }
786// CHECK-NEXT: }
787// CHECK-NEXT: ]
788// CHECK-NEXT: },
789// CHECK-NEXT: {
790// CHECK-NEXT: "id": "0x{{.*}}",
791// CHECK-NEXT: "kind": "ObjCProtocolExpr",
792// CHECK-NEXT: "range": {
793// CHECK-NEXT: "begin": {
794// CHECK-NEXT: "col": 27,
Aaron Ballmana612e342019-06-24 20:07:11 +0000795// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000796// CHECK-NEXT: },
797// CHECK-NEXT: "end": {
798// CHECK-NEXT: "col": 42,
Aaron Ballmana612e342019-06-24 20:07:11 +0000799// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000800// CHECK-NEXT: }
801// CHECK-NEXT: },
802// CHECK-NEXT: "type": {
803// CHECK-NEXT: "qualType": "Protocol *"
804// CHECK-NEXT: },
805// CHECK-NEXT: "valueCategory": "rvalue",
806// CHECK-NEXT: "protocol": {
807// CHECK-NEXT: "id": "0x{{.*}}",
808// CHECK-NEXT: "kind": "ObjCProtocolDecl",
809// CHECK-NEXT: "name": "Proto"
810// CHECK-NEXT: }
811// CHECK-NEXT: }
812// CHECK-NEXT: ]
813// CHECK-NEXT: }
814// CHECK-NEXT: ]
815// CHECK-NEXT: }
816// CHECK-NEXT: ]
817// CHECK-NEXT: }
818
819
820// CHECK: "kind": "FunctionDecl",
821// CHECK-NEXT: "loc": {
Aaron Ballman75e23f82019-06-20 21:45:31 +0000822// CHECK-NEXT: "file": "{{.*}}",
Aaron Ballmana612e342019-06-24 20:07:11 +0000823// CHECK-NEXT: "line": 76,
824// CHECK-NEXT: "col": 6,
825// CHECK-NEXT: "tokLen": 19
Aaron Ballman75e23f82019-06-20 21:45:31 +0000826// CHECK-NEXT: },
827// CHECK-NEXT: "range": {
828// CHECK-NEXT: "begin": {
829// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000830// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +0000831// CHECK-NEXT: },
832// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000833// CHECK-NEXT: "line": 79,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000834// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000835// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000836// CHECK-NEXT: }
837// CHECK-NEXT: },
838// CHECK-NEXT: "name": "TestObjCPropertyRef",
839// CHECK-NEXT: "type": {
840// CHECK-NEXT: "qualType": "void (J *)"
841// CHECK-NEXT: },
842// CHECK-NEXT: "inner": [
843// CHECK-NEXT: {
844// CHECK-NEXT: "id": "0x{{.*}}",
845// CHECK-NEXT: "kind": "ParmVarDecl",
846// CHECK-NEXT: "loc": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000847// CHECK-NEXT: "line": 76,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000848// CHECK-NEXT: "col": 29,
Aaron Ballmana612e342019-06-24 20:07:11 +0000849// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000850// CHECK-NEXT: },
851// CHECK-NEXT: "range": {
852// CHECK-NEXT: "begin": {
853// CHECK-NEXT: "col": 26,
Aaron Ballmana612e342019-06-24 20:07:11 +0000854// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000855// CHECK-NEXT: },
856// CHECK-NEXT: "end": {
857// CHECK-NEXT: "col": 29,
Aaron Ballmana612e342019-06-24 20:07:11 +0000858// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000859// CHECK-NEXT: }
860// CHECK-NEXT: },
861// CHECK-NEXT: "isUsed": true,
862// CHECK-NEXT: "name": "Obj",
863// CHECK-NEXT: "type": {
864// CHECK-NEXT: "qualType": "J *"
865// CHECK-NEXT: }
866// CHECK-NEXT: },
867// CHECK-NEXT: {
868// CHECK-NEXT: "id": "0x{{.*}}",
869// CHECK-NEXT: "kind": "CompoundStmt",
870// CHECK-NEXT: "range": {
871// CHECK-NEXT: "begin": {
872// CHECK-NEXT: "col": 34,
Aaron Ballmana612e342019-06-24 20:07:11 +0000873// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000874// CHECK-NEXT: },
875// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000876// CHECK-NEXT: "line": 79,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000877// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000878// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000879// CHECK-NEXT: }
880// CHECK-NEXT: },
881// CHECK-NEXT: "inner": [
882// CHECK-NEXT: {
883// CHECK-NEXT: "id": "0x{{.*}}",
884// CHECK-NEXT: "kind": "PseudoObjectExpr",
885// CHECK-NEXT: "range": {
886// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000887// CHECK-NEXT: "line": 77,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000888// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000889// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000890// CHECK-NEXT: },
891// CHECK-NEXT: "end": {
892// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +0000893// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +0000894// CHECK-NEXT: }
895// CHECK-NEXT: },
896// CHECK-NEXT: "type": {
897// CHECK-NEXT: "qualType": "unsigned int"
898// CHECK-NEXT: },
899// CHECK-NEXT: "valueCategory": "rvalue",
900// CHECK-NEXT: "inner": [
901// CHECK-NEXT: {
902// CHECK-NEXT: "id": "0x{{.*}}",
903// CHECK-NEXT: "kind": "BinaryOperator",
904// CHECK-NEXT: "range": {
905// CHECK-NEXT: "begin": {
906// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000907// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000908// CHECK-NEXT: },
909// CHECK-NEXT: "end": {
910// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +0000911// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +0000912// CHECK-NEXT: }
913// CHECK-NEXT: },
914// CHECK-NEXT: "type": {
915// CHECK-NEXT: "qualType": "int"
916// CHECK-NEXT: },
917// CHECK-NEXT: "valueCategory": "rvalue",
918// CHECK-NEXT: "opcode": "=",
919// CHECK-NEXT: "inner": [
920// CHECK-NEXT: {
921// CHECK-NEXT: "id": "0x{{.*}}",
922// CHECK-NEXT: "kind": "ObjCPropertyRefExpr",
923// CHECK-NEXT: "range": {
924// CHECK-NEXT: "begin": {
925// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000926// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000927// CHECK-NEXT: },
928// CHECK-NEXT: "end": {
929// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +0000930// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +0000931// CHECK-NEXT: }
932// CHECK-NEXT: },
933// CHECK-NEXT: "type": {
934// CHECK-NEXT: "qualType": "<pseudo-object type>"
935// CHECK-NEXT: },
936// CHECK-NEXT: "valueCategory": "lvalue",
937// CHECK-NEXT: "propertyKind": "explicit",
938// CHECK-NEXT: "property": {
939// CHECK-NEXT: "id": "0x{{.*}}",
940// CHECK-NEXT: "kind": "ObjCPropertyDecl",
941// CHECK-NEXT: "name": "prop"
942// CHECK-NEXT: },
943// CHECK-NEXT: "isMessagingSetter": true,
944// CHECK-NEXT: "inner": [
945// CHECK-NEXT: {
946// CHECK-NEXT: "id": "0x{{.*}}",
947// CHECK-NEXT: "kind": "OpaqueValueExpr",
948// CHECK-NEXT: "range": {
949// CHECK-NEXT: "begin": {
950// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000951// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000952// CHECK-NEXT: },
953// CHECK-NEXT: "end": {
954// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000955// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000956// CHECK-NEXT: }
957// CHECK-NEXT: },
958// CHECK-NEXT: "type": {
959// CHECK-NEXT: "qualType": "J *"
960// CHECK-NEXT: },
961// CHECK-NEXT: "valueCategory": "rvalue",
962// CHECK-NEXT: "inner": [
963// CHECK-NEXT: {
964// CHECK-NEXT: "id": "0x{{.*}}",
965// CHECK-NEXT: "kind": "ImplicitCastExpr",
966// CHECK-NEXT: "range": {
967// CHECK-NEXT: "begin": {
968// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000969// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000970// CHECK-NEXT: },
971// CHECK-NEXT: "end": {
972// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000973// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000974// CHECK-NEXT: }
975// CHECK-NEXT: },
976// CHECK-NEXT: "type": {
977// CHECK-NEXT: "qualType": "J *"
978// CHECK-NEXT: },
979// CHECK-NEXT: "valueCategory": "rvalue",
980// CHECK-NEXT: "castKind": "LValueToRValue",
981// CHECK-NEXT: "inner": [
982// CHECK-NEXT: {
983// CHECK-NEXT: "id": "0x{{.*}}",
984// CHECK-NEXT: "kind": "DeclRefExpr",
985// CHECK-NEXT: "range": {
986// CHECK-NEXT: "begin": {
987// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000988// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000989// CHECK-NEXT: },
990// CHECK-NEXT: "end": {
991// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000992// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000993// CHECK-NEXT: }
994// CHECK-NEXT: },
995// CHECK-NEXT: "type": {
996// CHECK-NEXT: "qualType": "J *"
997// CHECK-NEXT: },
998// CHECK-NEXT: "valueCategory": "lvalue",
999// CHECK-NEXT: "referencedDecl": {
1000// CHECK-NEXT: "id": "0x{{.*}}",
1001// CHECK-NEXT: "kind": "ParmVarDecl",
1002// CHECK-NEXT: "name": "Obj",
1003// CHECK-NEXT: "type": {
1004// CHECK-NEXT: "qualType": "J *"
1005// CHECK-NEXT: }
1006// CHECK-NEXT: }
1007// CHECK-NEXT: }
1008// CHECK-NEXT: ]
1009// CHECK-NEXT: }
1010// CHECK-NEXT: ]
1011// CHECK-NEXT: }
1012// CHECK-NEXT: ]
1013// CHECK-NEXT: },
1014// CHECK-NEXT: {
1015// CHECK-NEXT: "id": "0x{{.*}}",
1016// CHECK-NEXT: "kind": "OpaqueValueExpr",
1017// CHECK-NEXT: "range": {
1018// CHECK-NEXT: "begin": {
1019// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001020// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001021// CHECK-NEXT: },
1022// CHECK-NEXT: "end": {
1023// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001024// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001025// CHECK-NEXT: }
1026// CHECK-NEXT: },
1027// CHECK-NEXT: "type": {
1028// CHECK-NEXT: "qualType": "int"
1029// CHECK-NEXT: },
1030// CHECK-NEXT: "valueCategory": "rvalue",
1031// CHECK-NEXT: "inner": [
1032// CHECK-NEXT: {
1033// CHECK-NEXT: "id": "0x{{.*}}",
1034// CHECK-NEXT: "kind": "IntegerLiteral",
1035// CHECK-NEXT: "range": {
1036// CHECK-NEXT: "begin": {
1037// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001038// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001039// CHECK-NEXT: },
1040// CHECK-NEXT: "end": {
1041// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001042// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001043// CHECK-NEXT: }
1044// CHECK-NEXT: },
1045// CHECK-NEXT: "type": {
1046// CHECK-NEXT: "qualType": "int"
1047// CHECK-NEXT: },
1048// CHECK-NEXT: "valueCategory": "rvalue",
1049// CHECK-NEXT: "value": "12"
1050// CHECK-NEXT: }
1051// CHECK-NEXT: ]
1052// CHECK-NEXT: }
1053// CHECK-NEXT: ]
1054// CHECK-NEXT: },
1055// CHECK-NEXT: {
1056// CHECK-NEXT: "id": "0x{{.*}}",
1057// CHECK-NEXT: "kind": "OpaqueValueExpr",
1058// CHECK-NEXT: "range": {
1059// CHECK-NEXT: "begin": {
1060// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001061// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001062// CHECK-NEXT: },
1063// CHECK-NEXT: "end": {
1064// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001065// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001066// CHECK-NEXT: }
1067// CHECK-NEXT: },
1068// CHECK-NEXT: "type": {
1069// CHECK-NEXT: "qualType": "J *"
1070// CHECK-NEXT: },
1071// CHECK-NEXT: "valueCategory": "rvalue",
1072// CHECK-NEXT: "inner": [
1073// CHECK-NEXT: {
1074// CHECK-NEXT: "id": "0x{{.*}}",
1075// CHECK-NEXT: "kind": "ImplicitCastExpr",
1076// CHECK-NEXT: "range": {
1077// CHECK-NEXT: "begin": {
1078// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001079// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001080// CHECK-NEXT: },
1081// CHECK-NEXT: "end": {
1082// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001083// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001084// CHECK-NEXT: }
1085// CHECK-NEXT: },
1086// CHECK-NEXT: "type": {
1087// CHECK-NEXT: "qualType": "J *"
1088// CHECK-NEXT: },
1089// CHECK-NEXT: "valueCategory": "rvalue",
1090// CHECK-NEXT: "castKind": "LValueToRValue",
1091// CHECK-NEXT: "inner": [
1092// CHECK-NEXT: {
1093// CHECK-NEXT: "id": "0x{{.*}}",
1094// CHECK-NEXT: "kind": "DeclRefExpr",
1095// CHECK-NEXT: "range": {
1096// CHECK-NEXT: "begin": {
1097// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001098// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001099// CHECK-NEXT: },
1100// CHECK-NEXT: "end": {
1101// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001102// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001103// CHECK-NEXT: }
1104// CHECK-NEXT: },
1105// CHECK-NEXT: "type": {
1106// CHECK-NEXT: "qualType": "J *"
1107// CHECK-NEXT: },
1108// CHECK-NEXT: "valueCategory": "lvalue",
1109// CHECK-NEXT: "referencedDecl": {
1110// CHECK-NEXT: "id": "0x{{.*}}",
1111// CHECK-NEXT: "kind": "ParmVarDecl",
1112// CHECK-NEXT: "name": "Obj",
1113// CHECK-NEXT: "type": {
1114// CHECK-NEXT: "qualType": "J *"
1115// CHECK-NEXT: }
1116// CHECK-NEXT: }
1117// CHECK-NEXT: }
1118// CHECK-NEXT: ]
1119// CHECK-NEXT: }
1120// CHECK-NEXT: ]
1121// CHECK-NEXT: },
1122// CHECK-NEXT: {
1123// CHECK-NEXT: "id": "0x{{.*}}",
1124// CHECK-NEXT: "kind": "OpaqueValueExpr",
1125// CHECK-NEXT: "range": {
1126// CHECK-NEXT: "begin": {
1127// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001128// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001129// CHECK-NEXT: },
1130// CHECK-NEXT: "end": {
1131// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001132// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001133// CHECK-NEXT: }
1134// CHECK-NEXT: },
1135// CHECK-NEXT: "type": {
1136// CHECK-NEXT: "qualType": "int"
1137// CHECK-NEXT: },
1138// CHECK-NEXT: "valueCategory": "rvalue",
1139// CHECK-NEXT: "inner": [
1140// CHECK-NEXT: {
1141// CHECK-NEXT: "id": "0x{{.*}}",
1142// CHECK-NEXT: "kind": "IntegerLiteral",
1143// CHECK-NEXT: "range": {
1144// CHECK-NEXT: "begin": {
1145// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001146// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001147// CHECK-NEXT: },
1148// CHECK-NEXT: "end": {
1149// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001150// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001151// CHECK-NEXT: }
1152// CHECK-NEXT: },
1153// CHECK-NEXT: "type": {
1154// CHECK-NEXT: "qualType": "int"
1155// CHECK-NEXT: },
1156// CHECK-NEXT: "valueCategory": "rvalue",
1157// CHECK-NEXT: "value": "12"
1158// CHECK-NEXT: }
1159// CHECK-NEXT: ]
1160// CHECK-NEXT: },
1161// CHECK-NEXT: {
1162// CHECK-NEXT: "id": "0x{{.*}}",
1163// CHECK-NEXT: "kind": "OpaqueValueExpr",
1164// CHECK-NEXT: "range": {
1165// CHECK-NEXT: "begin": {
1166// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001167// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001168// CHECK-NEXT: },
1169// CHECK-NEXT: "end": {
1170// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001171// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001172// CHECK-NEXT: }
1173// CHECK-NEXT: },
1174// CHECK-NEXT: "type": {
1175// CHECK-NEXT: "qualType": "unsigned int"
1176// CHECK-NEXT: },
1177// CHECK-NEXT: "valueCategory": "rvalue",
1178// CHECK-NEXT: "inner": [
1179// CHECK-NEXT: {
1180// CHECK-NEXT: "id": "0x{{.*}}",
1181// CHECK-NEXT: "kind": "ImplicitCastExpr",
1182// CHECK-NEXT: "range": {
1183// CHECK-NEXT: "begin": {
1184// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001185// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001186// CHECK-NEXT: },
1187// CHECK-NEXT: "end": {
1188// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001189// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001190// CHECK-NEXT: }
1191// CHECK-NEXT: },
1192// CHECK-NEXT: "type": {
1193// CHECK-NEXT: "qualType": "unsigned int"
1194// CHECK-NEXT: },
1195// CHECK-NEXT: "valueCategory": "rvalue",
1196// CHECK-NEXT: "castKind": "IntegralCast",
1197// CHECK-NEXT: "inner": [
1198// CHECK-NEXT: {
1199// CHECK-NEXT: "id": "0x{{.*}}",
1200// CHECK-NEXT: "kind": "OpaqueValueExpr",
1201// CHECK-NEXT: "range": {
1202// CHECK-NEXT: "begin": {
1203// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001204// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001205// CHECK-NEXT: },
1206// CHECK-NEXT: "end": {
1207// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001208// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001209// CHECK-NEXT: }
1210// CHECK-NEXT: },
1211// CHECK-NEXT: "type": {
1212// CHECK-NEXT: "qualType": "int"
1213// CHECK-NEXT: },
1214// CHECK-NEXT: "valueCategory": "rvalue",
1215// CHECK-NEXT: "inner": [
1216// CHECK-NEXT: {
1217// CHECK-NEXT: "id": "0x{{.*}}",
1218// CHECK-NEXT: "kind": "IntegerLiteral",
1219// CHECK-NEXT: "range": {
1220// CHECK-NEXT: "begin": {
1221// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001222// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001223// CHECK-NEXT: },
1224// CHECK-NEXT: "end": {
1225// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001226// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001227// CHECK-NEXT: }
1228// CHECK-NEXT: },
1229// CHECK-NEXT: "type": {
1230// CHECK-NEXT: "qualType": "int"
1231// CHECK-NEXT: },
1232// CHECK-NEXT: "valueCategory": "rvalue",
1233// CHECK-NEXT: "value": "12"
1234// CHECK-NEXT: }
1235// CHECK-NEXT: ]
1236// CHECK-NEXT: }
1237// CHECK-NEXT: ]
1238// CHECK-NEXT: }
1239// CHECK-NEXT: ]
1240// CHECK-NEXT: },
1241// CHECK-NEXT: {
1242// CHECK-NEXT: "id": "0x{{.*}}",
1243// CHECK-NEXT: "kind": "ObjCMessageExpr",
1244// CHECK-NEXT: "range": {
1245// CHECK-NEXT: "begin": {
1246// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00001247// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001248// CHECK-NEXT: },
1249// CHECK-NEXT: "end": {
1250// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00001251// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001252// CHECK-NEXT: }
1253// CHECK-NEXT: },
1254// CHECK-NEXT: "type": {
1255// CHECK-NEXT: "qualType": "void"
1256// CHECK-NEXT: },
1257// CHECK-NEXT: "valueCategory": "rvalue",
1258// CHECK-NEXT: "selector": "setProp:",
1259// CHECK-NEXT: "receiverKind": "instance",
1260// CHECK-NEXT: "inner": [
1261// CHECK-NEXT: {
1262// CHECK-NEXT: "id": "0x{{.*}}",
1263// CHECK-NEXT: "kind": "OpaqueValueExpr",
1264// CHECK-NEXT: "range": {
1265// CHECK-NEXT: "begin": {
1266// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001267// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001268// CHECK-NEXT: },
1269// CHECK-NEXT: "end": {
1270// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001271// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001272// CHECK-NEXT: }
1273// CHECK-NEXT: },
1274// CHECK-NEXT: "type": {
1275// CHECK-NEXT: "qualType": "J *"
1276// CHECK-NEXT: },
1277// CHECK-NEXT: "valueCategory": "rvalue",
1278// CHECK-NEXT: "inner": [
1279// CHECK-NEXT: {
1280// CHECK-NEXT: "id": "0x{{.*}}",
1281// CHECK-NEXT: "kind": "ImplicitCastExpr",
1282// CHECK-NEXT: "range": {
1283// CHECK-NEXT: "begin": {
1284// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001285// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001286// CHECK-NEXT: },
1287// CHECK-NEXT: "end": {
1288// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001289// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001290// CHECK-NEXT: }
1291// CHECK-NEXT: },
1292// CHECK-NEXT: "type": {
1293// CHECK-NEXT: "qualType": "J *"
1294// CHECK-NEXT: },
1295// CHECK-NEXT: "valueCategory": "rvalue",
1296// CHECK-NEXT: "castKind": "LValueToRValue",
1297// CHECK-NEXT: "inner": [
1298// CHECK-NEXT: {
1299// CHECK-NEXT: "id": "0x{{.*}}",
1300// CHECK-NEXT: "kind": "DeclRefExpr",
1301// CHECK-NEXT: "range": {
1302// CHECK-NEXT: "begin": {
1303// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001304// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001305// CHECK-NEXT: },
1306// CHECK-NEXT: "end": {
1307// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001308// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001309// CHECK-NEXT: }
1310// CHECK-NEXT: },
1311// CHECK-NEXT: "type": {
1312// CHECK-NEXT: "qualType": "J *"
1313// CHECK-NEXT: },
1314// CHECK-NEXT: "valueCategory": "lvalue",
1315// CHECK-NEXT: "referencedDecl": {
1316// CHECK-NEXT: "id": "0x{{.*}}",
1317// CHECK-NEXT: "kind": "ParmVarDecl",
1318// CHECK-NEXT: "name": "Obj",
1319// CHECK-NEXT: "type": {
1320// CHECK-NEXT: "qualType": "J *"
1321// CHECK-NEXT: }
1322// CHECK-NEXT: }
1323// CHECK-NEXT: }
1324// CHECK-NEXT: ]
1325// CHECK-NEXT: }
1326// CHECK-NEXT: ]
1327// CHECK-NEXT: },
1328// CHECK-NEXT: {
1329// CHECK-NEXT: "id": "0x{{.*}}",
1330// CHECK-NEXT: "kind": "OpaqueValueExpr",
1331// CHECK-NEXT: "range": {
1332// CHECK-NEXT: "begin": {
1333// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001334// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001335// CHECK-NEXT: },
1336// CHECK-NEXT: "end": {
1337// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001338// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001339// CHECK-NEXT: }
1340// CHECK-NEXT: },
1341// CHECK-NEXT: "type": {
1342// CHECK-NEXT: "qualType": "unsigned int"
1343// CHECK-NEXT: },
1344// CHECK-NEXT: "valueCategory": "rvalue",
1345// CHECK-NEXT: "inner": [
1346// CHECK-NEXT: {
1347// CHECK-NEXT: "id": "0x{{.*}}",
1348// CHECK-NEXT: "kind": "ImplicitCastExpr",
1349// CHECK-NEXT: "range": {
1350// CHECK-NEXT: "begin": {
1351// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001352// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001353// CHECK-NEXT: },
1354// CHECK-NEXT: "end": {
1355// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001356// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001357// CHECK-NEXT: }
1358// CHECK-NEXT: },
1359// CHECK-NEXT: "type": {
1360// CHECK-NEXT: "qualType": "unsigned int"
1361// CHECK-NEXT: },
1362// CHECK-NEXT: "valueCategory": "rvalue",
1363// CHECK-NEXT: "castKind": "IntegralCast",
1364// CHECK-NEXT: "inner": [
1365// CHECK-NEXT: {
1366// CHECK-NEXT: "id": "0x{{.*}}",
1367// CHECK-NEXT: "kind": "OpaqueValueExpr",
1368// CHECK-NEXT: "range": {
1369// CHECK-NEXT: "begin": {
1370// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001371// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001372// CHECK-NEXT: },
1373// CHECK-NEXT: "end": {
1374// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001375// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001376// CHECK-NEXT: }
1377// CHECK-NEXT: },
1378// CHECK-NEXT: "type": {
1379// CHECK-NEXT: "qualType": "int"
1380// CHECK-NEXT: },
1381// CHECK-NEXT: "valueCategory": "rvalue",
1382// CHECK-NEXT: "inner": [
1383// CHECK-NEXT: {
1384// CHECK-NEXT: "id": "0x{{.*}}",
1385// CHECK-NEXT: "kind": "IntegerLiteral",
1386// CHECK-NEXT: "range": {
1387// CHECK-NEXT: "begin": {
1388// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001389// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001390// CHECK-NEXT: },
1391// CHECK-NEXT: "end": {
1392// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001393// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001394// CHECK-NEXT: }
1395// CHECK-NEXT: },
1396// CHECK-NEXT: "type": {
1397// CHECK-NEXT: "qualType": "int"
1398// CHECK-NEXT: },
1399// CHECK-NEXT: "valueCategory": "rvalue",
1400// CHECK-NEXT: "value": "12"
1401// CHECK-NEXT: }
1402// CHECK-NEXT: ]
1403// CHECK-NEXT: }
1404// CHECK-NEXT: ]
1405// CHECK-NEXT: }
1406// CHECK-NEXT: ]
1407// CHECK-NEXT: }
1408// CHECK-NEXT: ]
1409// CHECK-NEXT: }
1410// CHECK-NEXT: ]
1411// CHECK-NEXT: },
1412// CHECK-NEXT: {
1413// CHECK-NEXT: "id": "0x{{.*}}",
1414// CHECK-NEXT: "kind": "DeclStmt",
1415// CHECK-NEXT: "range": {
1416// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +00001417// CHECK-NEXT: "line": 78,
Aaron Ballman75e23f82019-06-20 21:45:31 +00001418// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001419// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001420// CHECK-NEXT: },
1421// CHECK-NEXT: "end": {
1422// CHECK-NEXT: "col": 19,
Aaron Ballmana612e342019-06-24 20:07:11 +00001423// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001424// CHECK-NEXT: }
1425// CHECK-NEXT: },
1426// CHECK-NEXT: "inner": [
1427// CHECK-NEXT: {
1428// CHECK-NEXT: "id": "0x{{.*}}",
1429// CHECK-NEXT: "kind": "VarDecl",
1430// CHECK-NEXT: "loc": {
1431// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00001432// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001433// CHECK-NEXT: },
1434// CHECK-NEXT: "range": {
1435// CHECK-NEXT: "begin": {
1436// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001437// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001438// CHECK-NEXT: },
1439// CHECK-NEXT: "end": {
1440// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001441// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001442// CHECK-NEXT: }
1443// CHECK-NEXT: },
1444// CHECK-NEXT: "name": "i",
1445// CHECK-NEXT: "type": {
1446// CHECK-NEXT: "qualType": "int"
1447// CHECK-NEXT: },
1448// CHECK-NEXT: "init": "c",
1449// CHECK-NEXT: "inner": [
1450// CHECK-NEXT: {
1451// CHECK-NEXT: "id": "0x{{.*}}",
1452// CHECK-NEXT: "kind": "ImplicitCastExpr",
1453// CHECK-NEXT: "range": {
1454// CHECK-NEXT: "begin": {
1455// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001456// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001457// CHECK-NEXT: },
1458// CHECK-NEXT: "end": {
1459// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001460// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001461// CHECK-NEXT: }
1462// CHECK-NEXT: },
1463// CHECK-NEXT: "type": {
1464// CHECK-NEXT: "qualType": "int"
1465// CHECK-NEXT: },
1466// CHECK-NEXT: "valueCategory": "rvalue",
1467// CHECK-NEXT: "castKind": "IntegralCast",
1468// CHECK-NEXT: "inner": [
1469// CHECK-NEXT: {
1470// CHECK-NEXT: "id": "0x{{.*}}",
1471// CHECK-NEXT: "kind": "PseudoObjectExpr",
1472// CHECK-NEXT: "range": {
1473// CHECK-NEXT: "begin": {
1474// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001475// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001476// CHECK-NEXT: },
1477// CHECK-NEXT: "end": {
1478// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001479// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001480// CHECK-NEXT: }
1481// CHECK-NEXT: },
1482// CHECK-NEXT: "type": {
1483// CHECK-NEXT: "qualType": "unsigned int"
1484// CHECK-NEXT: },
1485// CHECK-NEXT: "valueCategory": "rvalue",
1486// CHECK-NEXT: "inner": [
1487// CHECK-NEXT: {
1488// CHECK-NEXT: "id": "0x{{.*}}",
1489// CHECK-NEXT: "kind": "ObjCPropertyRefExpr",
1490// CHECK-NEXT: "range": {
1491// CHECK-NEXT: "begin": {
1492// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001493// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001494// CHECK-NEXT: },
1495// CHECK-NEXT: "end": {
1496// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001497// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001498// CHECK-NEXT: }
1499// CHECK-NEXT: },
1500// CHECK-NEXT: "type": {
1501// CHECK-NEXT: "qualType": "<pseudo-object type>"
1502// CHECK-NEXT: },
1503// CHECK-NEXT: "valueCategory": "lvalue",
1504// CHECK-NEXT: "propertyKind": "explicit",
1505// CHECK-NEXT: "property": {
1506// CHECK-NEXT: "id": "0x{{.*}}",
1507// CHECK-NEXT: "kind": "ObjCPropertyDecl",
1508// CHECK-NEXT: "name": "prop"
1509// CHECK-NEXT: },
1510// CHECK-NEXT: "isMessagingGetter": true,
1511// CHECK-NEXT: "inner": [
1512// CHECK-NEXT: {
1513// CHECK-NEXT: "id": "0x{{.*}}",
1514// CHECK-NEXT: "kind": "OpaqueValueExpr",
1515// CHECK-NEXT: "range": {
1516// CHECK-NEXT: "begin": {
1517// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001518// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001519// CHECK-NEXT: },
1520// CHECK-NEXT: "end": {
1521// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001522// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001523// CHECK-NEXT: }
1524// CHECK-NEXT: },
1525// CHECK-NEXT: "type": {
1526// CHECK-NEXT: "qualType": "J *"
1527// CHECK-NEXT: },
1528// CHECK-NEXT: "valueCategory": "rvalue",
1529// CHECK-NEXT: "inner": [
1530// CHECK-NEXT: {
1531// CHECK-NEXT: "id": "0x{{.*}}",
1532// CHECK-NEXT: "kind": "ImplicitCastExpr",
1533// CHECK-NEXT: "range": {
1534// CHECK-NEXT: "begin": {
1535// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001536// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001537// CHECK-NEXT: },
1538// CHECK-NEXT: "end": {
1539// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001540// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001541// CHECK-NEXT: }
1542// CHECK-NEXT: },
1543// CHECK-NEXT: "type": {
1544// CHECK-NEXT: "qualType": "J *"
1545// CHECK-NEXT: },
1546// CHECK-NEXT: "valueCategory": "rvalue",
1547// CHECK-NEXT: "castKind": "LValueToRValue",
1548// CHECK-NEXT: "inner": [
1549// CHECK-NEXT: {
1550// CHECK-NEXT: "id": "0x{{.*}}",
1551// CHECK-NEXT: "kind": "DeclRefExpr",
1552// CHECK-NEXT: "range": {
1553// CHECK-NEXT: "begin": {
1554// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001555// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001556// CHECK-NEXT: },
1557// CHECK-NEXT: "end": {
1558// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001559// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001560// CHECK-NEXT: }
1561// CHECK-NEXT: },
1562// CHECK-NEXT: "type": {
1563// CHECK-NEXT: "qualType": "J *"
1564// CHECK-NEXT: },
1565// CHECK-NEXT: "valueCategory": "lvalue",
1566// CHECK-NEXT: "referencedDecl": {
1567// CHECK-NEXT: "id": "0x{{.*}}",
1568// CHECK-NEXT: "kind": "ParmVarDecl",
1569// CHECK-NEXT: "name": "Obj",
1570// CHECK-NEXT: "type": {
1571// CHECK-NEXT: "qualType": "J *"
1572// CHECK-NEXT: }
1573// CHECK-NEXT: }
1574// CHECK-NEXT: }
1575// CHECK-NEXT: ]
1576// CHECK-NEXT: }
1577// CHECK-NEXT: ]
1578// CHECK-NEXT: }
1579// CHECK-NEXT: ]
1580// CHECK-NEXT: },
1581// CHECK-NEXT: {
1582// CHECK-NEXT: "id": "0x{{.*}}",
1583// CHECK-NEXT: "kind": "OpaqueValueExpr",
1584// CHECK-NEXT: "range": {
1585// CHECK-NEXT: "begin": {
1586// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001587// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001588// CHECK-NEXT: },
1589// CHECK-NEXT: "end": {
1590// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001591// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001592// CHECK-NEXT: }
1593// CHECK-NEXT: },
1594// CHECK-NEXT: "type": {
1595// CHECK-NEXT: "qualType": "J *"
1596// CHECK-NEXT: },
1597// CHECK-NEXT: "valueCategory": "rvalue",
1598// CHECK-NEXT: "inner": [
1599// CHECK-NEXT: {
1600// CHECK-NEXT: "id": "0x{{.*}}",
1601// CHECK-NEXT: "kind": "ImplicitCastExpr",
1602// CHECK-NEXT: "range": {
1603// CHECK-NEXT: "begin": {
1604// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001605// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001606// CHECK-NEXT: },
1607// CHECK-NEXT: "end": {
1608// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001609// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001610// CHECK-NEXT: }
1611// CHECK-NEXT: },
1612// CHECK-NEXT: "type": {
1613// CHECK-NEXT: "qualType": "J *"
1614// CHECK-NEXT: },
1615// CHECK-NEXT: "valueCategory": "rvalue",
1616// CHECK-NEXT: "castKind": "LValueToRValue",
1617// CHECK-NEXT: "inner": [
1618// CHECK-NEXT: {
1619// CHECK-NEXT: "id": "0x{{.*}}",
1620// CHECK-NEXT: "kind": "DeclRefExpr",
1621// CHECK-NEXT: "range": {
1622// CHECK-NEXT: "begin": {
1623// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001624// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001625// CHECK-NEXT: },
1626// CHECK-NEXT: "end": {
1627// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001628// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001629// CHECK-NEXT: }
1630// CHECK-NEXT: },
1631// CHECK-NEXT: "type": {
1632// CHECK-NEXT: "qualType": "J *"
1633// CHECK-NEXT: },
1634// CHECK-NEXT: "valueCategory": "lvalue",
1635// CHECK-NEXT: "referencedDecl": {
1636// CHECK-NEXT: "id": "0x{{.*}}",
1637// CHECK-NEXT: "kind": "ParmVarDecl",
1638// CHECK-NEXT: "name": "Obj",
1639// CHECK-NEXT: "type": {
1640// CHECK-NEXT: "qualType": "J *"
1641// CHECK-NEXT: }
1642// CHECK-NEXT: }
1643// CHECK-NEXT: }
1644// CHECK-NEXT: ]
1645// CHECK-NEXT: }
1646// CHECK-NEXT: ]
1647// CHECK-NEXT: },
1648// CHECK-NEXT: {
1649// CHECK-NEXT: "id": "0x{{.*}}",
1650// CHECK-NEXT: "kind": "ObjCMessageExpr",
1651// CHECK-NEXT: "range": {
1652// CHECK-NEXT: "begin": {
1653// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001654// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001655// CHECK-NEXT: },
1656// CHECK-NEXT: "end": {
1657// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001658// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001659// CHECK-NEXT: }
1660// CHECK-NEXT: },
1661// CHECK-NEXT: "type": {
1662// CHECK-NEXT: "qualType": "unsigned int"
1663// CHECK-NEXT: },
1664// CHECK-NEXT: "valueCategory": "rvalue",
1665// CHECK-NEXT: "selector": "prop",
1666// CHECK-NEXT: "receiverKind": "instance",
1667// CHECK-NEXT: "inner": [
1668// CHECK-NEXT: {
1669// CHECK-NEXT: "id": "0x{{.*}}",
1670// CHECK-NEXT: "kind": "OpaqueValueExpr",
1671// CHECK-NEXT: "range": {
1672// CHECK-NEXT: "begin": {
1673// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001674// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001675// CHECK-NEXT: },
1676// CHECK-NEXT: "end": {
1677// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001678// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001679// CHECK-NEXT: }
1680// CHECK-NEXT: },
1681// CHECK-NEXT: "type": {
1682// CHECK-NEXT: "qualType": "J *"
1683// CHECK-NEXT: },
1684// CHECK-NEXT: "valueCategory": "rvalue",
1685// CHECK-NEXT: "inner": [
1686// CHECK-NEXT: {
1687// CHECK-NEXT: "id": "0x{{.*}}",
1688// CHECK-NEXT: "kind": "ImplicitCastExpr",
1689// CHECK-NEXT: "range": {
1690// CHECK-NEXT: "begin": {
1691// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001692// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001693// CHECK-NEXT: },
1694// CHECK-NEXT: "end": {
1695// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001696// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001697// CHECK-NEXT: }
1698// CHECK-NEXT: },
1699// CHECK-NEXT: "type": {
1700// CHECK-NEXT: "qualType": "J *"
1701// CHECK-NEXT: },
1702// CHECK-NEXT: "valueCategory": "rvalue",
1703// CHECK-NEXT: "castKind": "LValueToRValue",
1704// CHECK-NEXT: "inner": [
1705// CHECK-NEXT: {
1706// CHECK-NEXT: "id": "0x{{.*}}",
1707// CHECK-NEXT: "kind": "DeclRefExpr",
1708// CHECK-NEXT: "range": {
1709// CHECK-NEXT: "begin": {
1710// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001711// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001712// CHECK-NEXT: },
1713// CHECK-NEXT: "end": {
1714// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001715// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001716// CHECK-NEXT: }
1717// CHECK-NEXT: },
1718// CHECK-NEXT: "type": {
1719// CHECK-NEXT: "qualType": "J *"
1720// CHECK-NEXT: },
1721// CHECK-NEXT: "valueCategory": "lvalue",
1722// CHECK-NEXT: "referencedDecl": {
1723// CHECK-NEXT: "id": "0x{{.*}}",
1724// CHECK-NEXT: "kind": "ParmVarDecl",
1725// CHECK-NEXT: "name": "Obj",
1726// CHECK-NEXT: "type": {
1727// CHECK-NEXT: "qualType": "J *"
1728// CHECK-NEXT: }
1729// CHECK-NEXT: }
1730// CHECK-NEXT: }
1731// CHECK-NEXT: ]
1732// CHECK-NEXT: }
1733// CHECK-NEXT: ]
1734// CHECK-NEXT: }
1735// CHECK-NEXT: ]
1736// CHECK-NEXT: }
1737// CHECK-NEXT: ]
1738// CHECK-NEXT: }
1739// CHECK-NEXT: ]
1740// CHECK-NEXT: }
1741// CHECK-NEXT: ]
1742// CHECK-NEXT: }
1743// CHECK-NEXT: ]
1744// CHECK-NEXT: }
1745// CHECK-NEXT: ]
1746// CHECK-NEXT: }
1747// CHECK-NEXT: ]
1748// CHECK-NEXT: }
1749
1750
1751// CHECK: "kind": "FunctionDecl",
1752// CHECK-NEXT: "loc": {
Aaron Ballman75e23f82019-06-20 21:45:31 +00001753// CHECK-NEXT: "file": "{{.*}}",
Aaron Ballmana612e342019-06-24 20:07:11 +00001754// CHECK-NEXT: "line": 81,
1755// CHECK-NEXT: "col": 6,
1756// CHECK-NEXT: "tokLen": 20
Aaron Ballman75e23f82019-06-20 21:45:31 +00001757// CHECK-NEXT: },
1758// CHECK-NEXT: "range": {
1759// CHECK-NEXT: "begin": {
1760// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00001761// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001762// CHECK-NEXT: },
1763// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +00001764// CHECK-NEXT: "line": 87,
Aaron Ballman75e23f82019-06-20 21:45:31 +00001765// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00001766// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001767// CHECK-NEXT: }
1768// CHECK-NEXT: },
1769// CHECK-NEXT: "name": "TestObjCSubscriptRef",
1770// CHECK-NEXT: "type": {
1771// CHECK-NEXT: "qualType": "void (NSMutableArray *, NSMutableDictionary *)"
1772// CHECK-NEXT: },
1773// CHECK-NEXT: "inner": [
1774// CHECK-NEXT: {
1775// CHECK-NEXT: "id": "0x{{.*}}",
1776// CHECK-NEXT: "kind": "ParmVarDecl",
1777// CHECK-NEXT: "loc": {
Aaron Ballmana612e342019-06-24 20:07:11 +00001778// CHECK-NEXT: "line": 81,
Aaron Ballman75e23f82019-06-20 21:45:31 +00001779// CHECK-NEXT: "col": 43,
Aaron Ballmana612e342019-06-24 20:07:11 +00001780// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001781// CHECK-NEXT: },
1782// CHECK-NEXT: "range": {
1783// CHECK-NEXT: "begin": {
1784// CHECK-NEXT: "col": 27,
Aaron Ballmana612e342019-06-24 20:07:11 +00001785// CHECK-NEXT: "tokLen": 14
Aaron Ballman75e23f82019-06-20 21:45:31 +00001786// CHECK-NEXT: },
1787// CHECK-NEXT: "end": {
1788// CHECK-NEXT: "col": 43,
Aaron Ballmana612e342019-06-24 20:07:11 +00001789// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001790// CHECK-NEXT: }
1791// CHECK-NEXT: },
1792// CHECK-NEXT: "isUsed": true,
1793// CHECK-NEXT: "name": "Array",
1794// CHECK-NEXT: "type": {
1795// CHECK-NEXT: "qualType": "NSMutableArray *"
1796// CHECK-NEXT: }
1797// CHECK-NEXT: },
1798// CHECK-NEXT: {
1799// CHECK-NEXT: "id": "0x{{.*}}",
1800// CHECK-NEXT: "kind": "ParmVarDecl",
1801// CHECK-NEXT: "loc": {
1802// CHECK-NEXT: "col": 71,
Aaron Ballmana612e342019-06-24 20:07:11 +00001803// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001804// CHECK-NEXT: },
1805// CHECK-NEXT: "range": {
1806// CHECK-NEXT: "begin": {
1807// CHECK-NEXT: "col": 50,
Aaron Ballmana612e342019-06-24 20:07:11 +00001808// CHECK-NEXT: "tokLen": 19
Aaron Ballman75e23f82019-06-20 21:45:31 +00001809// CHECK-NEXT: },
1810// CHECK-NEXT: "end": {
1811// CHECK-NEXT: "col": 71,
Aaron Ballmana612e342019-06-24 20:07:11 +00001812// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001813// CHECK-NEXT: }
1814// CHECK-NEXT: },
1815// CHECK-NEXT: "isUsed": true,
1816// CHECK-NEXT: "name": "Dict",
1817// CHECK-NEXT: "type": {
1818// CHECK-NEXT: "qualType": "NSMutableDictionary *"
1819// CHECK-NEXT: }
1820// CHECK-NEXT: },
1821// CHECK-NEXT: {
1822// CHECK-NEXT: "id": "0x{{.*}}",
1823// CHECK-NEXT: "kind": "CompoundStmt",
1824// CHECK-NEXT: "range": {
1825// CHECK-NEXT: "begin": {
1826// CHECK-NEXT: "col": 77,
Aaron Ballmana612e342019-06-24 20:07:11 +00001827// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001828// CHECK-NEXT: },
1829// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +00001830// CHECK-NEXT: "line": 87,
Aaron Ballman75e23f82019-06-20 21:45:31 +00001831// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00001832// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001833// CHECK-NEXT: }
1834// CHECK-NEXT: },
1835// CHECK-NEXT: "inner": [
1836// CHECK-NEXT: {
1837// CHECK-NEXT: "id": "0x{{.*}}",
1838// CHECK-NEXT: "kind": "PseudoObjectExpr",
1839// CHECK-NEXT: "range": {
1840// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +00001841// CHECK-NEXT: "line": 82,
Aaron Ballman75e23f82019-06-20 21:45:31 +00001842// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00001843// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001844// CHECK-NEXT: },
1845// CHECK-NEXT: "end": {
1846// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00001847// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001848// CHECK-NEXT: }
1849// CHECK-NEXT: },
1850// CHECK-NEXT: "type": {
1851// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00001852// CHECK-NEXT: "qualType": "id",
1853// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00001854// CHECK-NEXT: },
1855// CHECK-NEXT: "valueCategory": "rvalue",
1856// CHECK-NEXT: "inner": [
1857// CHECK-NEXT: {
1858// CHECK-NEXT: "id": "0x{{.*}}",
1859// CHECK-NEXT: "kind": "BinaryOperator",
1860// CHECK-NEXT: "range": {
1861// CHECK-NEXT: "begin": {
1862// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00001863// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001864// CHECK-NEXT: },
1865// CHECK-NEXT: "end": {
1866// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00001867// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001868// CHECK-NEXT: }
1869// CHECK-NEXT: },
1870// CHECK-NEXT: "type": {
1871// CHECK-NEXT: "qualType": "void *"
1872// CHECK-NEXT: },
1873// CHECK-NEXT: "valueCategory": "rvalue",
1874// CHECK-NEXT: "opcode": "=",
1875// CHECK-NEXT: "inner": [
1876// CHECK-NEXT: {
1877// CHECK-NEXT: "id": "0x{{.*}}",
1878// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
1879// CHECK-NEXT: "range": {
1880// CHECK-NEXT: "begin": {
1881// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00001882// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001883// CHECK-NEXT: },
1884// CHECK-NEXT: "end": {
1885// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00001886// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001887// CHECK-NEXT: }
1888// CHECK-NEXT: },
1889// CHECK-NEXT: "type": {
1890// CHECK-NEXT: "qualType": "<pseudo-object type>"
1891// CHECK-NEXT: },
1892// CHECK-NEXT: "valueCategory": "lvalue",
1893// CHECK-NEXT: "subscriptKind": "array",
1894// CHECK-NEXT: "inner": [
1895// CHECK-NEXT: {
1896// CHECK-NEXT: "id": "0x{{.*}}",
1897// CHECK-NEXT: "kind": "OpaqueValueExpr",
1898// CHECK-NEXT: "range": {
1899// CHECK-NEXT: "begin": {
1900// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00001901// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001902// CHECK-NEXT: },
1903// CHECK-NEXT: "end": {
1904// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00001905// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001906// CHECK-NEXT: }
1907// CHECK-NEXT: },
1908// CHECK-NEXT: "type": {
1909// CHECK-NEXT: "qualType": "NSMutableArray *"
1910// CHECK-NEXT: },
1911// CHECK-NEXT: "valueCategory": "rvalue",
1912// CHECK-NEXT: "inner": [
1913// CHECK-NEXT: {
1914// CHECK-NEXT: "id": "0x{{.*}}",
1915// CHECK-NEXT: "kind": "ImplicitCastExpr",
1916// CHECK-NEXT: "range": {
1917// CHECK-NEXT: "begin": {
1918// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00001919// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001920// CHECK-NEXT: },
1921// CHECK-NEXT: "end": {
1922// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00001923// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001924// CHECK-NEXT: }
1925// CHECK-NEXT: },
1926// CHECK-NEXT: "type": {
1927// CHECK-NEXT: "qualType": "NSMutableArray *"
1928// CHECK-NEXT: },
1929// CHECK-NEXT: "valueCategory": "rvalue",
1930// CHECK-NEXT: "castKind": "LValueToRValue",
1931// CHECK-NEXT: "inner": [
1932// CHECK-NEXT: {
1933// CHECK-NEXT: "id": "0x{{.*}}",
1934// CHECK-NEXT: "kind": "DeclRefExpr",
1935// CHECK-NEXT: "range": {
1936// CHECK-NEXT: "begin": {
1937// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00001938// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001939// CHECK-NEXT: },
1940// CHECK-NEXT: "end": {
1941// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00001942// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001943// CHECK-NEXT: }
1944// CHECK-NEXT: },
1945// CHECK-NEXT: "type": {
1946// CHECK-NEXT: "qualType": "NSMutableArray *"
1947// CHECK-NEXT: },
1948// CHECK-NEXT: "valueCategory": "lvalue",
1949// CHECK-NEXT: "referencedDecl": {
1950// CHECK-NEXT: "id": "0x{{.*}}",
1951// CHECK-NEXT: "kind": "ParmVarDecl",
1952// CHECK-NEXT: "name": "Array",
1953// CHECK-NEXT: "type": {
1954// CHECK-NEXT: "qualType": "NSMutableArray *"
1955// CHECK-NEXT: }
1956// CHECK-NEXT: }
1957// CHECK-NEXT: }
1958// CHECK-NEXT: ]
1959// CHECK-NEXT: }
1960// CHECK-NEXT: ]
1961// CHECK-NEXT: },
1962// CHECK-NEXT: {
1963// CHECK-NEXT: "id": "0x{{.*}}",
1964// CHECK-NEXT: "kind": "OpaqueValueExpr",
1965// CHECK-NEXT: "range": {
1966// CHECK-NEXT: "begin": {
1967// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00001968// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001969// CHECK-NEXT: },
1970// CHECK-NEXT: "end": {
1971// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00001972// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001973// CHECK-NEXT: }
1974// CHECK-NEXT: },
1975// CHECK-NEXT: "type": {
1976// CHECK-NEXT: "qualType": "int"
1977// CHECK-NEXT: },
1978// CHECK-NEXT: "valueCategory": "rvalue",
1979// CHECK-NEXT: "inner": [
1980// CHECK-NEXT: {
1981// CHECK-NEXT: "id": "0x{{.*}}",
1982// CHECK-NEXT: "kind": "IntegerLiteral",
1983// CHECK-NEXT: "range": {
1984// CHECK-NEXT: "begin": {
1985// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00001986// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001987// CHECK-NEXT: },
1988// CHECK-NEXT: "end": {
1989// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00001990// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001991// CHECK-NEXT: }
1992// CHECK-NEXT: },
1993// CHECK-NEXT: "type": {
1994// CHECK-NEXT: "qualType": "int"
1995// CHECK-NEXT: },
1996// CHECK-NEXT: "valueCategory": "rvalue",
1997// CHECK-NEXT: "value": "0"
1998// CHECK-NEXT: }
1999// CHECK-NEXT: ]
2000// CHECK-NEXT: }
2001// CHECK-NEXT: ]
2002// CHECK-NEXT: },
2003// CHECK-NEXT: {
2004// CHECK-NEXT: "id": "0x{{.*}}",
2005// CHECK-NEXT: "kind": "OpaqueValueExpr",
2006// CHECK-NEXT: "range": {
2007// CHECK-NEXT: "begin": {
2008// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002009// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002010// CHECK-NEXT: },
2011// CHECK-NEXT: "end": {
2012// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002013// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002014// CHECK-NEXT: }
2015// CHECK-NEXT: },
2016// CHECK-NEXT: "type": {
2017// CHECK-NEXT: "qualType": "void *"
2018// CHECK-NEXT: },
2019// CHECK-NEXT: "valueCategory": "rvalue",
2020// CHECK-NEXT: "inner": [
2021// CHECK-NEXT: {
2022// CHECK-NEXT: "id": "0x{{.*}}",
2023// CHECK-NEXT: "kind": "CStyleCastExpr",
2024// CHECK-NEXT: "range": {
2025// CHECK-NEXT: "begin": {
2026// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002027// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002028// CHECK-NEXT: },
2029// CHECK-NEXT: "end": {
2030// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002031// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002032// CHECK-NEXT: }
2033// CHECK-NEXT: },
2034// CHECK-NEXT: "type": {
2035// CHECK-NEXT: "qualType": "void *"
2036// CHECK-NEXT: },
2037// CHECK-NEXT: "valueCategory": "rvalue",
2038// CHECK-NEXT: "castKind": "NullToPointer",
2039// CHECK-NEXT: "inner": [
2040// CHECK-NEXT: {
2041// CHECK-NEXT: "id": "0x{{.*}}",
2042// CHECK-NEXT: "kind": "IntegerLiteral",
2043// CHECK-NEXT: "range": {
2044// CHECK-NEXT: "begin": {
2045// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002046// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002047// CHECK-NEXT: },
2048// CHECK-NEXT: "end": {
2049// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002050// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002051// CHECK-NEXT: }
2052// CHECK-NEXT: },
2053// CHECK-NEXT: "type": {
2054// CHECK-NEXT: "qualType": "int"
2055// CHECK-NEXT: },
2056// CHECK-NEXT: "valueCategory": "rvalue",
2057// CHECK-NEXT: "value": "0"
2058// CHECK-NEXT: }
2059// CHECK-NEXT: ]
2060// CHECK-NEXT: }
2061// CHECK-NEXT: ]
2062// CHECK-NEXT: }
2063// CHECK-NEXT: ]
2064// CHECK-NEXT: },
2065// CHECK-NEXT: {
2066// CHECK-NEXT: "id": "0x{{.*}}",
2067// CHECK-NEXT: "kind": "OpaqueValueExpr",
2068// CHECK-NEXT: "range": {
2069// CHECK-NEXT: "begin": {
2070// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002071// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002072// CHECK-NEXT: },
2073// CHECK-NEXT: "end": {
2074// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002075// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002076// CHECK-NEXT: }
2077// CHECK-NEXT: },
2078// CHECK-NEXT: "type": {
2079// CHECK-NEXT: "qualType": "NSMutableArray *"
2080// CHECK-NEXT: },
2081// CHECK-NEXT: "valueCategory": "rvalue",
2082// CHECK-NEXT: "inner": [
2083// CHECK-NEXT: {
2084// CHECK-NEXT: "id": "0x{{.*}}",
2085// CHECK-NEXT: "kind": "ImplicitCastExpr",
2086// CHECK-NEXT: "range": {
2087// CHECK-NEXT: "begin": {
2088// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002089// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002090// CHECK-NEXT: },
2091// CHECK-NEXT: "end": {
2092// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002093// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002094// CHECK-NEXT: }
2095// CHECK-NEXT: },
2096// CHECK-NEXT: "type": {
2097// CHECK-NEXT: "qualType": "NSMutableArray *"
2098// CHECK-NEXT: },
2099// CHECK-NEXT: "valueCategory": "rvalue",
2100// CHECK-NEXT: "castKind": "LValueToRValue",
2101// CHECK-NEXT: "inner": [
2102// CHECK-NEXT: {
2103// CHECK-NEXT: "id": "0x{{.*}}",
2104// CHECK-NEXT: "kind": "DeclRefExpr",
2105// CHECK-NEXT: "range": {
2106// CHECK-NEXT: "begin": {
2107// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002108// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002109// CHECK-NEXT: },
2110// CHECK-NEXT: "end": {
2111// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002112// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002113// CHECK-NEXT: }
2114// CHECK-NEXT: },
2115// CHECK-NEXT: "type": {
2116// CHECK-NEXT: "qualType": "NSMutableArray *"
2117// CHECK-NEXT: },
2118// CHECK-NEXT: "valueCategory": "lvalue",
2119// CHECK-NEXT: "referencedDecl": {
2120// CHECK-NEXT: "id": "0x{{.*}}",
2121// CHECK-NEXT: "kind": "ParmVarDecl",
2122// CHECK-NEXT: "name": "Array",
2123// CHECK-NEXT: "type": {
2124// CHECK-NEXT: "qualType": "NSMutableArray *"
2125// CHECK-NEXT: }
2126// CHECK-NEXT: }
2127// CHECK-NEXT: }
2128// CHECK-NEXT: ]
2129// CHECK-NEXT: }
2130// CHECK-NEXT: ]
2131// CHECK-NEXT: },
2132// CHECK-NEXT: {
2133// CHECK-NEXT: "id": "0x{{.*}}",
2134// CHECK-NEXT: "kind": "OpaqueValueExpr",
2135// CHECK-NEXT: "range": {
2136// CHECK-NEXT: "begin": {
2137// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002138// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002139// CHECK-NEXT: },
2140// CHECK-NEXT: "end": {
2141// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002142// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002143// CHECK-NEXT: }
2144// CHECK-NEXT: },
2145// CHECK-NEXT: "type": {
2146// CHECK-NEXT: "qualType": "int"
2147// CHECK-NEXT: },
2148// CHECK-NEXT: "valueCategory": "rvalue",
2149// CHECK-NEXT: "inner": [
2150// CHECK-NEXT: {
2151// CHECK-NEXT: "id": "0x{{.*}}",
2152// CHECK-NEXT: "kind": "IntegerLiteral",
2153// CHECK-NEXT: "range": {
2154// CHECK-NEXT: "begin": {
2155// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002156// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002157// CHECK-NEXT: },
2158// CHECK-NEXT: "end": {
2159// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002160// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002161// CHECK-NEXT: }
2162// CHECK-NEXT: },
2163// CHECK-NEXT: "type": {
2164// CHECK-NEXT: "qualType": "int"
2165// CHECK-NEXT: },
2166// CHECK-NEXT: "valueCategory": "rvalue",
2167// CHECK-NEXT: "value": "0"
2168// CHECK-NEXT: }
2169// CHECK-NEXT: ]
2170// CHECK-NEXT: },
2171// CHECK-NEXT: {
2172// CHECK-NEXT: "id": "0x{{.*}}",
2173// CHECK-NEXT: "kind": "OpaqueValueExpr",
2174// CHECK-NEXT: "range": {
2175// CHECK-NEXT: "begin": {
2176// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002177// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002178// CHECK-NEXT: },
2179// CHECK-NEXT: "end": {
2180// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002181// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002182// CHECK-NEXT: }
2183// CHECK-NEXT: },
2184// CHECK-NEXT: "type": {
2185// CHECK-NEXT: "qualType": "void *"
2186// CHECK-NEXT: },
2187// CHECK-NEXT: "valueCategory": "rvalue",
2188// CHECK-NEXT: "inner": [
2189// CHECK-NEXT: {
2190// CHECK-NEXT: "id": "0x{{.*}}",
2191// CHECK-NEXT: "kind": "CStyleCastExpr",
2192// CHECK-NEXT: "range": {
2193// CHECK-NEXT: "begin": {
2194// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002195// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002196// CHECK-NEXT: },
2197// CHECK-NEXT: "end": {
2198// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002199// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002200// CHECK-NEXT: }
2201// CHECK-NEXT: },
2202// CHECK-NEXT: "type": {
2203// CHECK-NEXT: "qualType": "void *"
2204// CHECK-NEXT: },
2205// CHECK-NEXT: "valueCategory": "rvalue",
2206// CHECK-NEXT: "castKind": "NullToPointer",
2207// CHECK-NEXT: "inner": [
2208// CHECK-NEXT: {
2209// CHECK-NEXT: "id": "0x{{.*}}",
2210// CHECK-NEXT: "kind": "IntegerLiteral",
2211// CHECK-NEXT: "range": {
2212// CHECK-NEXT: "begin": {
2213// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002214// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002215// CHECK-NEXT: },
2216// CHECK-NEXT: "end": {
2217// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002218// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002219// CHECK-NEXT: }
2220// CHECK-NEXT: },
2221// CHECK-NEXT: "type": {
2222// CHECK-NEXT: "qualType": "int"
2223// CHECK-NEXT: },
2224// CHECK-NEXT: "valueCategory": "rvalue",
2225// CHECK-NEXT: "value": "0"
2226// CHECK-NEXT: }
2227// CHECK-NEXT: ]
2228// CHECK-NEXT: }
2229// CHECK-NEXT: ]
2230// CHECK-NEXT: },
2231// CHECK-NEXT: {
2232// CHECK-NEXT: "id": "0x{{.*}}",
2233// CHECK-NEXT: "kind": "OpaqueValueExpr",
2234// CHECK-NEXT: "range": {
2235// CHECK-NEXT: "begin": {
2236// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002237// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002238// CHECK-NEXT: },
2239// CHECK-NEXT: "end": {
2240// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002241// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002242// CHECK-NEXT: }
2243// CHECK-NEXT: },
2244// CHECK-NEXT: "type": {
2245// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002246// CHECK-NEXT: "qualType": "id",
2247// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00002248// CHECK-NEXT: },
2249// CHECK-NEXT: "valueCategory": "rvalue",
2250// CHECK-NEXT: "inner": [
2251// CHECK-NEXT: {
2252// CHECK-NEXT: "id": "0x{{.*}}",
2253// CHECK-NEXT: "kind": "ImplicitCastExpr",
2254// CHECK-NEXT: "range": {
2255// CHECK-NEXT: "begin": {
2256// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002257// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002258// CHECK-NEXT: },
2259// CHECK-NEXT: "end": {
2260// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002261// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002262// CHECK-NEXT: }
2263// CHECK-NEXT: },
2264// CHECK-NEXT: "type": {
2265// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002266// CHECK-NEXT: "qualType": "id",
2267// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00002268// CHECK-NEXT: },
2269// CHECK-NEXT: "valueCategory": "rvalue",
2270// CHECK-NEXT: "castKind": "NullToPointer",
2271// CHECK-NEXT: "inner": [
2272// CHECK-NEXT: {
2273// CHECK-NEXT: "id": "0x{{.*}}",
2274// CHECK-NEXT: "kind": "OpaqueValueExpr",
2275// CHECK-NEXT: "range": {
2276// CHECK-NEXT: "begin": {
2277// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002278// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002279// CHECK-NEXT: },
2280// CHECK-NEXT: "end": {
2281// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002282// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002283// CHECK-NEXT: }
2284// CHECK-NEXT: },
2285// CHECK-NEXT: "type": {
2286// CHECK-NEXT: "qualType": "void *"
2287// CHECK-NEXT: },
2288// CHECK-NEXT: "valueCategory": "rvalue",
2289// CHECK-NEXT: "inner": [
2290// CHECK-NEXT: {
2291// CHECK-NEXT: "id": "0x{{.*}}",
2292// CHECK-NEXT: "kind": "CStyleCastExpr",
2293// CHECK-NEXT: "range": {
2294// CHECK-NEXT: "begin": {
2295// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002296// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002297// CHECK-NEXT: },
2298// CHECK-NEXT: "end": {
2299// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002300// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002301// CHECK-NEXT: }
2302// CHECK-NEXT: },
2303// CHECK-NEXT: "type": {
2304// CHECK-NEXT: "qualType": "void *"
2305// CHECK-NEXT: },
2306// CHECK-NEXT: "valueCategory": "rvalue",
2307// CHECK-NEXT: "castKind": "NullToPointer",
2308// CHECK-NEXT: "inner": [
2309// CHECK-NEXT: {
2310// CHECK-NEXT: "id": "0x{{.*}}",
2311// CHECK-NEXT: "kind": "IntegerLiteral",
2312// CHECK-NEXT: "range": {
2313// CHECK-NEXT: "begin": {
2314// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002315// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002316// CHECK-NEXT: },
2317// CHECK-NEXT: "end": {
2318// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002319// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002320// CHECK-NEXT: }
2321// CHECK-NEXT: },
2322// CHECK-NEXT: "type": {
2323// CHECK-NEXT: "qualType": "int"
2324// CHECK-NEXT: },
2325// CHECK-NEXT: "valueCategory": "rvalue",
2326// CHECK-NEXT: "value": "0"
2327// CHECK-NEXT: }
2328// CHECK-NEXT: ]
2329// CHECK-NEXT: }
2330// CHECK-NEXT: ]
2331// CHECK-NEXT: }
2332// CHECK-NEXT: ]
2333// CHECK-NEXT: }
2334// CHECK-NEXT: ]
2335// CHECK-NEXT: },
2336// CHECK-NEXT: {
2337// CHECK-NEXT: "id": "0x{{.*}}",
2338// CHECK-NEXT: "kind": "ObjCMessageExpr",
2339// CHECK-NEXT: "range": {
2340// CHECK-NEXT: "begin": {
2341// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002342// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002343// CHECK-NEXT: },
2344// CHECK-NEXT: "end": {
2345// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002346// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002347// CHECK-NEXT: }
2348// CHECK-NEXT: },
2349// CHECK-NEXT: "type": {
2350// CHECK-NEXT: "qualType": "void"
2351// CHECK-NEXT: },
2352// CHECK-NEXT: "valueCategory": "rvalue",
2353// CHECK-NEXT: "selector": "setObject:atIndexedSubscript:",
2354// CHECK-NEXT: "receiverKind": "instance",
2355// CHECK-NEXT: "inner": [
2356// CHECK-NEXT: {
2357// CHECK-NEXT: "id": "0x{{.*}}",
2358// CHECK-NEXT: "kind": "OpaqueValueExpr",
2359// CHECK-NEXT: "range": {
2360// CHECK-NEXT: "begin": {
2361// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002362// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002363// CHECK-NEXT: },
2364// CHECK-NEXT: "end": {
2365// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002366// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002367// CHECK-NEXT: }
2368// CHECK-NEXT: },
2369// CHECK-NEXT: "type": {
2370// CHECK-NEXT: "qualType": "NSMutableArray *"
2371// CHECK-NEXT: },
2372// CHECK-NEXT: "valueCategory": "rvalue",
2373// CHECK-NEXT: "inner": [
2374// CHECK-NEXT: {
2375// CHECK-NEXT: "id": "0x{{.*}}",
2376// CHECK-NEXT: "kind": "ImplicitCastExpr",
2377// CHECK-NEXT: "range": {
2378// CHECK-NEXT: "begin": {
2379// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002380// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002381// CHECK-NEXT: },
2382// CHECK-NEXT: "end": {
2383// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002384// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002385// CHECK-NEXT: }
2386// CHECK-NEXT: },
2387// CHECK-NEXT: "type": {
2388// CHECK-NEXT: "qualType": "NSMutableArray *"
2389// CHECK-NEXT: },
2390// CHECK-NEXT: "valueCategory": "rvalue",
2391// CHECK-NEXT: "castKind": "LValueToRValue",
2392// CHECK-NEXT: "inner": [
2393// CHECK-NEXT: {
2394// CHECK-NEXT: "id": "0x{{.*}}",
2395// CHECK-NEXT: "kind": "DeclRefExpr",
2396// CHECK-NEXT: "range": {
2397// CHECK-NEXT: "begin": {
2398// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002399// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002400// CHECK-NEXT: },
2401// CHECK-NEXT: "end": {
2402// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002403// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002404// CHECK-NEXT: }
2405// CHECK-NEXT: },
2406// CHECK-NEXT: "type": {
2407// CHECK-NEXT: "qualType": "NSMutableArray *"
2408// CHECK-NEXT: },
2409// CHECK-NEXT: "valueCategory": "lvalue",
2410// CHECK-NEXT: "referencedDecl": {
2411// CHECK-NEXT: "id": "0x{{.*}}",
2412// CHECK-NEXT: "kind": "ParmVarDecl",
2413// CHECK-NEXT: "name": "Array",
2414// CHECK-NEXT: "type": {
2415// CHECK-NEXT: "qualType": "NSMutableArray *"
2416// CHECK-NEXT: }
2417// CHECK-NEXT: }
2418// CHECK-NEXT: }
2419// CHECK-NEXT: ]
2420// CHECK-NEXT: }
2421// CHECK-NEXT: ]
2422// CHECK-NEXT: },
2423// CHECK-NEXT: {
2424// CHECK-NEXT: "id": "0x{{.*}}",
2425// CHECK-NEXT: "kind": "OpaqueValueExpr",
2426// CHECK-NEXT: "range": {
2427// CHECK-NEXT: "begin": {
2428// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002429// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002430// CHECK-NEXT: },
2431// CHECK-NEXT: "end": {
2432// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002433// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002434// CHECK-NEXT: }
2435// CHECK-NEXT: },
2436// CHECK-NEXT: "type": {
2437// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002438// CHECK-NEXT: "qualType": "id",
2439// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00002440// CHECK-NEXT: },
2441// CHECK-NEXT: "valueCategory": "rvalue",
2442// CHECK-NEXT: "inner": [
2443// CHECK-NEXT: {
2444// CHECK-NEXT: "id": "0x{{.*}}",
2445// CHECK-NEXT: "kind": "ImplicitCastExpr",
2446// CHECK-NEXT: "range": {
2447// CHECK-NEXT: "begin": {
2448// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002449// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002450// CHECK-NEXT: },
2451// CHECK-NEXT: "end": {
2452// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002453// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002454// CHECK-NEXT: }
2455// CHECK-NEXT: },
2456// CHECK-NEXT: "type": {
2457// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002458// CHECK-NEXT: "qualType": "id",
2459// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00002460// CHECK-NEXT: },
2461// CHECK-NEXT: "valueCategory": "rvalue",
2462// CHECK-NEXT: "castKind": "NullToPointer",
2463// CHECK-NEXT: "inner": [
2464// CHECK-NEXT: {
2465// CHECK-NEXT: "id": "0x{{.*}}",
2466// CHECK-NEXT: "kind": "OpaqueValueExpr",
2467// CHECK-NEXT: "range": {
2468// CHECK-NEXT: "begin": {
2469// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002470// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002471// CHECK-NEXT: },
2472// CHECK-NEXT: "end": {
2473// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002474// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002475// CHECK-NEXT: }
2476// CHECK-NEXT: },
2477// CHECK-NEXT: "type": {
2478// CHECK-NEXT: "qualType": "void *"
2479// CHECK-NEXT: },
2480// CHECK-NEXT: "valueCategory": "rvalue",
2481// CHECK-NEXT: "inner": [
2482// CHECK-NEXT: {
2483// CHECK-NEXT: "id": "0x{{.*}}",
2484// CHECK-NEXT: "kind": "CStyleCastExpr",
2485// CHECK-NEXT: "range": {
2486// CHECK-NEXT: "begin": {
2487// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002488// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002489// CHECK-NEXT: },
2490// CHECK-NEXT: "end": {
2491// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002492// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002493// CHECK-NEXT: }
2494// CHECK-NEXT: },
2495// CHECK-NEXT: "type": {
2496// CHECK-NEXT: "qualType": "void *"
2497// CHECK-NEXT: },
2498// CHECK-NEXT: "valueCategory": "rvalue",
2499// CHECK-NEXT: "castKind": "NullToPointer",
2500// CHECK-NEXT: "inner": [
2501// CHECK-NEXT: {
2502// CHECK-NEXT: "id": "0x{{.*}}",
2503// CHECK-NEXT: "kind": "IntegerLiteral",
2504// CHECK-NEXT: "range": {
2505// CHECK-NEXT: "begin": {
2506// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002507// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002508// CHECK-NEXT: },
2509// CHECK-NEXT: "end": {
2510// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002511// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002512// CHECK-NEXT: }
2513// CHECK-NEXT: },
2514// CHECK-NEXT: "type": {
2515// CHECK-NEXT: "qualType": "int"
2516// CHECK-NEXT: },
2517// CHECK-NEXT: "valueCategory": "rvalue",
2518// CHECK-NEXT: "value": "0"
2519// CHECK-NEXT: }
2520// CHECK-NEXT: ]
2521// CHECK-NEXT: }
2522// CHECK-NEXT: ]
2523// CHECK-NEXT: }
2524// CHECK-NEXT: ]
2525// CHECK-NEXT: }
2526// CHECK-NEXT: ]
2527// CHECK-NEXT: },
2528// CHECK-NEXT: {
2529// CHECK-NEXT: "id": "0x{{.*}}",
2530// CHECK-NEXT: "kind": "OpaqueValueExpr",
2531// CHECK-NEXT: "range": {
2532// CHECK-NEXT: "begin": {
2533// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002534// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002535// CHECK-NEXT: },
2536// CHECK-NEXT: "end": {
2537// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002538// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002539// CHECK-NEXT: }
2540// CHECK-NEXT: },
2541// CHECK-NEXT: "type": {
2542// CHECK-NEXT: "qualType": "int"
2543// CHECK-NEXT: },
2544// CHECK-NEXT: "valueCategory": "rvalue",
2545// CHECK-NEXT: "inner": [
2546// CHECK-NEXT: {
2547// CHECK-NEXT: "id": "0x{{.*}}",
2548// CHECK-NEXT: "kind": "IntegerLiteral",
2549// CHECK-NEXT: "range": {
2550// CHECK-NEXT: "begin": {
2551// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002552// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002553// CHECK-NEXT: },
2554// CHECK-NEXT: "end": {
2555// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002556// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002557// CHECK-NEXT: }
2558// CHECK-NEXT: },
2559// CHECK-NEXT: "type": {
2560// CHECK-NEXT: "qualType": "int"
2561// CHECK-NEXT: },
2562// CHECK-NEXT: "valueCategory": "rvalue",
2563// CHECK-NEXT: "value": "0"
2564// CHECK-NEXT: }
2565// CHECK-NEXT: ]
2566// CHECK-NEXT: }
2567// CHECK-NEXT: ]
2568// CHECK-NEXT: }
2569// CHECK-NEXT: ]
2570// CHECK-NEXT: },
2571// CHECK-NEXT: {
2572// CHECK-NEXT: "id": "0x{{.*}}",
2573// CHECK-NEXT: "kind": "DeclStmt",
2574// CHECK-NEXT: "range": {
2575// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +00002576// CHECK-NEXT: "line": 83,
Aaron Ballman75e23f82019-06-20 21:45:31 +00002577// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002578// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00002579// CHECK-NEXT: },
2580// CHECK-NEXT: "end": {
2581// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00002582// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002583// CHECK-NEXT: }
2584// CHECK-NEXT: },
2585// CHECK-NEXT: "inner": [
2586// CHECK-NEXT: {
2587// CHECK-NEXT: "id": "0x{{.*}}",
2588// CHECK-NEXT: "kind": "VarDecl",
2589// CHECK-NEXT: "loc": {
2590// CHECK-NEXT: "col": 5,
Aaron Ballmana612e342019-06-24 20:07:11 +00002591// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002592// CHECK-NEXT: },
2593// CHECK-NEXT: "range": {
2594// CHECK-NEXT: "begin": {
2595// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002596// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00002597// CHECK-NEXT: },
2598// CHECK-NEXT: "end": {
2599// CHECK-NEXT: "col": 16,
Aaron Ballmana612e342019-06-24 20:07:11 +00002600// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002601// CHECK-NEXT: }
2602// CHECK-NEXT: },
2603// CHECK-NEXT: "isUsed": true,
2604// CHECK-NEXT: "name": "i",
2605// CHECK-NEXT: "type": {
2606// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002607// CHECK-NEXT: "qualType": "id",
2608// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00002609// CHECK-NEXT: },
2610// CHECK-NEXT: "init": "c",
2611// CHECK-NEXT: "inner": [
2612// CHECK-NEXT: {
2613// CHECK-NEXT: "id": "0x{{.*}}",
2614// CHECK-NEXT: "kind": "PseudoObjectExpr",
2615// CHECK-NEXT: "range": {
2616// CHECK-NEXT: "begin": {
2617// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002618// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002619// CHECK-NEXT: },
2620// CHECK-NEXT: "end": {
2621// CHECK-NEXT: "col": 16,
Aaron Ballmana612e342019-06-24 20:07:11 +00002622// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002623// CHECK-NEXT: }
2624// CHECK-NEXT: },
2625// CHECK-NEXT: "type": {
2626// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002627// CHECK-NEXT: "qualType": "id",
2628// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00002629// CHECK-NEXT: },
2630// CHECK-NEXT: "valueCategory": "rvalue",
2631// CHECK-NEXT: "inner": [
2632// CHECK-NEXT: {
2633// CHECK-NEXT: "id": "0x{{.*}}",
2634// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
2635// CHECK-NEXT: "range": {
2636// CHECK-NEXT: "begin": {
2637// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002638// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002639// CHECK-NEXT: },
2640// CHECK-NEXT: "end": {
2641// CHECK-NEXT: "col": 16,
Aaron Ballmana612e342019-06-24 20:07:11 +00002642// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002643// CHECK-NEXT: }
2644// CHECK-NEXT: },
2645// CHECK-NEXT: "type": {
2646// CHECK-NEXT: "qualType": "<pseudo-object type>"
2647// CHECK-NEXT: },
2648// CHECK-NEXT: "valueCategory": "lvalue",
2649// CHECK-NEXT: "subscriptKind": "array",
2650// CHECK-NEXT: "inner": [
2651// CHECK-NEXT: {
2652// CHECK-NEXT: "id": "0x{{.*}}",
2653// CHECK-NEXT: "kind": "OpaqueValueExpr",
2654// CHECK-NEXT: "range": {
2655// CHECK-NEXT: "begin": {
2656// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002657// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002658// CHECK-NEXT: },
2659// CHECK-NEXT: "end": {
2660// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002661// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002662// CHECK-NEXT: }
2663// CHECK-NEXT: },
2664// CHECK-NEXT: "type": {
2665// CHECK-NEXT: "qualType": "NSMutableArray *"
2666// CHECK-NEXT: },
2667// CHECK-NEXT: "valueCategory": "rvalue",
2668// CHECK-NEXT: "inner": [
2669// CHECK-NEXT: {
2670// CHECK-NEXT: "id": "0x{{.*}}",
2671// CHECK-NEXT: "kind": "ImplicitCastExpr",
2672// CHECK-NEXT: "range": {
2673// CHECK-NEXT: "begin": {
2674// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002675// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002676// CHECK-NEXT: },
2677// CHECK-NEXT: "end": {
2678// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002679// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002680// CHECK-NEXT: }
2681// CHECK-NEXT: },
2682// CHECK-NEXT: "type": {
2683// CHECK-NEXT: "qualType": "NSMutableArray *"
2684// CHECK-NEXT: },
2685// CHECK-NEXT: "valueCategory": "rvalue",
2686// CHECK-NEXT: "castKind": "LValueToRValue",
2687// CHECK-NEXT: "inner": [
2688// CHECK-NEXT: {
2689// CHECK-NEXT: "id": "0x{{.*}}",
2690// CHECK-NEXT: "kind": "DeclRefExpr",
2691// CHECK-NEXT: "range": {
2692// CHECK-NEXT: "begin": {
2693// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002694// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002695// CHECK-NEXT: },
2696// CHECK-NEXT: "end": {
2697// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002698// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002699// CHECK-NEXT: }
2700// CHECK-NEXT: },
2701// CHECK-NEXT: "type": {
2702// CHECK-NEXT: "qualType": "NSMutableArray *"
2703// CHECK-NEXT: },
2704// CHECK-NEXT: "valueCategory": "lvalue",
2705// CHECK-NEXT: "referencedDecl": {
2706// CHECK-NEXT: "id": "0x{{.*}}",
2707// CHECK-NEXT: "kind": "ParmVarDecl",
2708// CHECK-NEXT: "name": "Array",
2709// CHECK-NEXT: "type": {
2710// CHECK-NEXT: "qualType": "NSMutableArray *"
2711// CHECK-NEXT: }
2712// CHECK-NEXT: }
2713// CHECK-NEXT: }
2714// CHECK-NEXT: ]
2715// CHECK-NEXT: }
2716// CHECK-NEXT: ]
2717// CHECK-NEXT: },
2718// CHECK-NEXT: {
2719// CHECK-NEXT: "id": "0x{{.*}}",
2720// CHECK-NEXT: "kind": "OpaqueValueExpr",
2721// CHECK-NEXT: "range": {
2722// CHECK-NEXT: "begin": {
2723// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002724// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002725// CHECK-NEXT: },
2726// CHECK-NEXT: "end": {
2727// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002728// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002729// CHECK-NEXT: }
2730// CHECK-NEXT: },
2731// CHECK-NEXT: "type": {
2732// CHECK-NEXT: "qualType": "int"
2733// CHECK-NEXT: },
2734// CHECK-NEXT: "valueCategory": "rvalue",
2735// CHECK-NEXT: "inner": [
2736// CHECK-NEXT: {
2737// CHECK-NEXT: "id": "0x{{.*}}",
2738// CHECK-NEXT: "kind": "IntegerLiteral",
2739// CHECK-NEXT: "range": {
2740// CHECK-NEXT: "begin": {
2741// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002742// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002743// CHECK-NEXT: },
2744// CHECK-NEXT: "end": {
2745// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002746// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002747// CHECK-NEXT: }
2748// CHECK-NEXT: },
2749// CHECK-NEXT: "type": {
2750// CHECK-NEXT: "qualType": "int"
2751// CHECK-NEXT: },
2752// CHECK-NEXT: "valueCategory": "rvalue",
2753// CHECK-NEXT: "value": "0"
2754// CHECK-NEXT: }
2755// CHECK-NEXT: ]
2756// CHECK-NEXT: }
2757// CHECK-NEXT: ]
2758// CHECK-NEXT: },
2759// CHECK-NEXT: {
2760// CHECK-NEXT: "id": "0x{{.*}}",
2761// CHECK-NEXT: "kind": "OpaqueValueExpr",
2762// CHECK-NEXT: "range": {
2763// CHECK-NEXT: "begin": {
2764// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002765// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002766// CHECK-NEXT: },
2767// CHECK-NEXT: "end": {
2768// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002769// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002770// CHECK-NEXT: }
2771// CHECK-NEXT: },
2772// CHECK-NEXT: "type": {
2773// CHECK-NEXT: "qualType": "NSMutableArray *"
2774// CHECK-NEXT: },
2775// CHECK-NEXT: "valueCategory": "rvalue",
2776// CHECK-NEXT: "inner": [
2777// CHECK-NEXT: {
2778// CHECK-NEXT: "id": "0x{{.*}}",
2779// CHECK-NEXT: "kind": "ImplicitCastExpr",
2780// CHECK-NEXT: "range": {
2781// CHECK-NEXT: "begin": {
2782// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002783// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002784// CHECK-NEXT: },
2785// CHECK-NEXT: "end": {
2786// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002787// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002788// CHECK-NEXT: }
2789// CHECK-NEXT: },
2790// CHECK-NEXT: "type": {
2791// CHECK-NEXT: "qualType": "NSMutableArray *"
2792// CHECK-NEXT: },
2793// CHECK-NEXT: "valueCategory": "rvalue",
2794// CHECK-NEXT: "castKind": "LValueToRValue",
2795// CHECK-NEXT: "inner": [
2796// CHECK-NEXT: {
2797// CHECK-NEXT: "id": "0x{{.*}}",
2798// CHECK-NEXT: "kind": "DeclRefExpr",
2799// CHECK-NEXT: "range": {
2800// CHECK-NEXT: "begin": {
2801// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002802// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002803// CHECK-NEXT: },
2804// CHECK-NEXT: "end": {
2805// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002806// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002807// CHECK-NEXT: }
2808// CHECK-NEXT: },
2809// CHECK-NEXT: "type": {
2810// CHECK-NEXT: "qualType": "NSMutableArray *"
2811// CHECK-NEXT: },
2812// CHECK-NEXT: "valueCategory": "lvalue",
2813// CHECK-NEXT: "referencedDecl": {
2814// CHECK-NEXT: "id": "0x{{.*}}",
2815// CHECK-NEXT: "kind": "ParmVarDecl",
2816// CHECK-NEXT: "name": "Array",
2817// CHECK-NEXT: "type": {
2818// CHECK-NEXT: "qualType": "NSMutableArray *"
2819// CHECK-NEXT: }
2820// CHECK-NEXT: }
2821// CHECK-NEXT: }
2822// CHECK-NEXT: ]
2823// CHECK-NEXT: }
2824// CHECK-NEXT: ]
2825// CHECK-NEXT: },
2826// CHECK-NEXT: {
2827// CHECK-NEXT: "id": "0x{{.*}}",
2828// CHECK-NEXT: "kind": "OpaqueValueExpr",
2829// CHECK-NEXT: "range": {
2830// CHECK-NEXT: "begin": {
2831// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002832// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002833// CHECK-NEXT: },
2834// CHECK-NEXT: "end": {
2835// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002836// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002837// CHECK-NEXT: }
2838// CHECK-NEXT: },
2839// CHECK-NEXT: "type": {
2840// CHECK-NEXT: "qualType": "int"
2841// CHECK-NEXT: },
2842// CHECK-NEXT: "valueCategory": "rvalue",
2843// CHECK-NEXT: "inner": [
2844// CHECK-NEXT: {
2845// CHECK-NEXT: "id": "0x{{.*}}",
2846// CHECK-NEXT: "kind": "IntegerLiteral",
2847// CHECK-NEXT: "range": {
2848// CHECK-NEXT: "begin": {
2849// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002850// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002851// CHECK-NEXT: },
2852// CHECK-NEXT: "end": {
2853// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002854// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002855// CHECK-NEXT: }
2856// CHECK-NEXT: },
2857// CHECK-NEXT: "type": {
2858// CHECK-NEXT: "qualType": "int"
2859// CHECK-NEXT: },
2860// CHECK-NEXT: "valueCategory": "rvalue",
2861// CHECK-NEXT: "value": "0"
2862// CHECK-NEXT: }
2863// CHECK-NEXT: ]
2864// CHECK-NEXT: },
2865// CHECK-NEXT: {
2866// CHECK-NEXT: "id": "0x{{.*}}",
2867// CHECK-NEXT: "kind": "ObjCMessageExpr",
2868// CHECK-NEXT: "range": {
2869// CHECK-NEXT: "begin": {
2870// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002871// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002872// CHECK-NEXT: },
2873// CHECK-NEXT: "end": {
2874// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002875// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002876// CHECK-NEXT: }
2877// CHECK-NEXT: },
2878// CHECK-NEXT: "type": {
2879// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002880// CHECK-NEXT: "qualType": "id",
2881// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00002882// CHECK-NEXT: },
2883// CHECK-NEXT: "valueCategory": "rvalue",
2884// CHECK-NEXT: "selector": "objectAtIndexedSubscript:",
2885// CHECK-NEXT: "receiverKind": "instance",
2886// CHECK-NEXT: "inner": [
2887// CHECK-NEXT: {
2888// CHECK-NEXT: "id": "0x{{.*}}",
2889// CHECK-NEXT: "kind": "OpaqueValueExpr",
2890// CHECK-NEXT: "range": {
2891// CHECK-NEXT: "begin": {
2892// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002893// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002894// CHECK-NEXT: },
2895// CHECK-NEXT: "end": {
2896// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002897// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002898// CHECK-NEXT: }
2899// CHECK-NEXT: },
2900// CHECK-NEXT: "type": {
2901// CHECK-NEXT: "qualType": "NSMutableArray *"
2902// CHECK-NEXT: },
2903// CHECK-NEXT: "valueCategory": "rvalue",
2904// CHECK-NEXT: "inner": [
2905// CHECK-NEXT: {
2906// CHECK-NEXT: "id": "0x{{.*}}",
2907// CHECK-NEXT: "kind": "ImplicitCastExpr",
2908// CHECK-NEXT: "range": {
2909// CHECK-NEXT: "begin": {
2910// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002911// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002912// CHECK-NEXT: },
2913// CHECK-NEXT: "end": {
2914// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002915// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002916// CHECK-NEXT: }
2917// CHECK-NEXT: },
2918// CHECK-NEXT: "type": {
2919// CHECK-NEXT: "qualType": "NSMutableArray *"
2920// CHECK-NEXT: },
2921// CHECK-NEXT: "valueCategory": "rvalue",
2922// CHECK-NEXT: "castKind": "LValueToRValue",
2923// CHECK-NEXT: "inner": [
2924// CHECK-NEXT: {
2925// CHECK-NEXT: "id": "0x{{.*}}",
2926// CHECK-NEXT: "kind": "DeclRefExpr",
2927// CHECK-NEXT: "range": {
2928// CHECK-NEXT: "begin": {
2929// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002930// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002931// CHECK-NEXT: },
2932// CHECK-NEXT: "end": {
2933// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002934// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002935// CHECK-NEXT: }
2936// CHECK-NEXT: },
2937// CHECK-NEXT: "type": {
2938// CHECK-NEXT: "qualType": "NSMutableArray *"
2939// CHECK-NEXT: },
2940// CHECK-NEXT: "valueCategory": "lvalue",
2941// CHECK-NEXT: "referencedDecl": {
2942// CHECK-NEXT: "id": "0x{{.*}}",
2943// CHECK-NEXT: "kind": "ParmVarDecl",
2944// CHECK-NEXT: "name": "Array",
2945// CHECK-NEXT: "type": {
2946// CHECK-NEXT: "qualType": "NSMutableArray *"
2947// CHECK-NEXT: }
2948// CHECK-NEXT: }
2949// CHECK-NEXT: }
2950// CHECK-NEXT: ]
2951// CHECK-NEXT: }
2952// CHECK-NEXT: ]
2953// CHECK-NEXT: },
2954// CHECK-NEXT: {
2955// CHECK-NEXT: "id": "0x{{.*}}",
2956// CHECK-NEXT: "kind": "OpaqueValueExpr",
2957// CHECK-NEXT: "range": {
2958// CHECK-NEXT: "begin": {
2959// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002960// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002961// CHECK-NEXT: },
2962// CHECK-NEXT: "end": {
2963// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002964// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002965// CHECK-NEXT: }
2966// CHECK-NEXT: },
2967// CHECK-NEXT: "type": {
2968// CHECK-NEXT: "qualType": "int"
2969// CHECK-NEXT: },
2970// CHECK-NEXT: "valueCategory": "rvalue",
2971// CHECK-NEXT: "inner": [
2972// CHECK-NEXT: {
2973// CHECK-NEXT: "id": "0x{{.*}}",
2974// CHECK-NEXT: "kind": "IntegerLiteral",
2975// CHECK-NEXT: "range": {
2976// CHECK-NEXT: "begin": {
2977// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002978// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002979// CHECK-NEXT: },
2980// CHECK-NEXT: "end": {
2981// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002982// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002983// CHECK-NEXT: }
2984// CHECK-NEXT: },
2985// CHECK-NEXT: "type": {
2986// CHECK-NEXT: "qualType": "int"
2987// CHECK-NEXT: },
2988// CHECK-NEXT: "valueCategory": "rvalue",
2989// CHECK-NEXT: "value": "0"
2990// CHECK-NEXT: }
2991// CHECK-NEXT: ]
2992// CHECK-NEXT: }
2993// CHECK-NEXT: ]
2994// CHECK-NEXT: }
2995// CHECK-NEXT: ]
2996// CHECK-NEXT: }
2997// CHECK-NEXT: ]
2998// CHECK-NEXT: }
2999// CHECK-NEXT: ]
3000// CHECK-NEXT: },
3001// CHECK-NEXT: {
3002// CHECK-NEXT: "id": "0x{{.*}}",
3003// CHECK-NEXT: "kind": "PseudoObjectExpr",
3004// CHECK-NEXT: "range": {
3005// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +00003006// CHECK-NEXT: "line": 85,
Aaron Ballman75e23f82019-06-20 21:45:31 +00003007// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003008// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003009// CHECK-NEXT: },
3010// CHECK-NEXT: "end": {
3011// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003012// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003013// CHECK-NEXT: }
3014// CHECK-NEXT: },
3015// CHECK-NEXT: "type": {
3016// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00003017// CHECK-NEXT: "qualType": "id",
3018// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00003019// CHECK-NEXT: },
3020// CHECK-NEXT: "valueCategory": "rvalue",
3021// CHECK-NEXT: "inner": [
3022// CHECK-NEXT: {
3023// CHECK-NEXT: "id": "0x{{.*}}",
3024// CHECK-NEXT: "kind": "BinaryOperator",
3025// CHECK-NEXT: "range": {
3026// CHECK-NEXT: "begin": {
3027// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003028// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003029// CHECK-NEXT: },
3030// CHECK-NEXT: "end": {
3031// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003032// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003033// CHECK-NEXT: }
3034// CHECK-NEXT: },
3035// CHECK-NEXT: "type": {
3036// CHECK-NEXT: "qualType": "void *"
3037// CHECK-NEXT: },
3038// CHECK-NEXT: "valueCategory": "rvalue",
3039// CHECK-NEXT: "opcode": "=",
3040// CHECK-NEXT: "inner": [
3041// CHECK-NEXT: {
3042// CHECK-NEXT: "id": "0x{{.*}}",
3043// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
3044// CHECK-NEXT: "range": {
3045// CHECK-NEXT: "begin": {
3046// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003047// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003048// CHECK-NEXT: },
3049// CHECK-NEXT: "end": {
3050// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00003051// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003052// CHECK-NEXT: }
3053// CHECK-NEXT: },
3054// CHECK-NEXT: "type": {
3055// CHECK-NEXT: "qualType": "<pseudo-object type>"
3056// CHECK-NEXT: },
3057// CHECK-NEXT: "valueCategory": "lvalue",
3058// CHECK-NEXT: "subscriptKind": "dictionary",
3059// CHECK-NEXT: "inner": [
3060// CHECK-NEXT: {
3061// CHECK-NEXT: "id": "0x{{.*}}",
3062// CHECK-NEXT: "kind": "OpaqueValueExpr",
3063// CHECK-NEXT: "range": {
3064// CHECK-NEXT: "begin": {
3065// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003066// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003067// CHECK-NEXT: },
3068// CHECK-NEXT: "end": {
3069// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003070// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003071// CHECK-NEXT: }
3072// CHECK-NEXT: },
3073// CHECK-NEXT: "type": {
3074// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3075// CHECK-NEXT: },
3076// CHECK-NEXT: "valueCategory": "rvalue",
3077// CHECK-NEXT: "inner": [
3078// CHECK-NEXT: {
3079// CHECK-NEXT: "id": "0x{{.*}}",
3080// CHECK-NEXT: "kind": "ImplicitCastExpr",
3081// CHECK-NEXT: "range": {
3082// CHECK-NEXT: "begin": {
3083// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003084// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003085// CHECK-NEXT: },
3086// CHECK-NEXT: "end": {
3087// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003088// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003089// CHECK-NEXT: }
3090// CHECK-NEXT: },
3091// CHECK-NEXT: "type": {
3092// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3093// CHECK-NEXT: },
3094// CHECK-NEXT: "valueCategory": "rvalue",
3095// CHECK-NEXT: "castKind": "LValueToRValue",
3096// CHECK-NEXT: "inner": [
3097// CHECK-NEXT: {
3098// CHECK-NEXT: "id": "0x{{.*}}",
3099// CHECK-NEXT: "kind": "DeclRefExpr",
3100// CHECK-NEXT: "range": {
3101// CHECK-NEXT: "begin": {
3102// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003103// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003104// CHECK-NEXT: },
3105// CHECK-NEXT: "end": {
3106// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003107// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003108// CHECK-NEXT: }
3109// CHECK-NEXT: },
3110// CHECK-NEXT: "type": {
3111// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3112// CHECK-NEXT: },
3113// CHECK-NEXT: "valueCategory": "lvalue",
3114// CHECK-NEXT: "referencedDecl": {
3115// CHECK-NEXT: "id": "0x{{.*}}",
3116// CHECK-NEXT: "kind": "ParmVarDecl",
3117// CHECK-NEXT: "name": "Dict",
3118// CHECK-NEXT: "type": {
3119// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3120// CHECK-NEXT: }
3121// CHECK-NEXT: }
3122// CHECK-NEXT: }
3123// CHECK-NEXT: ]
3124// CHECK-NEXT: }
3125// CHECK-NEXT: ]
3126// CHECK-NEXT: },
3127// CHECK-NEXT: {
3128// CHECK-NEXT: "id": "0x{{.*}}",
3129// CHECK-NEXT: "kind": "OpaqueValueExpr",
3130// CHECK-NEXT: "range": {
3131// CHECK-NEXT: "begin": {
3132// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003133// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003134// CHECK-NEXT: },
3135// CHECK-NEXT: "end": {
3136// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003137// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003138// CHECK-NEXT: }
3139// CHECK-NEXT: },
3140// CHECK-NEXT: "type": {
3141// CHECK-NEXT: "qualType": "NSString *"
3142// CHECK-NEXT: },
3143// CHECK-NEXT: "valueCategory": "rvalue",
3144// CHECK-NEXT: "inner": [
3145// CHECK-NEXT: {
3146// CHECK-NEXT: "id": "0x{{.*}}",
3147// CHECK-NEXT: "kind": "ObjCStringLiteral",
3148// CHECK-NEXT: "range": {
3149// CHECK-NEXT: "begin": {
3150// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003151// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003152// CHECK-NEXT: },
3153// CHECK-NEXT: "end": {
3154// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003155// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003156// CHECK-NEXT: }
3157// CHECK-NEXT: },
3158// CHECK-NEXT: "type": {
3159// CHECK-NEXT: "qualType": "NSString *"
3160// CHECK-NEXT: },
3161// CHECK-NEXT: "valueCategory": "rvalue",
3162// CHECK-NEXT: "inner": [
3163// CHECK-NEXT: {
3164// CHECK-NEXT: "id": "0x{{.*}}",
3165// CHECK-NEXT: "kind": "StringLiteral",
3166// CHECK-NEXT: "range": {
3167// CHECK-NEXT: "begin": {
3168// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003169// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003170// CHECK-NEXT: },
3171// CHECK-NEXT: "end": {
3172// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003173// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003174// CHECK-NEXT: }
3175// CHECK-NEXT: },
3176// CHECK-NEXT: "type": {
3177// CHECK-NEXT: "qualType": "char [4]"
3178// CHECK-NEXT: },
3179// CHECK-NEXT: "valueCategory": "lvalue",
3180// CHECK-NEXT: "value": "\"key\""
3181// CHECK-NEXT: }
3182// CHECK-NEXT: ]
3183// CHECK-NEXT: }
3184// CHECK-NEXT: ]
3185// CHECK-NEXT: }
3186// CHECK-NEXT: ]
3187// CHECK-NEXT: },
3188// CHECK-NEXT: {
3189// CHECK-NEXT: "id": "0x{{.*}}",
3190// CHECK-NEXT: "kind": "OpaqueValueExpr",
3191// CHECK-NEXT: "range": {
3192// CHECK-NEXT: "begin": {
3193// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003194// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003195// CHECK-NEXT: },
3196// CHECK-NEXT: "end": {
3197// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003198// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003199// CHECK-NEXT: }
3200// CHECK-NEXT: },
3201// CHECK-NEXT: "type": {
3202// CHECK-NEXT: "qualType": "void *"
3203// CHECK-NEXT: },
3204// CHECK-NEXT: "valueCategory": "rvalue",
3205// CHECK-NEXT: "inner": [
3206// CHECK-NEXT: {
3207// CHECK-NEXT: "id": "0x{{.*}}",
3208// CHECK-NEXT: "kind": "CStyleCastExpr",
3209// CHECK-NEXT: "range": {
3210// CHECK-NEXT: "begin": {
3211// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003212// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003213// CHECK-NEXT: },
3214// CHECK-NEXT: "end": {
3215// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003216// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003217// CHECK-NEXT: }
3218// CHECK-NEXT: },
3219// CHECK-NEXT: "type": {
3220// CHECK-NEXT: "qualType": "void *"
3221// CHECK-NEXT: },
3222// CHECK-NEXT: "valueCategory": "rvalue",
3223// CHECK-NEXT: "castKind": "NullToPointer",
3224// CHECK-NEXT: "inner": [
3225// CHECK-NEXT: {
3226// CHECK-NEXT: "id": "0x{{.*}}",
3227// CHECK-NEXT: "kind": "IntegerLiteral",
3228// CHECK-NEXT: "range": {
3229// CHECK-NEXT: "begin": {
3230// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003231// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003232// CHECK-NEXT: },
3233// CHECK-NEXT: "end": {
3234// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003235// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003236// CHECK-NEXT: }
3237// CHECK-NEXT: },
3238// CHECK-NEXT: "type": {
3239// CHECK-NEXT: "qualType": "int"
3240// CHECK-NEXT: },
3241// CHECK-NEXT: "valueCategory": "rvalue",
3242// CHECK-NEXT: "value": "0"
3243// CHECK-NEXT: }
3244// CHECK-NEXT: ]
3245// CHECK-NEXT: }
3246// CHECK-NEXT: ]
3247// CHECK-NEXT: }
3248// CHECK-NEXT: ]
3249// CHECK-NEXT: },
3250// CHECK-NEXT: {
3251// CHECK-NEXT: "id": "0x{{.*}}",
3252// CHECK-NEXT: "kind": "OpaqueValueExpr",
3253// CHECK-NEXT: "range": {
3254// CHECK-NEXT: "begin": {
3255// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003256// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003257// CHECK-NEXT: },
3258// CHECK-NEXT: "end": {
3259// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003260// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003261// CHECK-NEXT: }
3262// CHECK-NEXT: },
3263// CHECK-NEXT: "type": {
3264// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3265// CHECK-NEXT: },
3266// CHECK-NEXT: "valueCategory": "rvalue",
3267// CHECK-NEXT: "inner": [
3268// CHECK-NEXT: {
3269// CHECK-NEXT: "id": "0x{{.*}}",
3270// CHECK-NEXT: "kind": "ImplicitCastExpr",
3271// CHECK-NEXT: "range": {
3272// CHECK-NEXT: "begin": {
3273// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003274// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003275// CHECK-NEXT: },
3276// CHECK-NEXT: "end": {
3277// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003278// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003279// CHECK-NEXT: }
3280// CHECK-NEXT: },
3281// CHECK-NEXT: "type": {
3282// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3283// CHECK-NEXT: },
3284// CHECK-NEXT: "valueCategory": "rvalue",
3285// CHECK-NEXT: "castKind": "LValueToRValue",
3286// CHECK-NEXT: "inner": [
3287// CHECK-NEXT: {
3288// CHECK-NEXT: "id": "0x{{.*}}",
3289// CHECK-NEXT: "kind": "DeclRefExpr",
3290// CHECK-NEXT: "range": {
3291// CHECK-NEXT: "begin": {
3292// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003293// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003294// CHECK-NEXT: },
3295// CHECK-NEXT: "end": {
3296// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003297// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003298// CHECK-NEXT: }
3299// CHECK-NEXT: },
3300// CHECK-NEXT: "type": {
3301// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3302// CHECK-NEXT: },
3303// CHECK-NEXT: "valueCategory": "lvalue",
3304// CHECK-NEXT: "referencedDecl": {
3305// CHECK-NEXT: "id": "0x{{.*}}",
3306// CHECK-NEXT: "kind": "ParmVarDecl",
3307// CHECK-NEXT: "name": "Dict",
3308// CHECK-NEXT: "type": {
3309// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3310// CHECK-NEXT: }
3311// CHECK-NEXT: }
3312// CHECK-NEXT: }
3313// CHECK-NEXT: ]
3314// CHECK-NEXT: }
3315// CHECK-NEXT: ]
3316// CHECK-NEXT: },
3317// CHECK-NEXT: {
3318// CHECK-NEXT: "id": "0x{{.*}}",
3319// CHECK-NEXT: "kind": "OpaqueValueExpr",
3320// CHECK-NEXT: "range": {
3321// CHECK-NEXT: "begin": {
3322// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003323// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003324// CHECK-NEXT: },
3325// CHECK-NEXT: "end": {
3326// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003327// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003328// CHECK-NEXT: }
3329// CHECK-NEXT: },
3330// CHECK-NEXT: "type": {
3331// CHECK-NEXT: "qualType": "NSString *"
3332// CHECK-NEXT: },
3333// CHECK-NEXT: "valueCategory": "rvalue",
3334// CHECK-NEXT: "inner": [
3335// CHECK-NEXT: {
3336// CHECK-NEXT: "id": "0x{{.*}}",
3337// CHECK-NEXT: "kind": "ObjCStringLiteral",
3338// CHECK-NEXT: "range": {
3339// CHECK-NEXT: "begin": {
3340// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003341// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003342// CHECK-NEXT: },
3343// CHECK-NEXT: "end": {
3344// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003345// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003346// CHECK-NEXT: }
3347// CHECK-NEXT: },
3348// CHECK-NEXT: "type": {
3349// CHECK-NEXT: "qualType": "NSString *"
3350// CHECK-NEXT: },
3351// CHECK-NEXT: "valueCategory": "rvalue",
3352// CHECK-NEXT: "inner": [
3353// CHECK-NEXT: {
3354// CHECK-NEXT: "id": "0x{{.*}}",
3355// CHECK-NEXT: "kind": "StringLiteral",
3356// CHECK-NEXT: "range": {
3357// CHECK-NEXT: "begin": {
3358// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003359// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003360// CHECK-NEXT: },
3361// CHECK-NEXT: "end": {
3362// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003363// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003364// CHECK-NEXT: }
3365// CHECK-NEXT: },
3366// CHECK-NEXT: "type": {
3367// CHECK-NEXT: "qualType": "char [4]"
3368// CHECK-NEXT: },
3369// CHECK-NEXT: "valueCategory": "lvalue",
3370// CHECK-NEXT: "value": "\"key\""
3371// CHECK-NEXT: }
3372// CHECK-NEXT: ]
3373// CHECK-NEXT: }
3374// CHECK-NEXT: ]
3375// CHECK-NEXT: },
3376// CHECK-NEXT: {
3377// CHECK-NEXT: "id": "0x{{.*}}",
3378// CHECK-NEXT: "kind": "OpaqueValueExpr",
3379// CHECK-NEXT: "range": {
3380// CHECK-NEXT: "begin": {
3381// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003382// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003383// CHECK-NEXT: },
3384// CHECK-NEXT: "end": {
3385// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003386// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003387// CHECK-NEXT: }
3388// CHECK-NEXT: },
3389// CHECK-NEXT: "type": {
3390// CHECK-NEXT: "qualType": "void *"
3391// CHECK-NEXT: },
3392// CHECK-NEXT: "valueCategory": "rvalue",
3393// CHECK-NEXT: "inner": [
3394// CHECK-NEXT: {
3395// CHECK-NEXT: "id": "0x{{.*}}",
3396// CHECK-NEXT: "kind": "CStyleCastExpr",
3397// CHECK-NEXT: "range": {
3398// CHECK-NEXT: "begin": {
3399// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003400// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003401// CHECK-NEXT: },
3402// CHECK-NEXT: "end": {
3403// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003404// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003405// CHECK-NEXT: }
3406// CHECK-NEXT: },
3407// CHECK-NEXT: "type": {
3408// CHECK-NEXT: "qualType": "void *"
3409// CHECK-NEXT: },
3410// CHECK-NEXT: "valueCategory": "rvalue",
3411// CHECK-NEXT: "castKind": "NullToPointer",
3412// CHECK-NEXT: "inner": [
3413// CHECK-NEXT: {
3414// CHECK-NEXT: "id": "0x{{.*}}",
3415// CHECK-NEXT: "kind": "IntegerLiteral",
3416// CHECK-NEXT: "range": {
3417// CHECK-NEXT: "begin": {
3418// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003419// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003420// CHECK-NEXT: },
3421// CHECK-NEXT: "end": {
3422// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003423// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003424// CHECK-NEXT: }
3425// CHECK-NEXT: },
3426// CHECK-NEXT: "type": {
3427// CHECK-NEXT: "qualType": "int"
3428// CHECK-NEXT: },
3429// CHECK-NEXT: "valueCategory": "rvalue",
3430// CHECK-NEXT: "value": "0"
3431// CHECK-NEXT: }
3432// CHECK-NEXT: ]
3433// CHECK-NEXT: }
3434// CHECK-NEXT: ]
3435// CHECK-NEXT: },
3436// CHECK-NEXT: {
3437// CHECK-NEXT: "id": "0x{{.*}}",
3438// CHECK-NEXT: "kind": "OpaqueValueExpr",
3439// CHECK-NEXT: "range": {
3440// CHECK-NEXT: "begin": {
3441// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003442// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003443// CHECK-NEXT: },
3444// CHECK-NEXT: "end": {
3445// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003446// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003447// CHECK-NEXT: }
3448// CHECK-NEXT: },
3449// CHECK-NEXT: "type": {
3450// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00003451// CHECK-NEXT: "qualType": "id",
3452// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00003453// CHECK-NEXT: },
3454// CHECK-NEXT: "valueCategory": "rvalue",
3455// CHECK-NEXT: "inner": [
3456// CHECK-NEXT: {
3457// CHECK-NEXT: "id": "0x{{.*}}",
3458// CHECK-NEXT: "kind": "ImplicitCastExpr",
3459// CHECK-NEXT: "range": {
3460// CHECK-NEXT: "begin": {
3461// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003462// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003463// CHECK-NEXT: },
3464// CHECK-NEXT: "end": {
3465// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003466// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003467// CHECK-NEXT: }
3468// CHECK-NEXT: },
3469// CHECK-NEXT: "type": {
3470// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00003471// CHECK-NEXT: "qualType": "id",
3472// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00003473// CHECK-NEXT: },
3474// CHECK-NEXT: "valueCategory": "rvalue",
3475// CHECK-NEXT: "castKind": "NullToPointer",
3476// CHECK-NEXT: "inner": [
3477// CHECK-NEXT: {
3478// CHECK-NEXT: "id": "0x{{.*}}",
3479// CHECK-NEXT: "kind": "OpaqueValueExpr",
3480// CHECK-NEXT: "range": {
3481// CHECK-NEXT: "begin": {
3482// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003483// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003484// CHECK-NEXT: },
3485// CHECK-NEXT: "end": {
3486// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003487// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003488// CHECK-NEXT: }
3489// CHECK-NEXT: },
3490// CHECK-NEXT: "type": {
3491// CHECK-NEXT: "qualType": "void *"
3492// CHECK-NEXT: },
3493// CHECK-NEXT: "valueCategory": "rvalue",
3494// CHECK-NEXT: "inner": [
3495// CHECK-NEXT: {
3496// CHECK-NEXT: "id": "0x{{.*}}",
3497// CHECK-NEXT: "kind": "CStyleCastExpr",
3498// CHECK-NEXT: "range": {
3499// CHECK-NEXT: "begin": {
3500// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003501// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003502// CHECK-NEXT: },
3503// CHECK-NEXT: "end": {
3504// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003505// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003506// CHECK-NEXT: }
3507// CHECK-NEXT: },
3508// CHECK-NEXT: "type": {
3509// CHECK-NEXT: "qualType": "void *"
3510// CHECK-NEXT: },
3511// CHECK-NEXT: "valueCategory": "rvalue",
3512// CHECK-NEXT: "castKind": "NullToPointer",
3513// CHECK-NEXT: "inner": [
3514// CHECK-NEXT: {
3515// CHECK-NEXT: "id": "0x{{.*}}",
3516// CHECK-NEXT: "kind": "IntegerLiteral",
3517// CHECK-NEXT: "range": {
3518// CHECK-NEXT: "begin": {
3519// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003520// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003521// CHECK-NEXT: },
3522// CHECK-NEXT: "end": {
3523// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003524// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003525// CHECK-NEXT: }
3526// CHECK-NEXT: },
3527// CHECK-NEXT: "type": {
3528// CHECK-NEXT: "qualType": "int"
3529// CHECK-NEXT: },
3530// CHECK-NEXT: "valueCategory": "rvalue",
3531// CHECK-NEXT: "value": "0"
3532// CHECK-NEXT: }
3533// CHECK-NEXT: ]
3534// CHECK-NEXT: }
3535// CHECK-NEXT: ]
3536// CHECK-NEXT: }
3537// CHECK-NEXT: ]
3538// CHECK-NEXT: }
3539// CHECK-NEXT: ]
3540// CHECK-NEXT: },
3541// CHECK-NEXT: {
3542// CHECK-NEXT: "id": "0x{{.*}}",
3543// CHECK-NEXT: "kind": "ObjCMessageExpr",
3544// CHECK-NEXT: "range": {
3545// CHECK-NEXT: "begin": {
3546// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003547// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003548// CHECK-NEXT: },
3549// CHECK-NEXT: "end": {
3550// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003551// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003552// CHECK-NEXT: }
3553// CHECK-NEXT: },
3554// CHECK-NEXT: "type": {
3555// CHECK-NEXT: "qualType": "void"
3556// CHECK-NEXT: },
3557// CHECK-NEXT: "valueCategory": "rvalue",
3558// CHECK-NEXT: "selector": "setObject:forKeyedSubscript:",
3559// CHECK-NEXT: "receiverKind": "instance",
3560// CHECK-NEXT: "inner": [
3561// CHECK-NEXT: {
3562// CHECK-NEXT: "id": "0x{{.*}}",
3563// CHECK-NEXT: "kind": "OpaqueValueExpr",
3564// CHECK-NEXT: "range": {
3565// CHECK-NEXT: "begin": {
3566// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003567// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003568// CHECK-NEXT: },
3569// CHECK-NEXT: "end": {
3570// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003571// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003572// CHECK-NEXT: }
3573// CHECK-NEXT: },
3574// CHECK-NEXT: "type": {
3575// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3576// CHECK-NEXT: },
3577// CHECK-NEXT: "valueCategory": "rvalue",
3578// CHECK-NEXT: "inner": [
3579// CHECK-NEXT: {
3580// CHECK-NEXT: "id": "0x{{.*}}",
3581// CHECK-NEXT: "kind": "ImplicitCastExpr",
3582// CHECK-NEXT: "range": {
3583// CHECK-NEXT: "begin": {
3584// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003585// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003586// CHECK-NEXT: },
3587// CHECK-NEXT: "end": {
3588// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003589// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003590// CHECK-NEXT: }
3591// CHECK-NEXT: },
3592// CHECK-NEXT: "type": {
3593// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3594// CHECK-NEXT: },
3595// CHECK-NEXT: "valueCategory": "rvalue",
3596// CHECK-NEXT: "castKind": "LValueToRValue",
3597// CHECK-NEXT: "inner": [
3598// CHECK-NEXT: {
3599// CHECK-NEXT: "id": "0x{{.*}}",
3600// CHECK-NEXT: "kind": "DeclRefExpr",
3601// CHECK-NEXT: "range": {
3602// CHECK-NEXT: "begin": {
3603// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003604// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003605// CHECK-NEXT: },
3606// CHECK-NEXT: "end": {
3607// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003608// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003609// CHECK-NEXT: }
3610// CHECK-NEXT: },
3611// CHECK-NEXT: "type": {
3612// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3613// CHECK-NEXT: },
3614// CHECK-NEXT: "valueCategory": "lvalue",
3615// CHECK-NEXT: "referencedDecl": {
3616// CHECK-NEXT: "id": "0x{{.*}}",
3617// CHECK-NEXT: "kind": "ParmVarDecl",
3618// CHECK-NEXT: "name": "Dict",
3619// CHECK-NEXT: "type": {
3620// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3621// CHECK-NEXT: }
3622// CHECK-NEXT: }
3623// CHECK-NEXT: }
3624// CHECK-NEXT: ]
3625// CHECK-NEXT: }
3626// CHECK-NEXT: ]
3627// CHECK-NEXT: },
3628// CHECK-NEXT: {
3629// CHECK-NEXT: "id": "0x{{.*}}",
3630// CHECK-NEXT: "kind": "OpaqueValueExpr",
3631// CHECK-NEXT: "range": {
3632// CHECK-NEXT: "begin": {
3633// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003634// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003635// CHECK-NEXT: },
3636// CHECK-NEXT: "end": {
3637// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003638// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003639// CHECK-NEXT: }
3640// CHECK-NEXT: },
3641// CHECK-NEXT: "type": {
3642// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00003643// CHECK-NEXT: "qualType": "id",
3644// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00003645// CHECK-NEXT: },
3646// CHECK-NEXT: "valueCategory": "rvalue",
3647// CHECK-NEXT: "inner": [
3648// CHECK-NEXT: {
3649// CHECK-NEXT: "id": "0x{{.*}}",
3650// CHECK-NEXT: "kind": "ImplicitCastExpr",
3651// CHECK-NEXT: "range": {
3652// CHECK-NEXT: "begin": {
3653// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003654// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003655// CHECK-NEXT: },
3656// CHECK-NEXT: "end": {
3657// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003658// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003659// CHECK-NEXT: }
3660// CHECK-NEXT: },
3661// CHECK-NEXT: "type": {
3662// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00003663// CHECK-NEXT: "qualType": "id",
3664// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00003665// CHECK-NEXT: },
3666// CHECK-NEXT: "valueCategory": "rvalue",
3667// CHECK-NEXT: "castKind": "NullToPointer",
3668// CHECK-NEXT: "inner": [
3669// CHECK-NEXT: {
3670// CHECK-NEXT: "id": "0x{{.*}}",
3671// CHECK-NEXT: "kind": "OpaqueValueExpr",
3672// CHECK-NEXT: "range": {
3673// CHECK-NEXT: "begin": {
3674// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003675// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003676// CHECK-NEXT: },
3677// CHECK-NEXT: "end": {
3678// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003679// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003680// CHECK-NEXT: }
3681// CHECK-NEXT: },
3682// CHECK-NEXT: "type": {
3683// CHECK-NEXT: "qualType": "void *"
3684// CHECK-NEXT: },
3685// CHECK-NEXT: "valueCategory": "rvalue",
3686// CHECK-NEXT: "inner": [
3687// CHECK-NEXT: {
3688// CHECK-NEXT: "id": "0x{{.*}}",
3689// CHECK-NEXT: "kind": "CStyleCastExpr",
3690// CHECK-NEXT: "range": {
3691// CHECK-NEXT: "begin": {
3692// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003693// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003694// CHECK-NEXT: },
3695// CHECK-NEXT: "end": {
3696// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003697// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003698// CHECK-NEXT: }
3699// CHECK-NEXT: },
3700// CHECK-NEXT: "type": {
3701// CHECK-NEXT: "qualType": "void *"
3702// CHECK-NEXT: },
3703// CHECK-NEXT: "valueCategory": "rvalue",
3704// CHECK-NEXT: "castKind": "NullToPointer",
3705// CHECK-NEXT: "inner": [
3706// CHECK-NEXT: {
3707// CHECK-NEXT: "id": "0x{{.*}}",
3708// CHECK-NEXT: "kind": "IntegerLiteral",
3709// CHECK-NEXT: "range": {
3710// CHECK-NEXT: "begin": {
3711// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003712// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003713// CHECK-NEXT: },
3714// CHECK-NEXT: "end": {
3715// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003716// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003717// CHECK-NEXT: }
3718// CHECK-NEXT: },
3719// CHECK-NEXT: "type": {
3720// CHECK-NEXT: "qualType": "int"
3721// CHECK-NEXT: },
3722// CHECK-NEXT: "valueCategory": "rvalue",
3723// CHECK-NEXT: "value": "0"
3724// CHECK-NEXT: }
3725// CHECK-NEXT: ]
3726// CHECK-NEXT: }
3727// CHECK-NEXT: ]
3728// CHECK-NEXT: }
3729// CHECK-NEXT: ]
3730// CHECK-NEXT: }
3731// CHECK-NEXT: ]
3732// CHECK-NEXT: },
3733// CHECK-NEXT: {
3734// CHECK-NEXT: "id": "0x{{.*}}",
3735// CHECK-NEXT: "kind": "ImplicitCastExpr",
3736// CHECK-NEXT: "range": {
3737// CHECK-NEXT: "begin": {
3738// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003739// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003740// CHECK-NEXT: },
3741// CHECK-NEXT: "end": {
3742// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003743// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003744// CHECK-NEXT: }
3745// CHECK-NEXT: },
3746// CHECK-NEXT: "type": {
3747// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00003748// CHECK-NEXT: "qualType": "id",
3749// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00003750// CHECK-NEXT: },
3751// CHECK-NEXT: "valueCategory": "rvalue",
3752// CHECK-NEXT: "castKind": "BitCast",
3753// CHECK-NEXT: "inner": [
3754// CHECK-NEXT: {
3755// CHECK-NEXT: "id": "0x{{.*}}",
3756// CHECK-NEXT: "kind": "OpaqueValueExpr",
3757// CHECK-NEXT: "range": {
3758// CHECK-NEXT: "begin": {
3759// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003760// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003761// CHECK-NEXT: },
3762// CHECK-NEXT: "end": {
3763// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003764// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003765// CHECK-NEXT: }
3766// CHECK-NEXT: },
3767// CHECK-NEXT: "type": {
3768// CHECK-NEXT: "qualType": "NSString *"
3769// CHECK-NEXT: },
3770// CHECK-NEXT: "valueCategory": "rvalue",
3771// CHECK-NEXT: "inner": [
3772// CHECK-NEXT: {
3773// CHECK-NEXT: "id": "0x{{.*}}",
3774// CHECK-NEXT: "kind": "ObjCStringLiteral",
3775// CHECK-NEXT: "range": {
3776// CHECK-NEXT: "begin": {
3777// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003778// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003779// CHECK-NEXT: },
3780// CHECK-NEXT: "end": {
3781// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003782// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003783// CHECK-NEXT: }
3784// CHECK-NEXT: },
3785// CHECK-NEXT: "type": {
3786// CHECK-NEXT: "qualType": "NSString *"
3787// CHECK-NEXT: },
3788// CHECK-NEXT: "valueCategory": "rvalue",
3789// CHECK-NEXT: "inner": [
3790// CHECK-NEXT: {
3791// CHECK-NEXT: "id": "0x{{.*}}",
3792// CHECK-NEXT: "kind": "StringLiteral",
3793// CHECK-NEXT: "range": {
3794// CHECK-NEXT: "begin": {
3795// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003796// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003797// CHECK-NEXT: },
3798// CHECK-NEXT: "end": {
3799// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003800// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003801// CHECK-NEXT: }
3802// CHECK-NEXT: },
3803// CHECK-NEXT: "type": {
3804// CHECK-NEXT: "qualType": "char [4]"
3805// CHECK-NEXT: },
3806// CHECK-NEXT: "valueCategory": "lvalue",
3807// CHECK-NEXT: "value": "\"key\""
3808// CHECK-NEXT: }
3809// CHECK-NEXT: ]
3810// CHECK-NEXT: }
3811// CHECK-NEXT: ]
3812// CHECK-NEXT: }
3813// CHECK-NEXT: ]
3814// CHECK-NEXT: }
3815// CHECK-NEXT: ]
3816// CHECK-NEXT: }
3817// CHECK-NEXT: ]
3818// CHECK-NEXT: },
3819// CHECK-NEXT: {
3820// CHECK-NEXT: "id": "0x{{.*}}",
3821// CHECK-NEXT: "kind": "BinaryOperator",
3822// CHECK-NEXT: "range": {
3823// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +00003824// CHECK-NEXT: "line": 86,
Aaron Ballman75e23f82019-06-20 21:45:31 +00003825// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003826// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003827// CHECK-NEXT: },
3828// CHECK-NEXT: "end": {
3829// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003830// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003831// CHECK-NEXT: }
3832// CHECK-NEXT: },
3833// CHECK-NEXT: "type": {
3834// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00003835// CHECK-NEXT: "qualType": "id",
3836// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00003837// CHECK-NEXT: },
3838// CHECK-NEXT: "valueCategory": "rvalue",
3839// CHECK-NEXT: "opcode": "=",
3840// CHECK-NEXT: "inner": [
3841// CHECK-NEXT: {
3842// CHECK-NEXT: "id": "0x{{.*}}",
3843// CHECK-NEXT: "kind": "DeclRefExpr",
3844// CHECK-NEXT: "range": {
3845// CHECK-NEXT: "begin": {
3846// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003847// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003848// CHECK-NEXT: },
3849// CHECK-NEXT: "end": {
3850// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003851// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003852// CHECK-NEXT: }
3853// CHECK-NEXT: },
3854// CHECK-NEXT: "type": {
3855// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00003856// CHECK-NEXT: "qualType": "id",
3857// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00003858// CHECK-NEXT: },
3859// CHECK-NEXT: "valueCategory": "lvalue",
3860// CHECK-NEXT: "referencedDecl": {
3861// CHECK-NEXT: "id": "0x{{.*}}",
3862// CHECK-NEXT: "kind": "VarDecl",
3863// CHECK-NEXT: "name": "i",
3864// CHECK-NEXT: "type": {
3865// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00003866// CHECK-NEXT: "qualType": "id",
3867// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00003868// CHECK-NEXT: }
3869// CHECK-NEXT: }
3870// CHECK-NEXT: },
3871// CHECK-NEXT: {
3872// CHECK-NEXT: "id": "0x{{.*}}",
3873// CHECK-NEXT: "kind": "PseudoObjectExpr",
3874// CHECK-NEXT: "range": {
3875// CHECK-NEXT: "begin": {
3876// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00003877// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003878// CHECK-NEXT: },
3879// CHECK-NEXT: "end": {
3880// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003881// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003882// CHECK-NEXT: }
3883// CHECK-NEXT: },
3884// CHECK-NEXT: "type": {
3885// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00003886// CHECK-NEXT: "qualType": "id",
3887// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00003888// CHECK-NEXT: },
3889// CHECK-NEXT: "valueCategory": "rvalue",
3890// CHECK-NEXT: "inner": [
3891// CHECK-NEXT: {
3892// CHECK-NEXT: "id": "0x{{.*}}",
3893// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
3894// CHECK-NEXT: "range": {
3895// CHECK-NEXT: "begin": {
3896// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00003897// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003898// CHECK-NEXT: },
3899// CHECK-NEXT: "end": {
3900// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003901// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003902// CHECK-NEXT: }
3903// CHECK-NEXT: },
3904// CHECK-NEXT: "type": {
3905// CHECK-NEXT: "qualType": "<pseudo-object type>"
3906// CHECK-NEXT: },
3907// CHECK-NEXT: "valueCategory": "lvalue",
3908// CHECK-NEXT: "subscriptKind": "dictionary",
3909// CHECK-NEXT: "inner": [
3910// CHECK-NEXT: {
3911// CHECK-NEXT: "id": "0x{{.*}}",
3912// CHECK-NEXT: "kind": "OpaqueValueExpr",
3913// CHECK-NEXT: "range": {
3914// CHECK-NEXT: "begin": {
3915// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00003916// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003917// CHECK-NEXT: },
3918// CHECK-NEXT: "end": {
3919// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00003920// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003921// CHECK-NEXT: }
3922// CHECK-NEXT: },
3923// CHECK-NEXT: "type": {
3924// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3925// CHECK-NEXT: },
3926// CHECK-NEXT: "valueCategory": "rvalue",
3927// CHECK-NEXT: "inner": [
3928// CHECK-NEXT: {
3929// CHECK-NEXT: "id": "0x{{.*}}",
3930// CHECK-NEXT: "kind": "ImplicitCastExpr",
3931// CHECK-NEXT: "range": {
3932// CHECK-NEXT: "begin": {
3933// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00003934// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003935// CHECK-NEXT: },
3936// CHECK-NEXT: "end": {
3937// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00003938// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003939// CHECK-NEXT: }
3940// CHECK-NEXT: },
3941// CHECK-NEXT: "type": {
3942// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3943// CHECK-NEXT: },
3944// CHECK-NEXT: "valueCategory": "rvalue",
3945// CHECK-NEXT: "castKind": "LValueToRValue",
3946// CHECK-NEXT: "inner": [
3947// CHECK-NEXT: {
3948// CHECK-NEXT: "id": "0x{{.*}}",
3949// CHECK-NEXT: "kind": "DeclRefExpr",
3950// CHECK-NEXT: "range": {
3951// CHECK-NEXT: "begin": {
3952// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00003953// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003954// CHECK-NEXT: },
3955// CHECK-NEXT: "end": {
3956// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00003957// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003958// CHECK-NEXT: }
3959// CHECK-NEXT: },
3960// CHECK-NEXT: "type": {
3961// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3962// CHECK-NEXT: },
3963// CHECK-NEXT: "valueCategory": "lvalue",
3964// CHECK-NEXT: "referencedDecl": {
3965// CHECK-NEXT: "id": "0x{{.*}}",
3966// CHECK-NEXT: "kind": "ParmVarDecl",
3967// CHECK-NEXT: "name": "Dict",
3968// CHECK-NEXT: "type": {
3969// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3970// CHECK-NEXT: }
3971// CHECK-NEXT: }
3972// CHECK-NEXT: }
3973// CHECK-NEXT: ]
3974// CHECK-NEXT: }
3975// CHECK-NEXT: ]
3976// CHECK-NEXT: },
3977// CHECK-NEXT: {
3978// CHECK-NEXT: "id": "0x{{.*}}",
3979// CHECK-NEXT: "kind": "OpaqueValueExpr",
3980// CHECK-NEXT: "range": {
3981// CHECK-NEXT: "begin": {
3982// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00003983// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003984// CHECK-NEXT: },
3985// CHECK-NEXT: "end": {
3986// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00003987// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003988// CHECK-NEXT: }
3989// CHECK-NEXT: },
3990// CHECK-NEXT: "type": {
3991// CHECK-NEXT: "qualType": "NSString *"
3992// CHECK-NEXT: },
3993// CHECK-NEXT: "valueCategory": "rvalue",
3994// CHECK-NEXT: "inner": [
3995// CHECK-NEXT: {
3996// CHECK-NEXT: "id": "0x{{.*}}",
3997// CHECK-NEXT: "kind": "ObjCStringLiteral",
3998// CHECK-NEXT: "range": {
3999// CHECK-NEXT: "begin": {
4000// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004001// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004002// CHECK-NEXT: },
4003// CHECK-NEXT: "end": {
4004// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004005// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004006// CHECK-NEXT: }
4007// CHECK-NEXT: },
4008// CHECK-NEXT: "type": {
4009// CHECK-NEXT: "qualType": "NSString *"
4010// CHECK-NEXT: },
4011// CHECK-NEXT: "valueCategory": "rvalue",
4012// CHECK-NEXT: "inner": [
4013// CHECK-NEXT: {
4014// CHECK-NEXT: "id": "0x{{.*}}",
4015// CHECK-NEXT: "kind": "StringLiteral",
4016// CHECK-NEXT: "range": {
4017// CHECK-NEXT: "begin": {
4018// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004019// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004020// CHECK-NEXT: },
4021// CHECK-NEXT: "end": {
4022// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004023// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004024// CHECK-NEXT: }
4025// CHECK-NEXT: },
4026// CHECK-NEXT: "type": {
4027// CHECK-NEXT: "qualType": "char [4]"
4028// CHECK-NEXT: },
4029// CHECK-NEXT: "valueCategory": "lvalue",
4030// CHECK-NEXT: "value": "\"key\""
4031// CHECK-NEXT: }
4032// CHECK-NEXT: ]
4033// CHECK-NEXT: }
4034// CHECK-NEXT: ]
4035// CHECK-NEXT: }
4036// CHECK-NEXT: ]
4037// CHECK-NEXT: },
4038// CHECK-NEXT: {
4039// CHECK-NEXT: "id": "0x{{.*}}",
4040// CHECK-NEXT: "kind": "OpaqueValueExpr",
4041// CHECK-NEXT: "range": {
4042// CHECK-NEXT: "begin": {
4043// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004044// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004045// CHECK-NEXT: },
4046// CHECK-NEXT: "end": {
4047// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004048// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004049// CHECK-NEXT: }
4050// CHECK-NEXT: },
4051// CHECK-NEXT: "type": {
4052// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4053// CHECK-NEXT: },
4054// CHECK-NEXT: "valueCategory": "rvalue",
4055// CHECK-NEXT: "inner": [
4056// CHECK-NEXT: {
4057// CHECK-NEXT: "id": "0x{{.*}}",
4058// CHECK-NEXT: "kind": "ImplicitCastExpr",
4059// CHECK-NEXT: "range": {
4060// CHECK-NEXT: "begin": {
4061// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004062// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004063// CHECK-NEXT: },
4064// CHECK-NEXT: "end": {
4065// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004066// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004067// CHECK-NEXT: }
4068// CHECK-NEXT: },
4069// CHECK-NEXT: "type": {
4070// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4071// CHECK-NEXT: },
4072// CHECK-NEXT: "valueCategory": "rvalue",
4073// CHECK-NEXT: "castKind": "LValueToRValue",
4074// CHECK-NEXT: "inner": [
4075// CHECK-NEXT: {
4076// CHECK-NEXT: "id": "0x{{.*}}",
4077// CHECK-NEXT: "kind": "DeclRefExpr",
4078// CHECK-NEXT: "range": {
4079// CHECK-NEXT: "begin": {
4080// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004081// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004082// CHECK-NEXT: },
4083// CHECK-NEXT: "end": {
4084// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004085// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004086// CHECK-NEXT: }
4087// CHECK-NEXT: },
4088// CHECK-NEXT: "type": {
4089// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4090// CHECK-NEXT: },
4091// CHECK-NEXT: "valueCategory": "lvalue",
4092// CHECK-NEXT: "referencedDecl": {
4093// CHECK-NEXT: "id": "0x{{.*}}",
4094// CHECK-NEXT: "kind": "ParmVarDecl",
4095// CHECK-NEXT: "name": "Dict",
4096// CHECK-NEXT: "type": {
4097// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4098// CHECK-NEXT: }
4099// CHECK-NEXT: }
4100// CHECK-NEXT: }
4101// CHECK-NEXT: ]
4102// CHECK-NEXT: }
4103// CHECK-NEXT: ]
4104// CHECK-NEXT: },
4105// CHECK-NEXT: {
4106// CHECK-NEXT: "id": "0x{{.*}}",
4107// CHECK-NEXT: "kind": "OpaqueValueExpr",
4108// CHECK-NEXT: "range": {
4109// CHECK-NEXT: "begin": {
4110// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004111// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004112// CHECK-NEXT: },
4113// CHECK-NEXT: "end": {
4114// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004115// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004116// CHECK-NEXT: }
4117// CHECK-NEXT: },
4118// CHECK-NEXT: "type": {
4119// CHECK-NEXT: "qualType": "NSString *"
4120// CHECK-NEXT: },
4121// CHECK-NEXT: "valueCategory": "rvalue",
4122// CHECK-NEXT: "inner": [
4123// CHECK-NEXT: {
4124// CHECK-NEXT: "id": "0x{{.*}}",
4125// CHECK-NEXT: "kind": "ObjCStringLiteral",
4126// CHECK-NEXT: "range": {
4127// CHECK-NEXT: "begin": {
4128// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004129// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004130// CHECK-NEXT: },
4131// CHECK-NEXT: "end": {
4132// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004133// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004134// CHECK-NEXT: }
4135// CHECK-NEXT: },
4136// CHECK-NEXT: "type": {
4137// CHECK-NEXT: "qualType": "NSString *"
4138// CHECK-NEXT: },
4139// CHECK-NEXT: "valueCategory": "rvalue",
4140// CHECK-NEXT: "inner": [
4141// CHECK-NEXT: {
4142// CHECK-NEXT: "id": "0x{{.*}}",
4143// CHECK-NEXT: "kind": "StringLiteral",
4144// CHECK-NEXT: "range": {
4145// CHECK-NEXT: "begin": {
4146// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004147// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004148// CHECK-NEXT: },
4149// CHECK-NEXT: "end": {
4150// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004151// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004152// CHECK-NEXT: }
4153// CHECK-NEXT: },
4154// CHECK-NEXT: "type": {
4155// CHECK-NEXT: "qualType": "char [4]"
4156// CHECK-NEXT: },
4157// CHECK-NEXT: "valueCategory": "lvalue",
4158// CHECK-NEXT: "value": "\"key\""
4159// CHECK-NEXT: }
4160// CHECK-NEXT: ]
4161// CHECK-NEXT: }
4162// CHECK-NEXT: ]
4163// CHECK-NEXT: },
4164// CHECK-NEXT: {
4165// CHECK-NEXT: "id": "0x{{.*}}",
4166// CHECK-NEXT: "kind": "ObjCMessageExpr",
4167// CHECK-NEXT: "range": {
4168// CHECK-NEXT: "begin": {
4169// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004170// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004171// CHECK-NEXT: },
4172// CHECK-NEXT: "end": {
4173// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004174// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004175// CHECK-NEXT: }
4176// CHECK-NEXT: },
4177// CHECK-NEXT: "type": {
4178// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004179// CHECK-NEXT: "qualType": "id",
4180// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00004181// CHECK-NEXT: },
4182// CHECK-NEXT: "valueCategory": "rvalue",
4183// CHECK-NEXT: "selector": "objectForKeyedSubscript:",
4184// CHECK-NEXT: "receiverKind": "instance",
4185// CHECK-NEXT: "inner": [
4186// CHECK-NEXT: {
4187// CHECK-NEXT: "id": "0x{{.*}}",
4188// CHECK-NEXT: "kind": "OpaqueValueExpr",
4189// CHECK-NEXT: "range": {
4190// CHECK-NEXT: "begin": {
4191// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004192// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004193// CHECK-NEXT: },
4194// CHECK-NEXT: "end": {
4195// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004196// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004197// CHECK-NEXT: }
4198// CHECK-NEXT: },
4199// CHECK-NEXT: "type": {
4200// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4201// CHECK-NEXT: },
4202// CHECK-NEXT: "valueCategory": "rvalue",
4203// CHECK-NEXT: "inner": [
4204// CHECK-NEXT: {
4205// CHECK-NEXT: "id": "0x{{.*}}",
4206// CHECK-NEXT: "kind": "ImplicitCastExpr",
4207// CHECK-NEXT: "range": {
4208// CHECK-NEXT: "begin": {
4209// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004210// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004211// CHECK-NEXT: },
4212// CHECK-NEXT: "end": {
4213// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004214// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004215// CHECK-NEXT: }
4216// CHECK-NEXT: },
4217// CHECK-NEXT: "type": {
4218// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4219// CHECK-NEXT: },
4220// CHECK-NEXT: "valueCategory": "rvalue",
4221// CHECK-NEXT: "castKind": "LValueToRValue",
4222// CHECK-NEXT: "inner": [
4223// CHECK-NEXT: {
4224// CHECK-NEXT: "id": "0x{{.*}}",
4225// CHECK-NEXT: "kind": "DeclRefExpr",
4226// CHECK-NEXT: "range": {
4227// CHECK-NEXT: "begin": {
4228// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004229// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004230// CHECK-NEXT: },
4231// CHECK-NEXT: "end": {
4232// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004233// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004234// CHECK-NEXT: }
4235// CHECK-NEXT: },
4236// CHECK-NEXT: "type": {
4237// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4238// CHECK-NEXT: },
4239// CHECK-NEXT: "valueCategory": "lvalue",
4240// CHECK-NEXT: "referencedDecl": {
4241// CHECK-NEXT: "id": "0x{{.*}}",
4242// CHECK-NEXT: "kind": "ParmVarDecl",
4243// CHECK-NEXT: "name": "Dict",
4244// CHECK-NEXT: "type": {
4245// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4246// CHECK-NEXT: }
4247// CHECK-NEXT: }
4248// CHECK-NEXT: }
4249// CHECK-NEXT: ]
4250// CHECK-NEXT: }
4251// CHECK-NEXT: ]
4252// CHECK-NEXT: },
4253// CHECK-NEXT: {
4254// CHECK-NEXT: "id": "0x{{.*}}",
4255// CHECK-NEXT: "kind": "ImplicitCastExpr",
4256// CHECK-NEXT: "range": {
4257// CHECK-NEXT: "begin": {
4258// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004259// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004260// CHECK-NEXT: },
4261// CHECK-NEXT: "end": {
4262// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004263// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004264// CHECK-NEXT: }
4265// CHECK-NEXT: },
4266// CHECK-NEXT: "type": {
4267// CHECK-NEXT: "desugaredQualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004268// CHECK-NEXT: "qualType": "id",
4269// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00004270// CHECK-NEXT: },
4271// CHECK-NEXT: "valueCategory": "rvalue",
4272// CHECK-NEXT: "castKind": "BitCast",
4273// CHECK-NEXT: "inner": [
4274// CHECK-NEXT: {
4275// CHECK-NEXT: "id": "0x{{.*}}",
4276// CHECK-NEXT: "kind": "OpaqueValueExpr",
4277// CHECK-NEXT: "range": {
4278// CHECK-NEXT: "begin": {
4279// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004280// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004281// CHECK-NEXT: },
4282// CHECK-NEXT: "end": {
4283// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004284// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004285// CHECK-NEXT: }
4286// CHECK-NEXT: },
4287// CHECK-NEXT: "type": {
4288// CHECK-NEXT: "qualType": "NSString *"
4289// CHECK-NEXT: },
4290// CHECK-NEXT: "valueCategory": "rvalue",
4291// CHECK-NEXT: "inner": [
4292// CHECK-NEXT: {
4293// CHECK-NEXT: "id": "0x{{.*}}",
4294// CHECK-NEXT: "kind": "ObjCStringLiteral",
4295// CHECK-NEXT: "range": {
4296// CHECK-NEXT: "begin": {
4297// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004298// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004299// CHECK-NEXT: },
4300// CHECK-NEXT: "end": {
4301// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004302// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004303// CHECK-NEXT: }
4304// CHECK-NEXT: },
4305// CHECK-NEXT: "type": {
4306// CHECK-NEXT: "qualType": "NSString *"
4307// CHECK-NEXT: },
4308// CHECK-NEXT: "valueCategory": "rvalue",
4309// CHECK-NEXT: "inner": [
4310// CHECK-NEXT: {
4311// CHECK-NEXT: "id": "0x{{.*}}",
4312// CHECK-NEXT: "kind": "StringLiteral",
4313// CHECK-NEXT: "range": {
4314// CHECK-NEXT: "begin": {
4315// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004316// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004317// CHECK-NEXT: },
4318// CHECK-NEXT: "end": {
4319// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004320// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004321// CHECK-NEXT: }
4322// CHECK-NEXT: },
4323// CHECK-NEXT: "type": {
4324// CHECK-NEXT: "qualType": "char [4]"
4325// CHECK-NEXT: },
4326// CHECK-NEXT: "valueCategory": "lvalue",
4327// CHECK-NEXT: "value": "\"key\""
4328// CHECK-NEXT: }
4329// CHECK-NEXT: ]
4330// CHECK-NEXT: }
4331// CHECK-NEXT: ]
4332// CHECK-NEXT: }
4333// CHECK-NEXT: ]
4334// CHECK-NEXT: }
4335// CHECK-NEXT: ]
4336// CHECK-NEXT: }
4337// CHECK-NEXT: ]
4338// CHECK-NEXT: }
4339// CHECK-NEXT: ]
4340// CHECK-NEXT: }
4341// CHECK-NEXT: ]
4342// CHECK-NEXT: }
4343// CHECK-NEXT: ]
4344// CHECK-NEXT: }
4345
4346
4347// CHECK: "kind": "FunctionDecl",
4348// CHECK-NEXT: "loc": {
Aaron Ballman75e23f82019-06-20 21:45:31 +00004349// CHECK-NEXT: "file": "{{.*}}",
Aaron Ballmana612e342019-06-24 20:07:11 +00004350// CHECK-NEXT: "line": 89,
4351// CHECK-NEXT: "col": 6,
4352// CHECK-NEXT: "tokLen": 15
Aaron Ballman75e23f82019-06-20 21:45:31 +00004353// CHECK-NEXT: },
4354// CHECK-NEXT: "range": {
4355// CHECK-NEXT: "begin": {
4356// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004357// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004358// CHECK-NEXT: },
4359// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +00004360// CHECK-NEXT: "line": 91,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004361// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004362// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004363// CHECK-NEXT: }
4364// CHECK-NEXT: },
4365// CHECK-NEXT: "name": "TestObjCIVarRef",
4366// CHECK-NEXT: "type": {
4367// CHECK-NEXT: "qualType": "void (I *)"
4368// CHECK-NEXT: },
4369// CHECK-NEXT: "inner": [
4370// CHECK-NEXT: {
4371// CHECK-NEXT: "id": "0x{{.*}}",
4372// CHECK-NEXT: "kind": "ParmVarDecl",
4373// CHECK-NEXT: "loc": {
Aaron Ballmana612e342019-06-24 20:07:11 +00004374// CHECK-NEXT: "line": 89,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004375// CHECK-NEXT: "col": 25,
Aaron Ballmana612e342019-06-24 20:07:11 +00004376// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004377// CHECK-NEXT: },
4378// CHECK-NEXT: "range": {
4379// CHECK-NEXT: "begin": {
4380// CHECK-NEXT: "col": 22,
Aaron Ballmana612e342019-06-24 20:07:11 +00004381// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004382// CHECK-NEXT: },
4383// CHECK-NEXT: "end": {
4384// CHECK-NEXT: "col": 25,
Aaron Ballmana612e342019-06-24 20:07:11 +00004385// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004386// CHECK-NEXT: }
4387// CHECK-NEXT: },
4388// CHECK-NEXT: "isUsed": true,
4389// CHECK-NEXT: "name": "Ptr",
4390// CHECK-NEXT: "type": {
4391// CHECK-NEXT: "qualType": "I *"
4392// CHECK-NEXT: }
4393// CHECK-NEXT: },
4394// CHECK-NEXT: {
4395// CHECK-NEXT: "id": "0x{{.*}}",
4396// CHECK-NEXT: "kind": "CompoundStmt",
4397// CHECK-NEXT: "range": {
4398// CHECK-NEXT: "begin": {
4399// CHECK-NEXT: "col": 30,
Aaron Ballmana612e342019-06-24 20:07:11 +00004400// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004401// CHECK-NEXT: },
4402// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +00004403// CHECK-NEXT: "line": 91,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004404// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004405// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004406// CHECK-NEXT: }
4407// CHECK-NEXT: },
4408// CHECK-NEXT: "inner": [
4409// CHECK-NEXT: {
4410// CHECK-NEXT: "id": "0x{{.*}}",
4411// CHECK-NEXT: "kind": "BinaryOperator",
4412// CHECK-NEXT: "range": {
4413// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +00004414// CHECK-NEXT: "line": 90,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004415// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004416// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004417// CHECK-NEXT: },
4418// CHECK-NEXT: "end": {
4419// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004420// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004421// CHECK-NEXT: }
4422// CHECK-NEXT: },
4423// CHECK-NEXT: "type": {
4424// CHECK-NEXT: "qualType": "int"
4425// CHECK-NEXT: },
4426// CHECK-NEXT: "valueCategory": "rvalue",
4427// CHECK-NEXT: "opcode": "=",
4428// CHECK-NEXT: "inner": [
4429// CHECK-NEXT: {
4430// CHECK-NEXT: "id": "0x{{.*}}",
4431// CHECK-NEXT: "kind": "ObjCIvarRefExpr",
4432// CHECK-NEXT: "range": {
4433// CHECK-NEXT: "begin": {
4434// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004435// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004436// CHECK-NEXT: },
4437// CHECK-NEXT: "end": {
4438// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00004439// CHECK-NEXT: "tokLen": 6
Aaron Ballman75e23f82019-06-20 21:45:31 +00004440// CHECK-NEXT: }
4441// CHECK-NEXT: },
4442// CHECK-NEXT: "type": {
4443// CHECK-NEXT: "qualType": "int"
4444// CHECK-NEXT: },
4445// CHECK-NEXT: "valueCategory": "lvalue",
4446// CHECK-NEXT: "decl": {
4447// CHECK-NEXT: "id": "0x{{.*}}",
4448// CHECK-NEXT: "kind": "ObjCIvarDecl",
4449// CHECK-NEXT: "name": "public",
4450// CHECK-NEXT: "type": {
4451// CHECK-NEXT: "qualType": "int"
4452// CHECK-NEXT: }
4453// CHECK-NEXT: },
4454// CHECK-NEXT: "isArrow": true,
4455// CHECK-NEXT: "inner": [
4456// CHECK-NEXT: {
4457// CHECK-NEXT: "id": "0x{{.*}}",
4458// CHECK-NEXT: "kind": "ImplicitCastExpr",
4459// CHECK-NEXT: "range": {
4460// CHECK-NEXT: "begin": {
4461// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004462// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004463// CHECK-NEXT: },
4464// CHECK-NEXT: "end": {
4465// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004466// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004467// CHECK-NEXT: }
4468// CHECK-NEXT: },
4469// CHECK-NEXT: "type": {
4470// CHECK-NEXT: "qualType": "I *"
4471// CHECK-NEXT: },
4472// CHECK-NEXT: "valueCategory": "rvalue",
4473// CHECK-NEXT: "castKind": "LValueToRValue",
4474// CHECK-NEXT: "inner": [
4475// CHECK-NEXT: {
4476// CHECK-NEXT: "id": "0x{{.*}}",
4477// CHECK-NEXT: "kind": "DeclRefExpr",
4478// CHECK-NEXT: "range": {
4479// CHECK-NEXT: "begin": {
4480// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004481// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004482// CHECK-NEXT: },
4483// CHECK-NEXT: "end": {
4484// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004485// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004486// CHECK-NEXT: }
4487// CHECK-NEXT: },
4488// CHECK-NEXT: "type": {
4489// CHECK-NEXT: "qualType": "I *"
4490// CHECK-NEXT: },
4491// CHECK-NEXT: "valueCategory": "lvalue",
4492// CHECK-NEXT: "referencedDecl": {
4493// CHECK-NEXT: "id": "0x{{.*}}",
4494// CHECK-NEXT: "kind": "ParmVarDecl",
4495// CHECK-NEXT: "name": "Ptr",
4496// CHECK-NEXT: "type": {
4497// CHECK-NEXT: "qualType": "I *"
4498// CHECK-NEXT: }
4499// CHECK-NEXT: }
4500// CHECK-NEXT: }
4501// CHECK-NEXT: ]
4502// CHECK-NEXT: }
4503// CHECK-NEXT: ]
4504// CHECK-NEXT: },
4505// CHECK-NEXT: {
4506// CHECK-NEXT: "id": "0x{{.*}}",
4507// CHECK-NEXT: "kind": "IntegerLiteral",
4508// CHECK-NEXT: "range": {
4509// CHECK-NEXT: "begin": {
4510// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004511// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004512// CHECK-NEXT: },
4513// CHECK-NEXT: "end": {
4514// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004515// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004516// CHECK-NEXT: }
4517// CHECK-NEXT: },
4518// CHECK-NEXT: "type": {
4519// CHECK-NEXT: "qualType": "int"
4520// CHECK-NEXT: },
4521// CHECK-NEXT: "valueCategory": "rvalue",
4522// CHECK-NEXT: "value": "0"
4523// CHECK-NEXT: }
4524// CHECK-NEXT: ]
4525// CHECK-NEXT: }
4526// CHECK-NEXT: ]
4527// CHECK-NEXT: }
4528// CHECK-NEXT: ]
4529// CHECK-NEXT: }
4530
4531
4532// CHECK: "kind": "FunctionDecl",
4533// CHECK-NEXT: "loc": {
Aaron Ballman75e23f82019-06-20 21:45:31 +00004534// CHECK-NEXT: "file": "{{.*}}",
Aaron Ballmana612e342019-06-24 20:07:11 +00004535// CHECK-NEXT: "line": 93,
4536// CHECK-NEXT: "col": 6,
4537// CHECK-NEXT: "tokLen": 19
Aaron Ballman75e23f82019-06-20 21:45:31 +00004538// CHECK-NEXT: },
4539// CHECK-NEXT: "range": {
4540// CHECK-NEXT: "begin": {
4541// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004542// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004543// CHECK-NEXT: },
4544// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +00004545// CHECK-NEXT: "line": 96,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004546// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004547// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004548// CHECK-NEXT: }
4549// CHECK-NEXT: },
4550// CHECK-NEXT: "name": "TestObjCBoolLiteral",
4551// CHECK-NEXT: "type": {
4552// CHECK-NEXT: "qualType": "void ()"
4553// CHECK-NEXT: },
4554// CHECK-NEXT: "inner": [
4555// CHECK-NEXT: {
4556// CHECK-NEXT: "id": "0x{{.*}}",
4557// CHECK-NEXT: "kind": "CompoundStmt",
4558// CHECK-NEXT: "range": {
4559// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +00004560// CHECK-NEXT: "line": 93,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004561// CHECK-NEXT: "col": 28,
Aaron Ballmana612e342019-06-24 20:07:11 +00004562// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004563// CHECK-NEXT: },
4564// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +00004565// CHECK-NEXT: "line": 96,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004566// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004567// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004568// CHECK-NEXT: }
4569// CHECK-NEXT: },
4570// CHECK-NEXT: "inner": [
4571// CHECK-NEXT: {
4572// CHECK-NEXT: "id": "0x{{.*}}",
4573// CHECK-NEXT: "kind": "ObjCBoolLiteralExpr",
4574// CHECK-NEXT: "range": {
4575// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +00004576// CHECK-NEXT: "line": 94,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004577// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004578// CHECK-NEXT: "tokLen": 10
Aaron Ballman75e23f82019-06-20 21:45:31 +00004579// CHECK-NEXT: },
4580// CHECK-NEXT: "end": {
4581// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004582// CHECK-NEXT: "tokLen": 10
Aaron Ballman75e23f82019-06-20 21:45:31 +00004583// CHECK-NEXT: }
4584// CHECK-NEXT: },
4585// CHECK-NEXT: "type": {
4586// CHECK-NEXT: "desugaredQualType": "signed char",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004587// CHECK-NEXT: "qualType": "BOOL",
4588// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00004589// CHECK-NEXT: },
4590// CHECK-NEXT: "valueCategory": "rvalue",
4591// CHECK-NEXT: "value": "__objc_yes"
4592// CHECK-NEXT: },
4593// CHECK-NEXT: {
4594// CHECK-NEXT: "id": "0x{{.*}}",
4595// CHECK-NEXT: "kind": "ObjCBoolLiteralExpr",
4596// CHECK-NEXT: "range": {
4597// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +00004598// CHECK-NEXT: "line": 95,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004599// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004600// CHECK-NEXT: "tokLen": 9
Aaron Ballman75e23f82019-06-20 21:45:31 +00004601// CHECK-NEXT: },
4602// CHECK-NEXT: "end": {
4603// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004604// CHECK-NEXT: "tokLen": 9
Aaron Ballman75e23f82019-06-20 21:45:31 +00004605// CHECK-NEXT: }
4606// CHECK-NEXT: },
4607// CHECK-NEXT: "type": {
4608// CHECK-NEXT: "desugaredQualType": "signed char",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004609// CHECK-NEXT: "qualType": "BOOL",
4610// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00004611// CHECK-NEXT: },
4612// CHECK-NEXT: "valueCategory": "rvalue",
4613// CHECK-NEXT: "value": "__objc_no"
4614// CHECK-NEXT: }
4615// CHECK-NEXT: ]
4616// CHECK-NEXT: }
4617// CHECK-NEXT: ]
4618// CHECK-NEXT: }