blob: 91a98f5e02901bef7c766ab7df904ce36dba7139 [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 *",
615// CHECK-NEXT: "qualType": "SEL"
616// CHECK-NEXT: },
617// CHECK-NEXT: "init": "c",
618// CHECK-NEXT: "inner": [
619// CHECK-NEXT: {
620// CHECK-NEXT: "id": "0x{{.*}}",
621// CHECK-NEXT: "kind": "ObjCSelectorExpr",
622// CHECK-NEXT: "range": {
623// CHECK-NEXT: "begin": {
624// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +0000625// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000626// CHECK-NEXT: },
627// CHECK-NEXT: "end": {
628// CHECK-NEXT: "col": 28,
Aaron Ballmana612e342019-06-24 20:07:11 +0000629// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000630// CHECK-NEXT: }
631// CHECK-NEXT: },
632// CHECK-NEXT: "type": {
633// CHECK-NEXT: "desugaredQualType": "SEL *",
634// CHECK-NEXT: "qualType": "SEL"
635// CHECK-NEXT: },
636// CHECK-NEXT: "valueCategory": "rvalue",
637// CHECK-NEXT: "selector": "dealloc"
638// CHECK-NEXT: }
639// CHECK-NEXT: ]
640// CHECK-NEXT: }
641// CHECK-NEXT: ]
642// CHECK-NEXT: }
643// CHECK-NEXT: ]
644// CHECK-NEXT: }
645// CHECK-NEXT: ]
646// CHECK-NEXT: }
647
648
649// CHECK: "kind": "FunctionDecl",
650// CHECK-NEXT: "loc": {
Aaron Ballman75e23f82019-06-20 21:45:31 +0000651// CHECK-NEXT: "file": "{{.*}}",
Aaron Ballmana612e342019-06-24 20:07:11 +0000652// CHECK-NEXT: "line": 72,
653// CHECK-NEXT: "col": 6,
654// CHECK-NEXT: "tokLen": 16
Aaron Ballman75e23f82019-06-20 21:45:31 +0000655// CHECK-NEXT: },
656// CHECK-NEXT: "range": {
657// CHECK-NEXT: "begin": {
658// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000659// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +0000660// CHECK-NEXT: },
661// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000662// CHECK-NEXT: "line": 74,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000663// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000664// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000665// CHECK-NEXT: }
666// CHECK-NEXT: },
667// CHECK-NEXT: "name": "TestObjCProtocol",
668// CHECK-NEXT: "type": {
669// CHECK-NEXT: "qualType": "void (id)"
670// CHECK-NEXT: },
671// CHECK-NEXT: "inner": [
672// CHECK-NEXT: {
673// CHECK-NEXT: "id": "0x{{.*}}",
674// CHECK-NEXT: "kind": "ParmVarDecl",
675// CHECK-NEXT: "loc": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000676// CHECK-NEXT: "line": 72,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000677// CHECK-NEXT: "col": 26,
Aaron Ballmana612e342019-06-24 20:07:11 +0000678// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000679// CHECK-NEXT: },
680// CHECK-NEXT: "range": {
681// CHECK-NEXT: "begin": {
682// CHECK-NEXT: "col": 23,
Aaron Ballmana612e342019-06-24 20:07:11 +0000683// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +0000684// CHECK-NEXT: },
685// CHECK-NEXT: "end": {
686// CHECK-NEXT: "col": 26,
Aaron Ballmana612e342019-06-24 20:07:11 +0000687// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000688// CHECK-NEXT: }
689// CHECK-NEXT: },
690// CHECK-NEXT: "isUsed": true,
691// CHECK-NEXT: "name": "Obj",
692// CHECK-NEXT: "type": {
693// CHECK-NEXT: "desugaredQualType": "id",
694// CHECK-NEXT: "qualType": "id"
695// CHECK-NEXT: }
696// CHECK-NEXT: },
697// CHECK-NEXT: {
698// CHECK-NEXT: "id": "0x{{.*}}",
699// CHECK-NEXT: "kind": "CompoundStmt",
700// CHECK-NEXT: "range": {
701// CHECK-NEXT: "begin": {
702// CHECK-NEXT: "col": 31,
Aaron Ballmana612e342019-06-24 20:07:11 +0000703// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000704// CHECK-NEXT: },
705// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000706// CHECK-NEXT: "line": 74,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000707// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000708// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000709// CHECK-NEXT: }
710// CHECK-NEXT: },
711// CHECK-NEXT: "inner": [
712// CHECK-NEXT: {
713// CHECK-NEXT: "id": "0x{{.*}}",
714// CHECK-NEXT: "kind": "ObjCMessageExpr",
715// CHECK-NEXT: "range": {
716// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000717// CHECK-NEXT: "line": 73,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000718// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000719// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000720// CHECK-NEXT: },
721// CHECK-NEXT: "end": {
722// CHECK-NEXT: "col": 43,
Aaron Ballmana612e342019-06-24 20:07:11 +0000723// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000724// CHECK-NEXT: }
725// CHECK-NEXT: },
726// CHECK-NEXT: "type": {
727// CHECK-NEXT: "qualType": "int"
728// CHECK-NEXT: },
729// CHECK-NEXT: "valueCategory": "rvalue",
730// CHECK-NEXT: "selector": "conformsToProtocol:",
731// CHECK-NEXT: "receiverKind": "instance",
732// CHECK-NEXT: "inner": [
733// CHECK-NEXT: {
734// CHECK-NEXT: "id": "0x{{.*}}",
735// CHECK-NEXT: "kind": "ImplicitCastExpr",
736// CHECK-NEXT: "range": {
737// CHECK-NEXT: "begin": {
738// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000739// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000740// CHECK-NEXT: },
741// CHECK-NEXT: "end": {
742// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000743// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000744// CHECK-NEXT: }
745// CHECK-NEXT: },
746// CHECK-NEXT: "type": {
747// CHECK-NEXT: "desugaredQualType": "id",
748// CHECK-NEXT: "qualType": "id"
749// CHECK-NEXT: },
750// CHECK-NEXT: "valueCategory": "rvalue",
751// CHECK-NEXT: "castKind": "LValueToRValue",
752// CHECK-NEXT: "inner": [
753// CHECK-NEXT: {
754// CHECK-NEXT: "id": "0x{{.*}}",
755// CHECK-NEXT: "kind": "DeclRefExpr",
756// CHECK-NEXT: "range": {
757// CHECK-NEXT: "begin": {
758// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000759// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000760// CHECK-NEXT: },
761// CHECK-NEXT: "end": {
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: },
766// CHECK-NEXT: "type": {
767// CHECK-NEXT: "desugaredQualType": "id",
768// CHECK-NEXT: "qualType": "id"
769// CHECK-NEXT: },
770// CHECK-NEXT: "valueCategory": "lvalue",
771// CHECK-NEXT: "referencedDecl": {
772// CHECK-NEXT: "id": "0x{{.*}}",
773// CHECK-NEXT: "kind": "ParmVarDecl",
774// CHECK-NEXT: "name": "Obj",
775// CHECK-NEXT: "type": {
776// CHECK-NEXT: "desugaredQualType": "id",
777// CHECK-NEXT: "qualType": "id"
778// CHECK-NEXT: }
779// CHECK-NEXT: }
780// CHECK-NEXT: }
781// CHECK-NEXT: ]
782// CHECK-NEXT: },
783// CHECK-NEXT: {
784// CHECK-NEXT: "id": "0x{{.*}}",
785// CHECK-NEXT: "kind": "ObjCProtocolExpr",
786// CHECK-NEXT: "range": {
787// CHECK-NEXT: "begin": {
788// CHECK-NEXT: "col": 27,
Aaron Ballmana612e342019-06-24 20:07:11 +0000789// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000790// CHECK-NEXT: },
791// CHECK-NEXT: "end": {
792// CHECK-NEXT: "col": 42,
Aaron Ballmana612e342019-06-24 20:07:11 +0000793// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000794// CHECK-NEXT: }
795// CHECK-NEXT: },
796// CHECK-NEXT: "type": {
797// CHECK-NEXT: "qualType": "Protocol *"
798// CHECK-NEXT: },
799// CHECK-NEXT: "valueCategory": "rvalue",
800// CHECK-NEXT: "protocol": {
801// CHECK-NEXT: "id": "0x{{.*}}",
802// CHECK-NEXT: "kind": "ObjCProtocolDecl",
803// CHECK-NEXT: "name": "Proto"
804// CHECK-NEXT: }
805// CHECK-NEXT: }
806// CHECK-NEXT: ]
807// CHECK-NEXT: }
808// CHECK-NEXT: ]
809// CHECK-NEXT: }
810// CHECK-NEXT: ]
811// CHECK-NEXT: }
812
813
814// CHECK: "kind": "FunctionDecl",
815// CHECK-NEXT: "loc": {
Aaron Ballman75e23f82019-06-20 21:45:31 +0000816// CHECK-NEXT: "file": "{{.*}}",
Aaron Ballmana612e342019-06-24 20:07:11 +0000817// CHECK-NEXT: "line": 76,
818// CHECK-NEXT: "col": 6,
819// CHECK-NEXT: "tokLen": 19
Aaron Ballman75e23f82019-06-20 21:45:31 +0000820// CHECK-NEXT: },
821// CHECK-NEXT: "range": {
822// CHECK-NEXT: "begin": {
823// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000824// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +0000825// CHECK-NEXT: },
826// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000827// CHECK-NEXT: "line": 79,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000828// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000829// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000830// CHECK-NEXT: }
831// CHECK-NEXT: },
832// CHECK-NEXT: "name": "TestObjCPropertyRef",
833// CHECK-NEXT: "type": {
834// CHECK-NEXT: "qualType": "void (J *)"
835// CHECK-NEXT: },
836// CHECK-NEXT: "inner": [
837// CHECK-NEXT: {
838// CHECK-NEXT: "id": "0x{{.*}}",
839// CHECK-NEXT: "kind": "ParmVarDecl",
840// CHECK-NEXT: "loc": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000841// CHECK-NEXT: "line": 76,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000842// CHECK-NEXT: "col": 29,
Aaron Ballmana612e342019-06-24 20:07:11 +0000843// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000844// CHECK-NEXT: },
845// CHECK-NEXT: "range": {
846// CHECK-NEXT: "begin": {
847// CHECK-NEXT: "col": 26,
Aaron Ballmana612e342019-06-24 20:07:11 +0000848// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000849// CHECK-NEXT: },
850// CHECK-NEXT: "end": {
851// CHECK-NEXT: "col": 29,
Aaron Ballmana612e342019-06-24 20:07:11 +0000852// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000853// CHECK-NEXT: }
854// CHECK-NEXT: },
855// CHECK-NEXT: "isUsed": true,
856// CHECK-NEXT: "name": "Obj",
857// CHECK-NEXT: "type": {
858// CHECK-NEXT: "qualType": "J *"
859// CHECK-NEXT: }
860// CHECK-NEXT: },
861// CHECK-NEXT: {
862// CHECK-NEXT: "id": "0x{{.*}}",
863// CHECK-NEXT: "kind": "CompoundStmt",
864// CHECK-NEXT: "range": {
865// CHECK-NEXT: "begin": {
866// CHECK-NEXT: "col": 34,
Aaron Ballmana612e342019-06-24 20:07:11 +0000867// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000868// CHECK-NEXT: },
869// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000870// CHECK-NEXT: "line": 79,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000871// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000872// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000873// CHECK-NEXT: }
874// CHECK-NEXT: },
875// CHECK-NEXT: "inner": [
876// CHECK-NEXT: {
877// CHECK-NEXT: "id": "0x{{.*}}",
878// CHECK-NEXT: "kind": "PseudoObjectExpr",
879// CHECK-NEXT: "range": {
880// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +0000881// CHECK-NEXT: "line": 77,
Aaron Ballman75e23f82019-06-20 21:45:31 +0000882// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000883// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000884// CHECK-NEXT: },
885// CHECK-NEXT: "end": {
886// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +0000887// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +0000888// CHECK-NEXT: }
889// CHECK-NEXT: },
890// CHECK-NEXT: "type": {
891// CHECK-NEXT: "qualType": "unsigned int"
892// CHECK-NEXT: },
893// CHECK-NEXT: "valueCategory": "rvalue",
894// CHECK-NEXT: "inner": [
895// CHECK-NEXT: {
896// CHECK-NEXT: "id": "0x{{.*}}",
897// CHECK-NEXT: "kind": "BinaryOperator",
898// CHECK-NEXT: "range": {
899// CHECK-NEXT: "begin": {
900// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000901// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000902// CHECK-NEXT: },
903// CHECK-NEXT: "end": {
904// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +0000905// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +0000906// CHECK-NEXT: }
907// CHECK-NEXT: },
908// CHECK-NEXT: "type": {
909// CHECK-NEXT: "qualType": "int"
910// CHECK-NEXT: },
911// CHECK-NEXT: "valueCategory": "rvalue",
912// CHECK-NEXT: "opcode": "=",
913// CHECK-NEXT: "inner": [
914// CHECK-NEXT: {
915// CHECK-NEXT: "id": "0x{{.*}}",
916// CHECK-NEXT: "kind": "ObjCPropertyRefExpr",
917// CHECK-NEXT: "range": {
918// CHECK-NEXT: "begin": {
919// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000920// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000921// CHECK-NEXT: },
922// CHECK-NEXT: "end": {
923// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +0000924// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +0000925// CHECK-NEXT: }
926// CHECK-NEXT: },
927// CHECK-NEXT: "type": {
928// CHECK-NEXT: "qualType": "<pseudo-object type>"
929// CHECK-NEXT: },
930// CHECK-NEXT: "valueCategory": "lvalue",
931// CHECK-NEXT: "propertyKind": "explicit",
932// CHECK-NEXT: "property": {
933// CHECK-NEXT: "id": "0x{{.*}}",
934// CHECK-NEXT: "kind": "ObjCPropertyDecl",
935// CHECK-NEXT: "name": "prop"
936// CHECK-NEXT: },
937// CHECK-NEXT: "isMessagingSetter": true,
938// CHECK-NEXT: "inner": [
939// CHECK-NEXT: {
940// CHECK-NEXT: "id": "0x{{.*}}",
941// CHECK-NEXT: "kind": "OpaqueValueExpr",
942// CHECK-NEXT: "range": {
943// CHECK-NEXT: "begin": {
944// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000945// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000946// CHECK-NEXT: },
947// CHECK-NEXT: "end": {
948// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000949// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000950// CHECK-NEXT: }
951// CHECK-NEXT: },
952// CHECK-NEXT: "type": {
953// CHECK-NEXT: "qualType": "J *"
954// CHECK-NEXT: },
955// CHECK-NEXT: "valueCategory": "rvalue",
956// CHECK-NEXT: "inner": [
957// CHECK-NEXT: {
958// CHECK-NEXT: "id": "0x{{.*}}",
959// CHECK-NEXT: "kind": "ImplicitCastExpr",
960// CHECK-NEXT: "range": {
961// CHECK-NEXT: "begin": {
962// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000963// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000964// CHECK-NEXT: },
965// CHECK-NEXT: "end": {
966// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000967// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000968// CHECK-NEXT: }
969// CHECK-NEXT: },
970// CHECK-NEXT: "type": {
971// CHECK-NEXT: "qualType": "J *"
972// CHECK-NEXT: },
973// CHECK-NEXT: "valueCategory": "rvalue",
974// CHECK-NEXT: "castKind": "LValueToRValue",
975// CHECK-NEXT: "inner": [
976// CHECK-NEXT: {
977// CHECK-NEXT: "id": "0x{{.*}}",
978// CHECK-NEXT: "kind": "DeclRefExpr",
979// CHECK-NEXT: "range": {
980// CHECK-NEXT: "begin": {
981// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000982// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000983// CHECK-NEXT: },
984// CHECK-NEXT: "end": {
985// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000986// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000987// CHECK-NEXT: }
988// CHECK-NEXT: },
989// CHECK-NEXT: "type": {
990// CHECK-NEXT: "qualType": "J *"
991// CHECK-NEXT: },
992// CHECK-NEXT: "valueCategory": "lvalue",
993// CHECK-NEXT: "referencedDecl": {
994// CHECK-NEXT: "id": "0x{{.*}}",
995// CHECK-NEXT: "kind": "ParmVarDecl",
996// CHECK-NEXT: "name": "Obj",
997// CHECK-NEXT: "type": {
998// CHECK-NEXT: "qualType": "J *"
999// CHECK-NEXT: }
1000// CHECK-NEXT: }
1001// CHECK-NEXT: }
1002// CHECK-NEXT: ]
1003// CHECK-NEXT: }
1004// CHECK-NEXT: ]
1005// CHECK-NEXT: }
1006// CHECK-NEXT: ]
1007// CHECK-NEXT: },
1008// CHECK-NEXT: {
1009// CHECK-NEXT: "id": "0x{{.*}}",
1010// CHECK-NEXT: "kind": "OpaqueValueExpr",
1011// CHECK-NEXT: "range": {
1012// CHECK-NEXT: "begin": {
1013// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001014// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001015// CHECK-NEXT: },
1016// CHECK-NEXT: "end": {
1017// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001018// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001019// CHECK-NEXT: }
1020// CHECK-NEXT: },
1021// CHECK-NEXT: "type": {
1022// CHECK-NEXT: "qualType": "int"
1023// CHECK-NEXT: },
1024// CHECK-NEXT: "valueCategory": "rvalue",
1025// CHECK-NEXT: "inner": [
1026// CHECK-NEXT: {
1027// CHECK-NEXT: "id": "0x{{.*}}",
1028// CHECK-NEXT: "kind": "IntegerLiteral",
1029// CHECK-NEXT: "range": {
1030// CHECK-NEXT: "begin": {
1031// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001032// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001033// CHECK-NEXT: },
1034// CHECK-NEXT: "end": {
1035// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001036// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001037// CHECK-NEXT: }
1038// CHECK-NEXT: },
1039// CHECK-NEXT: "type": {
1040// CHECK-NEXT: "qualType": "int"
1041// CHECK-NEXT: },
1042// CHECK-NEXT: "valueCategory": "rvalue",
1043// CHECK-NEXT: "value": "12"
1044// CHECK-NEXT: }
1045// CHECK-NEXT: ]
1046// CHECK-NEXT: }
1047// CHECK-NEXT: ]
1048// CHECK-NEXT: },
1049// CHECK-NEXT: {
1050// CHECK-NEXT: "id": "0x{{.*}}",
1051// CHECK-NEXT: "kind": "OpaqueValueExpr",
1052// CHECK-NEXT: "range": {
1053// CHECK-NEXT: "begin": {
1054// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001055// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001056// CHECK-NEXT: },
1057// CHECK-NEXT: "end": {
1058// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001059// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001060// CHECK-NEXT: }
1061// CHECK-NEXT: },
1062// CHECK-NEXT: "type": {
1063// CHECK-NEXT: "qualType": "J *"
1064// CHECK-NEXT: },
1065// CHECK-NEXT: "valueCategory": "rvalue",
1066// CHECK-NEXT: "inner": [
1067// CHECK-NEXT: {
1068// CHECK-NEXT: "id": "0x{{.*}}",
1069// CHECK-NEXT: "kind": "ImplicitCastExpr",
1070// CHECK-NEXT: "range": {
1071// CHECK-NEXT: "begin": {
1072// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001073// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001074// CHECK-NEXT: },
1075// CHECK-NEXT: "end": {
1076// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001077// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001078// CHECK-NEXT: }
1079// CHECK-NEXT: },
1080// CHECK-NEXT: "type": {
1081// CHECK-NEXT: "qualType": "J *"
1082// CHECK-NEXT: },
1083// CHECK-NEXT: "valueCategory": "rvalue",
1084// CHECK-NEXT: "castKind": "LValueToRValue",
1085// CHECK-NEXT: "inner": [
1086// CHECK-NEXT: {
1087// CHECK-NEXT: "id": "0x{{.*}}",
1088// CHECK-NEXT: "kind": "DeclRefExpr",
1089// CHECK-NEXT: "range": {
1090// CHECK-NEXT: "begin": {
1091// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001092// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001093// CHECK-NEXT: },
1094// CHECK-NEXT: "end": {
1095// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001096// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001097// CHECK-NEXT: }
1098// CHECK-NEXT: },
1099// CHECK-NEXT: "type": {
1100// CHECK-NEXT: "qualType": "J *"
1101// CHECK-NEXT: },
1102// CHECK-NEXT: "valueCategory": "lvalue",
1103// CHECK-NEXT: "referencedDecl": {
1104// CHECK-NEXT: "id": "0x{{.*}}",
1105// CHECK-NEXT: "kind": "ParmVarDecl",
1106// CHECK-NEXT: "name": "Obj",
1107// CHECK-NEXT: "type": {
1108// CHECK-NEXT: "qualType": "J *"
1109// CHECK-NEXT: }
1110// CHECK-NEXT: }
1111// CHECK-NEXT: }
1112// CHECK-NEXT: ]
1113// CHECK-NEXT: }
1114// CHECK-NEXT: ]
1115// CHECK-NEXT: },
1116// CHECK-NEXT: {
1117// CHECK-NEXT: "id": "0x{{.*}}",
1118// CHECK-NEXT: "kind": "OpaqueValueExpr",
1119// CHECK-NEXT: "range": {
1120// CHECK-NEXT: "begin": {
1121// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001122// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001123// CHECK-NEXT: },
1124// CHECK-NEXT: "end": {
1125// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001126// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001127// CHECK-NEXT: }
1128// CHECK-NEXT: },
1129// CHECK-NEXT: "type": {
1130// CHECK-NEXT: "qualType": "int"
1131// CHECK-NEXT: },
1132// CHECK-NEXT: "valueCategory": "rvalue",
1133// CHECK-NEXT: "inner": [
1134// CHECK-NEXT: {
1135// CHECK-NEXT: "id": "0x{{.*}}",
1136// CHECK-NEXT: "kind": "IntegerLiteral",
1137// CHECK-NEXT: "range": {
1138// CHECK-NEXT: "begin": {
1139// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001140// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001141// CHECK-NEXT: },
1142// CHECK-NEXT: "end": {
1143// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001144// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001145// CHECK-NEXT: }
1146// CHECK-NEXT: },
1147// CHECK-NEXT: "type": {
1148// CHECK-NEXT: "qualType": "int"
1149// CHECK-NEXT: },
1150// CHECK-NEXT: "valueCategory": "rvalue",
1151// CHECK-NEXT: "value": "12"
1152// CHECK-NEXT: }
1153// CHECK-NEXT: ]
1154// CHECK-NEXT: },
1155// CHECK-NEXT: {
1156// CHECK-NEXT: "id": "0x{{.*}}",
1157// CHECK-NEXT: "kind": "OpaqueValueExpr",
1158// CHECK-NEXT: "range": {
1159// CHECK-NEXT: "begin": {
1160// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001161// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001162// CHECK-NEXT: },
1163// CHECK-NEXT: "end": {
1164// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001165// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001166// CHECK-NEXT: }
1167// CHECK-NEXT: },
1168// CHECK-NEXT: "type": {
1169// CHECK-NEXT: "qualType": "unsigned int"
1170// CHECK-NEXT: },
1171// CHECK-NEXT: "valueCategory": "rvalue",
1172// CHECK-NEXT: "inner": [
1173// CHECK-NEXT: {
1174// CHECK-NEXT: "id": "0x{{.*}}",
1175// CHECK-NEXT: "kind": "ImplicitCastExpr",
1176// CHECK-NEXT: "range": {
1177// CHECK-NEXT: "begin": {
1178// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001179// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001180// CHECK-NEXT: },
1181// CHECK-NEXT: "end": {
1182// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001183// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001184// CHECK-NEXT: }
1185// CHECK-NEXT: },
1186// CHECK-NEXT: "type": {
1187// CHECK-NEXT: "qualType": "unsigned int"
1188// CHECK-NEXT: },
1189// CHECK-NEXT: "valueCategory": "rvalue",
1190// CHECK-NEXT: "castKind": "IntegralCast",
1191// CHECK-NEXT: "inner": [
1192// CHECK-NEXT: {
1193// CHECK-NEXT: "id": "0x{{.*}}",
1194// CHECK-NEXT: "kind": "OpaqueValueExpr",
1195// CHECK-NEXT: "range": {
1196// CHECK-NEXT: "begin": {
1197// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001198// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001199// CHECK-NEXT: },
1200// CHECK-NEXT: "end": {
1201// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001202// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001203// CHECK-NEXT: }
1204// CHECK-NEXT: },
1205// CHECK-NEXT: "type": {
1206// CHECK-NEXT: "qualType": "int"
1207// CHECK-NEXT: },
1208// CHECK-NEXT: "valueCategory": "rvalue",
1209// CHECK-NEXT: "inner": [
1210// CHECK-NEXT: {
1211// CHECK-NEXT: "id": "0x{{.*}}",
1212// CHECK-NEXT: "kind": "IntegerLiteral",
1213// CHECK-NEXT: "range": {
1214// CHECK-NEXT: "begin": {
1215// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001216// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001217// CHECK-NEXT: },
1218// CHECK-NEXT: "end": {
1219// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001220// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001221// CHECK-NEXT: }
1222// CHECK-NEXT: },
1223// CHECK-NEXT: "type": {
1224// CHECK-NEXT: "qualType": "int"
1225// CHECK-NEXT: },
1226// CHECK-NEXT: "valueCategory": "rvalue",
1227// CHECK-NEXT: "value": "12"
1228// CHECK-NEXT: }
1229// CHECK-NEXT: ]
1230// CHECK-NEXT: }
1231// CHECK-NEXT: ]
1232// CHECK-NEXT: }
1233// CHECK-NEXT: ]
1234// CHECK-NEXT: },
1235// CHECK-NEXT: {
1236// CHECK-NEXT: "id": "0x{{.*}}",
1237// CHECK-NEXT: "kind": "ObjCMessageExpr",
1238// CHECK-NEXT: "range": {
1239// CHECK-NEXT: "begin": {
1240// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00001241// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001242// CHECK-NEXT: },
1243// CHECK-NEXT: "end": {
1244// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00001245// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001246// CHECK-NEXT: }
1247// CHECK-NEXT: },
1248// CHECK-NEXT: "type": {
1249// CHECK-NEXT: "qualType": "void"
1250// CHECK-NEXT: },
1251// CHECK-NEXT: "valueCategory": "rvalue",
1252// CHECK-NEXT: "selector": "setProp:",
1253// CHECK-NEXT: "receiverKind": "instance",
1254// CHECK-NEXT: "inner": [
1255// CHECK-NEXT: {
1256// CHECK-NEXT: "id": "0x{{.*}}",
1257// CHECK-NEXT: "kind": "OpaqueValueExpr",
1258// CHECK-NEXT: "range": {
1259// CHECK-NEXT: "begin": {
1260// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001261// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001262// CHECK-NEXT: },
1263// CHECK-NEXT: "end": {
1264// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001265// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001266// CHECK-NEXT: }
1267// CHECK-NEXT: },
1268// CHECK-NEXT: "type": {
1269// CHECK-NEXT: "qualType": "J *"
1270// CHECK-NEXT: },
1271// CHECK-NEXT: "valueCategory": "rvalue",
1272// CHECK-NEXT: "inner": [
1273// CHECK-NEXT: {
1274// CHECK-NEXT: "id": "0x{{.*}}",
1275// CHECK-NEXT: "kind": "ImplicitCastExpr",
1276// CHECK-NEXT: "range": {
1277// CHECK-NEXT: "begin": {
1278// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001279// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001280// CHECK-NEXT: },
1281// CHECK-NEXT: "end": {
1282// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001283// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001284// CHECK-NEXT: }
1285// CHECK-NEXT: },
1286// CHECK-NEXT: "type": {
1287// CHECK-NEXT: "qualType": "J *"
1288// CHECK-NEXT: },
1289// CHECK-NEXT: "valueCategory": "rvalue",
1290// CHECK-NEXT: "castKind": "LValueToRValue",
1291// CHECK-NEXT: "inner": [
1292// CHECK-NEXT: {
1293// CHECK-NEXT: "id": "0x{{.*}}",
1294// CHECK-NEXT: "kind": "DeclRefExpr",
1295// CHECK-NEXT: "range": {
1296// CHECK-NEXT: "begin": {
1297// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001298// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001299// CHECK-NEXT: },
1300// CHECK-NEXT: "end": {
1301// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001302// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001303// CHECK-NEXT: }
1304// CHECK-NEXT: },
1305// CHECK-NEXT: "type": {
1306// CHECK-NEXT: "qualType": "J *"
1307// CHECK-NEXT: },
1308// CHECK-NEXT: "valueCategory": "lvalue",
1309// CHECK-NEXT: "referencedDecl": {
1310// CHECK-NEXT: "id": "0x{{.*}}",
1311// CHECK-NEXT: "kind": "ParmVarDecl",
1312// CHECK-NEXT: "name": "Obj",
1313// CHECK-NEXT: "type": {
1314// CHECK-NEXT: "qualType": "J *"
1315// CHECK-NEXT: }
1316// CHECK-NEXT: }
1317// CHECK-NEXT: }
1318// CHECK-NEXT: ]
1319// CHECK-NEXT: }
1320// CHECK-NEXT: ]
1321// CHECK-NEXT: },
1322// CHECK-NEXT: {
1323// CHECK-NEXT: "id": "0x{{.*}}",
1324// CHECK-NEXT: "kind": "OpaqueValueExpr",
1325// CHECK-NEXT: "range": {
1326// CHECK-NEXT: "begin": {
1327// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001328// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001329// CHECK-NEXT: },
1330// CHECK-NEXT: "end": {
1331// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001332// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001333// CHECK-NEXT: }
1334// CHECK-NEXT: },
1335// CHECK-NEXT: "type": {
1336// CHECK-NEXT: "qualType": "unsigned int"
1337// CHECK-NEXT: },
1338// CHECK-NEXT: "valueCategory": "rvalue",
1339// CHECK-NEXT: "inner": [
1340// CHECK-NEXT: {
1341// CHECK-NEXT: "id": "0x{{.*}}",
1342// CHECK-NEXT: "kind": "ImplicitCastExpr",
1343// CHECK-NEXT: "range": {
1344// CHECK-NEXT: "begin": {
1345// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001346// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001347// CHECK-NEXT: },
1348// CHECK-NEXT: "end": {
1349// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001350// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001351// CHECK-NEXT: }
1352// CHECK-NEXT: },
1353// CHECK-NEXT: "type": {
1354// CHECK-NEXT: "qualType": "unsigned int"
1355// CHECK-NEXT: },
1356// CHECK-NEXT: "valueCategory": "rvalue",
1357// CHECK-NEXT: "castKind": "IntegralCast",
1358// CHECK-NEXT: "inner": [
1359// CHECK-NEXT: {
1360// CHECK-NEXT: "id": "0x{{.*}}",
1361// CHECK-NEXT: "kind": "OpaqueValueExpr",
1362// CHECK-NEXT: "range": {
1363// CHECK-NEXT: "begin": {
1364// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001365// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001366// CHECK-NEXT: },
1367// CHECK-NEXT: "end": {
1368// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001369// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001370// CHECK-NEXT: }
1371// CHECK-NEXT: },
1372// CHECK-NEXT: "type": {
1373// CHECK-NEXT: "qualType": "int"
1374// CHECK-NEXT: },
1375// CHECK-NEXT: "valueCategory": "rvalue",
1376// CHECK-NEXT: "inner": [
1377// CHECK-NEXT: {
1378// CHECK-NEXT: "id": "0x{{.*}}",
1379// CHECK-NEXT: "kind": "IntegerLiteral",
1380// CHECK-NEXT: "range": {
1381// CHECK-NEXT: "begin": {
1382// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001383// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001384// CHECK-NEXT: },
1385// CHECK-NEXT: "end": {
1386// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001387// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001388// CHECK-NEXT: }
1389// CHECK-NEXT: },
1390// CHECK-NEXT: "type": {
1391// CHECK-NEXT: "qualType": "int"
1392// CHECK-NEXT: },
1393// CHECK-NEXT: "valueCategory": "rvalue",
1394// CHECK-NEXT: "value": "12"
1395// CHECK-NEXT: }
1396// CHECK-NEXT: ]
1397// CHECK-NEXT: }
1398// CHECK-NEXT: ]
1399// CHECK-NEXT: }
1400// CHECK-NEXT: ]
1401// CHECK-NEXT: }
1402// CHECK-NEXT: ]
1403// CHECK-NEXT: }
1404// CHECK-NEXT: ]
1405// CHECK-NEXT: },
1406// CHECK-NEXT: {
1407// CHECK-NEXT: "id": "0x{{.*}}",
1408// CHECK-NEXT: "kind": "DeclStmt",
1409// CHECK-NEXT: "range": {
1410// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +00001411// CHECK-NEXT: "line": 78,
Aaron Ballman75e23f82019-06-20 21:45:31 +00001412// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001413// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001414// CHECK-NEXT: },
1415// CHECK-NEXT: "end": {
1416// CHECK-NEXT: "col": 19,
Aaron Ballmana612e342019-06-24 20:07:11 +00001417// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001418// CHECK-NEXT: }
1419// CHECK-NEXT: },
1420// CHECK-NEXT: "inner": [
1421// CHECK-NEXT: {
1422// CHECK-NEXT: "id": "0x{{.*}}",
1423// CHECK-NEXT: "kind": "VarDecl",
1424// CHECK-NEXT: "loc": {
1425// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00001426// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001427// CHECK-NEXT: },
1428// CHECK-NEXT: "range": {
1429// CHECK-NEXT: "begin": {
1430// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001431// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001432// CHECK-NEXT: },
1433// CHECK-NEXT: "end": {
1434// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001435// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001436// CHECK-NEXT: }
1437// CHECK-NEXT: },
1438// CHECK-NEXT: "name": "i",
1439// CHECK-NEXT: "type": {
1440// CHECK-NEXT: "qualType": "int"
1441// CHECK-NEXT: },
1442// CHECK-NEXT: "init": "c",
1443// CHECK-NEXT: "inner": [
1444// CHECK-NEXT: {
1445// CHECK-NEXT: "id": "0x{{.*}}",
1446// CHECK-NEXT: "kind": "ImplicitCastExpr",
1447// CHECK-NEXT: "range": {
1448// CHECK-NEXT: "begin": {
1449// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001450// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001451// CHECK-NEXT: },
1452// CHECK-NEXT: "end": {
1453// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001454// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001455// CHECK-NEXT: }
1456// CHECK-NEXT: },
1457// CHECK-NEXT: "type": {
1458// CHECK-NEXT: "qualType": "int"
1459// CHECK-NEXT: },
1460// CHECK-NEXT: "valueCategory": "rvalue",
1461// CHECK-NEXT: "castKind": "IntegralCast",
1462// CHECK-NEXT: "inner": [
1463// CHECK-NEXT: {
1464// CHECK-NEXT: "id": "0x{{.*}}",
1465// CHECK-NEXT: "kind": "PseudoObjectExpr",
1466// CHECK-NEXT: "range": {
1467// CHECK-NEXT: "begin": {
1468// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001469// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001470// CHECK-NEXT: },
1471// CHECK-NEXT: "end": {
1472// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001473// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001474// CHECK-NEXT: }
1475// CHECK-NEXT: },
1476// CHECK-NEXT: "type": {
1477// CHECK-NEXT: "qualType": "unsigned int"
1478// CHECK-NEXT: },
1479// CHECK-NEXT: "valueCategory": "rvalue",
1480// CHECK-NEXT: "inner": [
1481// CHECK-NEXT: {
1482// CHECK-NEXT: "id": "0x{{.*}}",
1483// CHECK-NEXT: "kind": "ObjCPropertyRefExpr",
1484// CHECK-NEXT: "range": {
1485// CHECK-NEXT: "begin": {
1486// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001487// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001488// CHECK-NEXT: },
1489// CHECK-NEXT: "end": {
1490// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001491// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001492// CHECK-NEXT: }
1493// CHECK-NEXT: },
1494// CHECK-NEXT: "type": {
1495// CHECK-NEXT: "qualType": "<pseudo-object type>"
1496// CHECK-NEXT: },
1497// CHECK-NEXT: "valueCategory": "lvalue",
1498// CHECK-NEXT: "propertyKind": "explicit",
1499// CHECK-NEXT: "property": {
1500// CHECK-NEXT: "id": "0x{{.*}}",
1501// CHECK-NEXT: "kind": "ObjCPropertyDecl",
1502// CHECK-NEXT: "name": "prop"
1503// CHECK-NEXT: },
1504// CHECK-NEXT: "isMessagingGetter": true,
1505// CHECK-NEXT: "inner": [
1506// CHECK-NEXT: {
1507// CHECK-NEXT: "id": "0x{{.*}}",
1508// CHECK-NEXT: "kind": "OpaqueValueExpr",
1509// CHECK-NEXT: "range": {
1510// CHECK-NEXT: "begin": {
1511// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001512// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001513// CHECK-NEXT: },
1514// CHECK-NEXT: "end": {
1515// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001516// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001517// CHECK-NEXT: }
1518// CHECK-NEXT: },
1519// CHECK-NEXT: "type": {
1520// CHECK-NEXT: "qualType": "J *"
1521// CHECK-NEXT: },
1522// CHECK-NEXT: "valueCategory": "rvalue",
1523// CHECK-NEXT: "inner": [
1524// CHECK-NEXT: {
1525// CHECK-NEXT: "id": "0x{{.*}}",
1526// CHECK-NEXT: "kind": "ImplicitCastExpr",
1527// CHECK-NEXT: "range": {
1528// CHECK-NEXT: "begin": {
1529// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001530// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001531// CHECK-NEXT: },
1532// CHECK-NEXT: "end": {
1533// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001534// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001535// CHECK-NEXT: }
1536// CHECK-NEXT: },
1537// CHECK-NEXT: "type": {
1538// CHECK-NEXT: "qualType": "J *"
1539// CHECK-NEXT: },
1540// CHECK-NEXT: "valueCategory": "rvalue",
1541// CHECK-NEXT: "castKind": "LValueToRValue",
1542// CHECK-NEXT: "inner": [
1543// CHECK-NEXT: {
1544// CHECK-NEXT: "id": "0x{{.*}}",
1545// CHECK-NEXT: "kind": "DeclRefExpr",
1546// CHECK-NEXT: "range": {
1547// CHECK-NEXT: "begin": {
1548// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001549// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001550// CHECK-NEXT: },
1551// CHECK-NEXT: "end": {
1552// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001553// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001554// CHECK-NEXT: }
1555// CHECK-NEXT: },
1556// CHECK-NEXT: "type": {
1557// CHECK-NEXT: "qualType": "J *"
1558// CHECK-NEXT: },
1559// CHECK-NEXT: "valueCategory": "lvalue",
1560// CHECK-NEXT: "referencedDecl": {
1561// CHECK-NEXT: "id": "0x{{.*}}",
1562// CHECK-NEXT: "kind": "ParmVarDecl",
1563// CHECK-NEXT: "name": "Obj",
1564// CHECK-NEXT: "type": {
1565// CHECK-NEXT: "qualType": "J *"
1566// CHECK-NEXT: }
1567// CHECK-NEXT: }
1568// CHECK-NEXT: }
1569// CHECK-NEXT: ]
1570// CHECK-NEXT: }
1571// CHECK-NEXT: ]
1572// CHECK-NEXT: }
1573// CHECK-NEXT: ]
1574// CHECK-NEXT: },
1575// CHECK-NEXT: {
1576// CHECK-NEXT: "id": "0x{{.*}}",
1577// CHECK-NEXT: "kind": "OpaqueValueExpr",
1578// CHECK-NEXT: "range": {
1579// CHECK-NEXT: "begin": {
1580// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001581// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001582// CHECK-NEXT: },
1583// CHECK-NEXT: "end": {
1584// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001585// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001586// CHECK-NEXT: }
1587// CHECK-NEXT: },
1588// CHECK-NEXT: "type": {
1589// CHECK-NEXT: "qualType": "J *"
1590// CHECK-NEXT: },
1591// CHECK-NEXT: "valueCategory": "rvalue",
1592// CHECK-NEXT: "inner": [
1593// CHECK-NEXT: {
1594// CHECK-NEXT: "id": "0x{{.*}}",
1595// CHECK-NEXT: "kind": "ImplicitCastExpr",
1596// CHECK-NEXT: "range": {
1597// CHECK-NEXT: "begin": {
1598// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001599// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001600// CHECK-NEXT: },
1601// CHECK-NEXT: "end": {
1602// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001603// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001604// CHECK-NEXT: }
1605// CHECK-NEXT: },
1606// CHECK-NEXT: "type": {
1607// CHECK-NEXT: "qualType": "J *"
1608// CHECK-NEXT: },
1609// CHECK-NEXT: "valueCategory": "rvalue",
1610// CHECK-NEXT: "castKind": "LValueToRValue",
1611// CHECK-NEXT: "inner": [
1612// CHECK-NEXT: {
1613// CHECK-NEXT: "id": "0x{{.*}}",
1614// CHECK-NEXT: "kind": "DeclRefExpr",
1615// CHECK-NEXT: "range": {
1616// CHECK-NEXT: "begin": {
1617// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001618// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001619// CHECK-NEXT: },
1620// CHECK-NEXT: "end": {
1621// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001622// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001623// CHECK-NEXT: }
1624// CHECK-NEXT: },
1625// CHECK-NEXT: "type": {
1626// CHECK-NEXT: "qualType": "J *"
1627// CHECK-NEXT: },
1628// CHECK-NEXT: "valueCategory": "lvalue",
1629// CHECK-NEXT: "referencedDecl": {
1630// CHECK-NEXT: "id": "0x{{.*}}",
1631// CHECK-NEXT: "kind": "ParmVarDecl",
1632// CHECK-NEXT: "name": "Obj",
1633// CHECK-NEXT: "type": {
1634// CHECK-NEXT: "qualType": "J *"
1635// CHECK-NEXT: }
1636// CHECK-NEXT: }
1637// CHECK-NEXT: }
1638// CHECK-NEXT: ]
1639// CHECK-NEXT: }
1640// CHECK-NEXT: ]
1641// CHECK-NEXT: },
1642// CHECK-NEXT: {
1643// CHECK-NEXT: "id": "0x{{.*}}",
1644// CHECK-NEXT: "kind": "ObjCMessageExpr",
1645// CHECK-NEXT: "range": {
1646// CHECK-NEXT: "begin": {
1647// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001648// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001649// CHECK-NEXT: },
1650// CHECK-NEXT: "end": {
1651// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001652// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001653// CHECK-NEXT: }
1654// CHECK-NEXT: },
1655// CHECK-NEXT: "type": {
1656// CHECK-NEXT: "qualType": "unsigned int"
1657// CHECK-NEXT: },
1658// CHECK-NEXT: "valueCategory": "rvalue",
1659// CHECK-NEXT: "selector": "prop",
1660// CHECK-NEXT: "receiverKind": "instance",
1661// CHECK-NEXT: "inner": [
1662// CHECK-NEXT: {
1663// CHECK-NEXT: "id": "0x{{.*}}",
1664// CHECK-NEXT: "kind": "OpaqueValueExpr",
1665// CHECK-NEXT: "range": {
1666// CHECK-NEXT: "begin": {
1667// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001668// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001669// CHECK-NEXT: },
1670// CHECK-NEXT: "end": {
1671// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001672// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001673// CHECK-NEXT: }
1674// CHECK-NEXT: },
1675// CHECK-NEXT: "type": {
1676// CHECK-NEXT: "qualType": "J *"
1677// CHECK-NEXT: },
1678// CHECK-NEXT: "valueCategory": "rvalue",
1679// CHECK-NEXT: "inner": [
1680// CHECK-NEXT: {
1681// CHECK-NEXT: "id": "0x{{.*}}",
1682// CHECK-NEXT: "kind": "ImplicitCastExpr",
1683// CHECK-NEXT: "range": {
1684// CHECK-NEXT: "begin": {
1685// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001686// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001687// CHECK-NEXT: },
1688// CHECK-NEXT: "end": {
1689// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001690// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001691// CHECK-NEXT: }
1692// CHECK-NEXT: },
1693// CHECK-NEXT: "type": {
1694// CHECK-NEXT: "qualType": "J *"
1695// CHECK-NEXT: },
1696// CHECK-NEXT: "valueCategory": "rvalue",
1697// CHECK-NEXT: "castKind": "LValueToRValue",
1698// CHECK-NEXT: "inner": [
1699// CHECK-NEXT: {
1700// CHECK-NEXT: "id": "0x{{.*}}",
1701// CHECK-NEXT: "kind": "DeclRefExpr",
1702// CHECK-NEXT: "range": {
1703// CHECK-NEXT: "begin": {
1704// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001705// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001706// CHECK-NEXT: },
1707// CHECK-NEXT: "end": {
1708// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001709// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001710// CHECK-NEXT: }
1711// CHECK-NEXT: },
1712// CHECK-NEXT: "type": {
1713// CHECK-NEXT: "qualType": "J *"
1714// CHECK-NEXT: },
1715// CHECK-NEXT: "valueCategory": "lvalue",
1716// CHECK-NEXT: "referencedDecl": {
1717// CHECK-NEXT: "id": "0x{{.*}}",
1718// CHECK-NEXT: "kind": "ParmVarDecl",
1719// CHECK-NEXT: "name": "Obj",
1720// CHECK-NEXT: "type": {
1721// CHECK-NEXT: "qualType": "J *"
1722// CHECK-NEXT: }
1723// CHECK-NEXT: }
1724// CHECK-NEXT: }
1725// CHECK-NEXT: ]
1726// CHECK-NEXT: }
1727// CHECK-NEXT: ]
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
1744
1745// CHECK: "kind": "FunctionDecl",
1746// CHECK-NEXT: "loc": {
Aaron Ballman75e23f82019-06-20 21:45:31 +00001747// CHECK-NEXT: "file": "{{.*}}",
Aaron Ballmana612e342019-06-24 20:07:11 +00001748// CHECK-NEXT: "line": 81,
1749// CHECK-NEXT: "col": 6,
1750// CHECK-NEXT: "tokLen": 20
Aaron Ballman75e23f82019-06-20 21:45:31 +00001751// CHECK-NEXT: },
1752// CHECK-NEXT: "range": {
1753// CHECK-NEXT: "begin": {
1754// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00001755// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001756// CHECK-NEXT: },
1757// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +00001758// CHECK-NEXT: "line": 87,
Aaron Ballman75e23f82019-06-20 21:45:31 +00001759// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00001760// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001761// CHECK-NEXT: }
1762// CHECK-NEXT: },
1763// CHECK-NEXT: "name": "TestObjCSubscriptRef",
1764// CHECK-NEXT: "type": {
1765// CHECK-NEXT: "qualType": "void (NSMutableArray *, NSMutableDictionary *)"
1766// CHECK-NEXT: },
1767// CHECK-NEXT: "inner": [
1768// CHECK-NEXT: {
1769// CHECK-NEXT: "id": "0x{{.*}}",
1770// CHECK-NEXT: "kind": "ParmVarDecl",
1771// CHECK-NEXT: "loc": {
Aaron Ballmana612e342019-06-24 20:07:11 +00001772// CHECK-NEXT: "line": 81,
Aaron Ballman75e23f82019-06-20 21:45:31 +00001773// CHECK-NEXT: "col": 43,
Aaron Ballmana612e342019-06-24 20:07:11 +00001774// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001775// CHECK-NEXT: },
1776// CHECK-NEXT: "range": {
1777// CHECK-NEXT: "begin": {
1778// CHECK-NEXT: "col": 27,
Aaron Ballmana612e342019-06-24 20:07:11 +00001779// CHECK-NEXT: "tokLen": 14
Aaron Ballman75e23f82019-06-20 21:45:31 +00001780// CHECK-NEXT: },
1781// CHECK-NEXT: "end": {
1782// CHECK-NEXT: "col": 43,
Aaron Ballmana612e342019-06-24 20:07:11 +00001783// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001784// CHECK-NEXT: }
1785// CHECK-NEXT: },
1786// CHECK-NEXT: "isUsed": true,
1787// CHECK-NEXT: "name": "Array",
1788// CHECK-NEXT: "type": {
1789// CHECK-NEXT: "qualType": "NSMutableArray *"
1790// CHECK-NEXT: }
1791// CHECK-NEXT: },
1792// CHECK-NEXT: {
1793// CHECK-NEXT: "id": "0x{{.*}}",
1794// CHECK-NEXT: "kind": "ParmVarDecl",
1795// CHECK-NEXT: "loc": {
1796// CHECK-NEXT: "col": 71,
Aaron Ballmana612e342019-06-24 20:07:11 +00001797// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001798// CHECK-NEXT: },
1799// CHECK-NEXT: "range": {
1800// CHECK-NEXT: "begin": {
1801// CHECK-NEXT: "col": 50,
Aaron Ballmana612e342019-06-24 20:07:11 +00001802// CHECK-NEXT: "tokLen": 19
Aaron Ballman75e23f82019-06-20 21:45:31 +00001803// CHECK-NEXT: },
1804// CHECK-NEXT: "end": {
1805// CHECK-NEXT: "col": 71,
Aaron Ballmana612e342019-06-24 20:07:11 +00001806// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001807// CHECK-NEXT: }
1808// CHECK-NEXT: },
1809// CHECK-NEXT: "isUsed": true,
1810// CHECK-NEXT: "name": "Dict",
1811// CHECK-NEXT: "type": {
1812// CHECK-NEXT: "qualType": "NSMutableDictionary *"
1813// CHECK-NEXT: }
1814// CHECK-NEXT: },
1815// CHECK-NEXT: {
1816// CHECK-NEXT: "id": "0x{{.*}}",
1817// CHECK-NEXT: "kind": "CompoundStmt",
1818// CHECK-NEXT: "range": {
1819// CHECK-NEXT: "begin": {
1820// CHECK-NEXT: "col": 77,
Aaron Ballmana612e342019-06-24 20:07:11 +00001821// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001822// CHECK-NEXT: },
1823// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +00001824// CHECK-NEXT: "line": 87,
Aaron Ballman75e23f82019-06-20 21:45:31 +00001825// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00001826// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001827// CHECK-NEXT: }
1828// CHECK-NEXT: },
1829// CHECK-NEXT: "inner": [
1830// CHECK-NEXT: {
1831// CHECK-NEXT: "id": "0x{{.*}}",
1832// CHECK-NEXT: "kind": "PseudoObjectExpr",
1833// CHECK-NEXT: "range": {
1834// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +00001835// CHECK-NEXT: "line": 82,
Aaron Ballman75e23f82019-06-20 21:45:31 +00001836// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00001837// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001838// CHECK-NEXT: },
1839// CHECK-NEXT: "end": {
1840// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00001841// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001842// CHECK-NEXT: }
1843// CHECK-NEXT: },
1844// CHECK-NEXT: "type": {
1845// CHECK-NEXT: "desugaredQualType": "id",
1846// CHECK-NEXT: "qualType": "id"
1847// CHECK-NEXT: },
1848// CHECK-NEXT: "valueCategory": "rvalue",
1849// CHECK-NEXT: "inner": [
1850// CHECK-NEXT: {
1851// CHECK-NEXT: "id": "0x{{.*}}",
1852// CHECK-NEXT: "kind": "BinaryOperator",
1853// CHECK-NEXT: "range": {
1854// CHECK-NEXT: "begin": {
1855// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00001856// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001857// CHECK-NEXT: },
1858// CHECK-NEXT: "end": {
1859// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00001860// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001861// CHECK-NEXT: }
1862// CHECK-NEXT: },
1863// CHECK-NEXT: "type": {
1864// CHECK-NEXT: "qualType": "void *"
1865// CHECK-NEXT: },
1866// CHECK-NEXT: "valueCategory": "rvalue",
1867// CHECK-NEXT: "opcode": "=",
1868// CHECK-NEXT: "inner": [
1869// CHECK-NEXT: {
1870// CHECK-NEXT: "id": "0x{{.*}}",
1871// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
1872// CHECK-NEXT: "range": {
1873// CHECK-NEXT: "begin": {
1874// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00001875// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001876// CHECK-NEXT: },
1877// CHECK-NEXT: "end": {
1878// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00001879// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001880// CHECK-NEXT: }
1881// CHECK-NEXT: },
1882// CHECK-NEXT: "type": {
1883// CHECK-NEXT: "qualType": "<pseudo-object type>"
1884// CHECK-NEXT: },
1885// CHECK-NEXT: "valueCategory": "lvalue",
1886// CHECK-NEXT: "subscriptKind": "array",
1887// CHECK-NEXT: "inner": [
1888// CHECK-NEXT: {
1889// CHECK-NEXT: "id": "0x{{.*}}",
1890// CHECK-NEXT: "kind": "OpaqueValueExpr",
1891// CHECK-NEXT: "range": {
1892// CHECK-NEXT: "begin": {
1893// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00001894// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001895// CHECK-NEXT: },
1896// CHECK-NEXT: "end": {
1897// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00001898// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001899// CHECK-NEXT: }
1900// CHECK-NEXT: },
1901// CHECK-NEXT: "type": {
1902// CHECK-NEXT: "qualType": "NSMutableArray *"
1903// CHECK-NEXT: },
1904// CHECK-NEXT: "valueCategory": "rvalue",
1905// CHECK-NEXT: "inner": [
1906// CHECK-NEXT: {
1907// CHECK-NEXT: "id": "0x{{.*}}",
1908// CHECK-NEXT: "kind": "ImplicitCastExpr",
1909// CHECK-NEXT: "range": {
1910// CHECK-NEXT: "begin": {
1911// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00001912// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001913// CHECK-NEXT: },
1914// CHECK-NEXT: "end": {
1915// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00001916// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001917// CHECK-NEXT: }
1918// CHECK-NEXT: },
1919// CHECK-NEXT: "type": {
1920// CHECK-NEXT: "qualType": "NSMutableArray *"
1921// CHECK-NEXT: },
1922// CHECK-NEXT: "valueCategory": "rvalue",
1923// CHECK-NEXT: "castKind": "LValueToRValue",
1924// CHECK-NEXT: "inner": [
1925// CHECK-NEXT: {
1926// CHECK-NEXT: "id": "0x{{.*}}",
1927// CHECK-NEXT: "kind": "DeclRefExpr",
1928// CHECK-NEXT: "range": {
1929// CHECK-NEXT: "begin": {
1930// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00001931// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001932// CHECK-NEXT: },
1933// CHECK-NEXT: "end": {
1934// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00001935// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001936// CHECK-NEXT: }
1937// CHECK-NEXT: },
1938// CHECK-NEXT: "type": {
1939// CHECK-NEXT: "qualType": "NSMutableArray *"
1940// CHECK-NEXT: },
1941// CHECK-NEXT: "valueCategory": "lvalue",
1942// CHECK-NEXT: "referencedDecl": {
1943// CHECK-NEXT: "id": "0x{{.*}}",
1944// CHECK-NEXT: "kind": "ParmVarDecl",
1945// CHECK-NEXT: "name": "Array",
1946// CHECK-NEXT: "type": {
1947// CHECK-NEXT: "qualType": "NSMutableArray *"
1948// CHECK-NEXT: }
1949// CHECK-NEXT: }
1950// CHECK-NEXT: }
1951// CHECK-NEXT: ]
1952// CHECK-NEXT: }
1953// CHECK-NEXT: ]
1954// CHECK-NEXT: },
1955// CHECK-NEXT: {
1956// CHECK-NEXT: "id": "0x{{.*}}",
1957// CHECK-NEXT: "kind": "OpaqueValueExpr",
1958// CHECK-NEXT: "range": {
1959// CHECK-NEXT: "begin": {
1960// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00001961// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001962// CHECK-NEXT: },
1963// CHECK-NEXT: "end": {
1964// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00001965// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001966// CHECK-NEXT: }
1967// CHECK-NEXT: },
1968// CHECK-NEXT: "type": {
1969// CHECK-NEXT: "qualType": "int"
1970// CHECK-NEXT: },
1971// CHECK-NEXT: "valueCategory": "rvalue",
1972// CHECK-NEXT: "inner": [
1973// CHECK-NEXT: {
1974// CHECK-NEXT: "id": "0x{{.*}}",
1975// CHECK-NEXT: "kind": "IntegerLiteral",
1976// CHECK-NEXT: "range": {
1977// CHECK-NEXT: "begin": {
1978// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00001979// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001980// CHECK-NEXT: },
1981// CHECK-NEXT: "end": {
1982// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00001983// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001984// CHECK-NEXT: }
1985// CHECK-NEXT: },
1986// CHECK-NEXT: "type": {
1987// CHECK-NEXT: "qualType": "int"
1988// CHECK-NEXT: },
1989// CHECK-NEXT: "valueCategory": "rvalue",
1990// CHECK-NEXT: "value": "0"
1991// CHECK-NEXT: }
1992// CHECK-NEXT: ]
1993// CHECK-NEXT: }
1994// CHECK-NEXT: ]
1995// CHECK-NEXT: },
1996// CHECK-NEXT: {
1997// CHECK-NEXT: "id": "0x{{.*}}",
1998// CHECK-NEXT: "kind": "OpaqueValueExpr",
1999// CHECK-NEXT: "range": {
2000// CHECK-NEXT: "begin": {
2001// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002002// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002003// CHECK-NEXT: },
2004// CHECK-NEXT: "end": {
2005// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002006// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002007// CHECK-NEXT: }
2008// CHECK-NEXT: },
2009// CHECK-NEXT: "type": {
2010// CHECK-NEXT: "qualType": "void *"
2011// CHECK-NEXT: },
2012// CHECK-NEXT: "valueCategory": "rvalue",
2013// CHECK-NEXT: "inner": [
2014// CHECK-NEXT: {
2015// CHECK-NEXT: "id": "0x{{.*}}",
2016// CHECK-NEXT: "kind": "CStyleCastExpr",
2017// CHECK-NEXT: "range": {
2018// CHECK-NEXT: "begin": {
2019// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002020// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002021// CHECK-NEXT: },
2022// CHECK-NEXT: "end": {
2023// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002024// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002025// CHECK-NEXT: }
2026// CHECK-NEXT: },
2027// CHECK-NEXT: "type": {
2028// CHECK-NEXT: "qualType": "void *"
2029// CHECK-NEXT: },
2030// CHECK-NEXT: "valueCategory": "rvalue",
2031// CHECK-NEXT: "castKind": "NullToPointer",
2032// CHECK-NEXT: "inner": [
2033// CHECK-NEXT: {
2034// CHECK-NEXT: "id": "0x{{.*}}",
2035// CHECK-NEXT: "kind": "IntegerLiteral",
2036// CHECK-NEXT: "range": {
2037// CHECK-NEXT: "begin": {
2038// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002039// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002040// CHECK-NEXT: },
2041// CHECK-NEXT: "end": {
2042// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002043// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002044// CHECK-NEXT: }
2045// CHECK-NEXT: },
2046// CHECK-NEXT: "type": {
2047// CHECK-NEXT: "qualType": "int"
2048// CHECK-NEXT: },
2049// CHECK-NEXT: "valueCategory": "rvalue",
2050// CHECK-NEXT: "value": "0"
2051// CHECK-NEXT: }
2052// CHECK-NEXT: ]
2053// CHECK-NEXT: }
2054// CHECK-NEXT: ]
2055// CHECK-NEXT: }
2056// CHECK-NEXT: ]
2057// CHECK-NEXT: },
2058// CHECK-NEXT: {
2059// CHECK-NEXT: "id": "0x{{.*}}",
2060// CHECK-NEXT: "kind": "OpaqueValueExpr",
2061// CHECK-NEXT: "range": {
2062// CHECK-NEXT: "begin": {
2063// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002064// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002065// CHECK-NEXT: },
2066// CHECK-NEXT: "end": {
2067// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002068// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002069// CHECK-NEXT: }
2070// CHECK-NEXT: },
2071// CHECK-NEXT: "type": {
2072// CHECK-NEXT: "qualType": "NSMutableArray *"
2073// CHECK-NEXT: },
2074// CHECK-NEXT: "valueCategory": "rvalue",
2075// CHECK-NEXT: "inner": [
2076// CHECK-NEXT: {
2077// CHECK-NEXT: "id": "0x{{.*}}",
2078// CHECK-NEXT: "kind": "ImplicitCastExpr",
2079// CHECK-NEXT: "range": {
2080// CHECK-NEXT: "begin": {
2081// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002082// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002083// CHECK-NEXT: },
2084// CHECK-NEXT: "end": {
2085// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002086// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002087// CHECK-NEXT: }
2088// CHECK-NEXT: },
2089// CHECK-NEXT: "type": {
2090// CHECK-NEXT: "qualType": "NSMutableArray *"
2091// CHECK-NEXT: },
2092// CHECK-NEXT: "valueCategory": "rvalue",
2093// CHECK-NEXT: "castKind": "LValueToRValue",
2094// CHECK-NEXT: "inner": [
2095// CHECK-NEXT: {
2096// CHECK-NEXT: "id": "0x{{.*}}",
2097// CHECK-NEXT: "kind": "DeclRefExpr",
2098// CHECK-NEXT: "range": {
2099// CHECK-NEXT: "begin": {
2100// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002101// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002102// CHECK-NEXT: },
2103// CHECK-NEXT: "end": {
2104// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002105// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002106// CHECK-NEXT: }
2107// CHECK-NEXT: },
2108// CHECK-NEXT: "type": {
2109// CHECK-NEXT: "qualType": "NSMutableArray *"
2110// CHECK-NEXT: },
2111// CHECK-NEXT: "valueCategory": "lvalue",
2112// CHECK-NEXT: "referencedDecl": {
2113// CHECK-NEXT: "id": "0x{{.*}}",
2114// CHECK-NEXT: "kind": "ParmVarDecl",
2115// CHECK-NEXT: "name": "Array",
2116// CHECK-NEXT: "type": {
2117// CHECK-NEXT: "qualType": "NSMutableArray *"
2118// CHECK-NEXT: }
2119// CHECK-NEXT: }
2120// CHECK-NEXT: }
2121// CHECK-NEXT: ]
2122// CHECK-NEXT: }
2123// CHECK-NEXT: ]
2124// CHECK-NEXT: },
2125// CHECK-NEXT: {
2126// CHECK-NEXT: "id": "0x{{.*}}",
2127// CHECK-NEXT: "kind": "OpaqueValueExpr",
2128// CHECK-NEXT: "range": {
2129// CHECK-NEXT: "begin": {
2130// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002131// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002132// CHECK-NEXT: },
2133// CHECK-NEXT: "end": {
2134// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002135// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002136// CHECK-NEXT: }
2137// CHECK-NEXT: },
2138// CHECK-NEXT: "type": {
2139// CHECK-NEXT: "qualType": "int"
2140// CHECK-NEXT: },
2141// CHECK-NEXT: "valueCategory": "rvalue",
2142// CHECK-NEXT: "inner": [
2143// CHECK-NEXT: {
2144// CHECK-NEXT: "id": "0x{{.*}}",
2145// CHECK-NEXT: "kind": "IntegerLiteral",
2146// CHECK-NEXT: "range": {
2147// CHECK-NEXT: "begin": {
2148// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002149// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002150// CHECK-NEXT: },
2151// CHECK-NEXT: "end": {
2152// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002153// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002154// CHECK-NEXT: }
2155// CHECK-NEXT: },
2156// CHECK-NEXT: "type": {
2157// CHECK-NEXT: "qualType": "int"
2158// CHECK-NEXT: },
2159// CHECK-NEXT: "valueCategory": "rvalue",
2160// CHECK-NEXT: "value": "0"
2161// CHECK-NEXT: }
2162// CHECK-NEXT: ]
2163// CHECK-NEXT: },
2164// CHECK-NEXT: {
2165// CHECK-NEXT: "id": "0x{{.*}}",
2166// CHECK-NEXT: "kind": "OpaqueValueExpr",
2167// CHECK-NEXT: "range": {
2168// CHECK-NEXT: "begin": {
2169// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002170// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002171// CHECK-NEXT: },
2172// CHECK-NEXT: "end": {
2173// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002174// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002175// CHECK-NEXT: }
2176// CHECK-NEXT: },
2177// CHECK-NEXT: "type": {
2178// CHECK-NEXT: "qualType": "void *"
2179// CHECK-NEXT: },
2180// CHECK-NEXT: "valueCategory": "rvalue",
2181// CHECK-NEXT: "inner": [
2182// CHECK-NEXT: {
2183// CHECK-NEXT: "id": "0x{{.*}}",
2184// CHECK-NEXT: "kind": "CStyleCastExpr",
2185// CHECK-NEXT: "range": {
2186// CHECK-NEXT: "begin": {
2187// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002188// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002189// CHECK-NEXT: },
2190// CHECK-NEXT: "end": {
2191// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002192// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002193// CHECK-NEXT: }
2194// CHECK-NEXT: },
2195// CHECK-NEXT: "type": {
2196// CHECK-NEXT: "qualType": "void *"
2197// CHECK-NEXT: },
2198// CHECK-NEXT: "valueCategory": "rvalue",
2199// CHECK-NEXT: "castKind": "NullToPointer",
2200// CHECK-NEXT: "inner": [
2201// CHECK-NEXT: {
2202// CHECK-NEXT: "id": "0x{{.*}}",
2203// CHECK-NEXT: "kind": "IntegerLiteral",
2204// CHECK-NEXT: "range": {
2205// CHECK-NEXT: "begin": {
2206// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002207// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002208// CHECK-NEXT: },
2209// CHECK-NEXT: "end": {
2210// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002211// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002212// CHECK-NEXT: }
2213// CHECK-NEXT: },
2214// CHECK-NEXT: "type": {
2215// CHECK-NEXT: "qualType": "int"
2216// CHECK-NEXT: },
2217// CHECK-NEXT: "valueCategory": "rvalue",
2218// CHECK-NEXT: "value": "0"
2219// CHECK-NEXT: }
2220// CHECK-NEXT: ]
2221// CHECK-NEXT: }
2222// CHECK-NEXT: ]
2223// CHECK-NEXT: },
2224// CHECK-NEXT: {
2225// CHECK-NEXT: "id": "0x{{.*}}",
2226// CHECK-NEXT: "kind": "OpaqueValueExpr",
2227// CHECK-NEXT: "range": {
2228// CHECK-NEXT: "begin": {
2229// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002230// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002231// CHECK-NEXT: },
2232// CHECK-NEXT: "end": {
2233// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002234// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002235// CHECK-NEXT: }
2236// CHECK-NEXT: },
2237// CHECK-NEXT: "type": {
2238// CHECK-NEXT: "desugaredQualType": "id",
2239// CHECK-NEXT: "qualType": "id"
2240// CHECK-NEXT: },
2241// CHECK-NEXT: "valueCategory": "rvalue",
2242// CHECK-NEXT: "inner": [
2243// CHECK-NEXT: {
2244// CHECK-NEXT: "id": "0x{{.*}}",
2245// CHECK-NEXT: "kind": "ImplicitCastExpr",
2246// CHECK-NEXT: "range": {
2247// CHECK-NEXT: "begin": {
2248// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002249// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002250// CHECK-NEXT: },
2251// CHECK-NEXT: "end": {
2252// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002253// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002254// CHECK-NEXT: }
2255// CHECK-NEXT: },
2256// CHECK-NEXT: "type": {
2257// CHECK-NEXT: "desugaredQualType": "id",
2258// CHECK-NEXT: "qualType": "id"
2259// CHECK-NEXT: },
2260// CHECK-NEXT: "valueCategory": "rvalue",
2261// CHECK-NEXT: "castKind": "NullToPointer",
2262// CHECK-NEXT: "inner": [
2263// CHECK-NEXT: {
2264// CHECK-NEXT: "id": "0x{{.*}}",
2265// CHECK-NEXT: "kind": "OpaqueValueExpr",
2266// CHECK-NEXT: "range": {
2267// CHECK-NEXT: "begin": {
2268// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002269// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002270// CHECK-NEXT: },
2271// CHECK-NEXT: "end": {
2272// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002273// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002274// CHECK-NEXT: }
2275// CHECK-NEXT: },
2276// CHECK-NEXT: "type": {
2277// CHECK-NEXT: "qualType": "void *"
2278// CHECK-NEXT: },
2279// CHECK-NEXT: "valueCategory": "rvalue",
2280// CHECK-NEXT: "inner": [
2281// CHECK-NEXT: {
2282// CHECK-NEXT: "id": "0x{{.*}}",
2283// CHECK-NEXT: "kind": "CStyleCastExpr",
2284// CHECK-NEXT: "range": {
2285// CHECK-NEXT: "begin": {
2286// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002287// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002288// CHECK-NEXT: },
2289// CHECK-NEXT: "end": {
2290// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002291// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002292// CHECK-NEXT: }
2293// CHECK-NEXT: },
2294// CHECK-NEXT: "type": {
2295// CHECK-NEXT: "qualType": "void *"
2296// CHECK-NEXT: },
2297// CHECK-NEXT: "valueCategory": "rvalue",
2298// CHECK-NEXT: "castKind": "NullToPointer",
2299// CHECK-NEXT: "inner": [
2300// CHECK-NEXT: {
2301// CHECK-NEXT: "id": "0x{{.*}}",
2302// CHECK-NEXT: "kind": "IntegerLiteral",
2303// CHECK-NEXT: "range": {
2304// CHECK-NEXT: "begin": {
2305// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002306// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002307// CHECK-NEXT: },
2308// CHECK-NEXT: "end": {
2309// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002310// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002311// CHECK-NEXT: }
2312// CHECK-NEXT: },
2313// CHECK-NEXT: "type": {
2314// CHECK-NEXT: "qualType": "int"
2315// CHECK-NEXT: },
2316// CHECK-NEXT: "valueCategory": "rvalue",
2317// CHECK-NEXT: "value": "0"
2318// CHECK-NEXT: }
2319// CHECK-NEXT: ]
2320// CHECK-NEXT: }
2321// CHECK-NEXT: ]
2322// CHECK-NEXT: }
2323// CHECK-NEXT: ]
2324// CHECK-NEXT: }
2325// CHECK-NEXT: ]
2326// CHECK-NEXT: },
2327// CHECK-NEXT: {
2328// CHECK-NEXT: "id": "0x{{.*}}",
2329// CHECK-NEXT: "kind": "ObjCMessageExpr",
2330// CHECK-NEXT: "range": {
2331// CHECK-NEXT: "begin": {
2332// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002333// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002334// CHECK-NEXT: },
2335// CHECK-NEXT: "end": {
2336// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002337// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002338// CHECK-NEXT: }
2339// CHECK-NEXT: },
2340// CHECK-NEXT: "type": {
2341// CHECK-NEXT: "qualType": "void"
2342// CHECK-NEXT: },
2343// CHECK-NEXT: "valueCategory": "rvalue",
2344// CHECK-NEXT: "selector": "setObject:atIndexedSubscript:",
2345// CHECK-NEXT: "receiverKind": "instance",
2346// CHECK-NEXT: "inner": [
2347// CHECK-NEXT: {
2348// CHECK-NEXT: "id": "0x{{.*}}",
2349// CHECK-NEXT: "kind": "OpaqueValueExpr",
2350// CHECK-NEXT: "range": {
2351// CHECK-NEXT: "begin": {
2352// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002353// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002354// CHECK-NEXT: },
2355// CHECK-NEXT: "end": {
2356// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002357// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002358// CHECK-NEXT: }
2359// CHECK-NEXT: },
2360// CHECK-NEXT: "type": {
2361// CHECK-NEXT: "qualType": "NSMutableArray *"
2362// CHECK-NEXT: },
2363// CHECK-NEXT: "valueCategory": "rvalue",
2364// CHECK-NEXT: "inner": [
2365// CHECK-NEXT: {
2366// CHECK-NEXT: "id": "0x{{.*}}",
2367// CHECK-NEXT: "kind": "ImplicitCastExpr",
2368// CHECK-NEXT: "range": {
2369// CHECK-NEXT: "begin": {
2370// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002371// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002372// CHECK-NEXT: },
2373// CHECK-NEXT: "end": {
2374// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002375// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002376// CHECK-NEXT: }
2377// CHECK-NEXT: },
2378// CHECK-NEXT: "type": {
2379// CHECK-NEXT: "qualType": "NSMutableArray *"
2380// CHECK-NEXT: },
2381// CHECK-NEXT: "valueCategory": "rvalue",
2382// CHECK-NEXT: "castKind": "LValueToRValue",
2383// CHECK-NEXT: "inner": [
2384// CHECK-NEXT: {
2385// CHECK-NEXT: "id": "0x{{.*}}",
2386// CHECK-NEXT: "kind": "DeclRefExpr",
2387// CHECK-NEXT: "range": {
2388// CHECK-NEXT: "begin": {
2389// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002390// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002391// CHECK-NEXT: },
2392// CHECK-NEXT: "end": {
2393// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002394// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002395// CHECK-NEXT: }
2396// CHECK-NEXT: },
2397// CHECK-NEXT: "type": {
2398// CHECK-NEXT: "qualType": "NSMutableArray *"
2399// CHECK-NEXT: },
2400// CHECK-NEXT: "valueCategory": "lvalue",
2401// CHECK-NEXT: "referencedDecl": {
2402// CHECK-NEXT: "id": "0x{{.*}}",
2403// CHECK-NEXT: "kind": "ParmVarDecl",
2404// CHECK-NEXT: "name": "Array",
2405// CHECK-NEXT: "type": {
2406// CHECK-NEXT: "qualType": "NSMutableArray *"
2407// CHECK-NEXT: }
2408// CHECK-NEXT: }
2409// CHECK-NEXT: }
2410// CHECK-NEXT: ]
2411// CHECK-NEXT: }
2412// CHECK-NEXT: ]
2413// CHECK-NEXT: },
2414// CHECK-NEXT: {
2415// CHECK-NEXT: "id": "0x{{.*}}",
2416// CHECK-NEXT: "kind": "OpaqueValueExpr",
2417// CHECK-NEXT: "range": {
2418// CHECK-NEXT: "begin": {
2419// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002420// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002421// CHECK-NEXT: },
2422// CHECK-NEXT: "end": {
2423// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002424// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002425// CHECK-NEXT: }
2426// CHECK-NEXT: },
2427// CHECK-NEXT: "type": {
2428// CHECK-NEXT: "desugaredQualType": "id",
2429// CHECK-NEXT: "qualType": "id"
2430// CHECK-NEXT: },
2431// CHECK-NEXT: "valueCategory": "rvalue",
2432// CHECK-NEXT: "inner": [
2433// CHECK-NEXT: {
2434// CHECK-NEXT: "id": "0x{{.*}}",
2435// CHECK-NEXT: "kind": "ImplicitCastExpr",
2436// CHECK-NEXT: "range": {
2437// CHECK-NEXT: "begin": {
2438// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002439// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002440// CHECK-NEXT: },
2441// CHECK-NEXT: "end": {
2442// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002443// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002444// CHECK-NEXT: }
2445// CHECK-NEXT: },
2446// CHECK-NEXT: "type": {
2447// CHECK-NEXT: "desugaredQualType": "id",
2448// CHECK-NEXT: "qualType": "id"
2449// CHECK-NEXT: },
2450// CHECK-NEXT: "valueCategory": "rvalue",
2451// CHECK-NEXT: "castKind": "NullToPointer",
2452// CHECK-NEXT: "inner": [
2453// CHECK-NEXT: {
2454// CHECK-NEXT: "id": "0x{{.*}}",
2455// CHECK-NEXT: "kind": "OpaqueValueExpr",
2456// CHECK-NEXT: "range": {
2457// CHECK-NEXT: "begin": {
2458// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002459// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002460// CHECK-NEXT: },
2461// CHECK-NEXT: "end": {
2462// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002463// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002464// CHECK-NEXT: }
2465// CHECK-NEXT: },
2466// CHECK-NEXT: "type": {
2467// CHECK-NEXT: "qualType": "void *"
2468// CHECK-NEXT: },
2469// CHECK-NEXT: "valueCategory": "rvalue",
2470// CHECK-NEXT: "inner": [
2471// CHECK-NEXT: {
2472// CHECK-NEXT: "id": "0x{{.*}}",
2473// CHECK-NEXT: "kind": "CStyleCastExpr",
2474// CHECK-NEXT: "range": {
2475// CHECK-NEXT: "begin": {
2476// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002477// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002478// CHECK-NEXT: },
2479// CHECK-NEXT: "end": {
2480// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002481// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002482// CHECK-NEXT: }
2483// CHECK-NEXT: },
2484// CHECK-NEXT: "type": {
2485// CHECK-NEXT: "qualType": "void *"
2486// CHECK-NEXT: },
2487// CHECK-NEXT: "valueCategory": "rvalue",
2488// CHECK-NEXT: "castKind": "NullToPointer",
2489// CHECK-NEXT: "inner": [
2490// CHECK-NEXT: {
2491// CHECK-NEXT: "id": "0x{{.*}}",
2492// CHECK-NEXT: "kind": "IntegerLiteral",
2493// CHECK-NEXT: "range": {
2494// CHECK-NEXT: "begin": {
2495// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002496// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002497// CHECK-NEXT: },
2498// CHECK-NEXT: "end": {
2499// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002500// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002501// CHECK-NEXT: }
2502// CHECK-NEXT: },
2503// CHECK-NEXT: "type": {
2504// CHECK-NEXT: "qualType": "int"
2505// CHECK-NEXT: },
2506// CHECK-NEXT: "valueCategory": "rvalue",
2507// CHECK-NEXT: "value": "0"
2508// CHECK-NEXT: }
2509// CHECK-NEXT: ]
2510// CHECK-NEXT: }
2511// CHECK-NEXT: ]
2512// CHECK-NEXT: }
2513// CHECK-NEXT: ]
2514// CHECK-NEXT: }
2515// CHECK-NEXT: ]
2516// CHECK-NEXT: },
2517// CHECK-NEXT: {
2518// CHECK-NEXT: "id": "0x{{.*}}",
2519// CHECK-NEXT: "kind": "OpaqueValueExpr",
2520// CHECK-NEXT: "range": {
2521// CHECK-NEXT: "begin": {
2522// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002523// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002524// CHECK-NEXT: },
2525// CHECK-NEXT: "end": {
2526// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002527// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002528// CHECK-NEXT: }
2529// CHECK-NEXT: },
2530// CHECK-NEXT: "type": {
2531// CHECK-NEXT: "qualType": "int"
2532// CHECK-NEXT: },
2533// CHECK-NEXT: "valueCategory": "rvalue",
2534// CHECK-NEXT: "inner": [
2535// CHECK-NEXT: {
2536// CHECK-NEXT: "id": "0x{{.*}}",
2537// CHECK-NEXT: "kind": "IntegerLiteral",
2538// CHECK-NEXT: "range": {
2539// CHECK-NEXT: "begin": {
2540// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002541// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002542// CHECK-NEXT: },
2543// CHECK-NEXT: "end": {
2544// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002545// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002546// CHECK-NEXT: }
2547// CHECK-NEXT: },
2548// CHECK-NEXT: "type": {
2549// CHECK-NEXT: "qualType": "int"
2550// CHECK-NEXT: },
2551// CHECK-NEXT: "valueCategory": "rvalue",
2552// CHECK-NEXT: "value": "0"
2553// CHECK-NEXT: }
2554// CHECK-NEXT: ]
2555// CHECK-NEXT: }
2556// CHECK-NEXT: ]
2557// CHECK-NEXT: }
2558// CHECK-NEXT: ]
2559// CHECK-NEXT: },
2560// CHECK-NEXT: {
2561// CHECK-NEXT: "id": "0x{{.*}}",
2562// CHECK-NEXT: "kind": "DeclStmt",
2563// CHECK-NEXT: "range": {
2564// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +00002565// CHECK-NEXT: "line": 83,
Aaron Ballman75e23f82019-06-20 21:45:31 +00002566// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002567// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00002568// CHECK-NEXT: },
2569// CHECK-NEXT: "end": {
2570// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00002571// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002572// CHECK-NEXT: }
2573// CHECK-NEXT: },
2574// CHECK-NEXT: "inner": [
2575// CHECK-NEXT: {
2576// CHECK-NEXT: "id": "0x{{.*}}",
2577// CHECK-NEXT: "kind": "VarDecl",
2578// CHECK-NEXT: "loc": {
2579// CHECK-NEXT: "col": 5,
Aaron Ballmana612e342019-06-24 20:07:11 +00002580// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002581// CHECK-NEXT: },
2582// CHECK-NEXT: "range": {
2583// CHECK-NEXT: "begin": {
2584// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002585// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00002586// CHECK-NEXT: },
2587// CHECK-NEXT: "end": {
2588// CHECK-NEXT: "col": 16,
Aaron Ballmana612e342019-06-24 20:07:11 +00002589// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002590// CHECK-NEXT: }
2591// CHECK-NEXT: },
2592// CHECK-NEXT: "isUsed": true,
2593// CHECK-NEXT: "name": "i",
2594// CHECK-NEXT: "type": {
2595// CHECK-NEXT: "desugaredQualType": "id",
2596// CHECK-NEXT: "qualType": "id"
2597// CHECK-NEXT: },
2598// CHECK-NEXT: "init": "c",
2599// CHECK-NEXT: "inner": [
2600// CHECK-NEXT: {
2601// CHECK-NEXT: "id": "0x{{.*}}",
2602// CHECK-NEXT: "kind": "PseudoObjectExpr",
2603// CHECK-NEXT: "range": {
2604// CHECK-NEXT: "begin": {
2605// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002606// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002607// CHECK-NEXT: },
2608// CHECK-NEXT: "end": {
2609// CHECK-NEXT: "col": 16,
Aaron Ballmana612e342019-06-24 20:07:11 +00002610// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002611// CHECK-NEXT: }
2612// CHECK-NEXT: },
2613// CHECK-NEXT: "type": {
2614// CHECK-NEXT: "desugaredQualType": "id",
2615// CHECK-NEXT: "qualType": "id"
2616// CHECK-NEXT: },
2617// CHECK-NEXT: "valueCategory": "rvalue",
2618// CHECK-NEXT: "inner": [
2619// CHECK-NEXT: {
2620// CHECK-NEXT: "id": "0x{{.*}}",
2621// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
2622// CHECK-NEXT: "range": {
2623// CHECK-NEXT: "begin": {
2624// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002625// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002626// CHECK-NEXT: },
2627// CHECK-NEXT: "end": {
2628// CHECK-NEXT: "col": 16,
Aaron Ballmana612e342019-06-24 20:07:11 +00002629// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002630// CHECK-NEXT: }
2631// CHECK-NEXT: },
2632// CHECK-NEXT: "type": {
2633// CHECK-NEXT: "qualType": "<pseudo-object type>"
2634// CHECK-NEXT: },
2635// CHECK-NEXT: "valueCategory": "lvalue",
2636// CHECK-NEXT: "subscriptKind": "array",
2637// CHECK-NEXT: "inner": [
2638// CHECK-NEXT: {
2639// CHECK-NEXT: "id": "0x{{.*}}",
2640// CHECK-NEXT: "kind": "OpaqueValueExpr",
2641// CHECK-NEXT: "range": {
2642// CHECK-NEXT: "begin": {
2643// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002644// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002645// CHECK-NEXT: },
2646// CHECK-NEXT: "end": {
2647// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002648// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002649// CHECK-NEXT: }
2650// CHECK-NEXT: },
2651// CHECK-NEXT: "type": {
2652// CHECK-NEXT: "qualType": "NSMutableArray *"
2653// CHECK-NEXT: },
2654// CHECK-NEXT: "valueCategory": "rvalue",
2655// CHECK-NEXT: "inner": [
2656// CHECK-NEXT: {
2657// CHECK-NEXT: "id": "0x{{.*}}",
2658// CHECK-NEXT: "kind": "ImplicitCastExpr",
2659// CHECK-NEXT: "range": {
2660// CHECK-NEXT: "begin": {
2661// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002662// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002663// CHECK-NEXT: },
2664// CHECK-NEXT: "end": {
2665// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002666// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002667// CHECK-NEXT: }
2668// CHECK-NEXT: },
2669// CHECK-NEXT: "type": {
2670// CHECK-NEXT: "qualType": "NSMutableArray *"
2671// CHECK-NEXT: },
2672// CHECK-NEXT: "valueCategory": "rvalue",
2673// CHECK-NEXT: "castKind": "LValueToRValue",
2674// CHECK-NEXT: "inner": [
2675// CHECK-NEXT: {
2676// CHECK-NEXT: "id": "0x{{.*}}",
2677// CHECK-NEXT: "kind": "DeclRefExpr",
2678// CHECK-NEXT: "range": {
2679// CHECK-NEXT: "begin": {
2680// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002681// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002682// CHECK-NEXT: },
2683// CHECK-NEXT: "end": {
2684// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002685// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002686// CHECK-NEXT: }
2687// CHECK-NEXT: },
2688// CHECK-NEXT: "type": {
2689// CHECK-NEXT: "qualType": "NSMutableArray *"
2690// CHECK-NEXT: },
2691// CHECK-NEXT: "valueCategory": "lvalue",
2692// CHECK-NEXT: "referencedDecl": {
2693// CHECK-NEXT: "id": "0x{{.*}}",
2694// CHECK-NEXT: "kind": "ParmVarDecl",
2695// CHECK-NEXT: "name": "Array",
2696// CHECK-NEXT: "type": {
2697// CHECK-NEXT: "qualType": "NSMutableArray *"
2698// CHECK-NEXT: }
2699// CHECK-NEXT: }
2700// CHECK-NEXT: }
2701// CHECK-NEXT: ]
2702// CHECK-NEXT: }
2703// CHECK-NEXT: ]
2704// CHECK-NEXT: },
2705// CHECK-NEXT: {
2706// CHECK-NEXT: "id": "0x{{.*}}",
2707// CHECK-NEXT: "kind": "OpaqueValueExpr",
2708// CHECK-NEXT: "range": {
2709// CHECK-NEXT: "begin": {
2710// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002711// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002712// CHECK-NEXT: },
2713// CHECK-NEXT: "end": {
2714// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002715// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002716// CHECK-NEXT: }
2717// CHECK-NEXT: },
2718// CHECK-NEXT: "type": {
2719// CHECK-NEXT: "qualType": "int"
2720// CHECK-NEXT: },
2721// CHECK-NEXT: "valueCategory": "rvalue",
2722// CHECK-NEXT: "inner": [
2723// CHECK-NEXT: {
2724// CHECK-NEXT: "id": "0x{{.*}}",
2725// CHECK-NEXT: "kind": "IntegerLiteral",
2726// CHECK-NEXT: "range": {
2727// CHECK-NEXT: "begin": {
2728// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002729// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002730// CHECK-NEXT: },
2731// CHECK-NEXT: "end": {
2732// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002733// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002734// CHECK-NEXT: }
2735// CHECK-NEXT: },
2736// CHECK-NEXT: "type": {
2737// CHECK-NEXT: "qualType": "int"
2738// CHECK-NEXT: },
2739// CHECK-NEXT: "valueCategory": "rvalue",
2740// CHECK-NEXT: "value": "0"
2741// CHECK-NEXT: }
2742// CHECK-NEXT: ]
2743// CHECK-NEXT: }
2744// CHECK-NEXT: ]
2745// CHECK-NEXT: },
2746// CHECK-NEXT: {
2747// CHECK-NEXT: "id": "0x{{.*}}",
2748// CHECK-NEXT: "kind": "OpaqueValueExpr",
2749// CHECK-NEXT: "range": {
2750// CHECK-NEXT: "begin": {
2751// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002752// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002753// CHECK-NEXT: },
2754// CHECK-NEXT: "end": {
2755// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002756// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002757// CHECK-NEXT: }
2758// CHECK-NEXT: },
2759// CHECK-NEXT: "type": {
2760// CHECK-NEXT: "qualType": "NSMutableArray *"
2761// CHECK-NEXT: },
2762// CHECK-NEXT: "valueCategory": "rvalue",
2763// CHECK-NEXT: "inner": [
2764// CHECK-NEXT: {
2765// CHECK-NEXT: "id": "0x{{.*}}",
2766// CHECK-NEXT: "kind": "ImplicitCastExpr",
2767// CHECK-NEXT: "range": {
2768// CHECK-NEXT: "begin": {
2769// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002770// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002771// CHECK-NEXT: },
2772// CHECK-NEXT: "end": {
2773// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002774// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002775// CHECK-NEXT: }
2776// CHECK-NEXT: },
2777// CHECK-NEXT: "type": {
2778// CHECK-NEXT: "qualType": "NSMutableArray *"
2779// CHECK-NEXT: },
2780// CHECK-NEXT: "valueCategory": "rvalue",
2781// CHECK-NEXT: "castKind": "LValueToRValue",
2782// CHECK-NEXT: "inner": [
2783// CHECK-NEXT: {
2784// CHECK-NEXT: "id": "0x{{.*}}",
2785// CHECK-NEXT: "kind": "DeclRefExpr",
2786// CHECK-NEXT: "range": {
2787// CHECK-NEXT: "begin": {
2788// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002789// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002790// CHECK-NEXT: },
2791// CHECK-NEXT: "end": {
2792// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002793// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002794// CHECK-NEXT: }
2795// CHECK-NEXT: },
2796// CHECK-NEXT: "type": {
2797// CHECK-NEXT: "qualType": "NSMutableArray *"
2798// CHECK-NEXT: },
2799// CHECK-NEXT: "valueCategory": "lvalue",
2800// CHECK-NEXT: "referencedDecl": {
2801// CHECK-NEXT: "id": "0x{{.*}}",
2802// CHECK-NEXT: "kind": "ParmVarDecl",
2803// CHECK-NEXT: "name": "Array",
2804// CHECK-NEXT: "type": {
2805// CHECK-NEXT: "qualType": "NSMutableArray *"
2806// CHECK-NEXT: }
2807// CHECK-NEXT: }
2808// CHECK-NEXT: }
2809// CHECK-NEXT: ]
2810// CHECK-NEXT: }
2811// CHECK-NEXT: ]
2812// CHECK-NEXT: },
2813// CHECK-NEXT: {
2814// CHECK-NEXT: "id": "0x{{.*}}",
2815// CHECK-NEXT: "kind": "OpaqueValueExpr",
2816// CHECK-NEXT: "range": {
2817// CHECK-NEXT: "begin": {
2818// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002819// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002820// CHECK-NEXT: },
2821// CHECK-NEXT: "end": {
2822// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002823// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002824// CHECK-NEXT: }
2825// CHECK-NEXT: },
2826// CHECK-NEXT: "type": {
2827// CHECK-NEXT: "qualType": "int"
2828// CHECK-NEXT: },
2829// CHECK-NEXT: "valueCategory": "rvalue",
2830// CHECK-NEXT: "inner": [
2831// CHECK-NEXT: {
2832// CHECK-NEXT: "id": "0x{{.*}}",
2833// CHECK-NEXT: "kind": "IntegerLiteral",
2834// CHECK-NEXT: "range": {
2835// CHECK-NEXT: "begin": {
2836// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002837// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002838// CHECK-NEXT: },
2839// CHECK-NEXT: "end": {
2840// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002841// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002842// CHECK-NEXT: }
2843// CHECK-NEXT: },
2844// CHECK-NEXT: "type": {
2845// CHECK-NEXT: "qualType": "int"
2846// CHECK-NEXT: },
2847// CHECK-NEXT: "valueCategory": "rvalue",
2848// CHECK-NEXT: "value": "0"
2849// CHECK-NEXT: }
2850// CHECK-NEXT: ]
2851// CHECK-NEXT: },
2852// CHECK-NEXT: {
2853// CHECK-NEXT: "id": "0x{{.*}}",
2854// CHECK-NEXT: "kind": "ObjCMessageExpr",
2855// CHECK-NEXT: "range": {
2856// CHECK-NEXT: "begin": {
2857// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002858// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002859// CHECK-NEXT: },
2860// CHECK-NEXT: "end": {
2861// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002862// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002863// CHECK-NEXT: }
2864// CHECK-NEXT: },
2865// CHECK-NEXT: "type": {
2866// CHECK-NEXT: "desugaredQualType": "id",
2867// CHECK-NEXT: "qualType": "id"
2868// CHECK-NEXT: },
2869// CHECK-NEXT: "valueCategory": "rvalue",
2870// CHECK-NEXT: "selector": "objectAtIndexedSubscript:",
2871// CHECK-NEXT: "receiverKind": "instance",
2872// CHECK-NEXT: "inner": [
2873// CHECK-NEXT: {
2874// CHECK-NEXT: "id": "0x{{.*}}",
2875// CHECK-NEXT: "kind": "OpaqueValueExpr",
2876// CHECK-NEXT: "range": {
2877// CHECK-NEXT: "begin": {
2878// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002879// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002880// CHECK-NEXT: },
2881// CHECK-NEXT: "end": {
2882// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002883// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002884// CHECK-NEXT: }
2885// CHECK-NEXT: },
2886// CHECK-NEXT: "type": {
2887// CHECK-NEXT: "qualType": "NSMutableArray *"
2888// CHECK-NEXT: },
2889// CHECK-NEXT: "valueCategory": "rvalue",
2890// CHECK-NEXT: "inner": [
2891// CHECK-NEXT: {
2892// CHECK-NEXT: "id": "0x{{.*}}",
2893// CHECK-NEXT: "kind": "ImplicitCastExpr",
2894// CHECK-NEXT: "range": {
2895// CHECK-NEXT: "begin": {
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: "end": {
2900// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002901// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002902// CHECK-NEXT: }
2903// CHECK-NEXT: },
2904// CHECK-NEXT: "type": {
2905// CHECK-NEXT: "qualType": "NSMutableArray *"
2906// CHECK-NEXT: },
2907// CHECK-NEXT: "valueCategory": "rvalue",
2908// CHECK-NEXT: "castKind": "LValueToRValue",
2909// CHECK-NEXT: "inner": [
2910// CHECK-NEXT: {
2911// CHECK-NEXT: "id": "0x{{.*}}",
2912// CHECK-NEXT: "kind": "DeclRefExpr",
2913// CHECK-NEXT: "range": {
2914// CHECK-NEXT: "begin": {
2915// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002916// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002917// CHECK-NEXT: },
2918// CHECK-NEXT: "end": {
2919// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002920// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002921// CHECK-NEXT: }
2922// CHECK-NEXT: },
2923// CHECK-NEXT: "type": {
2924// CHECK-NEXT: "qualType": "NSMutableArray *"
2925// CHECK-NEXT: },
2926// CHECK-NEXT: "valueCategory": "lvalue",
2927// CHECK-NEXT: "referencedDecl": {
2928// CHECK-NEXT: "id": "0x{{.*}}",
2929// CHECK-NEXT: "kind": "ParmVarDecl",
2930// CHECK-NEXT: "name": "Array",
2931// CHECK-NEXT: "type": {
2932// CHECK-NEXT: "qualType": "NSMutableArray *"
2933// CHECK-NEXT: }
2934// CHECK-NEXT: }
2935// CHECK-NEXT: }
2936// CHECK-NEXT: ]
2937// CHECK-NEXT: }
2938// CHECK-NEXT: ]
2939// CHECK-NEXT: },
2940// CHECK-NEXT: {
2941// CHECK-NEXT: "id": "0x{{.*}}",
2942// CHECK-NEXT: "kind": "OpaqueValueExpr",
2943// CHECK-NEXT: "range": {
2944// CHECK-NEXT: "begin": {
2945// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002946// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002947// CHECK-NEXT: },
2948// CHECK-NEXT: "end": {
2949// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002950// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002951// CHECK-NEXT: }
2952// CHECK-NEXT: },
2953// CHECK-NEXT: "type": {
2954// CHECK-NEXT: "qualType": "int"
2955// CHECK-NEXT: },
2956// CHECK-NEXT: "valueCategory": "rvalue",
2957// CHECK-NEXT: "inner": [
2958// CHECK-NEXT: {
2959// CHECK-NEXT: "id": "0x{{.*}}",
2960// CHECK-NEXT: "kind": "IntegerLiteral",
2961// CHECK-NEXT: "range": {
2962// CHECK-NEXT: "begin": {
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: "end": {
2967// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002968// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002969// CHECK-NEXT: }
2970// CHECK-NEXT: },
2971// CHECK-NEXT: "type": {
2972// CHECK-NEXT: "qualType": "int"
2973// CHECK-NEXT: },
2974// CHECK-NEXT: "valueCategory": "rvalue",
2975// CHECK-NEXT: "value": "0"
2976// CHECK-NEXT: }
2977// CHECK-NEXT: ]
2978// CHECK-NEXT: }
2979// CHECK-NEXT: ]
2980// CHECK-NEXT: }
2981// CHECK-NEXT: ]
2982// CHECK-NEXT: }
2983// CHECK-NEXT: ]
2984// CHECK-NEXT: }
2985// CHECK-NEXT: ]
2986// CHECK-NEXT: },
2987// CHECK-NEXT: {
2988// CHECK-NEXT: "id": "0x{{.*}}",
2989// CHECK-NEXT: "kind": "PseudoObjectExpr",
2990// CHECK-NEXT: "range": {
2991// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +00002992// CHECK-NEXT: "line": 85,
Aaron Ballman75e23f82019-06-20 21:45:31 +00002993// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002994// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00002995// CHECK-NEXT: },
2996// CHECK-NEXT: "end": {
2997// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00002998// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002999// CHECK-NEXT: }
3000// CHECK-NEXT: },
3001// CHECK-NEXT: "type": {
3002// CHECK-NEXT: "desugaredQualType": "id",
3003// CHECK-NEXT: "qualType": "id"
3004// CHECK-NEXT: },
3005// CHECK-NEXT: "valueCategory": "rvalue",
3006// CHECK-NEXT: "inner": [
3007// CHECK-NEXT: {
3008// CHECK-NEXT: "id": "0x{{.*}}",
3009// CHECK-NEXT: "kind": "BinaryOperator",
3010// CHECK-NEXT: "range": {
3011// CHECK-NEXT: "begin": {
3012// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003013// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003014// CHECK-NEXT: },
3015// CHECK-NEXT: "end": {
3016// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003017// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003018// CHECK-NEXT: }
3019// CHECK-NEXT: },
3020// CHECK-NEXT: "type": {
3021// CHECK-NEXT: "qualType": "void *"
3022// CHECK-NEXT: },
3023// CHECK-NEXT: "valueCategory": "rvalue",
3024// CHECK-NEXT: "opcode": "=",
3025// CHECK-NEXT: "inner": [
3026// CHECK-NEXT: {
3027// CHECK-NEXT: "id": "0x{{.*}}",
3028// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
3029// CHECK-NEXT: "range": {
3030// CHECK-NEXT: "begin": {
3031// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003032// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003033// CHECK-NEXT: },
3034// CHECK-NEXT: "end": {
3035// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00003036// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003037// CHECK-NEXT: }
3038// CHECK-NEXT: },
3039// CHECK-NEXT: "type": {
3040// CHECK-NEXT: "qualType": "<pseudo-object type>"
3041// CHECK-NEXT: },
3042// CHECK-NEXT: "valueCategory": "lvalue",
3043// CHECK-NEXT: "subscriptKind": "dictionary",
3044// CHECK-NEXT: "inner": [
3045// CHECK-NEXT: {
3046// CHECK-NEXT: "id": "0x{{.*}}",
3047// CHECK-NEXT: "kind": "OpaqueValueExpr",
3048// CHECK-NEXT: "range": {
3049// CHECK-NEXT: "begin": {
3050// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003051// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003052// CHECK-NEXT: },
3053// CHECK-NEXT: "end": {
3054// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003055// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003056// CHECK-NEXT: }
3057// CHECK-NEXT: },
3058// CHECK-NEXT: "type": {
3059// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3060// CHECK-NEXT: },
3061// CHECK-NEXT: "valueCategory": "rvalue",
3062// CHECK-NEXT: "inner": [
3063// CHECK-NEXT: {
3064// CHECK-NEXT: "id": "0x{{.*}}",
3065// CHECK-NEXT: "kind": "ImplicitCastExpr",
3066// CHECK-NEXT: "range": {
3067// CHECK-NEXT: "begin": {
3068// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003069// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003070// CHECK-NEXT: },
3071// CHECK-NEXT: "end": {
3072// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003073// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003074// CHECK-NEXT: }
3075// CHECK-NEXT: },
3076// CHECK-NEXT: "type": {
3077// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3078// CHECK-NEXT: },
3079// CHECK-NEXT: "valueCategory": "rvalue",
3080// CHECK-NEXT: "castKind": "LValueToRValue",
3081// CHECK-NEXT: "inner": [
3082// CHECK-NEXT: {
3083// CHECK-NEXT: "id": "0x{{.*}}",
3084// CHECK-NEXT: "kind": "DeclRefExpr",
3085// CHECK-NEXT: "range": {
3086// CHECK-NEXT: "begin": {
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: "end": {
3091// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003092// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003093// CHECK-NEXT: }
3094// CHECK-NEXT: },
3095// CHECK-NEXT: "type": {
3096// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3097// CHECK-NEXT: },
3098// CHECK-NEXT: "valueCategory": "lvalue",
3099// CHECK-NEXT: "referencedDecl": {
3100// CHECK-NEXT: "id": "0x{{.*}}",
3101// CHECK-NEXT: "kind": "ParmVarDecl",
3102// CHECK-NEXT: "name": "Dict",
3103// CHECK-NEXT: "type": {
3104// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3105// CHECK-NEXT: }
3106// CHECK-NEXT: }
3107// CHECK-NEXT: }
3108// CHECK-NEXT: ]
3109// CHECK-NEXT: }
3110// CHECK-NEXT: ]
3111// CHECK-NEXT: },
3112// CHECK-NEXT: {
3113// CHECK-NEXT: "id": "0x{{.*}}",
3114// CHECK-NEXT: "kind": "OpaqueValueExpr",
3115// CHECK-NEXT: "range": {
3116// CHECK-NEXT: "begin": {
3117// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003118// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003119// CHECK-NEXT: },
3120// CHECK-NEXT: "end": {
3121// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003122// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003123// CHECK-NEXT: }
3124// CHECK-NEXT: },
3125// CHECK-NEXT: "type": {
3126// CHECK-NEXT: "qualType": "NSString *"
3127// CHECK-NEXT: },
3128// CHECK-NEXT: "valueCategory": "rvalue",
3129// CHECK-NEXT: "inner": [
3130// CHECK-NEXT: {
3131// CHECK-NEXT: "id": "0x{{.*}}",
3132// CHECK-NEXT: "kind": "ObjCStringLiteral",
3133// CHECK-NEXT: "range": {
3134// CHECK-NEXT: "begin": {
3135// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003136// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003137// CHECK-NEXT: },
3138// CHECK-NEXT: "end": {
3139// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003140// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003141// CHECK-NEXT: }
3142// CHECK-NEXT: },
3143// CHECK-NEXT: "type": {
3144// CHECK-NEXT: "qualType": "NSString *"
3145// CHECK-NEXT: },
3146// CHECK-NEXT: "valueCategory": "rvalue",
3147// CHECK-NEXT: "inner": [
3148// CHECK-NEXT: {
3149// CHECK-NEXT: "id": "0x{{.*}}",
3150// CHECK-NEXT: "kind": "StringLiteral",
3151// CHECK-NEXT: "range": {
3152// CHECK-NEXT: "begin": {
3153// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003154// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003155// CHECK-NEXT: },
3156// CHECK-NEXT: "end": {
3157// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003158// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003159// CHECK-NEXT: }
3160// CHECK-NEXT: },
3161// CHECK-NEXT: "type": {
3162// CHECK-NEXT: "qualType": "char [4]"
3163// CHECK-NEXT: },
3164// CHECK-NEXT: "valueCategory": "lvalue",
3165// CHECK-NEXT: "value": "\"key\""
3166// CHECK-NEXT: }
3167// CHECK-NEXT: ]
3168// CHECK-NEXT: }
3169// CHECK-NEXT: ]
3170// CHECK-NEXT: }
3171// CHECK-NEXT: ]
3172// CHECK-NEXT: },
3173// CHECK-NEXT: {
3174// CHECK-NEXT: "id": "0x{{.*}}",
3175// CHECK-NEXT: "kind": "OpaqueValueExpr",
3176// CHECK-NEXT: "range": {
3177// CHECK-NEXT: "begin": {
3178// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003179// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003180// CHECK-NEXT: },
3181// CHECK-NEXT: "end": {
3182// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003183// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003184// CHECK-NEXT: }
3185// CHECK-NEXT: },
3186// CHECK-NEXT: "type": {
3187// CHECK-NEXT: "qualType": "void *"
3188// CHECK-NEXT: },
3189// CHECK-NEXT: "valueCategory": "rvalue",
3190// CHECK-NEXT: "inner": [
3191// CHECK-NEXT: {
3192// CHECK-NEXT: "id": "0x{{.*}}",
3193// CHECK-NEXT: "kind": "CStyleCastExpr",
3194// CHECK-NEXT: "range": {
3195// CHECK-NEXT: "begin": {
3196// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003197// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003198// CHECK-NEXT: },
3199// CHECK-NEXT: "end": {
3200// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003201// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003202// CHECK-NEXT: }
3203// CHECK-NEXT: },
3204// CHECK-NEXT: "type": {
3205// CHECK-NEXT: "qualType": "void *"
3206// CHECK-NEXT: },
3207// CHECK-NEXT: "valueCategory": "rvalue",
3208// CHECK-NEXT: "castKind": "NullToPointer",
3209// CHECK-NEXT: "inner": [
3210// CHECK-NEXT: {
3211// CHECK-NEXT: "id": "0x{{.*}}",
3212// CHECK-NEXT: "kind": "IntegerLiteral",
3213// CHECK-NEXT: "range": {
3214// CHECK-NEXT: "begin": {
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: "end": {
3219// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003220// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003221// CHECK-NEXT: }
3222// CHECK-NEXT: },
3223// CHECK-NEXT: "type": {
3224// CHECK-NEXT: "qualType": "int"
3225// CHECK-NEXT: },
3226// CHECK-NEXT: "valueCategory": "rvalue",
3227// CHECK-NEXT: "value": "0"
3228// CHECK-NEXT: }
3229// CHECK-NEXT: ]
3230// CHECK-NEXT: }
3231// CHECK-NEXT: ]
3232// CHECK-NEXT: }
3233// CHECK-NEXT: ]
3234// CHECK-NEXT: },
3235// CHECK-NEXT: {
3236// CHECK-NEXT: "id": "0x{{.*}}",
3237// CHECK-NEXT: "kind": "OpaqueValueExpr",
3238// CHECK-NEXT: "range": {
3239// CHECK-NEXT: "begin": {
3240// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003241// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003242// CHECK-NEXT: },
3243// CHECK-NEXT: "end": {
3244// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003245// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003246// CHECK-NEXT: }
3247// CHECK-NEXT: },
3248// CHECK-NEXT: "type": {
3249// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3250// CHECK-NEXT: },
3251// CHECK-NEXT: "valueCategory": "rvalue",
3252// CHECK-NEXT: "inner": [
3253// CHECK-NEXT: {
3254// CHECK-NEXT: "id": "0x{{.*}}",
3255// CHECK-NEXT: "kind": "ImplicitCastExpr",
3256// CHECK-NEXT: "range": {
3257// CHECK-NEXT: "begin": {
3258// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003259// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003260// CHECK-NEXT: },
3261// CHECK-NEXT: "end": {
3262// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003263// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003264// CHECK-NEXT: }
3265// CHECK-NEXT: },
3266// CHECK-NEXT: "type": {
3267// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3268// CHECK-NEXT: },
3269// CHECK-NEXT: "valueCategory": "rvalue",
3270// CHECK-NEXT: "castKind": "LValueToRValue",
3271// CHECK-NEXT: "inner": [
3272// CHECK-NEXT: {
3273// CHECK-NEXT: "id": "0x{{.*}}",
3274// CHECK-NEXT: "kind": "DeclRefExpr",
3275// CHECK-NEXT: "range": {
3276// CHECK-NEXT: "begin": {
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: "end": {
3281// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003282// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003283// CHECK-NEXT: }
3284// CHECK-NEXT: },
3285// CHECK-NEXT: "type": {
3286// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3287// CHECK-NEXT: },
3288// CHECK-NEXT: "valueCategory": "lvalue",
3289// CHECK-NEXT: "referencedDecl": {
3290// CHECK-NEXT: "id": "0x{{.*}}",
3291// CHECK-NEXT: "kind": "ParmVarDecl",
3292// CHECK-NEXT: "name": "Dict",
3293// CHECK-NEXT: "type": {
3294// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3295// CHECK-NEXT: }
3296// CHECK-NEXT: }
3297// CHECK-NEXT: }
3298// CHECK-NEXT: ]
3299// CHECK-NEXT: }
3300// CHECK-NEXT: ]
3301// CHECK-NEXT: },
3302// CHECK-NEXT: {
3303// CHECK-NEXT: "id": "0x{{.*}}",
3304// CHECK-NEXT: "kind": "OpaqueValueExpr",
3305// CHECK-NEXT: "range": {
3306// CHECK-NEXT: "begin": {
3307// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003308// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003309// CHECK-NEXT: },
3310// CHECK-NEXT: "end": {
3311// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003312// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003313// CHECK-NEXT: }
3314// CHECK-NEXT: },
3315// CHECK-NEXT: "type": {
3316// CHECK-NEXT: "qualType": "NSString *"
3317// CHECK-NEXT: },
3318// CHECK-NEXT: "valueCategory": "rvalue",
3319// CHECK-NEXT: "inner": [
3320// CHECK-NEXT: {
3321// CHECK-NEXT: "id": "0x{{.*}}",
3322// CHECK-NEXT: "kind": "ObjCStringLiteral",
3323// CHECK-NEXT: "range": {
3324// CHECK-NEXT: "begin": {
3325// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003326// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003327// CHECK-NEXT: },
3328// CHECK-NEXT: "end": {
3329// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003330// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003331// CHECK-NEXT: }
3332// CHECK-NEXT: },
3333// CHECK-NEXT: "type": {
3334// CHECK-NEXT: "qualType": "NSString *"
3335// CHECK-NEXT: },
3336// CHECK-NEXT: "valueCategory": "rvalue",
3337// CHECK-NEXT: "inner": [
3338// CHECK-NEXT: {
3339// CHECK-NEXT: "id": "0x{{.*}}",
3340// CHECK-NEXT: "kind": "StringLiteral",
3341// CHECK-NEXT: "range": {
3342// CHECK-NEXT: "begin": {
3343// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003344// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003345// CHECK-NEXT: },
3346// CHECK-NEXT: "end": {
3347// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003348// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003349// CHECK-NEXT: }
3350// CHECK-NEXT: },
3351// CHECK-NEXT: "type": {
3352// CHECK-NEXT: "qualType": "char [4]"
3353// CHECK-NEXT: },
3354// CHECK-NEXT: "valueCategory": "lvalue",
3355// CHECK-NEXT: "value": "\"key\""
3356// CHECK-NEXT: }
3357// CHECK-NEXT: ]
3358// CHECK-NEXT: }
3359// CHECK-NEXT: ]
3360// CHECK-NEXT: },
3361// CHECK-NEXT: {
3362// CHECK-NEXT: "id": "0x{{.*}}",
3363// CHECK-NEXT: "kind": "OpaqueValueExpr",
3364// CHECK-NEXT: "range": {
3365// CHECK-NEXT: "begin": {
3366// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003367// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003368// CHECK-NEXT: },
3369// CHECK-NEXT: "end": {
3370// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003371// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003372// CHECK-NEXT: }
3373// CHECK-NEXT: },
3374// CHECK-NEXT: "type": {
3375// CHECK-NEXT: "qualType": "void *"
3376// CHECK-NEXT: },
3377// CHECK-NEXT: "valueCategory": "rvalue",
3378// CHECK-NEXT: "inner": [
3379// CHECK-NEXT: {
3380// CHECK-NEXT: "id": "0x{{.*}}",
3381// CHECK-NEXT: "kind": "CStyleCastExpr",
3382// CHECK-NEXT: "range": {
3383// CHECK-NEXT: "begin": {
3384// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003385// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003386// CHECK-NEXT: },
3387// CHECK-NEXT: "end": {
3388// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003389// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003390// CHECK-NEXT: }
3391// CHECK-NEXT: },
3392// CHECK-NEXT: "type": {
3393// CHECK-NEXT: "qualType": "void *"
3394// CHECK-NEXT: },
3395// CHECK-NEXT: "valueCategory": "rvalue",
3396// CHECK-NEXT: "castKind": "NullToPointer",
3397// CHECK-NEXT: "inner": [
3398// CHECK-NEXT: {
3399// CHECK-NEXT: "id": "0x{{.*}}",
3400// CHECK-NEXT: "kind": "IntegerLiteral",
3401// CHECK-NEXT: "range": {
3402// CHECK-NEXT: "begin": {
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: "end": {
3407// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003408// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003409// CHECK-NEXT: }
3410// CHECK-NEXT: },
3411// CHECK-NEXT: "type": {
3412// CHECK-NEXT: "qualType": "int"
3413// CHECK-NEXT: },
3414// CHECK-NEXT: "valueCategory": "rvalue",
3415// CHECK-NEXT: "value": "0"
3416// CHECK-NEXT: }
3417// CHECK-NEXT: ]
3418// CHECK-NEXT: }
3419// CHECK-NEXT: ]
3420// CHECK-NEXT: },
3421// CHECK-NEXT: {
3422// CHECK-NEXT: "id": "0x{{.*}}",
3423// CHECK-NEXT: "kind": "OpaqueValueExpr",
3424// CHECK-NEXT: "range": {
3425// CHECK-NEXT: "begin": {
3426// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003427// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003428// CHECK-NEXT: },
3429// CHECK-NEXT: "end": {
3430// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003431// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003432// CHECK-NEXT: }
3433// CHECK-NEXT: },
3434// CHECK-NEXT: "type": {
3435// CHECK-NEXT: "desugaredQualType": "id",
3436// CHECK-NEXT: "qualType": "id"
3437// CHECK-NEXT: },
3438// CHECK-NEXT: "valueCategory": "rvalue",
3439// CHECK-NEXT: "inner": [
3440// CHECK-NEXT: {
3441// CHECK-NEXT: "id": "0x{{.*}}",
3442// CHECK-NEXT: "kind": "ImplicitCastExpr",
3443// CHECK-NEXT: "range": {
3444// CHECK-NEXT: "begin": {
3445// CHECK-NEXT: "col": 17,
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: "end": {
3449// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003450// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003451// CHECK-NEXT: }
3452// CHECK-NEXT: },
3453// CHECK-NEXT: "type": {
3454// CHECK-NEXT: "desugaredQualType": "id",
3455// CHECK-NEXT: "qualType": "id"
3456// CHECK-NEXT: },
3457// CHECK-NEXT: "valueCategory": "rvalue",
3458// CHECK-NEXT: "castKind": "NullToPointer",
3459// CHECK-NEXT: "inner": [
3460// CHECK-NEXT: {
3461// CHECK-NEXT: "id": "0x{{.*}}",
3462// CHECK-NEXT: "kind": "OpaqueValueExpr",
3463// CHECK-NEXT: "range": {
3464// CHECK-NEXT: "begin": {
3465// CHECK-NEXT: "col": 17,
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: "end": {
3469// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003470// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003471// CHECK-NEXT: }
3472// CHECK-NEXT: },
3473// CHECK-NEXT: "type": {
3474// CHECK-NEXT: "qualType": "void *"
3475// CHECK-NEXT: },
3476// CHECK-NEXT: "valueCategory": "rvalue",
3477// CHECK-NEXT: "inner": [
3478// CHECK-NEXT: {
3479// CHECK-NEXT: "id": "0x{{.*}}",
3480// CHECK-NEXT: "kind": "CStyleCastExpr",
3481// CHECK-NEXT: "range": {
3482// CHECK-NEXT: "begin": {
3483// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003484// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003485// CHECK-NEXT: },
3486// CHECK-NEXT: "end": {
3487// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003488// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003489// CHECK-NEXT: }
3490// CHECK-NEXT: },
3491// CHECK-NEXT: "type": {
3492// CHECK-NEXT: "qualType": "void *"
3493// CHECK-NEXT: },
3494// CHECK-NEXT: "valueCategory": "rvalue",
3495// CHECK-NEXT: "castKind": "NullToPointer",
3496// CHECK-NEXT: "inner": [
3497// CHECK-NEXT: {
3498// CHECK-NEXT: "id": "0x{{.*}}",
3499// CHECK-NEXT: "kind": "IntegerLiteral",
3500// CHECK-NEXT: "range": {
3501// CHECK-NEXT: "begin": {
3502// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003503// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003504// CHECK-NEXT: },
3505// CHECK-NEXT: "end": {
3506// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003507// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003508// CHECK-NEXT: }
3509// CHECK-NEXT: },
3510// CHECK-NEXT: "type": {
3511// CHECK-NEXT: "qualType": "int"
3512// CHECK-NEXT: },
3513// CHECK-NEXT: "valueCategory": "rvalue",
3514// CHECK-NEXT: "value": "0"
3515// CHECK-NEXT: }
3516// CHECK-NEXT: ]
3517// CHECK-NEXT: }
3518// CHECK-NEXT: ]
3519// CHECK-NEXT: }
3520// CHECK-NEXT: ]
3521// CHECK-NEXT: }
3522// CHECK-NEXT: ]
3523// CHECK-NEXT: },
3524// CHECK-NEXT: {
3525// CHECK-NEXT: "id": "0x{{.*}}",
3526// CHECK-NEXT: "kind": "ObjCMessageExpr",
3527// CHECK-NEXT: "range": {
3528// CHECK-NEXT: "begin": {
3529// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003530// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003531// CHECK-NEXT: },
3532// CHECK-NEXT: "end": {
3533// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003534// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003535// CHECK-NEXT: }
3536// CHECK-NEXT: },
3537// CHECK-NEXT: "type": {
3538// CHECK-NEXT: "qualType": "void"
3539// CHECK-NEXT: },
3540// CHECK-NEXT: "valueCategory": "rvalue",
3541// CHECK-NEXT: "selector": "setObject:forKeyedSubscript:",
3542// CHECK-NEXT: "receiverKind": "instance",
3543// CHECK-NEXT: "inner": [
3544// CHECK-NEXT: {
3545// CHECK-NEXT: "id": "0x{{.*}}",
3546// CHECK-NEXT: "kind": "OpaqueValueExpr",
3547// CHECK-NEXT: "range": {
3548// CHECK-NEXT: "begin": {
3549// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003550// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003551// CHECK-NEXT: },
3552// CHECK-NEXT: "end": {
3553// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003554// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003555// CHECK-NEXT: }
3556// CHECK-NEXT: },
3557// CHECK-NEXT: "type": {
3558// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3559// CHECK-NEXT: },
3560// CHECK-NEXT: "valueCategory": "rvalue",
3561// CHECK-NEXT: "inner": [
3562// CHECK-NEXT: {
3563// CHECK-NEXT: "id": "0x{{.*}}",
3564// CHECK-NEXT: "kind": "ImplicitCastExpr",
3565// CHECK-NEXT: "range": {
3566// CHECK-NEXT: "begin": {
3567// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003568// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003569// CHECK-NEXT: },
3570// CHECK-NEXT: "end": {
3571// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003572// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003573// CHECK-NEXT: }
3574// CHECK-NEXT: },
3575// CHECK-NEXT: "type": {
3576// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3577// CHECK-NEXT: },
3578// CHECK-NEXT: "valueCategory": "rvalue",
3579// CHECK-NEXT: "castKind": "LValueToRValue",
3580// CHECK-NEXT: "inner": [
3581// CHECK-NEXT: {
3582// CHECK-NEXT: "id": "0x{{.*}}",
3583// CHECK-NEXT: "kind": "DeclRefExpr",
3584// CHECK-NEXT: "range": {
3585// CHECK-NEXT: "begin": {
3586// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003587// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003588// CHECK-NEXT: },
3589// CHECK-NEXT: "end": {
3590// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003591// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003592// CHECK-NEXT: }
3593// CHECK-NEXT: },
3594// CHECK-NEXT: "type": {
3595// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3596// CHECK-NEXT: },
3597// CHECK-NEXT: "valueCategory": "lvalue",
3598// CHECK-NEXT: "referencedDecl": {
3599// CHECK-NEXT: "id": "0x{{.*}}",
3600// CHECK-NEXT: "kind": "ParmVarDecl",
3601// CHECK-NEXT: "name": "Dict",
3602// CHECK-NEXT: "type": {
3603// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3604// CHECK-NEXT: }
3605// CHECK-NEXT: }
3606// CHECK-NEXT: }
3607// CHECK-NEXT: ]
3608// CHECK-NEXT: }
3609// CHECK-NEXT: ]
3610// CHECK-NEXT: },
3611// CHECK-NEXT: {
3612// CHECK-NEXT: "id": "0x{{.*}}",
3613// CHECK-NEXT: "kind": "OpaqueValueExpr",
3614// CHECK-NEXT: "range": {
3615// CHECK-NEXT: "begin": {
3616// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003617// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003618// CHECK-NEXT: },
3619// CHECK-NEXT: "end": {
3620// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003621// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003622// CHECK-NEXT: }
3623// CHECK-NEXT: },
3624// CHECK-NEXT: "type": {
3625// CHECK-NEXT: "desugaredQualType": "id",
3626// CHECK-NEXT: "qualType": "id"
3627// CHECK-NEXT: },
3628// CHECK-NEXT: "valueCategory": "rvalue",
3629// CHECK-NEXT: "inner": [
3630// CHECK-NEXT: {
3631// CHECK-NEXT: "id": "0x{{.*}}",
3632// CHECK-NEXT: "kind": "ImplicitCastExpr",
3633// CHECK-NEXT: "range": {
3634// CHECK-NEXT: "begin": {
3635// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003636// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003637// CHECK-NEXT: },
3638// CHECK-NEXT: "end": {
3639// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003640// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003641// CHECK-NEXT: }
3642// CHECK-NEXT: },
3643// CHECK-NEXT: "type": {
3644// CHECK-NEXT: "desugaredQualType": "id",
3645// CHECK-NEXT: "qualType": "id"
3646// CHECK-NEXT: },
3647// CHECK-NEXT: "valueCategory": "rvalue",
3648// CHECK-NEXT: "castKind": "NullToPointer",
3649// CHECK-NEXT: "inner": [
3650// CHECK-NEXT: {
3651// CHECK-NEXT: "id": "0x{{.*}}",
3652// CHECK-NEXT: "kind": "OpaqueValueExpr",
3653// CHECK-NEXT: "range": {
3654// CHECK-NEXT: "begin": {
3655// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003656// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003657// CHECK-NEXT: },
3658// CHECK-NEXT: "end": {
3659// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003660// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003661// CHECK-NEXT: }
3662// CHECK-NEXT: },
3663// CHECK-NEXT: "type": {
3664// CHECK-NEXT: "qualType": "void *"
3665// CHECK-NEXT: },
3666// CHECK-NEXT: "valueCategory": "rvalue",
3667// CHECK-NEXT: "inner": [
3668// CHECK-NEXT: {
3669// CHECK-NEXT: "id": "0x{{.*}}",
3670// CHECK-NEXT: "kind": "CStyleCastExpr",
3671// CHECK-NEXT: "range": {
3672// CHECK-NEXT: "begin": {
3673// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003674// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003675// CHECK-NEXT: },
3676// CHECK-NEXT: "end": {
3677// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003678// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003679// CHECK-NEXT: }
3680// CHECK-NEXT: },
3681// CHECK-NEXT: "type": {
3682// CHECK-NEXT: "qualType": "void *"
3683// CHECK-NEXT: },
3684// CHECK-NEXT: "valueCategory": "rvalue",
3685// CHECK-NEXT: "castKind": "NullToPointer",
3686// CHECK-NEXT: "inner": [
3687// CHECK-NEXT: {
3688// CHECK-NEXT: "id": "0x{{.*}}",
3689// CHECK-NEXT: "kind": "IntegerLiteral",
3690// CHECK-NEXT: "range": {
3691// CHECK-NEXT: "begin": {
3692// CHECK-NEXT: "col": 24,
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": "int"
3702// CHECK-NEXT: },
3703// CHECK-NEXT: "valueCategory": "rvalue",
3704// CHECK-NEXT: "value": "0"
3705// CHECK-NEXT: }
3706// CHECK-NEXT: ]
3707// CHECK-NEXT: }
3708// CHECK-NEXT: ]
3709// CHECK-NEXT: }
3710// CHECK-NEXT: ]
3711// CHECK-NEXT: }
3712// CHECK-NEXT: ]
3713// CHECK-NEXT: },
3714// CHECK-NEXT: {
3715// CHECK-NEXT: "id": "0x{{.*}}",
3716// CHECK-NEXT: "kind": "ImplicitCastExpr",
3717// CHECK-NEXT: "range": {
3718// CHECK-NEXT: "begin": {
3719// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003720// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003721// CHECK-NEXT: },
3722// CHECK-NEXT: "end": {
3723// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003724// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003725// CHECK-NEXT: }
3726// CHECK-NEXT: },
3727// CHECK-NEXT: "type": {
3728// CHECK-NEXT: "desugaredQualType": "id",
3729// CHECK-NEXT: "qualType": "id"
3730// CHECK-NEXT: },
3731// CHECK-NEXT: "valueCategory": "rvalue",
3732// CHECK-NEXT: "castKind": "BitCast",
3733// CHECK-NEXT: "inner": [
3734// CHECK-NEXT: {
3735// CHECK-NEXT: "id": "0x{{.*}}",
3736// CHECK-NEXT: "kind": "OpaqueValueExpr",
3737// CHECK-NEXT: "range": {
3738// CHECK-NEXT: "begin": {
3739// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003740// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003741// CHECK-NEXT: },
3742// CHECK-NEXT: "end": {
3743// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003744// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003745// CHECK-NEXT: }
3746// CHECK-NEXT: },
3747// CHECK-NEXT: "type": {
3748// CHECK-NEXT: "qualType": "NSString *"
3749// CHECK-NEXT: },
3750// CHECK-NEXT: "valueCategory": "rvalue",
3751// CHECK-NEXT: "inner": [
3752// CHECK-NEXT: {
3753// CHECK-NEXT: "id": "0x{{.*}}",
3754// CHECK-NEXT: "kind": "ObjCStringLiteral",
3755// CHECK-NEXT: "range": {
3756// CHECK-NEXT: "begin": {
3757// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003758// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003759// CHECK-NEXT: },
3760// CHECK-NEXT: "end": {
3761// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003762// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003763// CHECK-NEXT: }
3764// CHECK-NEXT: },
3765// CHECK-NEXT: "type": {
3766// CHECK-NEXT: "qualType": "NSString *"
3767// CHECK-NEXT: },
3768// CHECK-NEXT: "valueCategory": "rvalue",
3769// CHECK-NEXT: "inner": [
3770// CHECK-NEXT: {
3771// CHECK-NEXT: "id": "0x{{.*}}",
3772// CHECK-NEXT: "kind": "StringLiteral",
3773// CHECK-NEXT: "range": {
3774// CHECK-NEXT: "begin": {
3775// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003776// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003777// CHECK-NEXT: },
3778// CHECK-NEXT: "end": {
3779// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003780// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003781// CHECK-NEXT: }
3782// CHECK-NEXT: },
3783// CHECK-NEXT: "type": {
3784// CHECK-NEXT: "qualType": "char [4]"
3785// CHECK-NEXT: },
3786// CHECK-NEXT: "valueCategory": "lvalue",
3787// CHECK-NEXT: "value": "\"key\""
3788// CHECK-NEXT: }
3789// CHECK-NEXT: ]
3790// CHECK-NEXT: }
3791// CHECK-NEXT: ]
3792// CHECK-NEXT: }
3793// CHECK-NEXT: ]
3794// CHECK-NEXT: }
3795// CHECK-NEXT: ]
3796// CHECK-NEXT: }
3797// CHECK-NEXT: ]
3798// CHECK-NEXT: },
3799// CHECK-NEXT: {
3800// CHECK-NEXT: "id": "0x{{.*}}",
3801// CHECK-NEXT: "kind": "BinaryOperator",
3802// CHECK-NEXT: "range": {
3803// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +00003804// CHECK-NEXT: "line": 86,
Aaron Ballman75e23f82019-06-20 21:45:31 +00003805// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003806// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003807// CHECK-NEXT: },
3808// CHECK-NEXT: "end": {
3809// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003810// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003811// CHECK-NEXT: }
3812// CHECK-NEXT: },
3813// CHECK-NEXT: "type": {
3814// CHECK-NEXT: "desugaredQualType": "id",
3815// CHECK-NEXT: "qualType": "id"
3816// CHECK-NEXT: },
3817// CHECK-NEXT: "valueCategory": "rvalue",
3818// CHECK-NEXT: "opcode": "=",
3819// CHECK-NEXT: "inner": [
3820// CHECK-NEXT: {
3821// CHECK-NEXT: "id": "0x{{.*}}",
3822// CHECK-NEXT: "kind": "DeclRefExpr",
3823// CHECK-NEXT: "range": {
3824// CHECK-NEXT: "begin": {
3825// 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": 2,
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",
3835// CHECK-NEXT: "qualType": "id"
3836// CHECK-NEXT: },
3837// CHECK-NEXT: "valueCategory": "lvalue",
3838// CHECK-NEXT: "referencedDecl": {
3839// CHECK-NEXT: "id": "0x{{.*}}",
3840// CHECK-NEXT: "kind": "VarDecl",
3841// CHECK-NEXT: "name": "i",
3842// CHECK-NEXT: "type": {
3843// CHECK-NEXT: "desugaredQualType": "id",
3844// CHECK-NEXT: "qualType": "id"
3845// CHECK-NEXT: }
3846// CHECK-NEXT: }
3847// CHECK-NEXT: },
3848// CHECK-NEXT: {
3849// CHECK-NEXT: "id": "0x{{.*}}",
3850// CHECK-NEXT: "kind": "PseudoObjectExpr",
3851// CHECK-NEXT: "range": {
3852// CHECK-NEXT: "begin": {
3853// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00003854// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003855// CHECK-NEXT: },
3856// CHECK-NEXT: "end": {
3857// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003858// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003859// CHECK-NEXT: }
3860// CHECK-NEXT: },
3861// CHECK-NEXT: "type": {
3862// CHECK-NEXT: "desugaredQualType": "id",
3863// CHECK-NEXT: "qualType": "id"
3864// CHECK-NEXT: },
3865// CHECK-NEXT: "valueCategory": "rvalue",
3866// CHECK-NEXT: "inner": [
3867// CHECK-NEXT: {
3868// CHECK-NEXT: "id": "0x{{.*}}",
3869// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
3870// CHECK-NEXT: "range": {
3871// CHECK-NEXT: "begin": {
3872// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00003873// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003874// CHECK-NEXT: },
3875// CHECK-NEXT: "end": {
3876// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003877// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003878// CHECK-NEXT: }
3879// CHECK-NEXT: },
3880// CHECK-NEXT: "type": {
3881// CHECK-NEXT: "qualType": "<pseudo-object type>"
3882// CHECK-NEXT: },
3883// CHECK-NEXT: "valueCategory": "lvalue",
3884// CHECK-NEXT: "subscriptKind": "dictionary",
3885// CHECK-NEXT: "inner": [
3886// CHECK-NEXT: {
3887// CHECK-NEXT: "id": "0x{{.*}}",
3888// CHECK-NEXT: "kind": "OpaqueValueExpr",
3889// CHECK-NEXT: "range": {
3890// CHECK-NEXT: "begin": {
3891// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00003892// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003893// CHECK-NEXT: },
3894// CHECK-NEXT: "end": {
3895// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00003896// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003897// CHECK-NEXT: }
3898// CHECK-NEXT: },
3899// CHECK-NEXT: "type": {
3900// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3901// CHECK-NEXT: },
3902// CHECK-NEXT: "valueCategory": "rvalue",
3903// CHECK-NEXT: "inner": [
3904// CHECK-NEXT: {
3905// CHECK-NEXT: "id": "0x{{.*}}",
3906// CHECK-NEXT: "kind": "ImplicitCastExpr",
3907// CHECK-NEXT: "range": {
3908// CHECK-NEXT: "begin": {
3909// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00003910// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003911// CHECK-NEXT: },
3912// CHECK-NEXT: "end": {
3913// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00003914// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003915// CHECK-NEXT: }
3916// CHECK-NEXT: },
3917// CHECK-NEXT: "type": {
3918// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3919// CHECK-NEXT: },
3920// CHECK-NEXT: "valueCategory": "rvalue",
3921// CHECK-NEXT: "castKind": "LValueToRValue",
3922// CHECK-NEXT: "inner": [
3923// CHECK-NEXT: {
3924// CHECK-NEXT: "id": "0x{{.*}}",
3925// CHECK-NEXT: "kind": "DeclRefExpr",
3926// CHECK-NEXT: "range": {
3927// CHECK-NEXT: "begin": {
3928// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00003929// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003930// CHECK-NEXT: },
3931// CHECK-NEXT: "end": {
3932// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00003933// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003934// CHECK-NEXT: }
3935// CHECK-NEXT: },
3936// CHECK-NEXT: "type": {
3937// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3938// CHECK-NEXT: },
3939// CHECK-NEXT: "valueCategory": "lvalue",
3940// CHECK-NEXT: "referencedDecl": {
3941// CHECK-NEXT: "id": "0x{{.*}}",
3942// CHECK-NEXT: "kind": "ParmVarDecl",
3943// CHECK-NEXT: "name": "Dict",
3944// CHECK-NEXT: "type": {
3945// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3946// CHECK-NEXT: }
3947// CHECK-NEXT: }
3948// CHECK-NEXT: }
3949// CHECK-NEXT: ]
3950// CHECK-NEXT: }
3951// CHECK-NEXT: ]
3952// CHECK-NEXT: },
3953// CHECK-NEXT: {
3954// CHECK-NEXT: "id": "0x{{.*}}",
3955// CHECK-NEXT: "kind": "OpaqueValueExpr",
3956// CHECK-NEXT: "range": {
3957// CHECK-NEXT: "begin": {
3958// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00003959// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003960// CHECK-NEXT: },
3961// CHECK-NEXT: "end": {
3962// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00003963// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003964// CHECK-NEXT: }
3965// CHECK-NEXT: },
3966// CHECK-NEXT: "type": {
3967// CHECK-NEXT: "qualType": "NSString *"
3968// CHECK-NEXT: },
3969// CHECK-NEXT: "valueCategory": "rvalue",
3970// CHECK-NEXT: "inner": [
3971// CHECK-NEXT: {
3972// CHECK-NEXT: "id": "0x{{.*}}",
3973// CHECK-NEXT: "kind": "ObjCStringLiteral",
3974// CHECK-NEXT: "range": {
3975// CHECK-NEXT: "begin": {
3976// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00003977// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003978// CHECK-NEXT: },
3979// CHECK-NEXT: "end": {
3980// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00003981// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003982// CHECK-NEXT: }
3983// CHECK-NEXT: },
3984// CHECK-NEXT: "type": {
3985// CHECK-NEXT: "qualType": "NSString *"
3986// CHECK-NEXT: },
3987// CHECK-NEXT: "valueCategory": "rvalue",
3988// CHECK-NEXT: "inner": [
3989// CHECK-NEXT: {
3990// CHECK-NEXT: "id": "0x{{.*}}",
3991// CHECK-NEXT: "kind": "StringLiteral",
3992// CHECK-NEXT: "range": {
3993// CHECK-NEXT: "begin": {
3994// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00003995// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003996// CHECK-NEXT: },
3997// CHECK-NEXT: "end": {
3998// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00003999// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004000// CHECK-NEXT: }
4001// CHECK-NEXT: },
4002// CHECK-NEXT: "type": {
4003// CHECK-NEXT: "qualType": "char [4]"
4004// CHECK-NEXT: },
4005// CHECK-NEXT: "valueCategory": "lvalue",
4006// CHECK-NEXT: "value": "\"key\""
4007// CHECK-NEXT: }
4008// CHECK-NEXT: ]
4009// CHECK-NEXT: }
4010// CHECK-NEXT: ]
4011// CHECK-NEXT: }
4012// CHECK-NEXT: ]
4013// CHECK-NEXT: },
4014// CHECK-NEXT: {
4015// CHECK-NEXT: "id": "0x{{.*}}",
4016// CHECK-NEXT: "kind": "OpaqueValueExpr",
4017// CHECK-NEXT: "range": {
4018// CHECK-NEXT: "begin": {
4019// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004020// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004021// CHECK-NEXT: },
4022// CHECK-NEXT: "end": {
4023// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004024// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004025// CHECK-NEXT: }
4026// CHECK-NEXT: },
4027// CHECK-NEXT: "type": {
4028// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4029// CHECK-NEXT: },
4030// CHECK-NEXT: "valueCategory": "rvalue",
4031// CHECK-NEXT: "inner": [
4032// CHECK-NEXT: {
4033// CHECK-NEXT: "id": "0x{{.*}}",
4034// CHECK-NEXT: "kind": "ImplicitCastExpr",
4035// CHECK-NEXT: "range": {
4036// CHECK-NEXT: "begin": {
4037// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004038// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004039// CHECK-NEXT: },
4040// CHECK-NEXT: "end": {
4041// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004042// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004043// CHECK-NEXT: }
4044// CHECK-NEXT: },
4045// CHECK-NEXT: "type": {
4046// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4047// CHECK-NEXT: },
4048// CHECK-NEXT: "valueCategory": "rvalue",
4049// CHECK-NEXT: "castKind": "LValueToRValue",
4050// CHECK-NEXT: "inner": [
4051// CHECK-NEXT: {
4052// CHECK-NEXT: "id": "0x{{.*}}",
4053// CHECK-NEXT: "kind": "DeclRefExpr",
4054// CHECK-NEXT: "range": {
4055// CHECK-NEXT: "begin": {
4056// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004057// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004058// CHECK-NEXT: },
4059// CHECK-NEXT: "end": {
4060// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004061// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004062// CHECK-NEXT: }
4063// CHECK-NEXT: },
4064// CHECK-NEXT: "type": {
4065// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4066// CHECK-NEXT: },
4067// CHECK-NEXT: "valueCategory": "lvalue",
4068// CHECK-NEXT: "referencedDecl": {
4069// CHECK-NEXT: "id": "0x{{.*}}",
4070// CHECK-NEXT: "kind": "ParmVarDecl",
4071// CHECK-NEXT: "name": "Dict",
4072// CHECK-NEXT: "type": {
4073// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4074// CHECK-NEXT: }
4075// CHECK-NEXT: }
4076// CHECK-NEXT: }
4077// CHECK-NEXT: ]
4078// CHECK-NEXT: }
4079// CHECK-NEXT: ]
4080// CHECK-NEXT: },
4081// CHECK-NEXT: {
4082// CHECK-NEXT: "id": "0x{{.*}}",
4083// CHECK-NEXT: "kind": "OpaqueValueExpr",
4084// CHECK-NEXT: "range": {
4085// CHECK-NEXT: "begin": {
4086// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004087// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004088// CHECK-NEXT: },
4089// CHECK-NEXT: "end": {
4090// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004091// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004092// CHECK-NEXT: }
4093// CHECK-NEXT: },
4094// CHECK-NEXT: "type": {
4095// CHECK-NEXT: "qualType": "NSString *"
4096// CHECK-NEXT: },
4097// CHECK-NEXT: "valueCategory": "rvalue",
4098// CHECK-NEXT: "inner": [
4099// CHECK-NEXT: {
4100// CHECK-NEXT: "id": "0x{{.*}}",
4101// CHECK-NEXT: "kind": "ObjCStringLiteral",
4102// CHECK-NEXT: "range": {
4103// CHECK-NEXT: "begin": {
4104// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004105// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004106// CHECK-NEXT: },
4107// CHECK-NEXT: "end": {
4108// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004109// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004110// CHECK-NEXT: }
4111// CHECK-NEXT: },
4112// CHECK-NEXT: "type": {
4113// CHECK-NEXT: "qualType": "NSString *"
4114// CHECK-NEXT: },
4115// CHECK-NEXT: "valueCategory": "rvalue",
4116// CHECK-NEXT: "inner": [
4117// CHECK-NEXT: {
4118// CHECK-NEXT: "id": "0x{{.*}}",
4119// CHECK-NEXT: "kind": "StringLiteral",
4120// CHECK-NEXT: "range": {
4121// CHECK-NEXT: "begin": {
4122// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004123// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004124// CHECK-NEXT: },
4125// CHECK-NEXT: "end": {
4126// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004127// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004128// CHECK-NEXT: }
4129// CHECK-NEXT: },
4130// CHECK-NEXT: "type": {
4131// CHECK-NEXT: "qualType": "char [4]"
4132// CHECK-NEXT: },
4133// CHECK-NEXT: "valueCategory": "lvalue",
4134// CHECK-NEXT: "value": "\"key\""
4135// CHECK-NEXT: }
4136// CHECK-NEXT: ]
4137// CHECK-NEXT: }
4138// CHECK-NEXT: ]
4139// CHECK-NEXT: },
4140// CHECK-NEXT: {
4141// CHECK-NEXT: "id": "0x{{.*}}",
4142// CHECK-NEXT: "kind": "ObjCMessageExpr",
4143// CHECK-NEXT: "range": {
4144// CHECK-NEXT: "begin": {
4145// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004146// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004147// CHECK-NEXT: },
4148// CHECK-NEXT: "end": {
4149// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004150// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004151// CHECK-NEXT: }
4152// CHECK-NEXT: },
4153// CHECK-NEXT: "type": {
4154// CHECK-NEXT: "desugaredQualType": "id",
4155// CHECK-NEXT: "qualType": "id"
4156// CHECK-NEXT: },
4157// CHECK-NEXT: "valueCategory": "rvalue",
4158// CHECK-NEXT: "selector": "objectForKeyedSubscript:",
4159// CHECK-NEXT: "receiverKind": "instance",
4160// CHECK-NEXT: "inner": [
4161// CHECK-NEXT: {
4162// CHECK-NEXT: "id": "0x{{.*}}",
4163// CHECK-NEXT: "kind": "OpaqueValueExpr",
4164// CHECK-NEXT: "range": {
4165// CHECK-NEXT: "begin": {
4166// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004167// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004168// CHECK-NEXT: },
4169// CHECK-NEXT: "end": {
4170// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004171// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004172// CHECK-NEXT: }
4173// CHECK-NEXT: },
4174// CHECK-NEXT: "type": {
4175// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4176// CHECK-NEXT: },
4177// CHECK-NEXT: "valueCategory": "rvalue",
4178// CHECK-NEXT: "inner": [
4179// CHECK-NEXT: {
4180// CHECK-NEXT: "id": "0x{{.*}}",
4181// CHECK-NEXT: "kind": "ImplicitCastExpr",
4182// CHECK-NEXT: "range": {
4183// CHECK-NEXT: "begin": {
4184// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004185// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004186// CHECK-NEXT: },
4187// CHECK-NEXT: "end": {
4188// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004189// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004190// CHECK-NEXT: }
4191// CHECK-NEXT: },
4192// CHECK-NEXT: "type": {
4193// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4194// CHECK-NEXT: },
4195// CHECK-NEXT: "valueCategory": "rvalue",
4196// CHECK-NEXT: "castKind": "LValueToRValue",
4197// CHECK-NEXT: "inner": [
4198// CHECK-NEXT: {
4199// CHECK-NEXT: "id": "0x{{.*}}",
4200// CHECK-NEXT: "kind": "DeclRefExpr",
4201// CHECK-NEXT: "range": {
4202// CHECK-NEXT: "begin": {
4203// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004204// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004205// CHECK-NEXT: },
4206// CHECK-NEXT: "end": {
4207// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004208// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004209// CHECK-NEXT: }
4210// CHECK-NEXT: },
4211// CHECK-NEXT: "type": {
4212// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4213// CHECK-NEXT: },
4214// CHECK-NEXT: "valueCategory": "lvalue",
4215// CHECK-NEXT: "referencedDecl": {
4216// CHECK-NEXT: "id": "0x{{.*}}",
4217// CHECK-NEXT: "kind": "ParmVarDecl",
4218// CHECK-NEXT: "name": "Dict",
4219// CHECK-NEXT: "type": {
4220// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4221// CHECK-NEXT: }
4222// CHECK-NEXT: }
4223// CHECK-NEXT: }
4224// CHECK-NEXT: ]
4225// CHECK-NEXT: }
4226// CHECK-NEXT: ]
4227// CHECK-NEXT: },
4228// CHECK-NEXT: {
4229// CHECK-NEXT: "id": "0x{{.*}}",
4230// CHECK-NEXT: "kind": "ImplicitCastExpr",
4231// CHECK-NEXT: "range": {
4232// CHECK-NEXT: "begin": {
4233// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004234// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004235// CHECK-NEXT: },
4236// CHECK-NEXT: "end": {
4237// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004238// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004239// CHECK-NEXT: }
4240// CHECK-NEXT: },
4241// CHECK-NEXT: "type": {
4242// CHECK-NEXT: "desugaredQualType": "id",
4243// CHECK-NEXT: "qualType": "id"
4244// CHECK-NEXT: },
4245// CHECK-NEXT: "valueCategory": "rvalue",
4246// CHECK-NEXT: "castKind": "BitCast",
4247// CHECK-NEXT: "inner": [
4248// CHECK-NEXT: {
4249// CHECK-NEXT: "id": "0x{{.*}}",
4250// CHECK-NEXT: "kind": "OpaqueValueExpr",
4251// CHECK-NEXT: "range": {
4252// CHECK-NEXT: "begin": {
4253// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004254// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004255// CHECK-NEXT: },
4256// CHECK-NEXT: "end": {
4257// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004258// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004259// CHECK-NEXT: }
4260// CHECK-NEXT: },
4261// CHECK-NEXT: "type": {
4262// CHECK-NEXT: "qualType": "NSString *"
4263// CHECK-NEXT: },
4264// CHECK-NEXT: "valueCategory": "rvalue",
4265// CHECK-NEXT: "inner": [
4266// CHECK-NEXT: {
4267// CHECK-NEXT: "id": "0x{{.*}}",
4268// CHECK-NEXT: "kind": "ObjCStringLiteral",
4269// CHECK-NEXT: "range": {
4270// CHECK-NEXT: "begin": {
4271// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004272// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004273// CHECK-NEXT: },
4274// CHECK-NEXT: "end": {
4275// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004276// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004277// CHECK-NEXT: }
4278// CHECK-NEXT: },
4279// CHECK-NEXT: "type": {
4280// CHECK-NEXT: "qualType": "NSString *"
4281// CHECK-NEXT: },
4282// CHECK-NEXT: "valueCategory": "rvalue",
4283// CHECK-NEXT: "inner": [
4284// CHECK-NEXT: {
4285// CHECK-NEXT: "id": "0x{{.*}}",
4286// CHECK-NEXT: "kind": "StringLiteral",
4287// CHECK-NEXT: "range": {
4288// CHECK-NEXT: "begin": {
4289// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004290// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004291// CHECK-NEXT: },
4292// CHECK-NEXT: "end": {
4293// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004294// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004295// CHECK-NEXT: }
4296// CHECK-NEXT: },
4297// CHECK-NEXT: "type": {
4298// CHECK-NEXT: "qualType": "char [4]"
4299// CHECK-NEXT: },
4300// CHECK-NEXT: "valueCategory": "lvalue",
4301// CHECK-NEXT: "value": "\"key\""
4302// CHECK-NEXT: }
4303// CHECK-NEXT: ]
4304// CHECK-NEXT: }
4305// CHECK-NEXT: ]
4306// CHECK-NEXT: }
4307// CHECK-NEXT: ]
4308// CHECK-NEXT: }
4309// CHECK-NEXT: ]
4310// CHECK-NEXT: }
4311// CHECK-NEXT: ]
4312// CHECK-NEXT: }
4313// CHECK-NEXT: ]
4314// CHECK-NEXT: }
4315// CHECK-NEXT: ]
4316// CHECK-NEXT: }
4317// CHECK-NEXT: ]
4318// CHECK-NEXT: }
4319
4320
4321// CHECK: "kind": "FunctionDecl",
4322// CHECK-NEXT: "loc": {
Aaron Ballman75e23f82019-06-20 21:45:31 +00004323// CHECK-NEXT: "file": "{{.*}}",
Aaron Ballmana612e342019-06-24 20:07:11 +00004324// CHECK-NEXT: "line": 89,
4325// CHECK-NEXT: "col": 6,
4326// CHECK-NEXT: "tokLen": 15
Aaron Ballman75e23f82019-06-20 21:45:31 +00004327// CHECK-NEXT: },
4328// CHECK-NEXT: "range": {
4329// CHECK-NEXT: "begin": {
4330// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004331// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004332// CHECK-NEXT: },
4333// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +00004334// CHECK-NEXT: "line": 91,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004335// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004336// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004337// CHECK-NEXT: }
4338// CHECK-NEXT: },
4339// CHECK-NEXT: "name": "TestObjCIVarRef",
4340// CHECK-NEXT: "type": {
4341// CHECK-NEXT: "qualType": "void (I *)"
4342// CHECK-NEXT: },
4343// CHECK-NEXT: "inner": [
4344// CHECK-NEXT: {
4345// CHECK-NEXT: "id": "0x{{.*}}",
4346// CHECK-NEXT: "kind": "ParmVarDecl",
4347// CHECK-NEXT: "loc": {
Aaron Ballmana612e342019-06-24 20:07:11 +00004348// CHECK-NEXT: "line": 89,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004349// CHECK-NEXT: "col": 25,
Aaron Ballmana612e342019-06-24 20:07:11 +00004350// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004351// CHECK-NEXT: },
4352// CHECK-NEXT: "range": {
4353// CHECK-NEXT: "begin": {
4354// CHECK-NEXT: "col": 22,
Aaron Ballmana612e342019-06-24 20:07:11 +00004355// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004356// CHECK-NEXT: },
4357// CHECK-NEXT: "end": {
4358// CHECK-NEXT: "col": 25,
Aaron Ballmana612e342019-06-24 20:07:11 +00004359// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004360// CHECK-NEXT: }
4361// CHECK-NEXT: },
4362// CHECK-NEXT: "isUsed": true,
4363// CHECK-NEXT: "name": "Ptr",
4364// CHECK-NEXT: "type": {
4365// CHECK-NEXT: "qualType": "I *"
4366// CHECK-NEXT: }
4367// CHECK-NEXT: },
4368// CHECK-NEXT: {
4369// CHECK-NEXT: "id": "0x{{.*}}",
4370// CHECK-NEXT: "kind": "CompoundStmt",
4371// CHECK-NEXT: "range": {
4372// CHECK-NEXT: "begin": {
4373// CHECK-NEXT: "col": 30,
Aaron Ballmana612e342019-06-24 20:07:11 +00004374// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004375// CHECK-NEXT: },
4376// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +00004377// CHECK-NEXT: "line": 91,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004378// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004379// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004380// CHECK-NEXT: }
4381// CHECK-NEXT: },
4382// CHECK-NEXT: "inner": [
4383// CHECK-NEXT: {
4384// CHECK-NEXT: "id": "0x{{.*}}",
4385// CHECK-NEXT: "kind": "BinaryOperator",
4386// CHECK-NEXT: "range": {
4387// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +00004388// CHECK-NEXT: "line": 90,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004389// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004390// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004391// CHECK-NEXT: },
4392// CHECK-NEXT: "end": {
4393// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004394// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004395// CHECK-NEXT: }
4396// CHECK-NEXT: },
4397// CHECK-NEXT: "type": {
4398// CHECK-NEXT: "qualType": "int"
4399// CHECK-NEXT: },
4400// CHECK-NEXT: "valueCategory": "rvalue",
4401// CHECK-NEXT: "opcode": "=",
4402// CHECK-NEXT: "inner": [
4403// CHECK-NEXT: {
4404// CHECK-NEXT: "id": "0x{{.*}}",
4405// CHECK-NEXT: "kind": "ObjCIvarRefExpr",
4406// CHECK-NEXT: "range": {
4407// CHECK-NEXT: "begin": {
4408// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004409// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004410// CHECK-NEXT: },
4411// CHECK-NEXT: "end": {
4412// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00004413// CHECK-NEXT: "tokLen": 6
Aaron Ballman75e23f82019-06-20 21:45:31 +00004414// CHECK-NEXT: }
4415// CHECK-NEXT: },
4416// CHECK-NEXT: "type": {
4417// CHECK-NEXT: "qualType": "int"
4418// CHECK-NEXT: },
4419// CHECK-NEXT: "valueCategory": "lvalue",
4420// CHECK-NEXT: "decl": {
4421// CHECK-NEXT: "id": "0x{{.*}}",
4422// CHECK-NEXT: "kind": "ObjCIvarDecl",
4423// CHECK-NEXT: "name": "public",
4424// CHECK-NEXT: "type": {
4425// CHECK-NEXT: "qualType": "int"
4426// CHECK-NEXT: }
4427// CHECK-NEXT: },
4428// CHECK-NEXT: "isArrow": true,
4429// CHECK-NEXT: "inner": [
4430// CHECK-NEXT: {
4431// CHECK-NEXT: "id": "0x{{.*}}",
4432// CHECK-NEXT: "kind": "ImplicitCastExpr",
4433// CHECK-NEXT: "range": {
4434// CHECK-NEXT: "begin": {
4435// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004436// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004437// CHECK-NEXT: },
4438// CHECK-NEXT: "end": {
4439// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004440// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004441// CHECK-NEXT: }
4442// CHECK-NEXT: },
4443// CHECK-NEXT: "type": {
4444// CHECK-NEXT: "qualType": "I *"
4445// CHECK-NEXT: },
4446// CHECK-NEXT: "valueCategory": "rvalue",
4447// CHECK-NEXT: "castKind": "LValueToRValue",
4448// CHECK-NEXT: "inner": [
4449// CHECK-NEXT: {
4450// CHECK-NEXT: "id": "0x{{.*}}",
4451// CHECK-NEXT: "kind": "DeclRefExpr",
4452// CHECK-NEXT: "range": {
4453// CHECK-NEXT: "begin": {
4454// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004455// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004456// CHECK-NEXT: },
4457// CHECK-NEXT: "end": {
4458// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004459// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004460// CHECK-NEXT: }
4461// CHECK-NEXT: },
4462// CHECK-NEXT: "type": {
4463// CHECK-NEXT: "qualType": "I *"
4464// CHECK-NEXT: },
4465// CHECK-NEXT: "valueCategory": "lvalue",
4466// CHECK-NEXT: "referencedDecl": {
4467// CHECK-NEXT: "id": "0x{{.*}}",
4468// CHECK-NEXT: "kind": "ParmVarDecl",
4469// CHECK-NEXT: "name": "Ptr",
4470// CHECK-NEXT: "type": {
4471// CHECK-NEXT: "qualType": "I *"
4472// CHECK-NEXT: }
4473// CHECK-NEXT: }
4474// CHECK-NEXT: }
4475// CHECK-NEXT: ]
4476// CHECK-NEXT: }
4477// CHECK-NEXT: ]
4478// CHECK-NEXT: },
4479// CHECK-NEXT: {
4480// CHECK-NEXT: "id": "0x{{.*}}",
4481// CHECK-NEXT: "kind": "IntegerLiteral",
4482// CHECK-NEXT: "range": {
4483// CHECK-NEXT: "begin": {
4484// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004485// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004486// CHECK-NEXT: },
4487// CHECK-NEXT: "end": {
4488// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004489// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004490// CHECK-NEXT: }
4491// CHECK-NEXT: },
4492// CHECK-NEXT: "type": {
4493// CHECK-NEXT: "qualType": "int"
4494// CHECK-NEXT: },
4495// CHECK-NEXT: "valueCategory": "rvalue",
4496// CHECK-NEXT: "value": "0"
4497// CHECK-NEXT: }
4498// CHECK-NEXT: ]
4499// CHECK-NEXT: }
4500// CHECK-NEXT: ]
4501// CHECK-NEXT: }
4502// CHECK-NEXT: ]
4503// CHECK-NEXT: }
4504
4505
4506// CHECK: "kind": "FunctionDecl",
4507// CHECK-NEXT: "loc": {
Aaron Ballman75e23f82019-06-20 21:45:31 +00004508// CHECK-NEXT: "file": "{{.*}}",
Aaron Ballmana612e342019-06-24 20:07:11 +00004509// CHECK-NEXT: "line": 93,
4510// CHECK-NEXT: "col": 6,
4511// CHECK-NEXT: "tokLen": 19
Aaron Ballman75e23f82019-06-20 21:45:31 +00004512// CHECK-NEXT: },
4513// CHECK-NEXT: "range": {
4514// CHECK-NEXT: "begin": {
4515// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004516// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004517// CHECK-NEXT: },
4518// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +00004519// CHECK-NEXT: "line": 96,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004520// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004521// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004522// CHECK-NEXT: }
4523// CHECK-NEXT: },
4524// CHECK-NEXT: "name": "TestObjCBoolLiteral",
4525// CHECK-NEXT: "type": {
4526// CHECK-NEXT: "qualType": "void ()"
4527// CHECK-NEXT: },
4528// CHECK-NEXT: "inner": [
4529// CHECK-NEXT: {
4530// CHECK-NEXT: "id": "0x{{.*}}",
4531// CHECK-NEXT: "kind": "CompoundStmt",
4532// CHECK-NEXT: "range": {
4533// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +00004534// CHECK-NEXT: "line": 93,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004535// CHECK-NEXT: "col": 28,
Aaron Ballmana612e342019-06-24 20:07:11 +00004536// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004537// CHECK-NEXT: },
4538// CHECK-NEXT: "end": {
Aaron Ballmana612e342019-06-24 20:07:11 +00004539// CHECK-NEXT: "line": 96,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004540// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004541// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004542// CHECK-NEXT: }
4543// CHECK-NEXT: },
4544// CHECK-NEXT: "inner": [
4545// CHECK-NEXT: {
4546// CHECK-NEXT: "id": "0x{{.*}}",
4547// CHECK-NEXT: "kind": "ObjCBoolLiteralExpr",
4548// CHECK-NEXT: "range": {
4549// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +00004550// CHECK-NEXT: "line": 94,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004551// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004552// CHECK-NEXT: "tokLen": 10
Aaron Ballman75e23f82019-06-20 21:45:31 +00004553// CHECK-NEXT: },
4554// CHECK-NEXT: "end": {
4555// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004556// CHECK-NEXT: "tokLen": 10
Aaron Ballman75e23f82019-06-20 21:45:31 +00004557// CHECK-NEXT: }
4558// CHECK-NEXT: },
4559// CHECK-NEXT: "type": {
4560// CHECK-NEXT: "desugaredQualType": "signed char",
4561// CHECK-NEXT: "qualType": "BOOL"
4562// CHECK-NEXT: },
4563// CHECK-NEXT: "valueCategory": "rvalue",
4564// CHECK-NEXT: "value": "__objc_yes"
4565// CHECK-NEXT: },
4566// CHECK-NEXT: {
4567// CHECK-NEXT: "id": "0x{{.*}}",
4568// CHECK-NEXT: "kind": "ObjCBoolLiteralExpr",
4569// CHECK-NEXT: "range": {
4570// CHECK-NEXT: "begin": {
Aaron Ballmana612e342019-06-24 20:07:11 +00004571// CHECK-NEXT: "line": 95,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004572// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004573// CHECK-NEXT: "tokLen": 9
Aaron Ballman75e23f82019-06-20 21:45:31 +00004574// CHECK-NEXT: },
4575// CHECK-NEXT: "end": {
4576// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004577// CHECK-NEXT: "tokLen": 9
Aaron Ballman75e23f82019-06-20 21:45:31 +00004578// CHECK-NEXT: }
4579// CHECK-NEXT: },
4580// CHECK-NEXT: "type": {
4581// CHECK-NEXT: "desugaredQualType": "signed char",
4582// CHECK-NEXT: "qualType": "BOOL"
4583// CHECK-NEXT: },
4584// CHECK-NEXT: "valueCategory": "rvalue",
4585// CHECK-NEXT: "value": "__objc_no"
4586// CHECK-NEXT: }
4587// CHECK-NEXT: ]
4588// CHECK-NEXT: }
4589// CHECK-NEXT: ]
4590// CHECK-NEXT: }