blob: 9f6dac78ba4cda041313ff16bbabc23f69a773bb [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": {
103// CHECK-NEXT: "col": 6,
104// CHECK-NEXT: "file": "{{.*}}",
105// CHECK-NEXT: "line": 54
106// CHECK-NEXT: },
107// CHECK-NEXT: "range": {
108// CHECK-NEXT: "begin": {
109// CHECK-NEXT: "col": 1,
110// CHECK-NEXT: "file": "{{.*}}",
111// CHECK-NEXT: "line": 54
112// CHECK-NEXT: },
113// CHECK-NEXT: "end": {
114// CHECK-NEXT: "col": 1,
115// CHECK-NEXT: "file": "{{.*}}",
116// CHECK-NEXT: "line": 57
117// 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": {
129// CHECK-NEXT: "col": 23,
130// CHECK-NEXT: "file": "{{.*}}",
131// CHECK-NEXT: "line": 54
132// CHECK-NEXT: },
133// CHECK-NEXT: "end": {
134// CHECK-NEXT: "col": 1,
135// CHECK-NEXT: "file": "{{.*}}",
136// CHECK-NEXT: "line": 57
137// 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": {
145// CHECK-NEXT: "col": 3,
146// CHECK-NEXT: "file": "{{.*}}",
147// CHECK-NEXT: "line": 55
148// CHECK-NEXT: },
149// CHECK-NEXT: "end": {
150// CHECK-NEXT: "col": 14,
151// CHECK-NEXT: "file": "{{.*}}",
152// CHECK-NEXT: "line": 55
153// CHECK-NEXT: }
154// CHECK-NEXT: },
155// CHECK-NEXT: "type": {
156// CHECK-NEXT: "qualType": "char *"
157// CHECK-NEXT: },
158// CHECK-NEXT: "valueCategory": "rvalue",
159// CHECK-NEXT: "castKind": "ArrayToPointerDecay",
160// CHECK-NEXT: "inner": [
161// CHECK-NEXT: {
162// CHECK-NEXT: "id": "0x{{.*}}",
163// CHECK-NEXT: "kind": "ObjCEncodeExpr",
164// CHECK-NEXT: "range": {
165// CHECK-NEXT: "begin": {
166// CHECK-NEXT: "col": 3,
167// CHECK-NEXT: "file": "{{.*}}",
168// CHECK-NEXT: "line": 55
169// CHECK-NEXT: },
170// CHECK-NEXT: "end": {
171// CHECK-NEXT: "col": 14,
172// CHECK-NEXT: "file": "{{.*}}",
173// CHECK-NEXT: "line": 55
174// CHECK-NEXT: }
175// CHECK-NEXT: },
176// CHECK-NEXT: "type": {
177// CHECK-NEXT: "qualType": "char [2]"
178// CHECK-NEXT: },
179// CHECK-NEXT: "valueCategory": "lvalue",
180// CHECK-NEXT: "encodedType": {
181// CHECK-NEXT: "qualType": "int"
182// CHECK-NEXT: }
183// CHECK-NEXT: }
184// CHECK-NEXT: ]
185// CHECK-NEXT: },
186// CHECK-NEXT: {
187// CHECK-NEXT: "id": "0x{{.*}}",
188// CHECK-NEXT: "kind": "ImplicitCastExpr",
189// CHECK-NEXT: "range": {
190// CHECK-NEXT: "begin": {
191// CHECK-NEXT: "col": 3,
192// CHECK-NEXT: "file": "{{.*}}",
193// CHECK-NEXT: "line": 56
194// CHECK-NEXT: },
195// CHECK-NEXT: "end": {
196// CHECK-NEXT: "col": 23,
197// CHECK-NEXT: "file": "{{.*}}",
198// CHECK-NEXT: "line": 56
199// CHECK-NEXT: }
200// CHECK-NEXT: },
201// CHECK-NEXT: "type": {
202// CHECK-NEXT: "qualType": "char *"
203// CHECK-NEXT: },
204// CHECK-NEXT: "valueCategory": "rvalue",
205// CHECK-NEXT: "castKind": "ArrayToPointerDecay",
206// CHECK-NEXT: "inner": [
207// CHECK-NEXT: {
208// CHECK-NEXT: "id": "0x{{.*}}",
209// CHECK-NEXT: "kind": "ObjCEncodeExpr",
210// CHECK-NEXT: "range": {
211// CHECK-NEXT: "begin": {
212// CHECK-NEXT: "col": 3,
213// CHECK-NEXT: "file": "{{.*}}",
214// CHECK-NEXT: "line": 56
215// CHECK-NEXT: },
216// CHECK-NEXT: "end": {
217// CHECK-NEXT: "col": 23,
218// CHECK-NEXT: "file": "{{.*}}",
219// CHECK-NEXT: "line": 56
220// CHECK-NEXT: }
221// CHECK-NEXT: },
222// CHECK-NEXT: "type": {
223// CHECK-NEXT: "qualType": "char [3]"
224// CHECK-NEXT: },
225// CHECK-NEXT: "valueCategory": "lvalue",
226// CHECK-NEXT: "encodedType": {
227// CHECK-NEXT: "desugaredQualType": "void (^)(void)",
228// CHECK-NEXT: "qualType": "typeof (^{ })"
229// CHECK-NEXT: }
230// CHECK-NEXT: }
231// CHECK-NEXT: ]
232// CHECK-NEXT: }
233// CHECK-NEXT: ]
234// CHECK-NEXT: }
235// CHECK-NEXT: ]
236// CHECK-NEXT: }
237
238
239// CHECK: "kind": "FunctionDecl",
240// CHECK-NEXT: "loc": {
241// CHECK-NEXT: "col": 6,
242// CHECK-NEXT: "file": "{{.*}}",
243// CHECK-NEXT: "line": 59
244// CHECK-NEXT: },
245// CHECK-NEXT: "range": {
246// CHECK-NEXT: "begin": {
247// CHECK-NEXT: "col": 1,
248// CHECK-NEXT: "file": "{{.*}}",
249// CHECK-NEXT: "line": 59
250// CHECK-NEXT: },
251// CHECK-NEXT: "end": {
252// CHECK-NEXT: "col": 1,
253// CHECK-NEXT: "file": "{{.*}}",
254// CHECK-NEXT: "line": 62
255// CHECK-NEXT: }
256// CHECK-NEXT: },
257// CHECK-NEXT: "name": "TestObjCMessage",
258// CHECK-NEXT: "type": {
259// CHECK-NEXT: "qualType": "void (I *)"
260// CHECK-NEXT: },
261// CHECK-NEXT: "inner": [
262// CHECK-NEXT: {
263// CHECK-NEXT: "id": "0x{{.*}}",
264// CHECK-NEXT: "kind": "ParmVarDecl",
265// CHECK-NEXT: "loc": {
266// CHECK-NEXT: "col": 25,
267// CHECK-NEXT: "file": "{{.*}}",
268// CHECK-NEXT: "line": 59
269// CHECK-NEXT: },
270// CHECK-NEXT: "range": {
271// CHECK-NEXT: "begin": {
272// CHECK-NEXT: "col": 22,
273// CHECK-NEXT: "file": "{{.*}}",
274// CHECK-NEXT: "line": 59
275// CHECK-NEXT: },
276// CHECK-NEXT: "end": {
277// CHECK-NEXT: "col": 25,
278// CHECK-NEXT: "file": "{{.*}}",
279// CHECK-NEXT: "line": 59
280// CHECK-NEXT: }
281// CHECK-NEXT: },
282// CHECK-NEXT: "isUsed": true,
283// CHECK-NEXT: "name": "Obj",
284// CHECK-NEXT: "type": {
285// CHECK-NEXT: "qualType": "I *"
286// CHECK-NEXT: }
287// CHECK-NEXT: },
288// CHECK-NEXT: {
289// CHECK-NEXT: "id": "0x{{.*}}",
290// CHECK-NEXT: "kind": "CompoundStmt",
291// CHECK-NEXT: "range": {
292// CHECK-NEXT: "begin": {
293// CHECK-NEXT: "col": 30,
294// CHECK-NEXT: "file": "{{.*}}",
295// CHECK-NEXT: "line": 59
296// CHECK-NEXT: },
297// CHECK-NEXT: "end": {
298// CHECK-NEXT: "col": 1,
299// CHECK-NEXT: "file": "{{.*}}",
300// CHECK-NEXT: "line": 62
301// CHECK-NEXT: }
302// CHECK-NEXT: },
303// CHECK-NEXT: "inner": [
304// CHECK-NEXT: {
305// CHECK-NEXT: "id": "0x{{.*}}",
306// CHECK-NEXT: "kind": "ObjCMessageExpr",
307// CHECK-NEXT: "range": {
308// CHECK-NEXT: "begin": {
309// CHECK-NEXT: "col": 3,
310// CHECK-NEXT: "file": "{{.*}}",
311// CHECK-NEXT: "line": 60
312// CHECK-NEXT: },
313// CHECK-NEXT: "end": {
314// CHECK-NEXT: "col": 15,
315// CHECK-NEXT: "file": "{{.*}}",
316// CHECK-NEXT: "line": 60
317// CHECK-NEXT: }
318// CHECK-NEXT: },
319// CHECK-NEXT: "type": {
320// CHECK-NEXT: "qualType": "void"
321// CHECK-NEXT: },
322// CHECK-NEXT: "valueCategory": "rvalue",
323// CHECK-NEXT: "selector": "method1",
324// CHECK-NEXT: "receiverKind": "instance",
325// CHECK-NEXT: "inner": [
326// CHECK-NEXT: {
327// CHECK-NEXT: "id": "0x{{.*}}",
328// CHECK-NEXT: "kind": "ImplicitCastExpr",
329// CHECK-NEXT: "range": {
330// CHECK-NEXT: "begin": {
331// CHECK-NEXT: "col": 4,
332// CHECK-NEXT: "file": "{{.*}}",
333// CHECK-NEXT: "line": 60
334// CHECK-NEXT: },
335// CHECK-NEXT: "end": {
336// CHECK-NEXT: "col": 4,
337// CHECK-NEXT: "file": "{{.*}}",
338// CHECK-NEXT: "line": 60
339// CHECK-NEXT: }
340// CHECK-NEXT: },
341// CHECK-NEXT: "type": {
342// CHECK-NEXT: "qualType": "I *"
343// CHECK-NEXT: },
344// CHECK-NEXT: "valueCategory": "rvalue",
345// CHECK-NEXT: "castKind": "LValueToRValue",
346// CHECK-NEXT: "inner": [
347// CHECK-NEXT: {
348// CHECK-NEXT: "id": "0x{{.*}}",
349// CHECK-NEXT: "kind": "DeclRefExpr",
350// CHECK-NEXT: "range": {
351// CHECK-NEXT: "begin": {
352// CHECK-NEXT: "col": 4,
353// CHECK-NEXT: "file": "{{.*}}",
354// CHECK-NEXT: "line": 60
355// CHECK-NEXT: },
356// CHECK-NEXT: "end": {
357// CHECK-NEXT: "col": 4,
358// CHECK-NEXT: "file": "{{.*}}",
359// CHECK-NEXT: "line": 60
360// CHECK-NEXT: }
361// CHECK-NEXT: },
362// CHECK-NEXT: "type": {
363// CHECK-NEXT: "qualType": "I *"
364// CHECK-NEXT: },
365// CHECK-NEXT: "valueCategory": "lvalue",
366// CHECK-NEXT: "referencedDecl": {
367// CHECK-NEXT: "id": "0x{{.*}}",
368// CHECK-NEXT: "kind": "ParmVarDecl",
369// CHECK-NEXT: "name": "Obj",
370// CHECK-NEXT: "type": {
371// CHECK-NEXT: "qualType": "I *"
372// CHECK-NEXT: }
373// CHECK-NEXT: }
374// CHECK-NEXT: }
375// CHECK-NEXT: ]
376// CHECK-NEXT: }
377// CHECK-NEXT: ]
378// CHECK-NEXT: },
379// CHECK-NEXT: {
380// CHECK-NEXT: "id": "0x{{.*}}",
381// CHECK-NEXT: "kind": "ObjCMessageExpr",
382// CHECK-NEXT: "range": {
383// CHECK-NEXT: "begin": {
384// CHECK-NEXT: "col": 3,
385// CHECK-NEXT: "file": "{{.*}}",
386// CHECK-NEXT: "line": 61
387// CHECK-NEXT: },
388// CHECK-NEXT: "end": {
389// CHECK-NEXT: "col": 13,
390// CHECK-NEXT: "file": "{{.*}}",
391// CHECK-NEXT: "line": 61
392// CHECK-NEXT: }
393// CHECK-NEXT: },
394// CHECK-NEXT: "type": {
395// CHECK-NEXT: "qualType": "void"
396// CHECK-NEXT: },
397// CHECK-NEXT: "valueCategory": "rvalue",
398// CHECK-NEXT: "selector": "method2",
399// CHECK-NEXT: "receiverKind": "class",
400// CHECK-NEXT: "classType": {
401// CHECK-NEXT: "qualType": "I"
402// CHECK-NEXT: }
403// CHECK-NEXT: }
404// CHECK-NEXT: ]
405// CHECK-NEXT: }
406// CHECK-NEXT: ]
407// CHECK-NEXT: }
408
409
410// CHECK: "kind": "FunctionDecl",
411// CHECK-NEXT: "loc": {
412// CHECK-NEXT: "col": 6,
413// CHECK-NEXT: "file": "{{.*}}",
414// CHECK-NEXT: "line": 64
415// CHECK-NEXT: },
416// CHECK-NEXT: "range": {
417// CHECK-NEXT: "begin": {
418// CHECK-NEXT: "col": 1,
419// CHECK-NEXT: "file": "{{.*}}",
420// CHECK-NEXT: "line": 64
421// CHECK-NEXT: },
422// CHECK-NEXT: "end": {
423// CHECK-NEXT: "col": 1,
424// CHECK-NEXT: "file": "{{.*}}",
425// CHECK-NEXT: "line": 66
426// CHECK-NEXT: }
427// CHECK-NEXT: },
428// CHECK-NEXT: "name": "TestObjCBoxed",
429// CHECK-NEXT: "type": {
430// CHECK-NEXT: "qualType": "void ()"
431// CHECK-NEXT: },
432// CHECK-NEXT: "inner": [
433// CHECK-NEXT: {
434// CHECK-NEXT: "id": "0x{{.*}}",
435// CHECK-NEXT: "kind": "CompoundStmt",
436// CHECK-NEXT: "range": {
437// CHECK-NEXT: "begin": {
438// CHECK-NEXT: "col": 22,
439// CHECK-NEXT: "file": "{{.*}}",
440// CHECK-NEXT: "line": 64
441// CHECK-NEXT: },
442// CHECK-NEXT: "end": {
443// CHECK-NEXT: "col": 1,
444// CHECK-NEXT: "file": "{{.*}}",
445// CHECK-NEXT: "line": 66
446// CHECK-NEXT: }
447// CHECK-NEXT: },
448// CHECK-NEXT: "inner": [
449// CHECK-NEXT: {
450// CHECK-NEXT: "id": "0x{{.*}}",
451// CHECK-NEXT: "kind": "ObjCBoxedExpr",
452// CHECK-NEXT: "range": {
453// CHECK-NEXT: "begin": {
454// CHECK-NEXT: "col": 3,
455// CHECK-NEXT: "file": "{{.*}}",
456// CHECK-NEXT: "line": 65
457// CHECK-NEXT: },
458// CHECK-NEXT: "end": {
459// CHECK-NEXT: "col": 10,
460// CHECK-NEXT: "file": "{{.*}}",
461// CHECK-NEXT: "line": 65
462// CHECK-NEXT: }
463// CHECK-NEXT: },
464// CHECK-NEXT: "type": {
465// CHECK-NEXT: "qualType": "NSNumber *"
466// CHECK-NEXT: },
467// CHECK-NEXT: "valueCategory": "rvalue",
468// CHECK-NEXT: "selector": "numberWithInt:",
469// CHECK-NEXT: "inner": [
470// CHECK-NEXT: {
471// CHECK-NEXT: "id": "0x{{.*}}",
472// CHECK-NEXT: "kind": "ParenExpr",
473// CHECK-NEXT: "range": {
474// CHECK-NEXT: "begin": {
475// CHECK-NEXT: "col": 4,
476// CHECK-NEXT: "file": "{{.*}}",
477// CHECK-NEXT: "line": 65
478// CHECK-NEXT: },
479// CHECK-NEXT: "end": {
480// CHECK-NEXT: "col": 10,
481// CHECK-NEXT: "file": "{{.*}}",
482// CHECK-NEXT: "line": 65
483// 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: "inner": [
490// CHECK-NEXT: {
491// CHECK-NEXT: "id": "0x{{.*}}",
492// CHECK-NEXT: "kind": "BinaryOperator",
493// CHECK-NEXT: "range": {
494// CHECK-NEXT: "begin": {
495// CHECK-NEXT: "col": 5,
496// CHECK-NEXT: "file": "{{.*}}",
497// CHECK-NEXT: "line": 65
498// CHECK-NEXT: },
499// CHECK-NEXT: "end": {
500// CHECK-NEXT: "col": 9,
501// CHECK-NEXT: "file": "{{.*}}",
502// CHECK-NEXT: "line": 65
503// CHECK-NEXT: }
504// CHECK-NEXT: },
505// CHECK-NEXT: "type": {
506// CHECK-NEXT: "qualType": "int"
507// CHECK-NEXT: },
508// CHECK-NEXT: "valueCategory": "rvalue",
509// CHECK-NEXT: "opcode": "+",
510// CHECK-NEXT: "inner": [
511// CHECK-NEXT: {
512// CHECK-NEXT: "id": "0x{{.*}}",
513// CHECK-NEXT: "kind": "IntegerLiteral",
514// CHECK-NEXT: "range": {
515// CHECK-NEXT: "begin": {
516// CHECK-NEXT: "col": 5,
517// CHECK-NEXT: "file": "{{.*}}",
518// CHECK-NEXT: "line": 65
519// CHECK-NEXT: },
520// CHECK-NEXT: "end": {
521// CHECK-NEXT: "col": 5,
522// CHECK-NEXT: "file": "{{.*}}",
523// CHECK-NEXT: "line": 65
524// CHECK-NEXT: }
525// CHECK-NEXT: },
526// CHECK-NEXT: "type": {
527// CHECK-NEXT: "qualType": "int"
528// CHECK-NEXT: },
529// CHECK-NEXT: "valueCategory": "rvalue",
530// CHECK-NEXT: "value": "1"
531// CHECK-NEXT: },
532// CHECK-NEXT: {
533// CHECK-NEXT: "id": "0x{{.*}}",
534// CHECK-NEXT: "kind": "IntegerLiteral",
535// CHECK-NEXT: "range": {
536// CHECK-NEXT: "begin": {
537// CHECK-NEXT: "col": 9,
538// CHECK-NEXT: "file": "{{.*}}",
539// CHECK-NEXT: "line": 65
540// CHECK-NEXT: },
541// CHECK-NEXT: "end": {
542// CHECK-NEXT: "col": 9,
543// CHECK-NEXT: "file": "{{.*}}",
544// CHECK-NEXT: "line": 65
545// CHECK-NEXT: }
546// CHECK-NEXT: },
547// CHECK-NEXT: "type": {
548// CHECK-NEXT: "qualType": "int"
549// CHECK-NEXT: },
550// CHECK-NEXT: "valueCategory": "rvalue",
551// CHECK-NEXT: "value": "1"
552// CHECK-NEXT: }
553// CHECK-NEXT: ]
554// CHECK-NEXT: }
555// CHECK-NEXT: ]
556// CHECK-NEXT: }
557// CHECK-NEXT: ]
558// CHECK-NEXT: }
559// CHECK-NEXT: ]
560// CHECK-NEXT: }
561// CHECK-NEXT: ]
562// CHECK-NEXT: }
563
564
565// CHECK: "kind": "FunctionDecl",
566// CHECK-NEXT: "loc": {
567// CHECK-NEXT: "col": 6,
568// CHECK-NEXT: "file": "{{.*}}",
569// CHECK-NEXT: "line": 68
570// CHECK-NEXT: },
571// CHECK-NEXT: "range": {
572// CHECK-NEXT: "begin": {
573// CHECK-NEXT: "col": 1,
574// CHECK-NEXT: "file": "{{.*}}",
575// CHECK-NEXT: "line": 68
576// CHECK-NEXT: },
577// CHECK-NEXT: "end": {
578// CHECK-NEXT: "col": 1,
579// CHECK-NEXT: "file": "{{.*}}",
580// CHECK-NEXT: "line": 70
581// CHECK-NEXT: }
582// CHECK-NEXT: },
583// CHECK-NEXT: "name": "TestObjCSelector",
584// CHECK-NEXT: "type": {
585// CHECK-NEXT: "qualType": "void ()"
586// CHECK-NEXT: },
587// CHECK-NEXT: "inner": [
588// CHECK-NEXT: {
589// CHECK-NEXT: "id": "0x{{.*}}",
590// CHECK-NEXT: "kind": "CompoundStmt",
591// CHECK-NEXT: "range": {
592// CHECK-NEXT: "begin": {
593// CHECK-NEXT: "col": 25,
594// CHECK-NEXT: "file": "{{.*}}",
595// CHECK-NEXT: "line": 68
596// CHECK-NEXT: },
597// CHECK-NEXT: "end": {
598// CHECK-NEXT: "col": 1,
599// CHECK-NEXT: "file": "{{.*}}",
600// CHECK-NEXT: "line": 70
601// CHECK-NEXT: }
602// CHECK-NEXT: },
603// CHECK-NEXT: "inner": [
604// CHECK-NEXT: {
605// CHECK-NEXT: "id": "0x{{.*}}",
606// CHECK-NEXT: "kind": "DeclStmt",
607// CHECK-NEXT: "range": {
608// CHECK-NEXT: "begin": {
609// CHECK-NEXT: "col": 3,
610// CHECK-NEXT: "file": "{{.*}}",
611// CHECK-NEXT: "line": 69
612// CHECK-NEXT: },
613// CHECK-NEXT: "end": {
614// CHECK-NEXT: "col": 29,
615// CHECK-NEXT: "file": "{{.*}}",
616// CHECK-NEXT: "line": 69
617// CHECK-NEXT: }
618// CHECK-NEXT: },
619// CHECK-NEXT: "inner": [
620// CHECK-NEXT: {
621// CHECK-NEXT: "id": "0x{{.*}}",
622// CHECK-NEXT: "kind": "VarDecl",
623// CHECK-NEXT: "loc": {
624// CHECK-NEXT: "col": 7,
625// CHECK-NEXT: "file": "{{.*}}",
626// CHECK-NEXT: "line": 69
627// CHECK-NEXT: },
628// CHECK-NEXT: "range": {
629// CHECK-NEXT: "begin": {
630// CHECK-NEXT: "col": 3,
631// CHECK-NEXT: "file": "{{.*}}",
632// CHECK-NEXT: "line": 69
633// CHECK-NEXT: },
634// CHECK-NEXT: "end": {
635// CHECK-NEXT: "col": 28,
636// CHECK-NEXT: "file": "{{.*}}",
637// CHECK-NEXT: "line": 69
638// CHECK-NEXT: }
639// CHECK-NEXT: },
640// CHECK-NEXT: "name": "s",
641// CHECK-NEXT: "type": {
642// CHECK-NEXT: "desugaredQualType": "SEL *",
643// CHECK-NEXT: "qualType": "SEL"
644// CHECK-NEXT: },
645// CHECK-NEXT: "init": "c",
646// CHECK-NEXT: "inner": [
647// CHECK-NEXT: {
648// CHECK-NEXT: "id": "0x{{.*}}",
649// CHECK-NEXT: "kind": "ObjCSelectorExpr",
650// CHECK-NEXT: "range": {
651// CHECK-NEXT: "begin": {
652// CHECK-NEXT: "col": 11,
653// CHECK-NEXT: "file": "{{.*}}",
654// CHECK-NEXT: "line": 69
655// CHECK-NEXT: },
656// CHECK-NEXT: "end": {
657// CHECK-NEXT: "col": 28,
658// CHECK-NEXT: "file": "{{.*}}",
659// CHECK-NEXT: "line": 69
660// CHECK-NEXT: }
661// CHECK-NEXT: },
662// CHECK-NEXT: "type": {
663// CHECK-NEXT: "desugaredQualType": "SEL *",
664// CHECK-NEXT: "qualType": "SEL"
665// CHECK-NEXT: },
666// CHECK-NEXT: "valueCategory": "rvalue",
667// CHECK-NEXT: "selector": "dealloc"
668// CHECK-NEXT: }
669// CHECK-NEXT: ]
670// CHECK-NEXT: }
671// CHECK-NEXT: ]
672// CHECK-NEXT: }
673// CHECK-NEXT: ]
674// CHECK-NEXT: }
675// CHECK-NEXT: ]
676// CHECK-NEXT: }
677
678
679// CHECK: "kind": "FunctionDecl",
680// CHECK-NEXT: "loc": {
681// CHECK-NEXT: "col": 6,
682// CHECK-NEXT: "file": "{{.*}}",
683// CHECK-NEXT: "line": 72
684// CHECK-NEXT: },
685// CHECK-NEXT: "range": {
686// CHECK-NEXT: "begin": {
687// CHECK-NEXT: "col": 1,
688// CHECK-NEXT: "file": "{{.*}}",
689// CHECK-NEXT: "line": 72
690// CHECK-NEXT: },
691// CHECK-NEXT: "end": {
692// CHECK-NEXT: "col": 1,
693// CHECK-NEXT: "file": "{{.*}}",
694// CHECK-NEXT: "line": 74
695// CHECK-NEXT: }
696// CHECK-NEXT: },
697// CHECK-NEXT: "name": "TestObjCProtocol",
698// CHECK-NEXT: "type": {
699// CHECK-NEXT: "qualType": "void (id)"
700// CHECK-NEXT: },
701// CHECK-NEXT: "inner": [
702// CHECK-NEXT: {
703// CHECK-NEXT: "id": "0x{{.*}}",
704// CHECK-NEXT: "kind": "ParmVarDecl",
705// CHECK-NEXT: "loc": {
706// CHECK-NEXT: "col": 26,
707// CHECK-NEXT: "file": "{{.*}}",
708// CHECK-NEXT: "line": 72
709// CHECK-NEXT: },
710// CHECK-NEXT: "range": {
711// CHECK-NEXT: "begin": {
712// CHECK-NEXT: "col": 23,
713// CHECK-NEXT: "file": "{{.*}}",
714// CHECK-NEXT: "line": 72
715// CHECK-NEXT: },
716// CHECK-NEXT: "end": {
717// CHECK-NEXT: "col": 26,
718// CHECK-NEXT: "file": "{{.*}}",
719// CHECK-NEXT: "line": 72
720// CHECK-NEXT: }
721// CHECK-NEXT: },
722// CHECK-NEXT: "isUsed": true,
723// CHECK-NEXT: "name": "Obj",
724// CHECK-NEXT: "type": {
725// CHECK-NEXT: "desugaredQualType": "id",
726// CHECK-NEXT: "qualType": "id"
727// CHECK-NEXT: }
728// CHECK-NEXT: },
729// CHECK-NEXT: {
730// CHECK-NEXT: "id": "0x{{.*}}",
731// CHECK-NEXT: "kind": "CompoundStmt",
732// CHECK-NEXT: "range": {
733// CHECK-NEXT: "begin": {
734// CHECK-NEXT: "col": 31,
735// CHECK-NEXT: "file": "{{.*}}",
736// CHECK-NEXT: "line": 72
737// CHECK-NEXT: },
738// CHECK-NEXT: "end": {
739// CHECK-NEXT: "col": 1,
740// CHECK-NEXT: "file": "{{.*}}",
741// CHECK-NEXT: "line": 74
742// CHECK-NEXT: }
743// CHECK-NEXT: },
744// CHECK-NEXT: "inner": [
745// CHECK-NEXT: {
746// CHECK-NEXT: "id": "0x{{.*}}",
747// CHECK-NEXT: "kind": "ObjCMessageExpr",
748// CHECK-NEXT: "range": {
749// CHECK-NEXT: "begin": {
750// CHECK-NEXT: "col": 3,
751// CHECK-NEXT: "file": "{{.*}}",
752// CHECK-NEXT: "line": 73
753// CHECK-NEXT: },
754// CHECK-NEXT: "end": {
755// CHECK-NEXT: "col": 43,
756// CHECK-NEXT: "file": "{{.*}}",
757// CHECK-NEXT: "line": 73
758// CHECK-NEXT: }
759// CHECK-NEXT: },
760// CHECK-NEXT: "type": {
761// CHECK-NEXT: "qualType": "int"
762// CHECK-NEXT: },
763// CHECK-NEXT: "valueCategory": "rvalue",
764// CHECK-NEXT: "selector": "conformsToProtocol:",
765// CHECK-NEXT: "receiverKind": "instance",
766// CHECK-NEXT: "inner": [
767// CHECK-NEXT: {
768// CHECK-NEXT: "id": "0x{{.*}}",
769// CHECK-NEXT: "kind": "ImplicitCastExpr",
770// CHECK-NEXT: "range": {
771// CHECK-NEXT: "begin": {
772// CHECK-NEXT: "col": 4,
773// CHECK-NEXT: "file": "{{.*}}",
774// CHECK-NEXT: "line": 73
775// CHECK-NEXT: },
776// CHECK-NEXT: "end": {
777// CHECK-NEXT: "col": 4,
778// CHECK-NEXT: "file": "{{.*}}",
779// CHECK-NEXT: "line": 73
780// CHECK-NEXT: }
781// CHECK-NEXT: },
782// CHECK-NEXT: "type": {
783// CHECK-NEXT: "desugaredQualType": "id",
784// CHECK-NEXT: "qualType": "id"
785// CHECK-NEXT: },
786// CHECK-NEXT: "valueCategory": "rvalue",
787// CHECK-NEXT: "castKind": "LValueToRValue",
788// CHECK-NEXT: "inner": [
789// CHECK-NEXT: {
790// CHECK-NEXT: "id": "0x{{.*}}",
791// CHECK-NEXT: "kind": "DeclRefExpr",
792// CHECK-NEXT: "range": {
793// CHECK-NEXT: "begin": {
794// CHECK-NEXT: "col": 4,
795// CHECK-NEXT: "file": "{{.*}}",
796// CHECK-NEXT: "line": 73
797// CHECK-NEXT: },
798// CHECK-NEXT: "end": {
799// CHECK-NEXT: "col": 4,
800// CHECK-NEXT: "file": "{{.*}}",
801// CHECK-NEXT: "line": 73
802// CHECK-NEXT: }
803// CHECK-NEXT: },
804// CHECK-NEXT: "type": {
805// CHECK-NEXT: "desugaredQualType": "id",
806// CHECK-NEXT: "qualType": "id"
807// CHECK-NEXT: },
808// CHECK-NEXT: "valueCategory": "lvalue",
809// CHECK-NEXT: "referencedDecl": {
810// CHECK-NEXT: "id": "0x{{.*}}",
811// CHECK-NEXT: "kind": "ParmVarDecl",
812// CHECK-NEXT: "name": "Obj",
813// CHECK-NEXT: "type": {
814// CHECK-NEXT: "desugaredQualType": "id",
815// CHECK-NEXT: "qualType": "id"
816// CHECK-NEXT: }
817// CHECK-NEXT: }
818// CHECK-NEXT: }
819// CHECK-NEXT: ]
820// CHECK-NEXT: },
821// CHECK-NEXT: {
822// CHECK-NEXT: "id": "0x{{.*}}",
823// CHECK-NEXT: "kind": "ObjCProtocolExpr",
824// CHECK-NEXT: "range": {
825// CHECK-NEXT: "begin": {
826// CHECK-NEXT: "col": 27,
827// CHECK-NEXT: "file": "{{.*}}",
828// CHECK-NEXT: "line": 73
829// CHECK-NEXT: },
830// CHECK-NEXT: "end": {
831// CHECK-NEXT: "col": 42,
832// CHECK-NEXT: "file": "{{.*}}",
833// CHECK-NEXT: "line": 73
834// CHECK-NEXT: }
835// CHECK-NEXT: },
836// CHECK-NEXT: "type": {
837// CHECK-NEXT: "qualType": "Protocol *"
838// CHECK-NEXT: },
839// CHECK-NEXT: "valueCategory": "rvalue",
840// CHECK-NEXT: "protocol": {
841// CHECK-NEXT: "id": "0x{{.*}}",
842// CHECK-NEXT: "kind": "ObjCProtocolDecl",
843// CHECK-NEXT: "name": "Proto"
844// CHECK-NEXT: }
845// CHECK-NEXT: }
846// CHECK-NEXT: ]
847// CHECK-NEXT: }
848// CHECK-NEXT: ]
849// CHECK-NEXT: }
850// CHECK-NEXT: ]
851// CHECK-NEXT: }
852
853
854// CHECK: "kind": "FunctionDecl",
855// CHECK-NEXT: "loc": {
856// CHECK-NEXT: "col": 6,
857// CHECK-NEXT: "file": "{{.*}}",
858// CHECK-NEXT: "line": 76
859// CHECK-NEXT: },
860// CHECK-NEXT: "range": {
861// CHECK-NEXT: "begin": {
862// CHECK-NEXT: "col": 1,
863// CHECK-NEXT: "file": "{{.*}}",
864// CHECK-NEXT: "line": 76
865// CHECK-NEXT: },
866// CHECK-NEXT: "end": {
867// CHECK-NEXT: "col": 1,
868// CHECK-NEXT: "file": "{{.*}}",
869// CHECK-NEXT: "line": 79
870// CHECK-NEXT: }
871// CHECK-NEXT: },
872// CHECK-NEXT: "name": "TestObjCPropertyRef",
873// CHECK-NEXT: "type": {
874// CHECK-NEXT: "qualType": "void (J *)"
875// CHECK-NEXT: },
876// CHECK-NEXT: "inner": [
877// CHECK-NEXT: {
878// CHECK-NEXT: "id": "0x{{.*}}",
879// CHECK-NEXT: "kind": "ParmVarDecl",
880// CHECK-NEXT: "loc": {
881// CHECK-NEXT: "col": 29,
882// CHECK-NEXT: "file": "{{.*}}",
883// CHECK-NEXT: "line": 76
884// CHECK-NEXT: },
885// CHECK-NEXT: "range": {
886// CHECK-NEXT: "begin": {
887// CHECK-NEXT: "col": 26,
888// CHECK-NEXT: "file": "{{.*}}",
889// CHECK-NEXT: "line": 76
890// CHECK-NEXT: },
891// CHECK-NEXT: "end": {
892// CHECK-NEXT: "col": 29,
893// CHECK-NEXT: "file": "{{.*}}",
894// CHECK-NEXT: "line": 76
895// CHECK-NEXT: }
896// CHECK-NEXT: },
897// CHECK-NEXT: "isUsed": true,
898// CHECK-NEXT: "name": "Obj",
899// CHECK-NEXT: "type": {
900// CHECK-NEXT: "qualType": "J *"
901// CHECK-NEXT: }
902// CHECK-NEXT: },
903// CHECK-NEXT: {
904// CHECK-NEXT: "id": "0x{{.*}}",
905// CHECK-NEXT: "kind": "CompoundStmt",
906// CHECK-NEXT: "range": {
907// CHECK-NEXT: "begin": {
908// CHECK-NEXT: "col": 34,
909// CHECK-NEXT: "file": "{{.*}}",
910// CHECK-NEXT: "line": 76
911// CHECK-NEXT: },
912// CHECK-NEXT: "end": {
913// CHECK-NEXT: "col": 1,
914// CHECK-NEXT: "file": "{{.*}}",
915// CHECK-NEXT: "line": 79
916// CHECK-NEXT: }
917// CHECK-NEXT: },
918// CHECK-NEXT: "inner": [
919// CHECK-NEXT: {
920// CHECK-NEXT: "id": "0x{{.*}}",
921// CHECK-NEXT: "kind": "PseudoObjectExpr",
922// CHECK-NEXT: "range": {
923// CHECK-NEXT: "begin": {
924// CHECK-NEXT: "col": 3,
925// CHECK-NEXT: "file": "{{.*}}",
926// CHECK-NEXT: "line": 77
927// CHECK-NEXT: },
928// CHECK-NEXT: "end": {
929// CHECK-NEXT: "col": 14,
930// CHECK-NEXT: "file": "{{.*}}",
931// CHECK-NEXT: "line": 77
932// CHECK-NEXT: }
933// CHECK-NEXT: },
934// CHECK-NEXT: "type": {
935// CHECK-NEXT: "qualType": "unsigned int"
936// CHECK-NEXT: },
937// CHECK-NEXT: "valueCategory": "rvalue",
938// CHECK-NEXT: "inner": [
939// CHECK-NEXT: {
940// CHECK-NEXT: "id": "0x{{.*}}",
941// CHECK-NEXT: "kind": "BinaryOperator",
942// CHECK-NEXT: "range": {
943// CHECK-NEXT: "begin": {
944// CHECK-NEXT: "col": 3,
945// CHECK-NEXT: "file": "{{.*}}",
946// CHECK-NEXT: "line": 77
947// CHECK-NEXT: },
948// CHECK-NEXT: "end": {
949// CHECK-NEXT: "col": 14,
950// CHECK-NEXT: "file": "{{.*}}",
951// CHECK-NEXT: "line": 77
952// CHECK-NEXT: }
953// CHECK-NEXT: },
954// CHECK-NEXT: "type": {
955// CHECK-NEXT: "qualType": "int"
956// CHECK-NEXT: },
957// CHECK-NEXT: "valueCategory": "rvalue",
958// CHECK-NEXT: "opcode": "=",
959// CHECK-NEXT: "inner": [
960// CHECK-NEXT: {
961// CHECK-NEXT: "id": "0x{{.*}}",
962// CHECK-NEXT: "kind": "ObjCPropertyRefExpr",
963// CHECK-NEXT: "range": {
964// CHECK-NEXT: "begin": {
965// CHECK-NEXT: "col": 3,
966// CHECK-NEXT: "file": "{{.*}}",
967// CHECK-NEXT: "line": 77
968// CHECK-NEXT: },
969// CHECK-NEXT: "end": {
970// CHECK-NEXT: "col": 7,
971// CHECK-NEXT: "file": "{{.*}}",
972// CHECK-NEXT: "line": 77
973// CHECK-NEXT: }
974// CHECK-NEXT: },
975// CHECK-NEXT: "type": {
976// CHECK-NEXT: "qualType": "<pseudo-object type>"
977// CHECK-NEXT: },
978// CHECK-NEXT: "valueCategory": "lvalue",
979// CHECK-NEXT: "propertyKind": "explicit",
980// CHECK-NEXT: "property": {
981// CHECK-NEXT: "id": "0x{{.*}}",
982// CHECK-NEXT: "kind": "ObjCPropertyDecl",
983// CHECK-NEXT: "name": "prop"
984// CHECK-NEXT: },
985// CHECK-NEXT: "isMessagingSetter": true,
986// CHECK-NEXT: "inner": [
987// CHECK-NEXT: {
988// CHECK-NEXT: "id": "0x{{.*}}",
989// CHECK-NEXT: "kind": "OpaqueValueExpr",
990// CHECK-NEXT: "range": {
991// CHECK-NEXT: "begin": {
992// CHECK-NEXT: "col": 3,
993// CHECK-NEXT: "file": "{{.*}}",
994// CHECK-NEXT: "line": 77
995// CHECK-NEXT: },
996// CHECK-NEXT: "end": {
997// CHECK-NEXT: "col": 3,
998// CHECK-NEXT: "file": "{{.*}}",
999// CHECK-NEXT: "line": 77
1000// CHECK-NEXT: }
1001// CHECK-NEXT: },
1002// CHECK-NEXT: "type": {
1003// CHECK-NEXT: "qualType": "J *"
1004// CHECK-NEXT: },
1005// CHECK-NEXT: "valueCategory": "rvalue",
1006// CHECK-NEXT: "inner": [
1007// CHECK-NEXT: {
1008// CHECK-NEXT: "id": "0x{{.*}}",
1009// CHECK-NEXT: "kind": "ImplicitCastExpr",
1010// CHECK-NEXT: "range": {
1011// CHECK-NEXT: "begin": {
1012// CHECK-NEXT: "col": 3,
1013// CHECK-NEXT: "file": "{{.*}}",
1014// CHECK-NEXT: "line": 77
1015// CHECK-NEXT: },
1016// CHECK-NEXT: "end": {
1017// CHECK-NEXT: "col": 3,
1018// CHECK-NEXT: "file": "{{.*}}",
1019// CHECK-NEXT: "line": 77
1020// CHECK-NEXT: }
1021// CHECK-NEXT: },
1022// CHECK-NEXT: "type": {
1023// CHECK-NEXT: "qualType": "J *"
1024// CHECK-NEXT: },
1025// CHECK-NEXT: "valueCategory": "rvalue",
1026// CHECK-NEXT: "castKind": "LValueToRValue",
1027// CHECK-NEXT: "inner": [
1028// CHECK-NEXT: {
1029// CHECK-NEXT: "id": "0x{{.*}}",
1030// CHECK-NEXT: "kind": "DeclRefExpr",
1031// CHECK-NEXT: "range": {
1032// CHECK-NEXT: "begin": {
1033// CHECK-NEXT: "col": 3,
1034// CHECK-NEXT: "file": "{{.*}}",
1035// CHECK-NEXT: "line": 77
1036// CHECK-NEXT: },
1037// CHECK-NEXT: "end": {
1038// CHECK-NEXT: "col": 3,
1039// CHECK-NEXT: "file": "{{.*}}",
1040// CHECK-NEXT: "line": 77
1041// CHECK-NEXT: }
1042// CHECK-NEXT: },
1043// CHECK-NEXT: "type": {
1044// CHECK-NEXT: "qualType": "J *"
1045// CHECK-NEXT: },
1046// CHECK-NEXT: "valueCategory": "lvalue",
1047// CHECK-NEXT: "referencedDecl": {
1048// CHECK-NEXT: "id": "0x{{.*}}",
1049// CHECK-NEXT: "kind": "ParmVarDecl",
1050// CHECK-NEXT: "name": "Obj",
1051// CHECK-NEXT: "type": {
1052// CHECK-NEXT: "qualType": "J *"
1053// CHECK-NEXT: }
1054// CHECK-NEXT: }
1055// CHECK-NEXT: }
1056// CHECK-NEXT: ]
1057// CHECK-NEXT: }
1058// CHECK-NEXT: ]
1059// CHECK-NEXT: }
1060// CHECK-NEXT: ]
1061// CHECK-NEXT: },
1062// CHECK-NEXT: {
1063// CHECK-NEXT: "id": "0x{{.*}}",
1064// CHECK-NEXT: "kind": "OpaqueValueExpr",
1065// CHECK-NEXT: "range": {
1066// CHECK-NEXT: "begin": {
1067// CHECK-NEXT: "col": 14,
1068// CHECK-NEXT: "file": "{{.*}}",
1069// CHECK-NEXT: "line": 77
1070// CHECK-NEXT: },
1071// CHECK-NEXT: "end": {
1072// CHECK-NEXT: "col": 14,
1073// CHECK-NEXT: "file": "{{.*}}",
1074// CHECK-NEXT: "line": 77
1075// CHECK-NEXT: }
1076// CHECK-NEXT: },
1077// CHECK-NEXT: "type": {
1078// CHECK-NEXT: "qualType": "int"
1079// CHECK-NEXT: },
1080// CHECK-NEXT: "valueCategory": "rvalue",
1081// CHECK-NEXT: "inner": [
1082// CHECK-NEXT: {
1083// CHECK-NEXT: "id": "0x{{.*}}",
1084// CHECK-NEXT: "kind": "IntegerLiteral",
1085// CHECK-NEXT: "range": {
1086// CHECK-NEXT: "begin": {
1087// CHECK-NEXT: "col": 14,
1088// CHECK-NEXT: "file": "{{.*}}",
1089// CHECK-NEXT: "line": 77
1090// CHECK-NEXT: },
1091// CHECK-NEXT: "end": {
1092// CHECK-NEXT: "col": 14,
1093// CHECK-NEXT: "file": "{{.*}}",
1094// CHECK-NEXT: "line": 77
1095// CHECK-NEXT: }
1096// CHECK-NEXT: },
1097// CHECK-NEXT: "type": {
1098// CHECK-NEXT: "qualType": "int"
1099// CHECK-NEXT: },
1100// CHECK-NEXT: "valueCategory": "rvalue",
1101// CHECK-NEXT: "value": "12"
1102// CHECK-NEXT: }
1103// CHECK-NEXT: ]
1104// CHECK-NEXT: }
1105// CHECK-NEXT: ]
1106// CHECK-NEXT: },
1107// CHECK-NEXT: {
1108// CHECK-NEXT: "id": "0x{{.*}}",
1109// CHECK-NEXT: "kind": "OpaqueValueExpr",
1110// CHECK-NEXT: "range": {
1111// CHECK-NEXT: "begin": {
1112// CHECK-NEXT: "col": 3,
1113// CHECK-NEXT: "file": "{{.*}}",
1114// CHECK-NEXT: "line": 77
1115// CHECK-NEXT: },
1116// CHECK-NEXT: "end": {
1117// CHECK-NEXT: "col": 3,
1118// CHECK-NEXT: "file": "{{.*}}",
1119// CHECK-NEXT: "line": 77
1120// CHECK-NEXT: }
1121// CHECK-NEXT: },
1122// CHECK-NEXT: "type": {
1123// CHECK-NEXT: "qualType": "J *"
1124// CHECK-NEXT: },
1125// CHECK-NEXT: "valueCategory": "rvalue",
1126// CHECK-NEXT: "inner": [
1127// CHECK-NEXT: {
1128// CHECK-NEXT: "id": "0x{{.*}}",
1129// CHECK-NEXT: "kind": "ImplicitCastExpr",
1130// CHECK-NEXT: "range": {
1131// CHECK-NEXT: "begin": {
1132// CHECK-NEXT: "col": 3,
1133// CHECK-NEXT: "file": "{{.*}}",
1134// CHECK-NEXT: "line": 77
1135// CHECK-NEXT: },
1136// CHECK-NEXT: "end": {
1137// CHECK-NEXT: "col": 3,
1138// CHECK-NEXT: "file": "{{.*}}",
1139// CHECK-NEXT: "line": 77
1140// CHECK-NEXT: }
1141// CHECK-NEXT: },
1142// CHECK-NEXT: "type": {
1143// CHECK-NEXT: "qualType": "J *"
1144// CHECK-NEXT: },
1145// CHECK-NEXT: "valueCategory": "rvalue",
1146// CHECK-NEXT: "castKind": "LValueToRValue",
1147// CHECK-NEXT: "inner": [
1148// CHECK-NEXT: {
1149// CHECK-NEXT: "id": "0x{{.*}}",
1150// CHECK-NEXT: "kind": "DeclRefExpr",
1151// CHECK-NEXT: "range": {
1152// CHECK-NEXT: "begin": {
1153// CHECK-NEXT: "col": 3,
1154// CHECK-NEXT: "file": "{{.*}}",
1155// CHECK-NEXT: "line": 77
1156// CHECK-NEXT: },
1157// CHECK-NEXT: "end": {
1158// CHECK-NEXT: "col": 3,
1159// CHECK-NEXT: "file": "{{.*}}",
1160// CHECK-NEXT: "line": 77
1161// CHECK-NEXT: }
1162// CHECK-NEXT: },
1163// CHECK-NEXT: "type": {
1164// CHECK-NEXT: "qualType": "J *"
1165// CHECK-NEXT: },
1166// CHECK-NEXT: "valueCategory": "lvalue",
1167// CHECK-NEXT: "referencedDecl": {
1168// CHECK-NEXT: "id": "0x{{.*}}",
1169// CHECK-NEXT: "kind": "ParmVarDecl",
1170// CHECK-NEXT: "name": "Obj",
1171// CHECK-NEXT: "type": {
1172// CHECK-NEXT: "qualType": "J *"
1173// CHECK-NEXT: }
1174// CHECK-NEXT: }
1175// CHECK-NEXT: }
1176// CHECK-NEXT: ]
1177// CHECK-NEXT: }
1178// CHECK-NEXT: ]
1179// CHECK-NEXT: },
1180// CHECK-NEXT: {
1181// CHECK-NEXT: "id": "0x{{.*}}",
1182// CHECK-NEXT: "kind": "OpaqueValueExpr",
1183// CHECK-NEXT: "range": {
1184// CHECK-NEXT: "begin": {
1185// CHECK-NEXT: "col": 14,
1186// CHECK-NEXT: "file": "{{.*}}",
1187// CHECK-NEXT: "line": 77
1188// CHECK-NEXT: },
1189// CHECK-NEXT: "end": {
1190// CHECK-NEXT: "col": 14,
1191// CHECK-NEXT: "file": "{{.*}}",
1192// CHECK-NEXT: "line": 77
1193// CHECK-NEXT: }
1194// CHECK-NEXT: },
1195// CHECK-NEXT: "type": {
1196// CHECK-NEXT: "qualType": "int"
1197// CHECK-NEXT: },
1198// CHECK-NEXT: "valueCategory": "rvalue",
1199// CHECK-NEXT: "inner": [
1200// CHECK-NEXT: {
1201// CHECK-NEXT: "id": "0x{{.*}}",
1202// CHECK-NEXT: "kind": "IntegerLiteral",
1203// CHECK-NEXT: "range": {
1204// CHECK-NEXT: "begin": {
1205// CHECK-NEXT: "col": 14,
1206// CHECK-NEXT: "file": "{{.*}}",
1207// CHECK-NEXT: "line": 77
1208// CHECK-NEXT: },
1209// CHECK-NEXT: "end": {
1210// CHECK-NEXT: "col": 14,
1211// CHECK-NEXT: "file": "{{.*}}",
1212// CHECK-NEXT: "line": 77
1213// CHECK-NEXT: }
1214// CHECK-NEXT: },
1215// CHECK-NEXT: "type": {
1216// CHECK-NEXT: "qualType": "int"
1217// CHECK-NEXT: },
1218// CHECK-NEXT: "valueCategory": "rvalue",
1219// CHECK-NEXT: "value": "12"
1220// CHECK-NEXT: }
1221// CHECK-NEXT: ]
1222// CHECK-NEXT: },
1223// CHECK-NEXT: {
1224// CHECK-NEXT: "id": "0x{{.*}}",
1225// CHECK-NEXT: "kind": "OpaqueValueExpr",
1226// CHECK-NEXT: "range": {
1227// CHECK-NEXT: "begin": {
1228// CHECK-NEXT: "col": 14,
1229// CHECK-NEXT: "file": "{{.*}}",
1230// CHECK-NEXT: "line": 77
1231// CHECK-NEXT: },
1232// CHECK-NEXT: "end": {
1233// CHECK-NEXT: "col": 14,
1234// CHECK-NEXT: "file": "{{.*}}",
1235// CHECK-NEXT: "line": 77
1236// CHECK-NEXT: }
1237// CHECK-NEXT: },
1238// CHECK-NEXT: "type": {
1239// CHECK-NEXT: "qualType": "unsigned int"
1240// CHECK-NEXT: },
1241// CHECK-NEXT: "valueCategory": "rvalue",
1242// CHECK-NEXT: "inner": [
1243// CHECK-NEXT: {
1244// CHECK-NEXT: "id": "0x{{.*}}",
1245// CHECK-NEXT: "kind": "ImplicitCastExpr",
1246// CHECK-NEXT: "range": {
1247// CHECK-NEXT: "begin": {
1248// CHECK-NEXT: "col": 14,
1249// CHECK-NEXT: "file": "{{.*}}",
1250// CHECK-NEXT: "line": 77
1251// CHECK-NEXT: },
1252// CHECK-NEXT: "end": {
1253// CHECK-NEXT: "col": 14,
1254// CHECK-NEXT: "file": "{{.*}}",
1255// CHECK-NEXT: "line": 77
1256// CHECK-NEXT: }
1257// CHECK-NEXT: },
1258// CHECK-NEXT: "type": {
1259// CHECK-NEXT: "qualType": "unsigned int"
1260// CHECK-NEXT: },
1261// CHECK-NEXT: "valueCategory": "rvalue",
1262// CHECK-NEXT: "castKind": "IntegralCast",
1263// CHECK-NEXT: "inner": [
1264// CHECK-NEXT: {
1265// CHECK-NEXT: "id": "0x{{.*}}",
1266// CHECK-NEXT: "kind": "OpaqueValueExpr",
1267// CHECK-NEXT: "range": {
1268// CHECK-NEXT: "begin": {
1269// CHECK-NEXT: "col": 14,
1270// CHECK-NEXT: "file": "{{.*}}",
1271// CHECK-NEXT: "line": 77
1272// CHECK-NEXT: },
1273// CHECK-NEXT: "end": {
1274// CHECK-NEXT: "col": 14,
1275// CHECK-NEXT: "file": "{{.*}}",
1276// CHECK-NEXT: "line": 77
1277// CHECK-NEXT: }
1278// CHECK-NEXT: },
1279// CHECK-NEXT: "type": {
1280// CHECK-NEXT: "qualType": "int"
1281// CHECK-NEXT: },
1282// CHECK-NEXT: "valueCategory": "rvalue",
1283// CHECK-NEXT: "inner": [
1284// CHECK-NEXT: {
1285// CHECK-NEXT: "id": "0x{{.*}}",
1286// CHECK-NEXT: "kind": "IntegerLiteral",
1287// CHECK-NEXT: "range": {
1288// CHECK-NEXT: "begin": {
1289// CHECK-NEXT: "col": 14,
1290// CHECK-NEXT: "file": "{{.*}}",
1291// CHECK-NEXT: "line": 77
1292// CHECK-NEXT: },
1293// CHECK-NEXT: "end": {
1294// CHECK-NEXT: "col": 14,
1295// CHECK-NEXT: "file": "{{.*}}",
1296// CHECK-NEXT: "line": 77
1297// CHECK-NEXT: }
1298// CHECK-NEXT: },
1299// CHECK-NEXT: "type": {
1300// CHECK-NEXT: "qualType": "int"
1301// CHECK-NEXT: },
1302// CHECK-NEXT: "valueCategory": "rvalue",
1303// CHECK-NEXT: "value": "12"
1304// CHECK-NEXT: }
1305// CHECK-NEXT: ]
1306// CHECK-NEXT: }
1307// CHECK-NEXT: ]
1308// CHECK-NEXT: }
1309// CHECK-NEXT: ]
1310// CHECK-NEXT: },
1311// CHECK-NEXT: {
1312// CHECK-NEXT: "id": "0x{{.*}}",
1313// CHECK-NEXT: "kind": "ObjCMessageExpr",
1314// CHECK-NEXT: "range": {
1315// CHECK-NEXT: "begin": {
1316// CHECK-NEXT: "col": 7,
1317// CHECK-NEXT: "file": "{{.*}}",
1318// CHECK-NEXT: "line": 77
1319// CHECK-NEXT: },
1320// CHECK-NEXT: "end": {
1321// CHECK-NEXT: "col": 7,
1322// CHECK-NEXT: "file": "{{.*}}",
1323// CHECK-NEXT: "line": 77
1324// CHECK-NEXT: }
1325// CHECK-NEXT: },
1326// CHECK-NEXT: "type": {
1327// CHECK-NEXT: "qualType": "void"
1328// CHECK-NEXT: },
1329// CHECK-NEXT: "valueCategory": "rvalue",
1330// CHECK-NEXT: "selector": "setProp:",
1331// CHECK-NEXT: "receiverKind": "instance",
1332// CHECK-NEXT: "inner": [
1333// CHECK-NEXT: {
1334// CHECK-NEXT: "id": "0x{{.*}}",
1335// CHECK-NEXT: "kind": "OpaqueValueExpr",
1336// CHECK-NEXT: "range": {
1337// CHECK-NEXT: "begin": {
1338// CHECK-NEXT: "col": 3,
1339// CHECK-NEXT: "file": "{{.*}}",
1340// CHECK-NEXT: "line": 77
1341// CHECK-NEXT: },
1342// CHECK-NEXT: "end": {
1343// CHECK-NEXT: "col": 3,
1344// CHECK-NEXT: "file": "{{.*}}",
1345// CHECK-NEXT: "line": 77
1346// CHECK-NEXT: }
1347// CHECK-NEXT: },
1348// CHECK-NEXT: "type": {
1349// CHECK-NEXT: "qualType": "J *"
1350// CHECK-NEXT: },
1351// CHECK-NEXT: "valueCategory": "rvalue",
1352// CHECK-NEXT: "inner": [
1353// CHECK-NEXT: {
1354// CHECK-NEXT: "id": "0x{{.*}}",
1355// CHECK-NEXT: "kind": "ImplicitCastExpr",
1356// CHECK-NEXT: "range": {
1357// CHECK-NEXT: "begin": {
1358// CHECK-NEXT: "col": 3,
1359// CHECK-NEXT: "file": "{{.*}}",
1360// CHECK-NEXT: "line": 77
1361// CHECK-NEXT: },
1362// CHECK-NEXT: "end": {
1363// CHECK-NEXT: "col": 3,
1364// CHECK-NEXT: "file": "{{.*}}",
1365// CHECK-NEXT: "line": 77
1366// CHECK-NEXT: }
1367// CHECK-NEXT: },
1368// CHECK-NEXT: "type": {
1369// CHECK-NEXT: "qualType": "J *"
1370// CHECK-NEXT: },
1371// CHECK-NEXT: "valueCategory": "rvalue",
1372// CHECK-NEXT: "castKind": "LValueToRValue",
1373// CHECK-NEXT: "inner": [
1374// CHECK-NEXT: {
1375// CHECK-NEXT: "id": "0x{{.*}}",
1376// CHECK-NEXT: "kind": "DeclRefExpr",
1377// CHECK-NEXT: "range": {
1378// CHECK-NEXT: "begin": {
1379// CHECK-NEXT: "col": 3,
1380// CHECK-NEXT: "file": "{{.*}}",
1381// CHECK-NEXT: "line": 77
1382// CHECK-NEXT: },
1383// CHECK-NEXT: "end": {
1384// CHECK-NEXT: "col": 3,
1385// CHECK-NEXT: "file": "{{.*}}",
1386// CHECK-NEXT: "line": 77
1387// CHECK-NEXT: }
1388// CHECK-NEXT: },
1389// CHECK-NEXT: "type": {
1390// CHECK-NEXT: "qualType": "J *"
1391// CHECK-NEXT: },
1392// CHECK-NEXT: "valueCategory": "lvalue",
1393// CHECK-NEXT: "referencedDecl": {
1394// CHECK-NEXT: "id": "0x{{.*}}",
1395// CHECK-NEXT: "kind": "ParmVarDecl",
1396// CHECK-NEXT: "name": "Obj",
1397// CHECK-NEXT: "type": {
1398// CHECK-NEXT: "qualType": "J *"
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": "OpaqueValueExpr",
1409// CHECK-NEXT: "range": {
1410// CHECK-NEXT: "begin": {
1411// CHECK-NEXT: "col": 14,
1412// CHECK-NEXT: "file": "{{.*}}",
1413// CHECK-NEXT: "line": 77
1414// CHECK-NEXT: },
1415// CHECK-NEXT: "end": {
1416// CHECK-NEXT: "col": 14,
1417// CHECK-NEXT: "file": "{{.*}}",
1418// CHECK-NEXT: "line": 77
1419// CHECK-NEXT: }
1420// CHECK-NEXT: },
1421// CHECK-NEXT: "type": {
1422// CHECK-NEXT: "qualType": "unsigned int"
1423// CHECK-NEXT: },
1424// CHECK-NEXT: "valueCategory": "rvalue",
1425// CHECK-NEXT: "inner": [
1426// CHECK-NEXT: {
1427// CHECK-NEXT: "id": "0x{{.*}}",
1428// CHECK-NEXT: "kind": "ImplicitCastExpr",
1429// CHECK-NEXT: "range": {
1430// CHECK-NEXT: "begin": {
1431// CHECK-NEXT: "col": 14,
1432// CHECK-NEXT: "file": "{{.*}}",
1433// CHECK-NEXT: "line": 77
1434// CHECK-NEXT: },
1435// CHECK-NEXT: "end": {
1436// CHECK-NEXT: "col": 14,
1437// CHECK-NEXT: "file": "{{.*}}",
1438// CHECK-NEXT: "line": 77
1439// CHECK-NEXT: }
1440// CHECK-NEXT: },
1441// CHECK-NEXT: "type": {
1442// CHECK-NEXT: "qualType": "unsigned int"
1443// CHECK-NEXT: },
1444// CHECK-NEXT: "valueCategory": "rvalue",
1445// CHECK-NEXT: "castKind": "IntegralCast",
1446// CHECK-NEXT: "inner": [
1447// CHECK-NEXT: {
1448// CHECK-NEXT: "id": "0x{{.*}}",
1449// CHECK-NEXT: "kind": "OpaqueValueExpr",
1450// CHECK-NEXT: "range": {
1451// CHECK-NEXT: "begin": {
1452// CHECK-NEXT: "col": 14,
1453// CHECK-NEXT: "file": "{{.*}}",
1454// CHECK-NEXT: "line": 77
1455// CHECK-NEXT: },
1456// CHECK-NEXT: "end": {
1457// CHECK-NEXT: "col": 14,
1458// CHECK-NEXT: "file": "{{.*}}",
1459// CHECK-NEXT: "line": 77
1460// CHECK-NEXT: }
1461// CHECK-NEXT: },
1462// CHECK-NEXT: "type": {
1463// CHECK-NEXT: "qualType": "int"
1464// CHECK-NEXT: },
1465// CHECK-NEXT: "valueCategory": "rvalue",
1466// CHECK-NEXT: "inner": [
1467// CHECK-NEXT: {
1468// CHECK-NEXT: "id": "0x{{.*}}",
1469// CHECK-NEXT: "kind": "IntegerLiteral",
1470// CHECK-NEXT: "range": {
1471// CHECK-NEXT: "begin": {
1472// CHECK-NEXT: "col": 14,
1473// CHECK-NEXT: "file": "{{.*}}",
1474// CHECK-NEXT: "line": 77
1475// CHECK-NEXT: },
1476// CHECK-NEXT: "end": {
1477// CHECK-NEXT: "col": 14,
1478// CHECK-NEXT: "file": "{{.*}}",
1479// CHECK-NEXT: "line": 77
1480// CHECK-NEXT: }
1481// CHECK-NEXT: },
1482// CHECK-NEXT: "type": {
1483// CHECK-NEXT: "qualType": "int"
1484// CHECK-NEXT: },
1485// CHECK-NEXT: "valueCategory": "rvalue",
1486// CHECK-NEXT: "value": "12"
1487// CHECK-NEXT: }
1488// CHECK-NEXT: ]
1489// CHECK-NEXT: }
1490// CHECK-NEXT: ]
1491// CHECK-NEXT: }
1492// CHECK-NEXT: ]
1493// CHECK-NEXT: }
1494// CHECK-NEXT: ]
1495// CHECK-NEXT: }
1496// CHECK-NEXT: ]
1497// CHECK-NEXT: },
1498// CHECK-NEXT: {
1499// CHECK-NEXT: "id": "0x{{.*}}",
1500// CHECK-NEXT: "kind": "DeclStmt",
1501// CHECK-NEXT: "range": {
1502// CHECK-NEXT: "begin": {
1503// CHECK-NEXT: "col": 3,
1504// CHECK-NEXT: "file": "{{.*}}",
1505// CHECK-NEXT: "line": 78
1506// CHECK-NEXT: },
1507// CHECK-NEXT: "end": {
1508// CHECK-NEXT: "col": 19,
1509// CHECK-NEXT: "file": "{{.*}}",
1510// CHECK-NEXT: "line": 78
1511// CHECK-NEXT: }
1512// CHECK-NEXT: },
1513// CHECK-NEXT: "inner": [
1514// CHECK-NEXT: {
1515// CHECK-NEXT: "id": "0x{{.*}}",
1516// CHECK-NEXT: "kind": "VarDecl",
1517// CHECK-NEXT: "loc": {
1518// CHECK-NEXT: "col": 7,
1519// CHECK-NEXT: "file": "{{.*}}",
1520// CHECK-NEXT: "line": 78
1521// CHECK-NEXT: },
1522// CHECK-NEXT: "range": {
1523// CHECK-NEXT: "begin": {
1524// CHECK-NEXT: "col": 3,
1525// CHECK-NEXT: "file": "{{.*}}",
1526// CHECK-NEXT: "line": 78
1527// CHECK-NEXT: },
1528// CHECK-NEXT: "end": {
1529// CHECK-NEXT: "col": 15,
1530// CHECK-NEXT: "file": "{{.*}}",
1531// CHECK-NEXT: "line": 78
1532// CHECK-NEXT: }
1533// CHECK-NEXT: },
1534// CHECK-NEXT: "name": "i",
1535// CHECK-NEXT: "type": {
1536// CHECK-NEXT: "qualType": "int"
1537// CHECK-NEXT: },
1538// CHECK-NEXT: "init": "c",
1539// CHECK-NEXT: "inner": [
1540// CHECK-NEXT: {
1541// CHECK-NEXT: "id": "0x{{.*}}",
1542// CHECK-NEXT: "kind": "ImplicitCastExpr",
1543// CHECK-NEXT: "range": {
1544// CHECK-NEXT: "begin": {
1545// CHECK-NEXT: "col": 11,
1546// CHECK-NEXT: "file": "{{.*}}",
1547// CHECK-NEXT: "line": 78
1548// CHECK-NEXT: },
1549// CHECK-NEXT: "end": {
1550// CHECK-NEXT: "col": 15,
1551// CHECK-NEXT: "file": "{{.*}}",
1552// CHECK-NEXT: "line": 78
1553// CHECK-NEXT: }
1554// CHECK-NEXT: },
1555// CHECK-NEXT: "type": {
1556// CHECK-NEXT: "qualType": "int"
1557// CHECK-NEXT: },
1558// CHECK-NEXT: "valueCategory": "rvalue",
1559// CHECK-NEXT: "castKind": "IntegralCast",
1560// CHECK-NEXT: "inner": [
1561// CHECK-NEXT: {
1562// CHECK-NEXT: "id": "0x{{.*}}",
1563// CHECK-NEXT: "kind": "PseudoObjectExpr",
1564// CHECK-NEXT: "range": {
1565// CHECK-NEXT: "begin": {
1566// CHECK-NEXT: "col": 11,
1567// CHECK-NEXT: "file": "{{.*}}",
1568// CHECK-NEXT: "line": 78
1569// CHECK-NEXT: },
1570// CHECK-NEXT: "end": {
1571// CHECK-NEXT: "col": 15,
1572// CHECK-NEXT: "file": "{{.*}}",
1573// CHECK-NEXT: "line": 78
1574// CHECK-NEXT: }
1575// CHECK-NEXT: },
1576// CHECK-NEXT: "type": {
1577// CHECK-NEXT: "qualType": "unsigned int"
1578// CHECK-NEXT: },
1579// CHECK-NEXT: "valueCategory": "rvalue",
1580// CHECK-NEXT: "inner": [
1581// CHECK-NEXT: {
1582// CHECK-NEXT: "id": "0x{{.*}}",
1583// CHECK-NEXT: "kind": "ObjCPropertyRefExpr",
1584// CHECK-NEXT: "range": {
1585// CHECK-NEXT: "begin": {
1586// CHECK-NEXT: "col": 11,
1587// CHECK-NEXT: "file": "{{.*}}",
1588// CHECK-NEXT: "line": 78
1589// CHECK-NEXT: },
1590// CHECK-NEXT: "end": {
1591// CHECK-NEXT: "col": 15,
1592// CHECK-NEXT: "file": "{{.*}}",
1593// CHECK-NEXT: "line": 78
1594// CHECK-NEXT: }
1595// CHECK-NEXT: },
1596// CHECK-NEXT: "type": {
1597// CHECK-NEXT: "qualType": "<pseudo-object type>"
1598// CHECK-NEXT: },
1599// CHECK-NEXT: "valueCategory": "lvalue",
1600// CHECK-NEXT: "propertyKind": "explicit",
1601// CHECK-NEXT: "property": {
1602// CHECK-NEXT: "id": "0x{{.*}}",
1603// CHECK-NEXT: "kind": "ObjCPropertyDecl",
1604// CHECK-NEXT: "name": "prop"
1605// CHECK-NEXT: },
1606// CHECK-NEXT: "isMessagingGetter": true,
1607// CHECK-NEXT: "inner": [
1608// CHECK-NEXT: {
1609// CHECK-NEXT: "id": "0x{{.*}}",
1610// CHECK-NEXT: "kind": "OpaqueValueExpr",
1611// CHECK-NEXT: "range": {
1612// CHECK-NEXT: "begin": {
1613// CHECK-NEXT: "col": 11,
1614// CHECK-NEXT: "file": "{{.*}}",
1615// CHECK-NEXT: "line": 78
1616// CHECK-NEXT: },
1617// CHECK-NEXT: "end": {
1618// CHECK-NEXT: "col": 11,
1619// CHECK-NEXT: "file": "{{.*}}",
1620// CHECK-NEXT: "line": 78
1621// CHECK-NEXT: }
1622// CHECK-NEXT: },
1623// CHECK-NEXT: "type": {
1624// CHECK-NEXT: "qualType": "J *"
1625// CHECK-NEXT: },
1626// CHECK-NEXT: "valueCategory": "rvalue",
1627// CHECK-NEXT: "inner": [
1628// CHECK-NEXT: {
1629// CHECK-NEXT: "id": "0x{{.*}}",
1630// CHECK-NEXT: "kind": "ImplicitCastExpr",
1631// CHECK-NEXT: "range": {
1632// CHECK-NEXT: "begin": {
1633// CHECK-NEXT: "col": 11,
1634// CHECK-NEXT: "file": "{{.*}}",
1635// CHECK-NEXT: "line": 78
1636// CHECK-NEXT: },
1637// CHECK-NEXT: "end": {
1638// CHECK-NEXT: "col": 11,
1639// CHECK-NEXT: "file": "{{.*}}",
1640// CHECK-NEXT: "line": 78
1641// CHECK-NEXT: }
1642// CHECK-NEXT: },
1643// CHECK-NEXT: "type": {
1644// CHECK-NEXT: "qualType": "J *"
1645// CHECK-NEXT: },
1646// CHECK-NEXT: "valueCategory": "rvalue",
1647// CHECK-NEXT: "castKind": "LValueToRValue",
1648// CHECK-NEXT: "inner": [
1649// CHECK-NEXT: {
1650// CHECK-NEXT: "id": "0x{{.*}}",
1651// CHECK-NEXT: "kind": "DeclRefExpr",
1652// CHECK-NEXT: "range": {
1653// CHECK-NEXT: "begin": {
1654// CHECK-NEXT: "col": 11,
1655// CHECK-NEXT: "file": "{{.*}}",
1656// CHECK-NEXT: "line": 78
1657// CHECK-NEXT: },
1658// CHECK-NEXT: "end": {
1659// CHECK-NEXT: "col": 11,
1660// CHECK-NEXT: "file": "{{.*}}",
1661// CHECK-NEXT: "line": 78
1662// CHECK-NEXT: }
1663// CHECK-NEXT: },
1664// CHECK-NEXT: "type": {
1665// CHECK-NEXT: "qualType": "J *"
1666// CHECK-NEXT: },
1667// CHECK-NEXT: "valueCategory": "lvalue",
1668// CHECK-NEXT: "referencedDecl": {
1669// CHECK-NEXT: "id": "0x{{.*}}",
1670// CHECK-NEXT: "kind": "ParmVarDecl",
1671// CHECK-NEXT: "name": "Obj",
1672// CHECK-NEXT: "type": {
1673// CHECK-NEXT: "qualType": "J *"
1674// CHECK-NEXT: }
1675// CHECK-NEXT: }
1676// CHECK-NEXT: }
1677// CHECK-NEXT: ]
1678// CHECK-NEXT: }
1679// CHECK-NEXT: ]
1680// CHECK-NEXT: }
1681// CHECK-NEXT: ]
1682// CHECK-NEXT: },
1683// CHECK-NEXT: {
1684// CHECK-NEXT: "id": "0x{{.*}}",
1685// CHECK-NEXT: "kind": "OpaqueValueExpr",
1686// CHECK-NEXT: "range": {
1687// CHECK-NEXT: "begin": {
1688// CHECK-NEXT: "col": 11,
1689// CHECK-NEXT: "file": "{{.*}}",
1690// CHECK-NEXT: "line": 78
1691// CHECK-NEXT: },
1692// CHECK-NEXT: "end": {
1693// CHECK-NEXT: "col": 11,
1694// CHECK-NEXT: "file": "{{.*}}",
1695// CHECK-NEXT: "line": 78
1696// CHECK-NEXT: }
1697// CHECK-NEXT: },
1698// CHECK-NEXT: "type": {
1699// CHECK-NEXT: "qualType": "J *"
1700// CHECK-NEXT: },
1701// CHECK-NEXT: "valueCategory": "rvalue",
1702// CHECK-NEXT: "inner": [
1703// CHECK-NEXT: {
1704// CHECK-NEXT: "id": "0x{{.*}}",
1705// CHECK-NEXT: "kind": "ImplicitCastExpr",
1706// CHECK-NEXT: "range": {
1707// CHECK-NEXT: "begin": {
1708// CHECK-NEXT: "col": 11,
1709// CHECK-NEXT: "file": "{{.*}}",
1710// CHECK-NEXT: "line": 78
1711// CHECK-NEXT: },
1712// CHECK-NEXT: "end": {
1713// CHECK-NEXT: "col": 11,
1714// CHECK-NEXT: "file": "{{.*}}",
1715// CHECK-NEXT: "line": 78
1716// CHECK-NEXT: }
1717// CHECK-NEXT: },
1718// CHECK-NEXT: "type": {
1719// CHECK-NEXT: "qualType": "J *"
1720// CHECK-NEXT: },
1721// CHECK-NEXT: "valueCategory": "rvalue",
1722// CHECK-NEXT: "castKind": "LValueToRValue",
1723// CHECK-NEXT: "inner": [
1724// CHECK-NEXT: {
1725// CHECK-NEXT: "id": "0x{{.*}}",
1726// CHECK-NEXT: "kind": "DeclRefExpr",
1727// CHECK-NEXT: "range": {
1728// CHECK-NEXT: "begin": {
1729// CHECK-NEXT: "col": 11,
1730// CHECK-NEXT: "file": "{{.*}}",
1731// CHECK-NEXT: "line": 78
1732// CHECK-NEXT: },
1733// CHECK-NEXT: "end": {
1734// CHECK-NEXT: "col": 11,
1735// CHECK-NEXT: "file": "{{.*}}",
1736// CHECK-NEXT: "line": 78
1737// CHECK-NEXT: }
1738// CHECK-NEXT: },
1739// CHECK-NEXT: "type": {
1740// CHECK-NEXT: "qualType": "J *"
1741// CHECK-NEXT: },
1742// CHECK-NEXT: "valueCategory": "lvalue",
1743// CHECK-NEXT: "referencedDecl": {
1744// CHECK-NEXT: "id": "0x{{.*}}",
1745// CHECK-NEXT: "kind": "ParmVarDecl",
1746// CHECK-NEXT: "name": "Obj",
1747// CHECK-NEXT: "type": {
1748// CHECK-NEXT: "qualType": "J *"
1749// CHECK-NEXT: }
1750// CHECK-NEXT: }
1751// CHECK-NEXT: }
1752// CHECK-NEXT: ]
1753// CHECK-NEXT: }
1754// CHECK-NEXT: ]
1755// CHECK-NEXT: },
1756// CHECK-NEXT: {
1757// CHECK-NEXT: "id": "0x{{.*}}",
1758// CHECK-NEXT: "kind": "ObjCMessageExpr",
1759// CHECK-NEXT: "range": {
1760// CHECK-NEXT: "begin": {
1761// CHECK-NEXT: "col": 15,
1762// CHECK-NEXT: "file": "{{.*}}",
1763// CHECK-NEXT: "line": 78
1764// CHECK-NEXT: },
1765// CHECK-NEXT: "end": {
1766// CHECK-NEXT: "col": 15,
1767// CHECK-NEXT: "file": "{{.*}}",
1768// CHECK-NEXT: "line": 78
1769// CHECK-NEXT: }
1770// CHECK-NEXT: },
1771// CHECK-NEXT: "type": {
1772// CHECK-NEXT: "qualType": "unsigned int"
1773// CHECK-NEXT: },
1774// CHECK-NEXT: "valueCategory": "rvalue",
1775// CHECK-NEXT: "selector": "prop",
1776// CHECK-NEXT: "receiverKind": "instance",
1777// CHECK-NEXT: "inner": [
1778// CHECK-NEXT: {
1779// CHECK-NEXT: "id": "0x{{.*}}",
1780// CHECK-NEXT: "kind": "OpaqueValueExpr",
1781// CHECK-NEXT: "range": {
1782// CHECK-NEXT: "begin": {
1783// CHECK-NEXT: "col": 11,
1784// CHECK-NEXT: "file": "{{.*}}",
1785// CHECK-NEXT: "line": 78
1786// CHECK-NEXT: },
1787// CHECK-NEXT: "end": {
1788// CHECK-NEXT: "col": 11,
1789// CHECK-NEXT: "file": "{{.*}}",
1790// CHECK-NEXT: "line": 78
1791// CHECK-NEXT: }
1792// CHECK-NEXT: },
1793// CHECK-NEXT: "type": {
1794// CHECK-NEXT: "qualType": "J *"
1795// CHECK-NEXT: },
1796// CHECK-NEXT: "valueCategory": "rvalue",
1797// CHECK-NEXT: "inner": [
1798// CHECK-NEXT: {
1799// CHECK-NEXT: "id": "0x{{.*}}",
1800// CHECK-NEXT: "kind": "ImplicitCastExpr",
1801// CHECK-NEXT: "range": {
1802// CHECK-NEXT: "begin": {
1803// CHECK-NEXT: "col": 11,
1804// CHECK-NEXT: "file": "{{.*}}",
1805// CHECK-NEXT: "line": 78
1806// CHECK-NEXT: },
1807// CHECK-NEXT: "end": {
1808// CHECK-NEXT: "col": 11,
1809// CHECK-NEXT: "file": "{{.*}}",
1810// CHECK-NEXT: "line": 78
1811// CHECK-NEXT: }
1812// CHECK-NEXT: },
1813// CHECK-NEXT: "type": {
1814// CHECK-NEXT: "qualType": "J *"
1815// CHECK-NEXT: },
1816// CHECK-NEXT: "valueCategory": "rvalue",
1817// CHECK-NEXT: "castKind": "LValueToRValue",
1818// CHECK-NEXT: "inner": [
1819// CHECK-NEXT: {
1820// CHECK-NEXT: "id": "0x{{.*}}",
1821// CHECK-NEXT: "kind": "DeclRefExpr",
1822// CHECK-NEXT: "range": {
1823// CHECK-NEXT: "begin": {
1824// CHECK-NEXT: "col": 11,
1825// CHECK-NEXT: "file": "{{.*}}",
1826// CHECK-NEXT: "line": 78
1827// CHECK-NEXT: },
1828// CHECK-NEXT: "end": {
1829// CHECK-NEXT: "col": 11,
1830// CHECK-NEXT: "file": "{{.*}}",
1831// CHECK-NEXT: "line": 78
1832// CHECK-NEXT: }
1833// CHECK-NEXT: },
1834// CHECK-NEXT: "type": {
1835// CHECK-NEXT: "qualType": "J *"
1836// CHECK-NEXT: },
1837// CHECK-NEXT: "valueCategory": "lvalue",
1838// CHECK-NEXT: "referencedDecl": {
1839// CHECK-NEXT: "id": "0x{{.*}}",
1840// CHECK-NEXT: "kind": "ParmVarDecl",
1841// CHECK-NEXT: "name": "Obj",
1842// CHECK-NEXT: "type": {
1843// CHECK-NEXT: "qualType": "J *"
1844// CHECK-NEXT: }
1845// CHECK-NEXT: }
1846// CHECK-NEXT: }
1847// CHECK-NEXT: ]
1848// CHECK-NEXT: }
1849// CHECK-NEXT: ]
1850// CHECK-NEXT: }
1851// CHECK-NEXT: ]
1852// CHECK-NEXT: }
1853// CHECK-NEXT: ]
1854// CHECK-NEXT: }
1855// CHECK-NEXT: ]
1856// CHECK-NEXT: }
1857// CHECK-NEXT: ]
1858// CHECK-NEXT: }
1859// CHECK-NEXT: ]
1860// CHECK-NEXT: }
1861// CHECK-NEXT: ]
1862// CHECK-NEXT: }
1863// CHECK-NEXT: ]
1864// CHECK-NEXT: }
1865
1866
1867// CHECK: "kind": "FunctionDecl",
1868// CHECK-NEXT: "loc": {
1869// CHECK-NEXT: "col": 6,
1870// CHECK-NEXT: "file": "{{.*}}",
1871// CHECK-NEXT: "line": 81
1872// CHECK-NEXT: },
1873// CHECK-NEXT: "range": {
1874// CHECK-NEXT: "begin": {
1875// CHECK-NEXT: "col": 1,
1876// CHECK-NEXT: "file": "{{.*}}",
1877// CHECK-NEXT: "line": 81
1878// CHECK-NEXT: },
1879// CHECK-NEXT: "end": {
1880// CHECK-NEXT: "col": 1,
1881// CHECK-NEXT: "file": "{{.*}}",
1882// CHECK-NEXT: "line": 87
1883// CHECK-NEXT: }
1884// CHECK-NEXT: },
1885// CHECK-NEXT: "name": "TestObjCSubscriptRef",
1886// CHECK-NEXT: "type": {
1887// CHECK-NEXT: "qualType": "void (NSMutableArray *, NSMutableDictionary *)"
1888// CHECK-NEXT: },
1889// CHECK-NEXT: "inner": [
1890// CHECK-NEXT: {
1891// CHECK-NEXT: "id": "0x{{.*}}",
1892// CHECK-NEXT: "kind": "ParmVarDecl",
1893// CHECK-NEXT: "loc": {
1894// CHECK-NEXT: "col": 43,
1895// CHECK-NEXT: "file": "{{.*}}",
1896// CHECK-NEXT: "line": 81
1897// CHECK-NEXT: },
1898// CHECK-NEXT: "range": {
1899// CHECK-NEXT: "begin": {
1900// CHECK-NEXT: "col": 27,
1901// CHECK-NEXT: "file": "{{.*}}",
1902// CHECK-NEXT: "line": 81
1903// CHECK-NEXT: },
1904// CHECK-NEXT: "end": {
1905// CHECK-NEXT: "col": 43,
1906// CHECK-NEXT: "file": "{{.*}}",
1907// CHECK-NEXT: "line": 81
1908// CHECK-NEXT: }
1909// CHECK-NEXT: },
1910// CHECK-NEXT: "isUsed": true,
1911// CHECK-NEXT: "name": "Array",
1912// CHECK-NEXT: "type": {
1913// CHECK-NEXT: "qualType": "NSMutableArray *"
1914// CHECK-NEXT: }
1915// CHECK-NEXT: },
1916// CHECK-NEXT: {
1917// CHECK-NEXT: "id": "0x{{.*}}",
1918// CHECK-NEXT: "kind": "ParmVarDecl",
1919// CHECK-NEXT: "loc": {
1920// CHECK-NEXT: "col": 71,
1921// CHECK-NEXT: "file": "{{.*}}",
1922// CHECK-NEXT: "line": 81
1923// CHECK-NEXT: },
1924// CHECK-NEXT: "range": {
1925// CHECK-NEXT: "begin": {
1926// CHECK-NEXT: "col": 50,
1927// CHECK-NEXT: "file": "{{.*}}",
1928// CHECK-NEXT: "line": 81
1929// CHECK-NEXT: },
1930// CHECK-NEXT: "end": {
1931// CHECK-NEXT: "col": 71,
1932// CHECK-NEXT: "file": "{{.*}}",
1933// CHECK-NEXT: "line": 81
1934// CHECK-NEXT: }
1935// CHECK-NEXT: },
1936// CHECK-NEXT: "isUsed": true,
1937// CHECK-NEXT: "name": "Dict",
1938// CHECK-NEXT: "type": {
1939// CHECK-NEXT: "qualType": "NSMutableDictionary *"
1940// CHECK-NEXT: }
1941// CHECK-NEXT: },
1942// CHECK-NEXT: {
1943// CHECK-NEXT: "id": "0x{{.*}}",
1944// CHECK-NEXT: "kind": "CompoundStmt",
1945// CHECK-NEXT: "range": {
1946// CHECK-NEXT: "begin": {
1947// CHECK-NEXT: "col": 77,
1948// CHECK-NEXT: "file": "{{.*}}",
1949// CHECK-NEXT: "line": 81
1950// CHECK-NEXT: },
1951// CHECK-NEXT: "end": {
1952// CHECK-NEXT: "col": 1,
1953// CHECK-NEXT: "file": "{{.*}}",
1954// CHECK-NEXT: "line": 87
1955// CHECK-NEXT: }
1956// CHECK-NEXT: },
1957// CHECK-NEXT: "inner": [
1958// CHECK-NEXT: {
1959// CHECK-NEXT: "id": "0x{{.*}}",
1960// CHECK-NEXT: "kind": "PseudoObjectExpr",
1961// CHECK-NEXT: "range": {
1962// CHECK-NEXT: "begin": {
1963// CHECK-NEXT: "col": 2,
1964// CHECK-NEXT: "file": "{{.*}}",
1965// CHECK-NEXT: "line": 82
1966// CHECK-NEXT: },
1967// CHECK-NEXT: "end": {
1968// CHECK-NEXT: "col": 20,
1969// CHECK-NEXT: "file": "{{.*}}",
1970// CHECK-NEXT: "line": 82
1971// CHECK-NEXT: }
1972// CHECK-NEXT: },
1973// CHECK-NEXT: "type": {
1974// CHECK-NEXT: "desugaredQualType": "id",
1975// CHECK-NEXT: "qualType": "id"
1976// CHECK-NEXT: },
1977// CHECK-NEXT: "valueCategory": "rvalue",
1978// CHECK-NEXT: "inner": [
1979// CHECK-NEXT: {
1980// CHECK-NEXT: "id": "0x{{.*}}",
1981// CHECK-NEXT: "kind": "BinaryOperator",
1982// CHECK-NEXT: "range": {
1983// CHECK-NEXT: "begin": {
1984// CHECK-NEXT: "col": 2,
1985// CHECK-NEXT: "file": "{{.*}}",
1986// CHECK-NEXT: "line": 82
1987// CHECK-NEXT: },
1988// CHECK-NEXT: "end": {
1989// CHECK-NEXT: "col": 20,
1990// CHECK-NEXT: "file": "{{.*}}",
1991// CHECK-NEXT: "line": 82
1992// CHECK-NEXT: }
1993// CHECK-NEXT: },
1994// CHECK-NEXT: "type": {
1995// CHECK-NEXT: "qualType": "void *"
1996// CHECK-NEXT: },
1997// CHECK-NEXT: "valueCategory": "rvalue",
1998// CHECK-NEXT: "opcode": "=",
1999// CHECK-NEXT: "inner": [
2000// CHECK-NEXT: {
2001// CHECK-NEXT: "id": "0x{{.*}}",
2002// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
2003// CHECK-NEXT: "range": {
2004// CHECK-NEXT: "begin": {
2005// CHECK-NEXT: "col": 2,
2006// CHECK-NEXT: "file": "{{.*}}",
2007// CHECK-NEXT: "line": 82
2008// CHECK-NEXT: },
2009// CHECK-NEXT: "end": {
2010// CHECK-NEXT: "col": 9,
2011// CHECK-NEXT: "file": "{{.*}}",
2012// CHECK-NEXT: "line": 82
2013// CHECK-NEXT: }
2014// CHECK-NEXT: },
2015// CHECK-NEXT: "type": {
2016// CHECK-NEXT: "qualType": "<pseudo-object type>"
2017// CHECK-NEXT: },
2018// CHECK-NEXT: "valueCategory": "lvalue",
2019// CHECK-NEXT: "subscriptKind": "array",
2020// CHECK-NEXT: "inner": [
2021// CHECK-NEXT: {
2022// CHECK-NEXT: "id": "0x{{.*}}",
2023// CHECK-NEXT: "kind": "OpaqueValueExpr",
2024// CHECK-NEXT: "range": {
2025// CHECK-NEXT: "begin": {
2026// CHECK-NEXT: "col": 2,
2027// CHECK-NEXT: "file": "{{.*}}",
2028// CHECK-NEXT: "line": 82
2029// CHECK-NEXT: },
2030// CHECK-NEXT: "end": {
2031// CHECK-NEXT: "col": 2,
2032// CHECK-NEXT: "file": "{{.*}}",
2033// CHECK-NEXT: "line": 82
2034// CHECK-NEXT: }
2035// CHECK-NEXT: },
2036// CHECK-NEXT: "type": {
2037// CHECK-NEXT: "qualType": "NSMutableArray *"
2038// CHECK-NEXT: },
2039// CHECK-NEXT: "valueCategory": "rvalue",
2040// CHECK-NEXT: "inner": [
2041// CHECK-NEXT: {
2042// CHECK-NEXT: "id": "0x{{.*}}",
2043// CHECK-NEXT: "kind": "ImplicitCastExpr",
2044// CHECK-NEXT: "range": {
2045// CHECK-NEXT: "begin": {
2046// CHECK-NEXT: "col": 2,
2047// CHECK-NEXT: "file": "{{.*}}",
2048// CHECK-NEXT: "line": 82
2049// CHECK-NEXT: },
2050// CHECK-NEXT: "end": {
2051// CHECK-NEXT: "col": 2,
2052// CHECK-NEXT: "file": "{{.*}}",
2053// CHECK-NEXT: "line": 82
2054// CHECK-NEXT: }
2055// CHECK-NEXT: },
2056// CHECK-NEXT: "type": {
2057// CHECK-NEXT: "qualType": "NSMutableArray *"
2058// CHECK-NEXT: },
2059// CHECK-NEXT: "valueCategory": "rvalue",
2060// CHECK-NEXT: "castKind": "LValueToRValue",
2061// CHECK-NEXT: "inner": [
2062// CHECK-NEXT: {
2063// CHECK-NEXT: "id": "0x{{.*}}",
2064// CHECK-NEXT: "kind": "DeclRefExpr",
2065// CHECK-NEXT: "range": {
2066// CHECK-NEXT: "begin": {
2067// CHECK-NEXT: "col": 2,
2068// CHECK-NEXT: "file": "{{.*}}",
2069// CHECK-NEXT: "line": 82
2070// CHECK-NEXT: },
2071// CHECK-NEXT: "end": {
2072// CHECK-NEXT: "col": 2,
2073// CHECK-NEXT: "file": "{{.*}}",
2074// CHECK-NEXT: "line": 82
2075// CHECK-NEXT: }
2076// CHECK-NEXT: },
2077// CHECK-NEXT: "type": {
2078// CHECK-NEXT: "qualType": "NSMutableArray *"
2079// CHECK-NEXT: },
2080// CHECK-NEXT: "valueCategory": "lvalue",
2081// CHECK-NEXT: "referencedDecl": {
2082// CHECK-NEXT: "id": "0x{{.*}}",
2083// CHECK-NEXT: "kind": "ParmVarDecl",
2084// CHECK-NEXT: "name": "Array",
2085// CHECK-NEXT: "type": {
2086// CHECK-NEXT: "qualType": "NSMutableArray *"
2087// CHECK-NEXT: }
2088// CHECK-NEXT: }
2089// CHECK-NEXT: }
2090// CHECK-NEXT: ]
2091// CHECK-NEXT: }
2092// CHECK-NEXT: ]
2093// CHECK-NEXT: },
2094// CHECK-NEXT: {
2095// CHECK-NEXT: "id": "0x{{.*}}",
2096// CHECK-NEXT: "kind": "OpaqueValueExpr",
2097// CHECK-NEXT: "range": {
2098// CHECK-NEXT: "begin": {
2099// CHECK-NEXT: "col": 8,
2100// CHECK-NEXT: "file": "{{.*}}",
2101// CHECK-NEXT: "line": 82
2102// CHECK-NEXT: },
2103// CHECK-NEXT: "end": {
2104// CHECK-NEXT: "col": 8,
2105// CHECK-NEXT: "file": "{{.*}}",
2106// CHECK-NEXT: "line": 82
2107// CHECK-NEXT: }
2108// CHECK-NEXT: },
2109// CHECK-NEXT: "type": {
2110// CHECK-NEXT: "qualType": "int"
2111// CHECK-NEXT: },
2112// CHECK-NEXT: "valueCategory": "rvalue",
2113// CHECK-NEXT: "inner": [
2114// CHECK-NEXT: {
2115// CHECK-NEXT: "id": "0x{{.*}}",
2116// CHECK-NEXT: "kind": "IntegerLiteral",
2117// CHECK-NEXT: "range": {
2118// CHECK-NEXT: "begin": {
2119// CHECK-NEXT: "col": 8,
2120// CHECK-NEXT: "file": "{{.*}}",
2121// CHECK-NEXT: "line": 82
2122// CHECK-NEXT: },
2123// CHECK-NEXT: "end": {
2124// CHECK-NEXT: "col": 8,
2125// CHECK-NEXT: "file": "{{.*}}",
2126// CHECK-NEXT: "line": 82
2127// CHECK-NEXT: }
2128// CHECK-NEXT: },
2129// CHECK-NEXT: "type": {
2130// CHECK-NEXT: "qualType": "int"
2131// CHECK-NEXT: },
2132// CHECK-NEXT: "valueCategory": "rvalue",
2133// CHECK-NEXT: "value": "0"
2134// CHECK-NEXT: }
2135// CHECK-NEXT: ]
2136// CHECK-NEXT: }
2137// CHECK-NEXT: ]
2138// CHECK-NEXT: },
2139// CHECK-NEXT: {
2140// CHECK-NEXT: "id": "0x{{.*}}",
2141// CHECK-NEXT: "kind": "OpaqueValueExpr",
2142// CHECK-NEXT: "range": {
2143// CHECK-NEXT: "begin": {
2144// CHECK-NEXT: "col": 13,
2145// CHECK-NEXT: "file": "{{.*}}",
2146// CHECK-NEXT: "line": 82
2147// CHECK-NEXT: },
2148// CHECK-NEXT: "end": {
2149// CHECK-NEXT: "col": 20,
2150// CHECK-NEXT: "file": "{{.*}}",
2151// CHECK-NEXT: "line": 82
2152// CHECK-NEXT: }
2153// CHECK-NEXT: },
2154// CHECK-NEXT: "type": {
2155// CHECK-NEXT: "qualType": "void *"
2156// CHECK-NEXT: },
2157// CHECK-NEXT: "valueCategory": "rvalue",
2158// CHECK-NEXT: "inner": [
2159// CHECK-NEXT: {
2160// CHECK-NEXT: "id": "0x{{.*}}",
2161// CHECK-NEXT: "kind": "CStyleCastExpr",
2162// CHECK-NEXT: "range": {
2163// CHECK-NEXT: "begin": {
2164// CHECK-NEXT: "col": 13,
2165// CHECK-NEXT: "file": "{{.*}}",
2166// CHECK-NEXT: "line": 82
2167// CHECK-NEXT: },
2168// CHECK-NEXT: "end": {
2169// CHECK-NEXT: "col": 20,
2170// CHECK-NEXT: "file": "{{.*}}",
2171// CHECK-NEXT: "line": 82
2172// CHECK-NEXT: }
2173// CHECK-NEXT: },
2174// CHECK-NEXT: "type": {
2175// CHECK-NEXT: "qualType": "void *"
2176// CHECK-NEXT: },
2177// CHECK-NEXT: "valueCategory": "rvalue",
2178// CHECK-NEXT: "castKind": "NullToPointer",
2179// CHECK-NEXT: "inner": [
2180// CHECK-NEXT: {
2181// CHECK-NEXT: "id": "0x{{.*}}",
2182// CHECK-NEXT: "kind": "IntegerLiteral",
2183// CHECK-NEXT: "range": {
2184// CHECK-NEXT: "begin": {
2185// CHECK-NEXT: "col": 20,
2186// CHECK-NEXT: "file": "{{.*}}",
2187// CHECK-NEXT: "line": 82
2188// CHECK-NEXT: },
2189// CHECK-NEXT: "end": {
2190// CHECK-NEXT: "col": 20,
2191// CHECK-NEXT: "file": "{{.*}}",
2192// CHECK-NEXT: "line": 82
2193// CHECK-NEXT: }
2194// CHECK-NEXT: },
2195// CHECK-NEXT: "type": {
2196// CHECK-NEXT: "qualType": "int"
2197// CHECK-NEXT: },
2198// CHECK-NEXT: "valueCategory": "rvalue",
2199// CHECK-NEXT: "value": "0"
2200// CHECK-NEXT: }
2201// CHECK-NEXT: ]
2202// CHECK-NEXT: }
2203// CHECK-NEXT: ]
2204// CHECK-NEXT: }
2205// CHECK-NEXT: ]
2206// CHECK-NEXT: },
2207// CHECK-NEXT: {
2208// CHECK-NEXT: "id": "0x{{.*}}",
2209// CHECK-NEXT: "kind": "OpaqueValueExpr",
2210// CHECK-NEXT: "range": {
2211// CHECK-NEXT: "begin": {
2212// CHECK-NEXT: "col": 2,
2213// CHECK-NEXT: "file": "{{.*}}",
2214// CHECK-NEXT: "line": 82
2215// CHECK-NEXT: },
2216// CHECK-NEXT: "end": {
2217// CHECK-NEXT: "col": 2,
2218// CHECK-NEXT: "file": "{{.*}}",
2219// CHECK-NEXT: "line": 82
2220// CHECK-NEXT: }
2221// CHECK-NEXT: },
2222// CHECK-NEXT: "type": {
2223// CHECK-NEXT: "qualType": "NSMutableArray *"
2224// CHECK-NEXT: },
2225// CHECK-NEXT: "valueCategory": "rvalue",
2226// CHECK-NEXT: "inner": [
2227// CHECK-NEXT: {
2228// CHECK-NEXT: "id": "0x{{.*}}",
2229// CHECK-NEXT: "kind": "ImplicitCastExpr",
2230// CHECK-NEXT: "range": {
2231// CHECK-NEXT: "begin": {
2232// CHECK-NEXT: "col": 2,
2233// CHECK-NEXT: "file": "{{.*}}",
2234// CHECK-NEXT: "line": 82
2235// CHECK-NEXT: },
2236// CHECK-NEXT: "end": {
2237// CHECK-NEXT: "col": 2,
2238// CHECK-NEXT: "file": "{{.*}}",
2239// CHECK-NEXT: "line": 82
2240// CHECK-NEXT: }
2241// CHECK-NEXT: },
2242// CHECK-NEXT: "type": {
2243// CHECK-NEXT: "qualType": "NSMutableArray *"
2244// CHECK-NEXT: },
2245// CHECK-NEXT: "valueCategory": "rvalue",
2246// CHECK-NEXT: "castKind": "LValueToRValue",
2247// CHECK-NEXT: "inner": [
2248// CHECK-NEXT: {
2249// CHECK-NEXT: "id": "0x{{.*}}",
2250// CHECK-NEXT: "kind": "DeclRefExpr",
2251// CHECK-NEXT: "range": {
2252// CHECK-NEXT: "begin": {
2253// CHECK-NEXT: "col": 2,
2254// CHECK-NEXT: "file": "{{.*}}",
2255// CHECK-NEXT: "line": 82
2256// CHECK-NEXT: },
2257// CHECK-NEXT: "end": {
2258// CHECK-NEXT: "col": 2,
2259// CHECK-NEXT: "file": "{{.*}}",
2260// CHECK-NEXT: "line": 82
2261// CHECK-NEXT: }
2262// CHECK-NEXT: },
2263// CHECK-NEXT: "type": {
2264// CHECK-NEXT: "qualType": "NSMutableArray *"
2265// CHECK-NEXT: },
2266// CHECK-NEXT: "valueCategory": "lvalue",
2267// CHECK-NEXT: "referencedDecl": {
2268// CHECK-NEXT: "id": "0x{{.*}}",
2269// CHECK-NEXT: "kind": "ParmVarDecl",
2270// CHECK-NEXT: "name": "Array",
2271// CHECK-NEXT: "type": {
2272// CHECK-NEXT: "qualType": "NSMutableArray *"
2273// CHECK-NEXT: }
2274// CHECK-NEXT: }
2275// CHECK-NEXT: }
2276// CHECK-NEXT: ]
2277// CHECK-NEXT: }
2278// CHECK-NEXT: ]
2279// CHECK-NEXT: },
2280// CHECK-NEXT: {
2281// CHECK-NEXT: "id": "0x{{.*}}",
2282// CHECK-NEXT: "kind": "OpaqueValueExpr",
2283// CHECK-NEXT: "range": {
2284// CHECK-NEXT: "begin": {
2285// CHECK-NEXT: "col": 8,
2286// CHECK-NEXT: "file": "{{.*}}",
2287// CHECK-NEXT: "line": 82
2288// CHECK-NEXT: },
2289// CHECK-NEXT: "end": {
2290// CHECK-NEXT: "col": 8,
2291// CHECK-NEXT: "file": "{{.*}}",
2292// CHECK-NEXT: "line": 82
2293// CHECK-NEXT: }
2294// CHECK-NEXT: },
2295// CHECK-NEXT: "type": {
2296// CHECK-NEXT: "qualType": "int"
2297// CHECK-NEXT: },
2298// CHECK-NEXT: "valueCategory": "rvalue",
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": 8,
2306// CHECK-NEXT: "file": "{{.*}}",
2307// CHECK-NEXT: "line": 82
2308// CHECK-NEXT: },
2309// CHECK-NEXT: "end": {
2310// CHECK-NEXT: "col": 8,
2311// CHECK-NEXT: "file": "{{.*}}",
2312// CHECK-NEXT: "line": 82
2313// CHECK-NEXT: }
2314// CHECK-NEXT: },
2315// CHECK-NEXT: "type": {
2316// CHECK-NEXT: "qualType": "int"
2317// CHECK-NEXT: },
2318// CHECK-NEXT: "valueCategory": "rvalue",
2319// CHECK-NEXT: "value": "0"
2320// CHECK-NEXT: }
2321// CHECK-NEXT: ]
2322// CHECK-NEXT: },
2323// CHECK-NEXT: {
2324// CHECK-NEXT: "id": "0x{{.*}}",
2325// CHECK-NEXT: "kind": "OpaqueValueExpr",
2326// CHECK-NEXT: "range": {
2327// CHECK-NEXT: "begin": {
2328// CHECK-NEXT: "col": 13,
2329// CHECK-NEXT: "file": "{{.*}}",
2330// CHECK-NEXT: "line": 82
2331// CHECK-NEXT: },
2332// CHECK-NEXT: "end": {
2333// CHECK-NEXT: "col": 20,
2334// CHECK-NEXT: "file": "{{.*}}",
2335// CHECK-NEXT: "line": 82
2336// CHECK-NEXT: }
2337// CHECK-NEXT: },
2338// CHECK-NEXT: "type": {
2339// CHECK-NEXT: "qualType": "void *"
2340// CHECK-NEXT: },
2341// CHECK-NEXT: "valueCategory": "rvalue",
2342// CHECK-NEXT: "inner": [
2343// CHECK-NEXT: {
2344// CHECK-NEXT: "id": "0x{{.*}}",
2345// CHECK-NEXT: "kind": "CStyleCastExpr",
2346// CHECK-NEXT: "range": {
2347// CHECK-NEXT: "begin": {
2348// CHECK-NEXT: "col": 13,
2349// CHECK-NEXT: "file": "{{.*}}",
2350// CHECK-NEXT: "line": 82
2351// CHECK-NEXT: },
2352// CHECK-NEXT: "end": {
2353// CHECK-NEXT: "col": 20,
2354// CHECK-NEXT: "file": "{{.*}}",
2355// CHECK-NEXT: "line": 82
2356// CHECK-NEXT: }
2357// CHECK-NEXT: },
2358// CHECK-NEXT: "type": {
2359// CHECK-NEXT: "qualType": "void *"
2360// CHECK-NEXT: },
2361// CHECK-NEXT: "valueCategory": "rvalue",
2362// CHECK-NEXT: "castKind": "NullToPointer",
2363// CHECK-NEXT: "inner": [
2364// CHECK-NEXT: {
2365// CHECK-NEXT: "id": "0x{{.*}}",
2366// CHECK-NEXT: "kind": "IntegerLiteral",
2367// CHECK-NEXT: "range": {
2368// CHECK-NEXT: "begin": {
2369// CHECK-NEXT: "col": 20,
2370// CHECK-NEXT: "file": "{{.*}}",
2371// CHECK-NEXT: "line": 82
2372// CHECK-NEXT: },
2373// CHECK-NEXT: "end": {
2374// CHECK-NEXT: "col": 20,
2375// CHECK-NEXT: "file": "{{.*}}",
2376// CHECK-NEXT: "line": 82
2377// CHECK-NEXT: }
2378// CHECK-NEXT: },
2379// CHECK-NEXT: "type": {
2380// CHECK-NEXT: "qualType": "int"
2381// CHECK-NEXT: },
2382// CHECK-NEXT: "valueCategory": "rvalue",
2383// CHECK-NEXT: "value": "0"
2384// CHECK-NEXT: }
2385// CHECK-NEXT: ]
2386// CHECK-NEXT: }
2387// CHECK-NEXT: ]
2388// CHECK-NEXT: },
2389// CHECK-NEXT: {
2390// CHECK-NEXT: "id": "0x{{.*}}",
2391// CHECK-NEXT: "kind": "OpaqueValueExpr",
2392// CHECK-NEXT: "range": {
2393// CHECK-NEXT: "begin": {
2394// CHECK-NEXT: "col": 13,
2395// CHECK-NEXT: "file": "{{.*}}",
2396// CHECK-NEXT: "line": 82
2397// CHECK-NEXT: },
2398// CHECK-NEXT: "end": {
2399// CHECK-NEXT: "col": 20,
2400// CHECK-NEXT: "file": "{{.*}}",
2401// CHECK-NEXT: "line": 82
2402// CHECK-NEXT: }
2403// CHECK-NEXT: },
2404// CHECK-NEXT: "type": {
2405// CHECK-NEXT: "desugaredQualType": "id",
2406// CHECK-NEXT: "qualType": "id"
2407// CHECK-NEXT: },
2408// CHECK-NEXT: "valueCategory": "rvalue",
2409// CHECK-NEXT: "inner": [
2410// CHECK-NEXT: {
2411// CHECK-NEXT: "id": "0x{{.*}}",
2412// CHECK-NEXT: "kind": "ImplicitCastExpr",
2413// CHECK-NEXT: "range": {
2414// CHECK-NEXT: "begin": {
2415// CHECK-NEXT: "col": 13,
2416// CHECK-NEXT: "file": "{{.*}}",
2417// CHECK-NEXT: "line": 82
2418// CHECK-NEXT: },
2419// CHECK-NEXT: "end": {
2420// CHECK-NEXT: "col": 20,
2421// CHECK-NEXT: "file": "{{.*}}",
2422// CHECK-NEXT: "line": 82
2423// CHECK-NEXT: }
2424// CHECK-NEXT: },
2425// CHECK-NEXT: "type": {
2426// CHECK-NEXT: "desugaredQualType": "id",
2427// CHECK-NEXT: "qualType": "id"
2428// CHECK-NEXT: },
2429// CHECK-NEXT: "valueCategory": "rvalue",
2430// CHECK-NEXT: "castKind": "NullToPointer",
2431// CHECK-NEXT: "inner": [
2432// CHECK-NEXT: {
2433// CHECK-NEXT: "id": "0x{{.*}}",
2434// CHECK-NEXT: "kind": "OpaqueValueExpr",
2435// CHECK-NEXT: "range": {
2436// CHECK-NEXT: "begin": {
2437// CHECK-NEXT: "col": 13,
2438// CHECK-NEXT: "file": "{{.*}}",
2439// CHECK-NEXT: "line": 82
2440// CHECK-NEXT: },
2441// CHECK-NEXT: "end": {
2442// CHECK-NEXT: "col": 20,
2443// CHECK-NEXT: "file": "{{.*}}",
2444// CHECK-NEXT: "line": 82
2445// CHECK-NEXT: }
2446// CHECK-NEXT: },
2447// CHECK-NEXT: "type": {
2448// CHECK-NEXT: "qualType": "void *"
2449// CHECK-NEXT: },
2450// CHECK-NEXT: "valueCategory": "rvalue",
2451// CHECK-NEXT: "inner": [
2452// CHECK-NEXT: {
2453// CHECK-NEXT: "id": "0x{{.*}}",
2454// CHECK-NEXT: "kind": "CStyleCastExpr",
2455// CHECK-NEXT: "range": {
2456// CHECK-NEXT: "begin": {
2457// CHECK-NEXT: "col": 13,
2458// CHECK-NEXT: "file": "{{.*}}",
2459// CHECK-NEXT: "line": 82
2460// CHECK-NEXT: },
2461// CHECK-NEXT: "end": {
2462// CHECK-NEXT: "col": 20,
2463// CHECK-NEXT: "file": "{{.*}}",
2464// CHECK-NEXT: "line": 82
2465// CHECK-NEXT: }
2466// CHECK-NEXT: },
2467// CHECK-NEXT: "type": {
2468// CHECK-NEXT: "qualType": "void *"
2469// CHECK-NEXT: },
2470// CHECK-NEXT: "valueCategory": "rvalue",
2471// CHECK-NEXT: "castKind": "NullToPointer",
2472// CHECK-NEXT: "inner": [
2473// CHECK-NEXT: {
2474// CHECK-NEXT: "id": "0x{{.*}}",
2475// CHECK-NEXT: "kind": "IntegerLiteral",
2476// CHECK-NEXT: "range": {
2477// CHECK-NEXT: "begin": {
2478// CHECK-NEXT: "col": 20,
2479// CHECK-NEXT: "file": "{{.*}}",
2480// CHECK-NEXT: "line": 82
2481// CHECK-NEXT: },
2482// CHECK-NEXT: "end": {
2483// CHECK-NEXT: "col": 20,
2484// CHECK-NEXT: "file": "{{.*}}",
2485// CHECK-NEXT: "line": 82
2486// CHECK-NEXT: }
2487// CHECK-NEXT: },
2488// CHECK-NEXT: "type": {
2489// CHECK-NEXT: "qualType": "int"
2490// CHECK-NEXT: },
2491// CHECK-NEXT: "valueCategory": "rvalue",
2492// CHECK-NEXT: "value": "0"
2493// CHECK-NEXT: }
2494// CHECK-NEXT: ]
2495// CHECK-NEXT: }
2496// CHECK-NEXT: ]
2497// CHECK-NEXT: }
2498// CHECK-NEXT: ]
2499// CHECK-NEXT: }
2500// CHECK-NEXT: ]
2501// CHECK-NEXT: },
2502// CHECK-NEXT: {
2503// CHECK-NEXT: "id": "0x{{.*}}",
2504// CHECK-NEXT: "kind": "ObjCMessageExpr",
2505// CHECK-NEXT: "range": {
2506// CHECK-NEXT: "begin": {
2507// CHECK-NEXT: "col": 2,
2508// CHECK-NEXT: "file": "{{.*}}",
2509// CHECK-NEXT: "line": 82
2510// CHECK-NEXT: },
2511// CHECK-NEXT: "end": {
2512// CHECK-NEXT: "col": 2,
2513// CHECK-NEXT: "file": "{{.*}}",
2514// CHECK-NEXT: "line": 82
2515// CHECK-NEXT: }
2516// CHECK-NEXT: },
2517// CHECK-NEXT: "type": {
2518// CHECK-NEXT: "qualType": "void"
2519// CHECK-NEXT: },
2520// CHECK-NEXT: "valueCategory": "rvalue",
2521// CHECK-NEXT: "selector": "setObject:atIndexedSubscript:",
2522// CHECK-NEXT: "receiverKind": "instance",
2523// CHECK-NEXT: "inner": [
2524// CHECK-NEXT: {
2525// CHECK-NEXT: "id": "0x{{.*}}",
2526// CHECK-NEXT: "kind": "OpaqueValueExpr",
2527// CHECK-NEXT: "range": {
2528// CHECK-NEXT: "begin": {
2529// CHECK-NEXT: "col": 2,
2530// CHECK-NEXT: "file": "{{.*}}",
2531// CHECK-NEXT: "line": 82
2532// CHECK-NEXT: },
2533// CHECK-NEXT: "end": {
2534// CHECK-NEXT: "col": 2,
2535// CHECK-NEXT: "file": "{{.*}}",
2536// CHECK-NEXT: "line": 82
2537// CHECK-NEXT: }
2538// CHECK-NEXT: },
2539// CHECK-NEXT: "type": {
2540// CHECK-NEXT: "qualType": "NSMutableArray *"
2541// CHECK-NEXT: },
2542// CHECK-NEXT: "valueCategory": "rvalue",
2543// CHECK-NEXT: "inner": [
2544// CHECK-NEXT: {
2545// CHECK-NEXT: "id": "0x{{.*}}",
2546// CHECK-NEXT: "kind": "ImplicitCastExpr",
2547// CHECK-NEXT: "range": {
2548// CHECK-NEXT: "begin": {
2549// CHECK-NEXT: "col": 2,
2550// CHECK-NEXT: "file": "{{.*}}",
2551// CHECK-NEXT: "line": 82
2552// CHECK-NEXT: },
2553// CHECK-NEXT: "end": {
2554// CHECK-NEXT: "col": 2,
2555// CHECK-NEXT: "file": "{{.*}}",
2556// CHECK-NEXT: "line": 82
2557// CHECK-NEXT: }
2558// CHECK-NEXT: },
2559// CHECK-NEXT: "type": {
2560// CHECK-NEXT: "qualType": "NSMutableArray *"
2561// CHECK-NEXT: },
2562// CHECK-NEXT: "valueCategory": "rvalue",
2563// CHECK-NEXT: "castKind": "LValueToRValue",
2564// CHECK-NEXT: "inner": [
2565// CHECK-NEXT: {
2566// CHECK-NEXT: "id": "0x{{.*}}",
2567// CHECK-NEXT: "kind": "DeclRefExpr",
2568// CHECK-NEXT: "range": {
2569// CHECK-NEXT: "begin": {
2570// CHECK-NEXT: "col": 2,
2571// CHECK-NEXT: "file": "{{.*}}",
2572// CHECK-NEXT: "line": 82
2573// CHECK-NEXT: },
2574// CHECK-NEXT: "end": {
2575// CHECK-NEXT: "col": 2,
2576// CHECK-NEXT: "file": "{{.*}}",
2577// CHECK-NEXT: "line": 82
2578// CHECK-NEXT: }
2579// CHECK-NEXT: },
2580// CHECK-NEXT: "type": {
2581// CHECK-NEXT: "qualType": "NSMutableArray *"
2582// CHECK-NEXT: },
2583// CHECK-NEXT: "valueCategory": "lvalue",
2584// CHECK-NEXT: "referencedDecl": {
2585// CHECK-NEXT: "id": "0x{{.*}}",
2586// CHECK-NEXT: "kind": "ParmVarDecl",
2587// CHECK-NEXT: "name": "Array",
2588// CHECK-NEXT: "type": {
2589// CHECK-NEXT: "qualType": "NSMutableArray *"
2590// CHECK-NEXT: }
2591// CHECK-NEXT: }
2592// CHECK-NEXT: }
2593// CHECK-NEXT: ]
2594// CHECK-NEXT: }
2595// CHECK-NEXT: ]
2596// CHECK-NEXT: },
2597// CHECK-NEXT: {
2598// CHECK-NEXT: "id": "0x{{.*}}",
2599// CHECK-NEXT: "kind": "OpaqueValueExpr",
2600// CHECK-NEXT: "range": {
2601// CHECK-NEXT: "begin": {
2602// CHECK-NEXT: "col": 13,
2603// CHECK-NEXT: "file": "{{.*}}",
2604// CHECK-NEXT: "line": 82
2605// CHECK-NEXT: },
2606// CHECK-NEXT: "end": {
2607// CHECK-NEXT: "col": 20,
2608// CHECK-NEXT: "file": "{{.*}}",
2609// CHECK-NEXT: "line": 82
2610// CHECK-NEXT: }
2611// CHECK-NEXT: },
2612// CHECK-NEXT: "type": {
2613// CHECK-NEXT: "desugaredQualType": "id",
2614// CHECK-NEXT: "qualType": "id"
2615// CHECK-NEXT: },
2616// CHECK-NEXT: "valueCategory": "rvalue",
2617// CHECK-NEXT: "inner": [
2618// CHECK-NEXT: {
2619// CHECK-NEXT: "id": "0x{{.*}}",
2620// CHECK-NEXT: "kind": "ImplicitCastExpr",
2621// CHECK-NEXT: "range": {
2622// CHECK-NEXT: "begin": {
2623// CHECK-NEXT: "col": 13,
2624// CHECK-NEXT: "file": "{{.*}}",
2625// CHECK-NEXT: "line": 82
2626// CHECK-NEXT: },
2627// CHECK-NEXT: "end": {
2628// CHECK-NEXT: "col": 20,
2629// CHECK-NEXT: "file": "{{.*}}",
2630// CHECK-NEXT: "line": 82
2631// CHECK-NEXT: }
2632// CHECK-NEXT: },
2633// CHECK-NEXT: "type": {
2634// CHECK-NEXT: "desugaredQualType": "id",
2635// CHECK-NEXT: "qualType": "id"
2636// CHECK-NEXT: },
2637// CHECK-NEXT: "valueCategory": "rvalue",
2638// CHECK-NEXT: "castKind": "NullToPointer",
2639// CHECK-NEXT: "inner": [
2640// CHECK-NEXT: {
2641// CHECK-NEXT: "id": "0x{{.*}}",
2642// CHECK-NEXT: "kind": "OpaqueValueExpr",
2643// CHECK-NEXT: "range": {
2644// CHECK-NEXT: "begin": {
2645// CHECK-NEXT: "col": 13,
2646// CHECK-NEXT: "file": "{{.*}}",
2647// CHECK-NEXT: "line": 82
2648// CHECK-NEXT: },
2649// CHECK-NEXT: "end": {
2650// CHECK-NEXT: "col": 20,
2651// CHECK-NEXT: "file": "{{.*}}",
2652// CHECK-NEXT: "line": 82
2653// CHECK-NEXT: }
2654// CHECK-NEXT: },
2655// CHECK-NEXT: "type": {
2656// CHECK-NEXT: "qualType": "void *"
2657// CHECK-NEXT: },
2658// CHECK-NEXT: "valueCategory": "rvalue",
2659// CHECK-NEXT: "inner": [
2660// CHECK-NEXT: {
2661// CHECK-NEXT: "id": "0x{{.*}}",
2662// CHECK-NEXT: "kind": "CStyleCastExpr",
2663// CHECK-NEXT: "range": {
2664// CHECK-NEXT: "begin": {
2665// CHECK-NEXT: "col": 13,
2666// CHECK-NEXT: "file": "{{.*}}",
2667// CHECK-NEXT: "line": 82
2668// CHECK-NEXT: },
2669// CHECK-NEXT: "end": {
2670// CHECK-NEXT: "col": 20,
2671// CHECK-NEXT: "file": "{{.*}}",
2672// CHECK-NEXT: "line": 82
2673// CHECK-NEXT: }
2674// CHECK-NEXT: },
2675// CHECK-NEXT: "type": {
2676// CHECK-NEXT: "qualType": "void *"
2677// CHECK-NEXT: },
2678// CHECK-NEXT: "valueCategory": "rvalue",
2679// CHECK-NEXT: "castKind": "NullToPointer",
2680// CHECK-NEXT: "inner": [
2681// CHECK-NEXT: {
2682// CHECK-NEXT: "id": "0x{{.*}}",
2683// CHECK-NEXT: "kind": "IntegerLiteral",
2684// CHECK-NEXT: "range": {
2685// CHECK-NEXT: "begin": {
2686// CHECK-NEXT: "col": 20,
2687// CHECK-NEXT: "file": "{{.*}}",
2688// CHECK-NEXT: "line": 82
2689// CHECK-NEXT: },
2690// CHECK-NEXT: "end": {
2691// CHECK-NEXT: "col": 20,
2692// CHECK-NEXT: "file": "{{.*}}",
2693// CHECK-NEXT: "line": 82
2694// CHECK-NEXT: }
2695// CHECK-NEXT: },
2696// CHECK-NEXT: "type": {
2697// CHECK-NEXT: "qualType": "int"
2698// CHECK-NEXT: },
2699// CHECK-NEXT: "valueCategory": "rvalue",
2700// CHECK-NEXT: "value": "0"
2701// CHECK-NEXT: }
2702// CHECK-NEXT: ]
2703// CHECK-NEXT: }
2704// CHECK-NEXT: ]
2705// CHECK-NEXT: }
2706// CHECK-NEXT: ]
2707// CHECK-NEXT: }
2708// CHECK-NEXT: ]
2709// CHECK-NEXT: },
2710// CHECK-NEXT: {
2711// CHECK-NEXT: "id": "0x{{.*}}",
2712// CHECK-NEXT: "kind": "OpaqueValueExpr",
2713// CHECK-NEXT: "range": {
2714// CHECK-NEXT: "begin": {
2715// CHECK-NEXT: "col": 8,
2716// CHECK-NEXT: "file": "{{.*}}",
2717// CHECK-NEXT: "line": 82
2718// CHECK-NEXT: },
2719// CHECK-NEXT: "end": {
2720// CHECK-NEXT: "col": 8,
2721// CHECK-NEXT: "file": "{{.*}}",
2722// CHECK-NEXT: "line": 82
2723// CHECK-NEXT: }
2724// CHECK-NEXT: },
2725// CHECK-NEXT: "type": {
2726// CHECK-NEXT: "qualType": "int"
2727// CHECK-NEXT: },
2728// CHECK-NEXT: "valueCategory": "rvalue",
2729// CHECK-NEXT: "inner": [
2730// CHECK-NEXT: {
2731// CHECK-NEXT: "id": "0x{{.*}}",
2732// CHECK-NEXT: "kind": "IntegerLiteral",
2733// CHECK-NEXT: "range": {
2734// CHECK-NEXT: "begin": {
2735// CHECK-NEXT: "col": 8,
2736// CHECK-NEXT: "file": "{{.*}}",
2737// CHECK-NEXT: "line": 82
2738// CHECK-NEXT: },
2739// CHECK-NEXT: "end": {
2740// CHECK-NEXT: "col": 8,
2741// CHECK-NEXT: "file": "{{.*}}",
2742// CHECK-NEXT: "line": 82
2743// CHECK-NEXT: }
2744// CHECK-NEXT: },
2745// CHECK-NEXT: "type": {
2746// CHECK-NEXT: "qualType": "int"
2747// CHECK-NEXT: },
2748// CHECK-NEXT: "valueCategory": "rvalue",
2749// CHECK-NEXT: "value": "0"
2750// CHECK-NEXT: }
2751// CHECK-NEXT: ]
2752// CHECK-NEXT: }
2753// CHECK-NEXT: ]
2754// CHECK-NEXT: }
2755// CHECK-NEXT: ]
2756// CHECK-NEXT: },
2757// CHECK-NEXT: {
2758// CHECK-NEXT: "id": "0x{{.*}}",
2759// CHECK-NEXT: "kind": "DeclStmt",
2760// CHECK-NEXT: "range": {
2761// CHECK-NEXT: "begin": {
2762// CHECK-NEXT: "col": 2,
2763// CHECK-NEXT: "file": "{{.*}}",
2764// CHECK-NEXT: "line": 83
2765// CHECK-NEXT: },
2766// CHECK-NEXT: "end": {
2767// CHECK-NEXT: "col": 17,
2768// CHECK-NEXT: "file": "{{.*}}",
2769// CHECK-NEXT: "line": 83
2770// CHECK-NEXT: }
2771// CHECK-NEXT: },
2772// CHECK-NEXT: "inner": [
2773// CHECK-NEXT: {
2774// CHECK-NEXT: "id": "0x{{.*}}",
2775// CHECK-NEXT: "kind": "VarDecl",
2776// CHECK-NEXT: "loc": {
2777// CHECK-NEXT: "col": 5,
2778// CHECK-NEXT: "file": "{{.*}}",
2779// CHECK-NEXT: "line": 83
2780// CHECK-NEXT: },
2781// CHECK-NEXT: "range": {
2782// CHECK-NEXT: "begin": {
2783// CHECK-NEXT: "col": 2,
2784// CHECK-NEXT: "file": "{{.*}}",
2785// CHECK-NEXT: "line": 83
2786// CHECK-NEXT: },
2787// CHECK-NEXT: "end": {
2788// CHECK-NEXT: "col": 16,
2789// CHECK-NEXT: "file": "{{.*}}",
2790// CHECK-NEXT: "line": 83
2791// CHECK-NEXT: }
2792// CHECK-NEXT: },
2793// CHECK-NEXT: "isUsed": true,
2794// CHECK-NEXT: "name": "i",
2795// CHECK-NEXT: "type": {
2796// CHECK-NEXT: "desugaredQualType": "id",
2797// CHECK-NEXT: "qualType": "id"
2798// CHECK-NEXT: },
2799// CHECK-NEXT: "init": "c",
2800// CHECK-NEXT: "inner": [
2801// CHECK-NEXT: {
2802// CHECK-NEXT: "id": "0x{{.*}}",
2803// CHECK-NEXT: "kind": "PseudoObjectExpr",
2804// CHECK-NEXT: "range": {
2805// CHECK-NEXT: "begin": {
2806// CHECK-NEXT: "col": 9,
2807// CHECK-NEXT: "file": "{{.*}}",
2808// CHECK-NEXT: "line": 83
2809// CHECK-NEXT: },
2810// CHECK-NEXT: "end": {
2811// CHECK-NEXT: "col": 16,
2812// CHECK-NEXT: "file": "{{.*}}",
2813// CHECK-NEXT: "line": 83
2814// CHECK-NEXT: }
2815// CHECK-NEXT: },
2816// CHECK-NEXT: "type": {
2817// CHECK-NEXT: "desugaredQualType": "id",
2818// CHECK-NEXT: "qualType": "id"
2819// CHECK-NEXT: },
2820// CHECK-NEXT: "valueCategory": "rvalue",
2821// CHECK-NEXT: "inner": [
2822// CHECK-NEXT: {
2823// CHECK-NEXT: "id": "0x{{.*}}",
2824// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
2825// CHECK-NEXT: "range": {
2826// CHECK-NEXT: "begin": {
2827// CHECK-NEXT: "col": 9,
2828// CHECK-NEXT: "file": "{{.*}}",
2829// CHECK-NEXT: "line": 83
2830// CHECK-NEXT: },
2831// CHECK-NEXT: "end": {
2832// CHECK-NEXT: "col": 16,
2833// CHECK-NEXT: "file": "{{.*}}",
2834// CHECK-NEXT: "line": 83
2835// CHECK-NEXT: }
2836// CHECK-NEXT: },
2837// CHECK-NEXT: "type": {
2838// CHECK-NEXT: "qualType": "<pseudo-object type>"
2839// CHECK-NEXT: },
2840// CHECK-NEXT: "valueCategory": "lvalue",
2841// CHECK-NEXT: "subscriptKind": "array",
2842// CHECK-NEXT: "inner": [
2843// CHECK-NEXT: {
2844// CHECK-NEXT: "id": "0x{{.*}}",
2845// CHECK-NEXT: "kind": "OpaqueValueExpr",
2846// CHECK-NEXT: "range": {
2847// CHECK-NEXT: "begin": {
2848// CHECK-NEXT: "col": 9,
2849// CHECK-NEXT: "file": "{{.*}}",
2850// CHECK-NEXT: "line": 83
2851// CHECK-NEXT: },
2852// CHECK-NEXT: "end": {
2853// CHECK-NEXT: "col": 9,
2854// CHECK-NEXT: "file": "{{.*}}",
2855// CHECK-NEXT: "line": 83
2856// CHECK-NEXT: }
2857// CHECK-NEXT: },
2858// CHECK-NEXT: "type": {
2859// CHECK-NEXT: "qualType": "NSMutableArray *"
2860// CHECK-NEXT: },
2861// CHECK-NEXT: "valueCategory": "rvalue",
2862// CHECK-NEXT: "inner": [
2863// CHECK-NEXT: {
2864// CHECK-NEXT: "id": "0x{{.*}}",
2865// CHECK-NEXT: "kind": "ImplicitCastExpr",
2866// CHECK-NEXT: "range": {
2867// CHECK-NEXT: "begin": {
2868// CHECK-NEXT: "col": 9,
2869// CHECK-NEXT: "file": "{{.*}}",
2870// CHECK-NEXT: "line": 83
2871// CHECK-NEXT: },
2872// CHECK-NEXT: "end": {
2873// CHECK-NEXT: "col": 9,
2874// CHECK-NEXT: "file": "{{.*}}",
2875// CHECK-NEXT: "line": 83
2876// CHECK-NEXT: }
2877// CHECK-NEXT: },
2878// CHECK-NEXT: "type": {
2879// CHECK-NEXT: "qualType": "NSMutableArray *"
2880// CHECK-NEXT: },
2881// CHECK-NEXT: "valueCategory": "rvalue",
2882// CHECK-NEXT: "castKind": "LValueToRValue",
2883// CHECK-NEXT: "inner": [
2884// CHECK-NEXT: {
2885// CHECK-NEXT: "id": "0x{{.*}}",
2886// CHECK-NEXT: "kind": "DeclRefExpr",
2887// CHECK-NEXT: "range": {
2888// CHECK-NEXT: "begin": {
2889// CHECK-NEXT: "col": 9,
2890// CHECK-NEXT: "file": "{{.*}}",
2891// CHECK-NEXT: "line": 83
2892// CHECK-NEXT: },
2893// CHECK-NEXT: "end": {
2894// CHECK-NEXT: "col": 9,
2895// CHECK-NEXT: "file": "{{.*}}",
2896// CHECK-NEXT: "line": 83
2897// CHECK-NEXT: }
2898// CHECK-NEXT: },
2899// CHECK-NEXT: "type": {
2900// CHECK-NEXT: "qualType": "NSMutableArray *"
2901// CHECK-NEXT: },
2902// CHECK-NEXT: "valueCategory": "lvalue",
2903// CHECK-NEXT: "referencedDecl": {
2904// CHECK-NEXT: "id": "0x{{.*}}",
2905// CHECK-NEXT: "kind": "ParmVarDecl",
2906// CHECK-NEXT: "name": "Array",
2907// CHECK-NEXT: "type": {
2908// CHECK-NEXT: "qualType": "NSMutableArray *"
2909// CHECK-NEXT: }
2910// CHECK-NEXT: }
2911// CHECK-NEXT: }
2912// CHECK-NEXT: ]
2913// CHECK-NEXT: }
2914// CHECK-NEXT: ]
2915// CHECK-NEXT: },
2916// CHECK-NEXT: {
2917// CHECK-NEXT: "id": "0x{{.*}}",
2918// CHECK-NEXT: "kind": "OpaqueValueExpr",
2919// CHECK-NEXT: "range": {
2920// CHECK-NEXT: "begin": {
2921// CHECK-NEXT: "col": 15,
2922// CHECK-NEXT: "file": "{{.*}}",
2923// CHECK-NEXT: "line": 83
2924// CHECK-NEXT: },
2925// CHECK-NEXT: "end": {
2926// CHECK-NEXT: "col": 15,
2927// CHECK-NEXT: "file": "{{.*}}",
2928// CHECK-NEXT: "line": 83
2929// CHECK-NEXT: }
2930// CHECK-NEXT: },
2931// CHECK-NEXT: "type": {
2932// CHECK-NEXT: "qualType": "int"
2933// CHECK-NEXT: },
2934// CHECK-NEXT: "valueCategory": "rvalue",
2935// CHECK-NEXT: "inner": [
2936// CHECK-NEXT: {
2937// CHECK-NEXT: "id": "0x{{.*}}",
2938// CHECK-NEXT: "kind": "IntegerLiteral",
2939// CHECK-NEXT: "range": {
2940// CHECK-NEXT: "begin": {
2941// CHECK-NEXT: "col": 15,
2942// CHECK-NEXT: "file": "{{.*}}",
2943// CHECK-NEXT: "line": 83
2944// CHECK-NEXT: },
2945// CHECK-NEXT: "end": {
2946// CHECK-NEXT: "col": 15,
2947// CHECK-NEXT: "file": "{{.*}}",
2948// CHECK-NEXT: "line": 83
2949// CHECK-NEXT: }
2950// CHECK-NEXT: },
2951// CHECK-NEXT: "type": {
2952// CHECK-NEXT: "qualType": "int"
2953// CHECK-NEXT: },
2954// CHECK-NEXT: "valueCategory": "rvalue",
2955// CHECK-NEXT: "value": "0"
2956// CHECK-NEXT: }
2957// CHECK-NEXT: ]
2958// CHECK-NEXT: }
2959// CHECK-NEXT: ]
2960// CHECK-NEXT: },
2961// CHECK-NEXT: {
2962// CHECK-NEXT: "id": "0x{{.*}}",
2963// CHECK-NEXT: "kind": "OpaqueValueExpr",
2964// CHECK-NEXT: "range": {
2965// CHECK-NEXT: "begin": {
2966// CHECK-NEXT: "col": 9,
2967// CHECK-NEXT: "file": "{{.*}}",
2968// CHECK-NEXT: "line": 83
2969// CHECK-NEXT: },
2970// CHECK-NEXT: "end": {
2971// CHECK-NEXT: "col": 9,
2972// CHECK-NEXT: "file": "{{.*}}",
2973// CHECK-NEXT: "line": 83
2974// CHECK-NEXT: }
2975// CHECK-NEXT: },
2976// CHECK-NEXT: "type": {
2977// CHECK-NEXT: "qualType": "NSMutableArray *"
2978// CHECK-NEXT: },
2979// CHECK-NEXT: "valueCategory": "rvalue",
2980// CHECK-NEXT: "inner": [
2981// CHECK-NEXT: {
2982// CHECK-NEXT: "id": "0x{{.*}}",
2983// CHECK-NEXT: "kind": "ImplicitCastExpr",
2984// CHECK-NEXT: "range": {
2985// CHECK-NEXT: "begin": {
2986// CHECK-NEXT: "col": 9,
2987// CHECK-NEXT: "file": "{{.*}}",
2988// CHECK-NEXT: "line": 83
2989// CHECK-NEXT: },
2990// CHECK-NEXT: "end": {
2991// CHECK-NEXT: "col": 9,
2992// CHECK-NEXT: "file": "{{.*}}",
2993// CHECK-NEXT: "line": 83
2994// CHECK-NEXT: }
2995// CHECK-NEXT: },
2996// CHECK-NEXT: "type": {
2997// CHECK-NEXT: "qualType": "NSMutableArray *"
2998// CHECK-NEXT: },
2999// CHECK-NEXT: "valueCategory": "rvalue",
3000// CHECK-NEXT: "castKind": "LValueToRValue",
3001// CHECK-NEXT: "inner": [
3002// CHECK-NEXT: {
3003// CHECK-NEXT: "id": "0x{{.*}}",
3004// CHECK-NEXT: "kind": "DeclRefExpr",
3005// CHECK-NEXT: "range": {
3006// CHECK-NEXT: "begin": {
3007// CHECK-NEXT: "col": 9,
3008// CHECK-NEXT: "file": "{{.*}}",
3009// CHECK-NEXT: "line": 83
3010// CHECK-NEXT: },
3011// CHECK-NEXT: "end": {
3012// CHECK-NEXT: "col": 9,
3013// CHECK-NEXT: "file": "{{.*}}",
3014// CHECK-NEXT: "line": 83
3015// CHECK-NEXT: }
3016// CHECK-NEXT: },
3017// CHECK-NEXT: "type": {
3018// CHECK-NEXT: "qualType": "NSMutableArray *"
3019// CHECK-NEXT: },
3020// CHECK-NEXT: "valueCategory": "lvalue",
3021// CHECK-NEXT: "referencedDecl": {
3022// CHECK-NEXT: "id": "0x{{.*}}",
3023// CHECK-NEXT: "kind": "ParmVarDecl",
3024// CHECK-NEXT: "name": "Array",
3025// CHECK-NEXT: "type": {
3026// CHECK-NEXT: "qualType": "NSMutableArray *"
3027// CHECK-NEXT: }
3028// CHECK-NEXT: }
3029// CHECK-NEXT: }
3030// CHECK-NEXT: ]
3031// CHECK-NEXT: }
3032// CHECK-NEXT: ]
3033// CHECK-NEXT: },
3034// CHECK-NEXT: {
3035// CHECK-NEXT: "id": "0x{{.*}}",
3036// CHECK-NEXT: "kind": "OpaqueValueExpr",
3037// CHECK-NEXT: "range": {
3038// CHECK-NEXT: "begin": {
3039// CHECK-NEXT: "col": 15,
3040// CHECK-NEXT: "file": "{{.*}}",
3041// CHECK-NEXT: "line": 83
3042// CHECK-NEXT: },
3043// CHECK-NEXT: "end": {
3044// CHECK-NEXT: "col": 15,
3045// CHECK-NEXT: "file": "{{.*}}",
3046// CHECK-NEXT: "line": 83
3047// CHECK-NEXT: }
3048// CHECK-NEXT: },
3049// CHECK-NEXT: "type": {
3050// CHECK-NEXT: "qualType": "int"
3051// CHECK-NEXT: },
3052// CHECK-NEXT: "valueCategory": "rvalue",
3053// CHECK-NEXT: "inner": [
3054// CHECK-NEXT: {
3055// CHECK-NEXT: "id": "0x{{.*}}",
3056// CHECK-NEXT: "kind": "IntegerLiteral",
3057// CHECK-NEXT: "range": {
3058// CHECK-NEXT: "begin": {
3059// CHECK-NEXT: "col": 15,
3060// CHECK-NEXT: "file": "{{.*}}",
3061// CHECK-NEXT: "line": 83
3062// CHECK-NEXT: },
3063// CHECK-NEXT: "end": {
3064// CHECK-NEXT: "col": 15,
3065// CHECK-NEXT: "file": "{{.*}}",
3066// CHECK-NEXT: "line": 83
3067// CHECK-NEXT: }
3068// CHECK-NEXT: },
3069// CHECK-NEXT: "type": {
3070// CHECK-NEXT: "qualType": "int"
3071// CHECK-NEXT: },
3072// CHECK-NEXT: "valueCategory": "rvalue",
3073// CHECK-NEXT: "value": "0"
3074// CHECK-NEXT: }
3075// CHECK-NEXT: ]
3076// CHECK-NEXT: },
3077// CHECK-NEXT: {
3078// CHECK-NEXT: "id": "0x{{.*}}",
3079// CHECK-NEXT: "kind": "ObjCMessageExpr",
3080// CHECK-NEXT: "range": {
3081// CHECK-NEXT: "begin": {
3082// CHECK-NEXT: "col": 9,
3083// CHECK-NEXT: "file": "{{.*}}",
3084// CHECK-NEXT: "line": 83
3085// CHECK-NEXT: },
3086// CHECK-NEXT: "end": {
3087// CHECK-NEXT: "col": 9,
3088// CHECK-NEXT: "file": "{{.*}}",
3089// CHECK-NEXT: "line": 83
3090// CHECK-NEXT: }
3091// CHECK-NEXT: },
3092// CHECK-NEXT: "type": {
3093// CHECK-NEXT: "desugaredQualType": "id",
3094// CHECK-NEXT: "qualType": "id"
3095// CHECK-NEXT: },
3096// CHECK-NEXT: "valueCategory": "rvalue",
3097// CHECK-NEXT: "selector": "objectAtIndexedSubscript:",
3098// CHECK-NEXT: "receiverKind": "instance",
3099// CHECK-NEXT: "inner": [
3100// CHECK-NEXT: {
3101// CHECK-NEXT: "id": "0x{{.*}}",
3102// CHECK-NEXT: "kind": "OpaqueValueExpr",
3103// CHECK-NEXT: "range": {
3104// CHECK-NEXT: "begin": {
3105// CHECK-NEXT: "col": 9,
3106// CHECK-NEXT: "file": "{{.*}}",
3107// CHECK-NEXT: "line": 83
3108// CHECK-NEXT: },
3109// CHECK-NEXT: "end": {
3110// CHECK-NEXT: "col": 9,
3111// CHECK-NEXT: "file": "{{.*}}",
3112// CHECK-NEXT: "line": 83
3113// CHECK-NEXT: }
3114// CHECK-NEXT: },
3115// CHECK-NEXT: "type": {
3116// CHECK-NEXT: "qualType": "NSMutableArray *"
3117// CHECK-NEXT: },
3118// CHECK-NEXT: "valueCategory": "rvalue",
3119// CHECK-NEXT: "inner": [
3120// CHECK-NEXT: {
3121// CHECK-NEXT: "id": "0x{{.*}}",
3122// CHECK-NEXT: "kind": "ImplicitCastExpr",
3123// CHECK-NEXT: "range": {
3124// CHECK-NEXT: "begin": {
3125// CHECK-NEXT: "col": 9,
3126// CHECK-NEXT: "file": "{{.*}}",
3127// CHECK-NEXT: "line": 83
3128// CHECK-NEXT: },
3129// CHECK-NEXT: "end": {
3130// CHECK-NEXT: "col": 9,
3131// CHECK-NEXT: "file": "{{.*}}",
3132// CHECK-NEXT: "line": 83
3133// CHECK-NEXT: }
3134// CHECK-NEXT: },
3135// CHECK-NEXT: "type": {
3136// CHECK-NEXT: "qualType": "NSMutableArray *"
3137// CHECK-NEXT: },
3138// CHECK-NEXT: "valueCategory": "rvalue",
3139// CHECK-NEXT: "castKind": "LValueToRValue",
3140// CHECK-NEXT: "inner": [
3141// CHECK-NEXT: {
3142// CHECK-NEXT: "id": "0x{{.*}}",
3143// CHECK-NEXT: "kind": "DeclRefExpr",
3144// CHECK-NEXT: "range": {
3145// CHECK-NEXT: "begin": {
3146// CHECK-NEXT: "col": 9,
3147// CHECK-NEXT: "file": "{{.*}}",
3148// CHECK-NEXT: "line": 83
3149// CHECK-NEXT: },
3150// CHECK-NEXT: "end": {
3151// CHECK-NEXT: "col": 9,
3152// CHECK-NEXT: "file": "{{.*}}",
3153// CHECK-NEXT: "line": 83
3154// CHECK-NEXT: }
3155// CHECK-NEXT: },
3156// CHECK-NEXT: "type": {
3157// CHECK-NEXT: "qualType": "NSMutableArray *"
3158// CHECK-NEXT: },
3159// CHECK-NEXT: "valueCategory": "lvalue",
3160// CHECK-NEXT: "referencedDecl": {
3161// CHECK-NEXT: "id": "0x{{.*}}",
3162// CHECK-NEXT: "kind": "ParmVarDecl",
3163// CHECK-NEXT: "name": "Array",
3164// CHECK-NEXT: "type": {
3165// CHECK-NEXT: "qualType": "NSMutableArray *"
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": 15,
3179// CHECK-NEXT: "file": "{{.*}}",
3180// CHECK-NEXT: "line": 83
3181// CHECK-NEXT: },
3182// CHECK-NEXT: "end": {
3183// CHECK-NEXT: "col": 15,
3184// CHECK-NEXT: "file": "{{.*}}",
3185// CHECK-NEXT: "line": 83
3186// CHECK-NEXT: }
3187// CHECK-NEXT: },
3188// CHECK-NEXT: "type": {
3189// CHECK-NEXT: "qualType": "int"
3190// CHECK-NEXT: },
3191// CHECK-NEXT: "valueCategory": "rvalue",
3192// CHECK-NEXT: "inner": [
3193// CHECK-NEXT: {
3194// CHECK-NEXT: "id": "0x{{.*}}",
3195// CHECK-NEXT: "kind": "IntegerLiteral",
3196// CHECK-NEXT: "range": {
3197// CHECK-NEXT: "begin": {
3198// CHECK-NEXT: "col": 15,
3199// CHECK-NEXT: "file": "{{.*}}",
3200// CHECK-NEXT: "line": 83
3201// CHECK-NEXT: },
3202// CHECK-NEXT: "end": {
3203// CHECK-NEXT: "col": 15,
3204// CHECK-NEXT: "file": "{{.*}}",
3205// CHECK-NEXT: "line": 83
3206// CHECK-NEXT: }
3207// CHECK-NEXT: },
3208// CHECK-NEXT: "type": {
3209// CHECK-NEXT: "qualType": "int"
3210// CHECK-NEXT: },
3211// CHECK-NEXT: "valueCategory": "rvalue",
3212// CHECK-NEXT: "value": "0"
3213// CHECK-NEXT: }
3214// CHECK-NEXT: ]
3215// CHECK-NEXT: }
3216// CHECK-NEXT: ]
3217// CHECK-NEXT: }
3218// CHECK-NEXT: ]
3219// CHECK-NEXT: }
3220// CHECK-NEXT: ]
3221// CHECK-NEXT: }
3222// CHECK-NEXT: ]
3223// CHECK-NEXT: },
3224// CHECK-NEXT: {
3225// CHECK-NEXT: "id": "0x{{.*}}",
3226// CHECK-NEXT: "kind": "PseudoObjectExpr",
3227// CHECK-NEXT: "range": {
3228// CHECK-NEXT: "begin": {
3229// CHECK-NEXT: "col": 2,
3230// CHECK-NEXT: "file": "{{.*}}",
3231// CHECK-NEXT: "line": 85
3232// CHECK-NEXT: },
3233// CHECK-NEXT: "end": {
3234// CHECK-NEXT: "col": 24,
3235// CHECK-NEXT: "file": "{{.*}}",
3236// CHECK-NEXT: "line": 85
3237// CHECK-NEXT: }
3238// CHECK-NEXT: },
3239// CHECK-NEXT: "type": {
3240// CHECK-NEXT: "desugaredQualType": "id",
3241// CHECK-NEXT: "qualType": "id"
3242// CHECK-NEXT: },
3243// CHECK-NEXT: "valueCategory": "rvalue",
3244// CHECK-NEXT: "inner": [
3245// CHECK-NEXT: {
3246// CHECK-NEXT: "id": "0x{{.*}}",
3247// CHECK-NEXT: "kind": "BinaryOperator",
3248// CHECK-NEXT: "range": {
3249// CHECK-NEXT: "begin": {
3250// CHECK-NEXT: "col": 2,
3251// CHECK-NEXT: "file": "{{.*}}",
3252// CHECK-NEXT: "line": 85
3253// CHECK-NEXT: },
3254// CHECK-NEXT: "end": {
3255// CHECK-NEXT: "col": 24,
3256// CHECK-NEXT: "file": "{{.*}}",
3257// CHECK-NEXT: "line": 85
3258// CHECK-NEXT: }
3259// CHECK-NEXT: },
3260// CHECK-NEXT: "type": {
3261// CHECK-NEXT: "qualType": "void *"
3262// CHECK-NEXT: },
3263// CHECK-NEXT: "valueCategory": "rvalue",
3264// CHECK-NEXT: "opcode": "=",
3265// CHECK-NEXT: "inner": [
3266// CHECK-NEXT: {
3267// CHECK-NEXT: "id": "0x{{.*}}",
3268// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
3269// CHECK-NEXT: "range": {
3270// CHECK-NEXT: "begin": {
3271// CHECK-NEXT: "col": 2,
3272// CHECK-NEXT: "file": "{{.*}}",
3273// CHECK-NEXT: "line": 85
3274// CHECK-NEXT: },
3275// CHECK-NEXT: "end": {
3276// CHECK-NEXT: "col": 13,
3277// CHECK-NEXT: "file": "{{.*}}",
3278// CHECK-NEXT: "line": 85
3279// CHECK-NEXT: }
3280// CHECK-NEXT: },
3281// CHECK-NEXT: "type": {
3282// CHECK-NEXT: "qualType": "<pseudo-object type>"
3283// CHECK-NEXT: },
3284// CHECK-NEXT: "valueCategory": "lvalue",
3285// CHECK-NEXT: "subscriptKind": "dictionary",
3286// CHECK-NEXT: "inner": [
3287// CHECK-NEXT: {
3288// CHECK-NEXT: "id": "0x{{.*}}",
3289// CHECK-NEXT: "kind": "OpaqueValueExpr",
3290// CHECK-NEXT: "range": {
3291// CHECK-NEXT: "begin": {
3292// CHECK-NEXT: "col": 2,
3293// CHECK-NEXT: "file": "{{.*}}",
3294// CHECK-NEXT: "line": 85
3295// CHECK-NEXT: },
3296// CHECK-NEXT: "end": {
3297// CHECK-NEXT: "col": 2,
3298// CHECK-NEXT: "file": "{{.*}}",
3299// CHECK-NEXT: "line": 85
3300// CHECK-NEXT: }
3301// CHECK-NEXT: },
3302// CHECK-NEXT: "type": {
3303// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3304// CHECK-NEXT: },
3305// CHECK-NEXT: "valueCategory": "rvalue",
3306// CHECK-NEXT: "inner": [
3307// CHECK-NEXT: {
3308// CHECK-NEXT: "id": "0x{{.*}}",
3309// CHECK-NEXT: "kind": "ImplicitCastExpr",
3310// CHECK-NEXT: "range": {
3311// CHECK-NEXT: "begin": {
3312// CHECK-NEXT: "col": 2,
3313// CHECK-NEXT: "file": "{{.*}}",
3314// CHECK-NEXT: "line": 85
3315// CHECK-NEXT: },
3316// CHECK-NEXT: "end": {
3317// CHECK-NEXT: "col": 2,
3318// CHECK-NEXT: "file": "{{.*}}",
3319// CHECK-NEXT: "line": 85
3320// CHECK-NEXT: }
3321// CHECK-NEXT: },
3322// CHECK-NEXT: "type": {
3323// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3324// CHECK-NEXT: },
3325// CHECK-NEXT: "valueCategory": "rvalue",
3326// CHECK-NEXT: "castKind": "LValueToRValue",
3327// CHECK-NEXT: "inner": [
3328// CHECK-NEXT: {
3329// CHECK-NEXT: "id": "0x{{.*}}",
3330// CHECK-NEXT: "kind": "DeclRefExpr",
3331// CHECK-NEXT: "range": {
3332// CHECK-NEXT: "begin": {
3333// CHECK-NEXT: "col": 2,
3334// CHECK-NEXT: "file": "{{.*}}",
3335// CHECK-NEXT: "line": 85
3336// CHECK-NEXT: },
3337// CHECK-NEXT: "end": {
3338// CHECK-NEXT: "col": 2,
3339// CHECK-NEXT: "file": "{{.*}}",
3340// CHECK-NEXT: "line": 85
3341// CHECK-NEXT: }
3342// CHECK-NEXT: },
3343// CHECK-NEXT: "type": {
3344// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3345// CHECK-NEXT: },
3346// CHECK-NEXT: "valueCategory": "lvalue",
3347// CHECK-NEXT: "referencedDecl": {
3348// CHECK-NEXT: "id": "0x{{.*}}",
3349// CHECK-NEXT: "kind": "ParmVarDecl",
3350// CHECK-NEXT: "name": "Dict",
3351// CHECK-NEXT: "type": {
3352// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3353// CHECK-NEXT: }
3354// CHECK-NEXT: }
3355// CHECK-NEXT: }
3356// CHECK-NEXT: ]
3357// CHECK-NEXT: }
3358// CHECK-NEXT: ]
3359// CHECK-NEXT: },
3360// CHECK-NEXT: {
3361// CHECK-NEXT: "id": "0x{{.*}}",
3362// CHECK-NEXT: "kind": "OpaqueValueExpr",
3363// CHECK-NEXT: "range": {
3364// CHECK-NEXT: "begin": {
3365// CHECK-NEXT: "col": 7,
3366// CHECK-NEXT: "file": "{{.*}}",
3367// CHECK-NEXT: "line": 85
3368// CHECK-NEXT: },
3369// CHECK-NEXT: "end": {
3370// CHECK-NEXT: "col": 8,
3371// CHECK-NEXT: "file": "{{.*}}",
3372// CHECK-NEXT: "line": 85
3373// CHECK-NEXT: }
3374// CHECK-NEXT: },
3375// CHECK-NEXT: "type": {
3376// CHECK-NEXT: "qualType": "NSString *"
3377// CHECK-NEXT: },
3378// CHECK-NEXT: "valueCategory": "rvalue",
3379// CHECK-NEXT: "inner": [
3380// CHECK-NEXT: {
3381// CHECK-NEXT: "id": "0x{{.*}}",
3382// CHECK-NEXT: "kind": "ObjCStringLiteral",
3383// CHECK-NEXT: "range": {
3384// CHECK-NEXT: "begin": {
3385// CHECK-NEXT: "col": 7,
3386// CHECK-NEXT: "file": "{{.*}}",
3387// CHECK-NEXT: "line": 85
3388// CHECK-NEXT: },
3389// CHECK-NEXT: "end": {
3390// CHECK-NEXT: "col": 8,
3391// CHECK-NEXT: "file": "{{.*}}",
3392// CHECK-NEXT: "line": 85
3393// CHECK-NEXT: }
3394// CHECK-NEXT: },
3395// CHECK-NEXT: "type": {
3396// CHECK-NEXT: "qualType": "NSString *"
3397// CHECK-NEXT: },
3398// CHECK-NEXT: "valueCategory": "rvalue",
3399// CHECK-NEXT: "inner": [
3400// CHECK-NEXT: {
3401// CHECK-NEXT: "id": "0x{{.*}}",
3402// CHECK-NEXT: "kind": "StringLiteral",
3403// CHECK-NEXT: "range": {
3404// CHECK-NEXT: "begin": {
3405// CHECK-NEXT: "col": 8,
3406// CHECK-NEXT: "file": "{{.*}}",
3407// CHECK-NEXT: "line": 85
3408// CHECK-NEXT: },
3409// CHECK-NEXT: "end": {
3410// CHECK-NEXT: "col": 8,
3411// CHECK-NEXT: "file": "{{.*}}",
3412// CHECK-NEXT: "line": 85
3413// CHECK-NEXT: }
3414// CHECK-NEXT: },
3415// CHECK-NEXT: "type": {
3416// CHECK-NEXT: "qualType": "char [4]"
3417// CHECK-NEXT: },
3418// CHECK-NEXT: "valueCategory": "lvalue",
3419// CHECK-NEXT: "value": "\"key\""
3420// CHECK-NEXT: }
3421// CHECK-NEXT: ]
3422// CHECK-NEXT: }
3423// CHECK-NEXT: ]
3424// CHECK-NEXT: }
3425// CHECK-NEXT: ]
3426// CHECK-NEXT: },
3427// CHECK-NEXT: {
3428// CHECK-NEXT: "id": "0x{{.*}}",
3429// CHECK-NEXT: "kind": "OpaqueValueExpr",
3430// CHECK-NEXT: "range": {
3431// CHECK-NEXT: "begin": {
3432// CHECK-NEXT: "col": 17,
3433// CHECK-NEXT: "file": "{{.*}}",
3434// CHECK-NEXT: "line": 85
3435// CHECK-NEXT: },
3436// CHECK-NEXT: "end": {
3437// CHECK-NEXT: "col": 24,
3438// CHECK-NEXT: "file": "{{.*}}",
3439// CHECK-NEXT: "line": 85
3440// CHECK-NEXT: }
3441// CHECK-NEXT: },
3442// CHECK-NEXT: "type": {
3443// CHECK-NEXT: "qualType": "void *"
3444// CHECK-NEXT: },
3445// CHECK-NEXT: "valueCategory": "rvalue",
3446// CHECK-NEXT: "inner": [
3447// CHECK-NEXT: {
3448// CHECK-NEXT: "id": "0x{{.*}}",
3449// CHECK-NEXT: "kind": "CStyleCastExpr",
3450// CHECK-NEXT: "range": {
3451// CHECK-NEXT: "begin": {
3452// CHECK-NEXT: "col": 17,
3453// CHECK-NEXT: "file": "{{.*}}",
3454// CHECK-NEXT: "line": 85
3455// CHECK-NEXT: },
3456// CHECK-NEXT: "end": {
3457// CHECK-NEXT: "col": 24,
3458// CHECK-NEXT: "file": "{{.*}}",
3459// CHECK-NEXT: "line": 85
3460// CHECK-NEXT: }
3461// CHECK-NEXT: },
3462// CHECK-NEXT: "type": {
3463// CHECK-NEXT: "qualType": "void *"
3464// CHECK-NEXT: },
3465// CHECK-NEXT: "valueCategory": "rvalue",
3466// CHECK-NEXT: "castKind": "NullToPointer",
3467// CHECK-NEXT: "inner": [
3468// CHECK-NEXT: {
3469// CHECK-NEXT: "id": "0x{{.*}}",
3470// CHECK-NEXT: "kind": "IntegerLiteral",
3471// CHECK-NEXT: "range": {
3472// CHECK-NEXT: "begin": {
3473// CHECK-NEXT: "col": 24,
3474// CHECK-NEXT: "file": "{{.*}}",
3475// CHECK-NEXT: "line": 85
3476// CHECK-NEXT: },
3477// CHECK-NEXT: "end": {
3478// CHECK-NEXT: "col": 24,
3479// CHECK-NEXT: "file": "{{.*}}",
3480// CHECK-NEXT: "line": 85
3481// CHECK-NEXT: }
3482// CHECK-NEXT: },
3483// CHECK-NEXT: "type": {
3484// CHECK-NEXT: "qualType": "int"
3485// CHECK-NEXT: },
3486// CHECK-NEXT: "valueCategory": "rvalue",
3487// CHECK-NEXT: "value": "0"
3488// CHECK-NEXT: }
3489// CHECK-NEXT: ]
3490// CHECK-NEXT: }
3491// CHECK-NEXT: ]
3492// CHECK-NEXT: }
3493// CHECK-NEXT: ]
3494// CHECK-NEXT: },
3495// CHECK-NEXT: {
3496// CHECK-NEXT: "id": "0x{{.*}}",
3497// CHECK-NEXT: "kind": "OpaqueValueExpr",
3498// CHECK-NEXT: "range": {
3499// CHECK-NEXT: "begin": {
3500// CHECK-NEXT: "col": 2,
3501// CHECK-NEXT: "file": "{{.*}}",
3502// CHECK-NEXT: "line": 85
3503// CHECK-NEXT: },
3504// CHECK-NEXT: "end": {
3505// CHECK-NEXT: "col": 2,
3506// CHECK-NEXT: "file": "{{.*}}",
3507// CHECK-NEXT: "line": 85
3508// CHECK-NEXT: }
3509// CHECK-NEXT: },
3510// CHECK-NEXT: "type": {
3511// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3512// CHECK-NEXT: },
3513// CHECK-NEXT: "valueCategory": "rvalue",
3514// CHECK-NEXT: "inner": [
3515// CHECK-NEXT: {
3516// CHECK-NEXT: "id": "0x{{.*}}",
3517// CHECK-NEXT: "kind": "ImplicitCastExpr",
3518// CHECK-NEXT: "range": {
3519// CHECK-NEXT: "begin": {
3520// CHECK-NEXT: "col": 2,
3521// CHECK-NEXT: "file": "{{.*}}",
3522// CHECK-NEXT: "line": 85
3523// CHECK-NEXT: },
3524// CHECK-NEXT: "end": {
3525// CHECK-NEXT: "col": 2,
3526// CHECK-NEXT: "file": "{{.*}}",
3527// CHECK-NEXT: "line": 85
3528// CHECK-NEXT: }
3529// CHECK-NEXT: },
3530// CHECK-NEXT: "type": {
3531// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3532// CHECK-NEXT: },
3533// CHECK-NEXT: "valueCategory": "rvalue",
3534// CHECK-NEXT: "castKind": "LValueToRValue",
3535// CHECK-NEXT: "inner": [
3536// CHECK-NEXT: {
3537// CHECK-NEXT: "id": "0x{{.*}}",
3538// CHECK-NEXT: "kind": "DeclRefExpr",
3539// CHECK-NEXT: "range": {
3540// CHECK-NEXT: "begin": {
3541// CHECK-NEXT: "col": 2,
3542// CHECK-NEXT: "file": "{{.*}}",
3543// CHECK-NEXT: "line": 85
3544// CHECK-NEXT: },
3545// CHECK-NEXT: "end": {
3546// CHECK-NEXT: "col": 2,
3547// CHECK-NEXT: "file": "{{.*}}",
3548// CHECK-NEXT: "line": 85
3549// CHECK-NEXT: }
3550// CHECK-NEXT: },
3551// CHECK-NEXT: "type": {
3552// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3553// CHECK-NEXT: },
3554// CHECK-NEXT: "valueCategory": "lvalue",
3555// CHECK-NEXT: "referencedDecl": {
3556// CHECK-NEXT: "id": "0x{{.*}}",
3557// CHECK-NEXT: "kind": "ParmVarDecl",
3558// CHECK-NEXT: "name": "Dict",
3559// CHECK-NEXT: "type": {
3560// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3561// CHECK-NEXT: }
3562// CHECK-NEXT: }
3563// CHECK-NEXT: }
3564// CHECK-NEXT: ]
3565// CHECK-NEXT: }
3566// CHECK-NEXT: ]
3567// CHECK-NEXT: },
3568// CHECK-NEXT: {
3569// CHECK-NEXT: "id": "0x{{.*}}",
3570// CHECK-NEXT: "kind": "OpaqueValueExpr",
3571// CHECK-NEXT: "range": {
3572// CHECK-NEXT: "begin": {
3573// CHECK-NEXT: "col": 7,
3574// CHECK-NEXT: "file": "{{.*}}",
3575// CHECK-NEXT: "line": 85
3576// CHECK-NEXT: },
3577// CHECK-NEXT: "end": {
3578// CHECK-NEXT: "col": 8,
3579// CHECK-NEXT: "file": "{{.*}}",
3580// CHECK-NEXT: "line": 85
3581// CHECK-NEXT: }
3582// CHECK-NEXT: },
3583// CHECK-NEXT: "type": {
3584// CHECK-NEXT: "qualType": "NSString *"
3585// CHECK-NEXT: },
3586// CHECK-NEXT: "valueCategory": "rvalue",
3587// CHECK-NEXT: "inner": [
3588// CHECK-NEXT: {
3589// CHECK-NEXT: "id": "0x{{.*}}",
3590// CHECK-NEXT: "kind": "ObjCStringLiteral",
3591// CHECK-NEXT: "range": {
3592// CHECK-NEXT: "begin": {
3593// CHECK-NEXT: "col": 7,
3594// CHECK-NEXT: "file": "{{.*}}",
3595// CHECK-NEXT: "line": 85
3596// CHECK-NEXT: },
3597// CHECK-NEXT: "end": {
3598// CHECK-NEXT: "col": 8,
3599// CHECK-NEXT: "file": "{{.*}}",
3600// CHECK-NEXT: "line": 85
3601// CHECK-NEXT: }
3602// CHECK-NEXT: },
3603// CHECK-NEXT: "type": {
3604// CHECK-NEXT: "qualType": "NSString *"
3605// CHECK-NEXT: },
3606// CHECK-NEXT: "valueCategory": "rvalue",
3607// CHECK-NEXT: "inner": [
3608// CHECK-NEXT: {
3609// CHECK-NEXT: "id": "0x{{.*}}",
3610// CHECK-NEXT: "kind": "StringLiteral",
3611// CHECK-NEXT: "range": {
3612// CHECK-NEXT: "begin": {
3613// CHECK-NEXT: "col": 8,
3614// CHECK-NEXT: "file": "{{.*}}",
3615// CHECK-NEXT: "line": 85
3616// CHECK-NEXT: },
3617// CHECK-NEXT: "end": {
3618// CHECK-NEXT: "col": 8,
3619// CHECK-NEXT: "file": "{{.*}}",
3620// CHECK-NEXT: "line": 85
3621// CHECK-NEXT: }
3622// CHECK-NEXT: },
3623// CHECK-NEXT: "type": {
3624// CHECK-NEXT: "qualType": "char [4]"
3625// CHECK-NEXT: },
3626// CHECK-NEXT: "valueCategory": "lvalue",
3627// CHECK-NEXT: "value": "\"key\""
3628// CHECK-NEXT: }
3629// CHECK-NEXT: ]
3630// CHECK-NEXT: }
3631// CHECK-NEXT: ]
3632// CHECK-NEXT: },
3633// CHECK-NEXT: {
3634// CHECK-NEXT: "id": "0x{{.*}}",
3635// CHECK-NEXT: "kind": "OpaqueValueExpr",
3636// CHECK-NEXT: "range": {
3637// CHECK-NEXT: "begin": {
3638// CHECK-NEXT: "col": 17,
3639// CHECK-NEXT: "file": "{{.*}}",
3640// CHECK-NEXT: "line": 85
3641// CHECK-NEXT: },
3642// CHECK-NEXT: "end": {
3643// CHECK-NEXT: "col": 24,
3644// CHECK-NEXT: "file": "{{.*}}",
3645// CHECK-NEXT: "line": 85
3646// CHECK-NEXT: }
3647// CHECK-NEXT: },
3648// CHECK-NEXT: "type": {
3649// CHECK-NEXT: "qualType": "void *"
3650// CHECK-NEXT: },
3651// CHECK-NEXT: "valueCategory": "rvalue",
3652// CHECK-NEXT: "inner": [
3653// CHECK-NEXT: {
3654// CHECK-NEXT: "id": "0x{{.*}}",
3655// CHECK-NEXT: "kind": "CStyleCastExpr",
3656// CHECK-NEXT: "range": {
3657// CHECK-NEXT: "begin": {
3658// CHECK-NEXT: "col": 17,
3659// CHECK-NEXT: "file": "{{.*}}",
3660// CHECK-NEXT: "line": 85
3661// CHECK-NEXT: },
3662// CHECK-NEXT: "end": {
3663// CHECK-NEXT: "col": 24,
3664// CHECK-NEXT: "file": "{{.*}}",
3665// CHECK-NEXT: "line": 85
3666// CHECK-NEXT: }
3667// CHECK-NEXT: },
3668// CHECK-NEXT: "type": {
3669// CHECK-NEXT: "qualType": "void *"
3670// CHECK-NEXT: },
3671// CHECK-NEXT: "valueCategory": "rvalue",
3672// CHECK-NEXT: "castKind": "NullToPointer",
3673// CHECK-NEXT: "inner": [
3674// CHECK-NEXT: {
3675// CHECK-NEXT: "id": "0x{{.*}}",
3676// CHECK-NEXT: "kind": "IntegerLiteral",
3677// CHECK-NEXT: "range": {
3678// CHECK-NEXT: "begin": {
3679// CHECK-NEXT: "col": 24,
3680// CHECK-NEXT: "file": "{{.*}}",
3681// CHECK-NEXT: "line": 85
3682// CHECK-NEXT: },
3683// CHECK-NEXT: "end": {
3684// CHECK-NEXT: "col": 24,
3685// CHECK-NEXT: "file": "{{.*}}",
3686// CHECK-NEXT: "line": 85
3687// CHECK-NEXT: }
3688// CHECK-NEXT: },
3689// CHECK-NEXT: "type": {
3690// CHECK-NEXT: "qualType": "int"
3691// CHECK-NEXT: },
3692// CHECK-NEXT: "valueCategory": "rvalue",
3693// CHECK-NEXT: "value": "0"
3694// CHECK-NEXT: }
3695// CHECK-NEXT: ]
3696// CHECK-NEXT: }
3697// CHECK-NEXT: ]
3698// CHECK-NEXT: },
3699// CHECK-NEXT: {
3700// CHECK-NEXT: "id": "0x{{.*}}",
3701// CHECK-NEXT: "kind": "OpaqueValueExpr",
3702// CHECK-NEXT: "range": {
3703// CHECK-NEXT: "begin": {
3704// CHECK-NEXT: "col": 17,
3705// CHECK-NEXT: "file": "{{.*}}",
3706// CHECK-NEXT: "line": 85
3707// CHECK-NEXT: },
3708// CHECK-NEXT: "end": {
3709// CHECK-NEXT: "col": 24,
3710// CHECK-NEXT: "file": "{{.*}}",
3711// CHECK-NEXT: "line": 85
3712// CHECK-NEXT: }
3713// CHECK-NEXT: },
3714// CHECK-NEXT: "type": {
3715// CHECK-NEXT: "desugaredQualType": "id",
3716// CHECK-NEXT: "qualType": "id"
3717// CHECK-NEXT: },
3718// CHECK-NEXT: "valueCategory": "rvalue",
3719// CHECK-NEXT: "inner": [
3720// CHECK-NEXT: {
3721// CHECK-NEXT: "id": "0x{{.*}}",
3722// CHECK-NEXT: "kind": "ImplicitCastExpr",
3723// CHECK-NEXT: "range": {
3724// CHECK-NEXT: "begin": {
3725// CHECK-NEXT: "col": 17,
3726// CHECK-NEXT: "file": "{{.*}}",
3727// CHECK-NEXT: "line": 85
3728// CHECK-NEXT: },
3729// CHECK-NEXT: "end": {
3730// CHECK-NEXT: "col": 24,
3731// CHECK-NEXT: "file": "{{.*}}",
3732// CHECK-NEXT: "line": 85
3733// CHECK-NEXT: }
3734// CHECK-NEXT: },
3735// CHECK-NEXT: "type": {
3736// CHECK-NEXT: "desugaredQualType": "id",
3737// CHECK-NEXT: "qualType": "id"
3738// CHECK-NEXT: },
3739// CHECK-NEXT: "valueCategory": "rvalue",
3740// CHECK-NEXT: "castKind": "NullToPointer",
3741// CHECK-NEXT: "inner": [
3742// CHECK-NEXT: {
3743// CHECK-NEXT: "id": "0x{{.*}}",
3744// CHECK-NEXT: "kind": "OpaqueValueExpr",
3745// CHECK-NEXT: "range": {
3746// CHECK-NEXT: "begin": {
3747// CHECK-NEXT: "col": 17,
3748// CHECK-NEXT: "file": "{{.*}}",
3749// CHECK-NEXT: "line": 85
3750// CHECK-NEXT: },
3751// CHECK-NEXT: "end": {
3752// CHECK-NEXT: "col": 24,
3753// CHECK-NEXT: "file": "{{.*}}",
3754// CHECK-NEXT: "line": 85
3755// CHECK-NEXT: }
3756// CHECK-NEXT: },
3757// CHECK-NEXT: "type": {
3758// CHECK-NEXT: "qualType": "void *"
3759// CHECK-NEXT: },
3760// CHECK-NEXT: "valueCategory": "rvalue",
3761// CHECK-NEXT: "inner": [
3762// CHECK-NEXT: {
3763// CHECK-NEXT: "id": "0x{{.*}}",
3764// CHECK-NEXT: "kind": "CStyleCastExpr",
3765// CHECK-NEXT: "range": {
3766// CHECK-NEXT: "begin": {
3767// CHECK-NEXT: "col": 17,
3768// CHECK-NEXT: "file": "{{.*}}",
3769// CHECK-NEXT: "line": 85
3770// CHECK-NEXT: },
3771// CHECK-NEXT: "end": {
3772// CHECK-NEXT: "col": 24,
3773// CHECK-NEXT: "file": "{{.*}}",
3774// CHECK-NEXT: "line": 85
3775// CHECK-NEXT: }
3776// CHECK-NEXT: },
3777// CHECK-NEXT: "type": {
3778// CHECK-NEXT: "qualType": "void *"
3779// CHECK-NEXT: },
3780// CHECK-NEXT: "valueCategory": "rvalue",
3781// CHECK-NEXT: "castKind": "NullToPointer",
3782// CHECK-NEXT: "inner": [
3783// CHECK-NEXT: {
3784// CHECK-NEXT: "id": "0x{{.*}}",
3785// CHECK-NEXT: "kind": "IntegerLiteral",
3786// CHECK-NEXT: "range": {
3787// CHECK-NEXT: "begin": {
3788// CHECK-NEXT: "col": 24,
3789// CHECK-NEXT: "file": "{{.*}}",
3790// CHECK-NEXT: "line": 85
3791// CHECK-NEXT: },
3792// CHECK-NEXT: "end": {
3793// CHECK-NEXT: "col": 24,
3794// CHECK-NEXT: "file": "{{.*}}",
3795// CHECK-NEXT: "line": 85
3796// CHECK-NEXT: }
3797// CHECK-NEXT: },
3798// CHECK-NEXT: "type": {
3799// CHECK-NEXT: "qualType": "int"
3800// CHECK-NEXT: },
3801// CHECK-NEXT: "valueCategory": "rvalue",
3802// CHECK-NEXT: "value": "0"
3803// CHECK-NEXT: }
3804// CHECK-NEXT: ]
3805// CHECK-NEXT: }
3806// CHECK-NEXT: ]
3807// CHECK-NEXT: }
3808// CHECK-NEXT: ]
3809// CHECK-NEXT: }
3810// CHECK-NEXT: ]
3811// CHECK-NEXT: },
3812// CHECK-NEXT: {
3813// CHECK-NEXT: "id": "0x{{.*}}",
3814// CHECK-NEXT: "kind": "ObjCMessageExpr",
3815// CHECK-NEXT: "range": {
3816// CHECK-NEXT: "begin": {
3817// CHECK-NEXT: "col": 2,
3818// CHECK-NEXT: "file": "{{.*}}",
3819// CHECK-NEXT: "line": 85
3820// CHECK-NEXT: },
3821// CHECK-NEXT: "end": {
3822// CHECK-NEXT: "col": 2,
3823// CHECK-NEXT: "file": "{{.*}}",
3824// CHECK-NEXT: "line": 85
3825// CHECK-NEXT: }
3826// CHECK-NEXT: },
3827// CHECK-NEXT: "type": {
3828// CHECK-NEXT: "qualType": "void"
3829// CHECK-NEXT: },
3830// CHECK-NEXT: "valueCategory": "rvalue",
3831// CHECK-NEXT: "selector": "setObject:forKeyedSubscript:",
3832// CHECK-NEXT: "receiverKind": "instance",
3833// CHECK-NEXT: "inner": [
3834// CHECK-NEXT: {
3835// CHECK-NEXT: "id": "0x{{.*}}",
3836// CHECK-NEXT: "kind": "OpaqueValueExpr",
3837// CHECK-NEXT: "range": {
3838// CHECK-NEXT: "begin": {
3839// CHECK-NEXT: "col": 2,
3840// CHECK-NEXT: "file": "{{.*}}",
3841// CHECK-NEXT: "line": 85
3842// CHECK-NEXT: },
3843// CHECK-NEXT: "end": {
3844// CHECK-NEXT: "col": 2,
3845// CHECK-NEXT: "file": "{{.*}}",
3846// CHECK-NEXT: "line": 85
3847// CHECK-NEXT: }
3848// CHECK-NEXT: },
3849// CHECK-NEXT: "type": {
3850// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3851// CHECK-NEXT: },
3852// CHECK-NEXT: "valueCategory": "rvalue",
3853// CHECK-NEXT: "inner": [
3854// CHECK-NEXT: {
3855// CHECK-NEXT: "id": "0x{{.*}}",
3856// CHECK-NEXT: "kind": "ImplicitCastExpr",
3857// CHECK-NEXT: "range": {
3858// CHECK-NEXT: "begin": {
3859// CHECK-NEXT: "col": 2,
3860// CHECK-NEXT: "file": "{{.*}}",
3861// CHECK-NEXT: "line": 85
3862// CHECK-NEXT: },
3863// CHECK-NEXT: "end": {
3864// CHECK-NEXT: "col": 2,
3865// CHECK-NEXT: "file": "{{.*}}",
3866// CHECK-NEXT: "line": 85
3867// CHECK-NEXT: }
3868// CHECK-NEXT: },
3869// CHECK-NEXT: "type": {
3870// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3871// CHECK-NEXT: },
3872// CHECK-NEXT: "valueCategory": "rvalue",
3873// CHECK-NEXT: "castKind": "LValueToRValue",
3874// CHECK-NEXT: "inner": [
3875// CHECK-NEXT: {
3876// CHECK-NEXT: "id": "0x{{.*}}",
3877// CHECK-NEXT: "kind": "DeclRefExpr",
3878// CHECK-NEXT: "range": {
3879// CHECK-NEXT: "begin": {
3880// CHECK-NEXT: "col": 2,
3881// CHECK-NEXT: "file": "{{.*}}",
3882// CHECK-NEXT: "line": 85
3883// CHECK-NEXT: },
3884// CHECK-NEXT: "end": {
3885// CHECK-NEXT: "col": 2,
3886// CHECK-NEXT: "file": "{{.*}}",
3887// CHECK-NEXT: "line": 85
3888// CHECK-NEXT: }
3889// CHECK-NEXT: },
3890// CHECK-NEXT: "type": {
3891// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3892// CHECK-NEXT: },
3893// CHECK-NEXT: "valueCategory": "lvalue",
3894// CHECK-NEXT: "referencedDecl": {
3895// CHECK-NEXT: "id": "0x{{.*}}",
3896// CHECK-NEXT: "kind": "ParmVarDecl",
3897// CHECK-NEXT: "name": "Dict",
3898// CHECK-NEXT: "type": {
3899// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3900// CHECK-NEXT: }
3901// CHECK-NEXT: }
3902// CHECK-NEXT: }
3903// CHECK-NEXT: ]
3904// CHECK-NEXT: }
3905// CHECK-NEXT: ]
3906// CHECK-NEXT: },
3907// CHECK-NEXT: {
3908// CHECK-NEXT: "id": "0x{{.*}}",
3909// CHECK-NEXT: "kind": "OpaqueValueExpr",
3910// CHECK-NEXT: "range": {
3911// CHECK-NEXT: "begin": {
3912// CHECK-NEXT: "col": 17,
3913// CHECK-NEXT: "file": "{{.*}}",
3914// CHECK-NEXT: "line": 85
3915// CHECK-NEXT: },
3916// CHECK-NEXT: "end": {
3917// CHECK-NEXT: "col": 24,
3918// CHECK-NEXT: "file": "{{.*}}",
3919// CHECK-NEXT: "line": 85
3920// CHECK-NEXT: }
3921// CHECK-NEXT: },
3922// CHECK-NEXT: "type": {
3923// CHECK-NEXT: "desugaredQualType": "id",
3924// CHECK-NEXT: "qualType": "id"
3925// CHECK-NEXT: },
3926// CHECK-NEXT: "valueCategory": "rvalue",
3927// CHECK-NEXT: "inner": [
3928// CHECK-NEXT: {
3929// CHECK-NEXT: "id": "0x{{.*}}",
3930// CHECK-NEXT: "kind": "ImplicitCastExpr",
3931// CHECK-NEXT: "range": {
3932// CHECK-NEXT: "begin": {
3933// CHECK-NEXT: "col": 17,
3934// CHECK-NEXT: "file": "{{.*}}",
3935// CHECK-NEXT: "line": 85
3936// CHECK-NEXT: },
3937// CHECK-NEXT: "end": {
3938// CHECK-NEXT: "col": 24,
3939// CHECK-NEXT: "file": "{{.*}}",
3940// CHECK-NEXT: "line": 85
3941// CHECK-NEXT: }
3942// CHECK-NEXT: },
3943// CHECK-NEXT: "type": {
3944// CHECK-NEXT: "desugaredQualType": "id",
3945// CHECK-NEXT: "qualType": "id"
3946// CHECK-NEXT: },
3947// CHECK-NEXT: "valueCategory": "rvalue",
3948// CHECK-NEXT: "castKind": "NullToPointer",
3949// CHECK-NEXT: "inner": [
3950// CHECK-NEXT: {
3951// CHECK-NEXT: "id": "0x{{.*}}",
3952// CHECK-NEXT: "kind": "OpaqueValueExpr",
3953// CHECK-NEXT: "range": {
3954// CHECK-NEXT: "begin": {
3955// CHECK-NEXT: "col": 17,
3956// CHECK-NEXT: "file": "{{.*}}",
3957// CHECK-NEXT: "line": 85
3958// CHECK-NEXT: },
3959// CHECK-NEXT: "end": {
3960// CHECK-NEXT: "col": 24,
3961// CHECK-NEXT: "file": "{{.*}}",
3962// CHECK-NEXT: "line": 85
3963// CHECK-NEXT: }
3964// CHECK-NEXT: },
3965// CHECK-NEXT: "type": {
3966// CHECK-NEXT: "qualType": "void *"
3967// CHECK-NEXT: },
3968// CHECK-NEXT: "valueCategory": "rvalue",
3969// CHECK-NEXT: "inner": [
3970// CHECK-NEXT: {
3971// CHECK-NEXT: "id": "0x{{.*}}",
3972// CHECK-NEXT: "kind": "CStyleCastExpr",
3973// CHECK-NEXT: "range": {
3974// CHECK-NEXT: "begin": {
3975// CHECK-NEXT: "col": 17,
3976// CHECK-NEXT: "file": "{{.*}}",
3977// CHECK-NEXT: "line": 85
3978// CHECK-NEXT: },
3979// CHECK-NEXT: "end": {
3980// CHECK-NEXT: "col": 24,
3981// CHECK-NEXT: "file": "{{.*}}",
3982// CHECK-NEXT: "line": 85
3983// CHECK-NEXT: }
3984// CHECK-NEXT: },
3985// CHECK-NEXT: "type": {
3986// CHECK-NEXT: "qualType": "void *"
3987// CHECK-NEXT: },
3988// CHECK-NEXT: "valueCategory": "rvalue",
3989// CHECK-NEXT: "castKind": "NullToPointer",
3990// CHECK-NEXT: "inner": [
3991// CHECK-NEXT: {
3992// CHECK-NEXT: "id": "0x{{.*}}",
3993// CHECK-NEXT: "kind": "IntegerLiteral",
3994// CHECK-NEXT: "range": {
3995// CHECK-NEXT: "begin": {
3996// CHECK-NEXT: "col": 24,
3997// CHECK-NEXT: "file": "{{.*}}",
3998// CHECK-NEXT: "line": 85
3999// CHECK-NEXT: },
4000// CHECK-NEXT: "end": {
4001// CHECK-NEXT: "col": 24,
4002// CHECK-NEXT: "file": "{{.*}}",
4003// CHECK-NEXT: "line": 85
4004// CHECK-NEXT: }
4005// CHECK-NEXT: },
4006// CHECK-NEXT: "type": {
4007// CHECK-NEXT: "qualType": "int"
4008// CHECK-NEXT: },
4009// CHECK-NEXT: "valueCategory": "rvalue",
4010// CHECK-NEXT: "value": "0"
4011// CHECK-NEXT: }
4012// CHECK-NEXT: ]
4013// CHECK-NEXT: }
4014// CHECK-NEXT: ]
4015// CHECK-NEXT: }
4016// CHECK-NEXT: ]
4017// CHECK-NEXT: }
4018// CHECK-NEXT: ]
4019// CHECK-NEXT: },
4020// CHECK-NEXT: {
4021// CHECK-NEXT: "id": "0x{{.*}}",
4022// CHECK-NEXT: "kind": "ImplicitCastExpr",
4023// CHECK-NEXT: "range": {
4024// CHECK-NEXT: "begin": {
4025// CHECK-NEXT: "col": 7,
4026// CHECK-NEXT: "file": "{{.*}}",
4027// CHECK-NEXT: "line": 85
4028// CHECK-NEXT: },
4029// CHECK-NEXT: "end": {
4030// CHECK-NEXT: "col": 8,
4031// CHECK-NEXT: "file": "{{.*}}",
4032// CHECK-NEXT: "line": 85
4033// CHECK-NEXT: }
4034// CHECK-NEXT: },
4035// CHECK-NEXT: "type": {
4036// CHECK-NEXT: "desugaredQualType": "id",
4037// CHECK-NEXT: "qualType": "id"
4038// CHECK-NEXT: },
4039// CHECK-NEXT: "valueCategory": "rvalue",
4040// CHECK-NEXT: "castKind": "BitCast",
4041// CHECK-NEXT: "inner": [
4042// CHECK-NEXT: {
4043// CHECK-NEXT: "id": "0x{{.*}}",
4044// CHECK-NEXT: "kind": "OpaqueValueExpr",
4045// CHECK-NEXT: "range": {
4046// CHECK-NEXT: "begin": {
4047// CHECK-NEXT: "col": 7,
4048// CHECK-NEXT: "file": "{{.*}}",
4049// CHECK-NEXT: "line": 85
4050// CHECK-NEXT: },
4051// CHECK-NEXT: "end": {
4052// CHECK-NEXT: "col": 8,
4053// CHECK-NEXT: "file": "{{.*}}",
4054// CHECK-NEXT: "line": 85
4055// CHECK-NEXT: }
4056// CHECK-NEXT: },
4057// CHECK-NEXT: "type": {
4058// CHECK-NEXT: "qualType": "NSString *"
4059// CHECK-NEXT: },
4060// CHECK-NEXT: "valueCategory": "rvalue",
4061// CHECK-NEXT: "inner": [
4062// CHECK-NEXT: {
4063// CHECK-NEXT: "id": "0x{{.*}}",
4064// CHECK-NEXT: "kind": "ObjCStringLiteral",
4065// CHECK-NEXT: "range": {
4066// CHECK-NEXT: "begin": {
4067// CHECK-NEXT: "col": 7,
4068// CHECK-NEXT: "file": "{{.*}}",
4069// CHECK-NEXT: "line": 85
4070// CHECK-NEXT: },
4071// CHECK-NEXT: "end": {
4072// CHECK-NEXT: "col": 8,
4073// CHECK-NEXT: "file": "{{.*}}",
4074// CHECK-NEXT: "line": 85
4075// CHECK-NEXT: }
4076// CHECK-NEXT: },
4077// CHECK-NEXT: "type": {
4078// CHECK-NEXT: "qualType": "NSString *"
4079// CHECK-NEXT: },
4080// CHECK-NEXT: "valueCategory": "rvalue",
4081// CHECK-NEXT: "inner": [
4082// CHECK-NEXT: {
4083// CHECK-NEXT: "id": "0x{{.*}}",
4084// CHECK-NEXT: "kind": "StringLiteral",
4085// CHECK-NEXT: "range": {
4086// CHECK-NEXT: "begin": {
4087// CHECK-NEXT: "col": 8,
4088// CHECK-NEXT: "file": "{{.*}}",
4089// CHECK-NEXT: "line": 85
4090// CHECK-NEXT: },
4091// CHECK-NEXT: "end": {
4092// CHECK-NEXT: "col": 8,
4093// CHECK-NEXT: "file": "{{.*}}",
4094// CHECK-NEXT: "line": 85
4095// CHECK-NEXT: }
4096// CHECK-NEXT: },
4097// CHECK-NEXT: "type": {
4098// CHECK-NEXT: "qualType": "char [4]"
4099// CHECK-NEXT: },
4100// CHECK-NEXT: "valueCategory": "lvalue",
4101// CHECK-NEXT: "value": "\"key\""
4102// CHECK-NEXT: }
4103// CHECK-NEXT: ]
4104// CHECK-NEXT: }
4105// CHECK-NEXT: ]
4106// CHECK-NEXT: }
4107// CHECK-NEXT: ]
4108// CHECK-NEXT: }
4109// CHECK-NEXT: ]
4110// CHECK-NEXT: }
4111// CHECK-NEXT: ]
4112// CHECK-NEXT: },
4113// CHECK-NEXT: {
4114// CHECK-NEXT: "id": "0x{{.*}}",
4115// CHECK-NEXT: "kind": "BinaryOperator",
4116// CHECK-NEXT: "range": {
4117// CHECK-NEXT: "begin": {
4118// CHECK-NEXT: "col": 2,
4119// CHECK-NEXT: "file": "{{.*}}",
4120// CHECK-NEXT: "line": 86
4121// CHECK-NEXT: },
4122// CHECK-NEXT: "end": {
4123// CHECK-NEXT: "col": 17,
4124// CHECK-NEXT: "file": "{{.*}}",
4125// CHECK-NEXT: "line": 86
4126// CHECK-NEXT: }
4127// CHECK-NEXT: },
4128// CHECK-NEXT: "type": {
4129// CHECK-NEXT: "desugaredQualType": "id",
4130// CHECK-NEXT: "qualType": "id"
4131// CHECK-NEXT: },
4132// CHECK-NEXT: "valueCategory": "rvalue",
4133// CHECK-NEXT: "opcode": "=",
4134// CHECK-NEXT: "inner": [
4135// CHECK-NEXT: {
4136// CHECK-NEXT: "id": "0x{{.*}}",
4137// CHECK-NEXT: "kind": "DeclRefExpr",
4138// CHECK-NEXT: "range": {
4139// CHECK-NEXT: "begin": {
4140// CHECK-NEXT: "col": 2,
4141// CHECK-NEXT: "file": "{{.*}}",
4142// CHECK-NEXT: "line": 86
4143// CHECK-NEXT: },
4144// CHECK-NEXT: "end": {
4145// CHECK-NEXT: "col": 2,
4146// CHECK-NEXT: "file": "{{.*}}",
4147// CHECK-NEXT: "line": 86
4148// CHECK-NEXT: }
4149// CHECK-NEXT: },
4150// CHECK-NEXT: "type": {
4151// CHECK-NEXT: "desugaredQualType": "id",
4152// CHECK-NEXT: "qualType": "id"
4153// CHECK-NEXT: },
4154// CHECK-NEXT: "valueCategory": "lvalue",
4155// CHECK-NEXT: "referencedDecl": {
4156// CHECK-NEXT: "id": "0x{{.*}}",
4157// CHECK-NEXT: "kind": "VarDecl",
4158// CHECK-NEXT: "name": "i",
4159// CHECK-NEXT: "type": {
4160// CHECK-NEXT: "desugaredQualType": "id",
4161// CHECK-NEXT: "qualType": "id"
4162// CHECK-NEXT: }
4163// CHECK-NEXT: }
4164// CHECK-NEXT: },
4165// CHECK-NEXT: {
4166// CHECK-NEXT: "id": "0x{{.*}}",
4167// CHECK-NEXT: "kind": "PseudoObjectExpr",
4168// CHECK-NEXT: "range": {
4169// CHECK-NEXT: "begin": {
4170// CHECK-NEXT: "col": 6,
4171// CHECK-NEXT: "file": "{{.*}}",
4172// CHECK-NEXT: "line": 86
4173// CHECK-NEXT: },
4174// CHECK-NEXT: "end": {
4175// CHECK-NEXT: "col": 17,
4176// CHECK-NEXT: "file": "{{.*}}",
4177// CHECK-NEXT: "line": 86
4178// CHECK-NEXT: }
4179// CHECK-NEXT: },
4180// CHECK-NEXT: "type": {
4181// CHECK-NEXT: "desugaredQualType": "id",
4182// CHECK-NEXT: "qualType": "id"
4183// CHECK-NEXT: },
4184// CHECK-NEXT: "valueCategory": "rvalue",
4185// CHECK-NEXT: "inner": [
4186// CHECK-NEXT: {
4187// CHECK-NEXT: "id": "0x{{.*}}",
4188// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
4189// CHECK-NEXT: "range": {
4190// CHECK-NEXT: "begin": {
4191// CHECK-NEXT: "col": 6,
4192// CHECK-NEXT: "file": "{{.*}}",
4193// CHECK-NEXT: "line": 86
4194// CHECK-NEXT: },
4195// CHECK-NEXT: "end": {
4196// CHECK-NEXT: "col": 17,
4197// CHECK-NEXT: "file": "{{.*}}",
4198// CHECK-NEXT: "line": 86
4199// CHECK-NEXT: }
4200// CHECK-NEXT: },
4201// CHECK-NEXT: "type": {
4202// CHECK-NEXT: "qualType": "<pseudo-object type>"
4203// CHECK-NEXT: },
4204// CHECK-NEXT: "valueCategory": "lvalue",
4205// CHECK-NEXT: "subscriptKind": "dictionary",
4206// CHECK-NEXT: "inner": [
4207// CHECK-NEXT: {
4208// CHECK-NEXT: "id": "0x{{.*}}",
4209// CHECK-NEXT: "kind": "OpaqueValueExpr",
4210// CHECK-NEXT: "range": {
4211// CHECK-NEXT: "begin": {
4212// CHECK-NEXT: "col": 6,
4213// CHECK-NEXT: "file": "{{.*}}",
4214// CHECK-NEXT: "line": 86
4215// CHECK-NEXT: },
4216// CHECK-NEXT: "end": {
4217// CHECK-NEXT: "col": 6,
4218// CHECK-NEXT: "file": "{{.*}}",
4219// CHECK-NEXT: "line": 86
4220// CHECK-NEXT: }
4221// CHECK-NEXT: },
4222// CHECK-NEXT: "type": {
4223// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4224// CHECK-NEXT: },
4225// CHECK-NEXT: "valueCategory": "rvalue",
4226// CHECK-NEXT: "inner": [
4227// CHECK-NEXT: {
4228// CHECK-NEXT: "id": "0x{{.*}}",
4229// CHECK-NEXT: "kind": "ImplicitCastExpr",
4230// CHECK-NEXT: "range": {
4231// CHECK-NEXT: "begin": {
4232// CHECK-NEXT: "col": 6,
4233// CHECK-NEXT: "file": "{{.*}}",
4234// CHECK-NEXT: "line": 86
4235// CHECK-NEXT: },
4236// CHECK-NEXT: "end": {
4237// CHECK-NEXT: "col": 6,
4238// CHECK-NEXT: "file": "{{.*}}",
4239// CHECK-NEXT: "line": 86
4240// CHECK-NEXT: }
4241// CHECK-NEXT: },
4242// CHECK-NEXT: "type": {
4243// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4244// CHECK-NEXT: },
4245// CHECK-NEXT: "valueCategory": "rvalue",
4246// CHECK-NEXT: "castKind": "LValueToRValue",
4247// CHECK-NEXT: "inner": [
4248// CHECK-NEXT: {
4249// CHECK-NEXT: "id": "0x{{.*}}",
4250// CHECK-NEXT: "kind": "DeclRefExpr",
4251// CHECK-NEXT: "range": {
4252// CHECK-NEXT: "begin": {
4253// CHECK-NEXT: "col": 6,
4254// CHECK-NEXT: "file": "{{.*}}",
4255// CHECK-NEXT: "line": 86
4256// CHECK-NEXT: },
4257// CHECK-NEXT: "end": {
4258// CHECK-NEXT: "col": 6,
4259// CHECK-NEXT: "file": "{{.*}}",
4260// CHECK-NEXT: "line": 86
4261// CHECK-NEXT: }
4262// CHECK-NEXT: },
4263// CHECK-NEXT: "type": {
4264// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4265// CHECK-NEXT: },
4266// CHECK-NEXT: "valueCategory": "lvalue",
4267// CHECK-NEXT: "referencedDecl": {
4268// CHECK-NEXT: "id": "0x{{.*}}",
4269// CHECK-NEXT: "kind": "ParmVarDecl",
4270// CHECK-NEXT: "name": "Dict",
4271// CHECK-NEXT: "type": {
4272// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4273// CHECK-NEXT: }
4274// CHECK-NEXT: }
4275// CHECK-NEXT: }
4276// CHECK-NEXT: ]
4277// CHECK-NEXT: }
4278// CHECK-NEXT: ]
4279// CHECK-NEXT: },
4280// CHECK-NEXT: {
4281// CHECK-NEXT: "id": "0x{{.*}}",
4282// CHECK-NEXT: "kind": "OpaqueValueExpr",
4283// CHECK-NEXT: "range": {
4284// CHECK-NEXT: "begin": {
4285// CHECK-NEXT: "col": 11,
4286// CHECK-NEXT: "file": "{{.*}}",
4287// CHECK-NEXT: "line": 86
4288// CHECK-NEXT: },
4289// CHECK-NEXT: "end": {
4290// CHECK-NEXT: "col": 12,
4291// CHECK-NEXT: "file": "{{.*}}",
4292// CHECK-NEXT: "line": 86
4293// CHECK-NEXT: }
4294// CHECK-NEXT: },
4295// CHECK-NEXT: "type": {
4296// CHECK-NEXT: "qualType": "NSString *"
4297// CHECK-NEXT: },
4298// CHECK-NEXT: "valueCategory": "rvalue",
4299// CHECK-NEXT: "inner": [
4300// CHECK-NEXT: {
4301// CHECK-NEXT: "id": "0x{{.*}}",
4302// CHECK-NEXT: "kind": "ObjCStringLiteral",
4303// CHECK-NEXT: "range": {
4304// CHECK-NEXT: "begin": {
4305// CHECK-NEXT: "col": 11,
4306// CHECK-NEXT: "file": "{{.*}}",
4307// CHECK-NEXT: "line": 86
4308// CHECK-NEXT: },
4309// CHECK-NEXT: "end": {
4310// CHECK-NEXT: "col": 12,
4311// CHECK-NEXT: "file": "{{.*}}",
4312// CHECK-NEXT: "line": 86
4313// CHECK-NEXT: }
4314// CHECK-NEXT: },
4315// CHECK-NEXT: "type": {
4316// CHECK-NEXT: "qualType": "NSString *"
4317// CHECK-NEXT: },
4318// CHECK-NEXT: "valueCategory": "rvalue",
4319// CHECK-NEXT: "inner": [
4320// CHECK-NEXT: {
4321// CHECK-NEXT: "id": "0x{{.*}}",
4322// CHECK-NEXT: "kind": "StringLiteral",
4323// CHECK-NEXT: "range": {
4324// CHECK-NEXT: "begin": {
4325// CHECK-NEXT: "col": 12,
4326// CHECK-NEXT: "file": "{{.*}}",
4327// CHECK-NEXT: "line": 86
4328// CHECK-NEXT: },
4329// CHECK-NEXT: "end": {
4330// CHECK-NEXT: "col": 12,
4331// CHECK-NEXT: "file": "{{.*}}",
4332// CHECK-NEXT: "line": 86
4333// CHECK-NEXT: }
4334// CHECK-NEXT: },
4335// CHECK-NEXT: "type": {
4336// CHECK-NEXT: "qualType": "char [4]"
4337// CHECK-NEXT: },
4338// CHECK-NEXT: "valueCategory": "lvalue",
4339// CHECK-NEXT: "value": "\"key\""
4340// CHECK-NEXT: }
4341// CHECK-NEXT: ]
4342// CHECK-NEXT: }
4343// CHECK-NEXT: ]
4344// CHECK-NEXT: }
4345// CHECK-NEXT: ]
4346// CHECK-NEXT: },
4347// CHECK-NEXT: {
4348// CHECK-NEXT: "id": "0x{{.*}}",
4349// CHECK-NEXT: "kind": "OpaqueValueExpr",
4350// CHECK-NEXT: "range": {
4351// CHECK-NEXT: "begin": {
4352// CHECK-NEXT: "col": 6,
4353// CHECK-NEXT: "file": "{{.*}}",
4354// CHECK-NEXT: "line": 86
4355// CHECK-NEXT: },
4356// CHECK-NEXT: "end": {
4357// CHECK-NEXT: "col": 6,
4358// CHECK-NEXT: "file": "{{.*}}",
4359// CHECK-NEXT: "line": 86
4360// CHECK-NEXT: }
4361// CHECK-NEXT: },
4362// CHECK-NEXT: "type": {
4363// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4364// CHECK-NEXT: },
4365// CHECK-NEXT: "valueCategory": "rvalue",
4366// CHECK-NEXT: "inner": [
4367// CHECK-NEXT: {
4368// CHECK-NEXT: "id": "0x{{.*}}",
4369// CHECK-NEXT: "kind": "ImplicitCastExpr",
4370// CHECK-NEXT: "range": {
4371// CHECK-NEXT: "begin": {
4372// CHECK-NEXT: "col": 6,
4373// CHECK-NEXT: "file": "{{.*}}",
4374// CHECK-NEXT: "line": 86
4375// CHECK-NEXT: },
4376// CHECK-NEXT: "end": {
4377// CHECK-NEXT: "col": 6,
4378// CHECK-NEXT: "file": "{{.*}}",
4379// CHECK-NEXT: "line": 86
4380// CHECK-NEXT: }
4381// CHECK-NEXT: },
4382// CHECK-NEXT: "type": {
4383// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4384// CHECK-NEXT: },
4385// CHECK-NEXT: "valueCategory": "rvalue",
4386// CHECK-NEXT: "castKind": "LValueToRValue",
4387// CHECK-NEXT: "inner": [
4388// CHECK-NEXT: {
4389// CHECK-NEXT: "id": "0x{{.*}}",
4390// CHECK-NEXT: "kind": "DeclRefExpr",
4391// CHECK-NEXT: "range": {
4392// CHECK-NEXT: "begin": {
4393// CHECK-NEXT: "col": 6,
4394// CHECK-NEXT: "file": "{{.*}}",
4395// CHECK-NEXT: "line": 86
4396// CHECK-NEXT: },
4397// CHECK-NEXT: "end": {
4398// CHECK-NEXT: "col": 6,
4399// CHECK-NEXT: "file": "{{.*}}",
4400// CHECK-NEXT: "line": 86
4401// CHECK-NEXT: }
4402// CHECK-NEXT: },
4403// CHECK-NEXT: "type": {
4404// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4405// CHECK-NEXT: },
4406// CHECK-NEXT: "valueCategory": "lvalue",
4407// CHECK-NEXT: "referencedDecl": {
4408// CHECK-NEXT: "id": "0x{{.*}}",
4409// CHECK-NEXT: "kind": "ParmVarDecl",
4410// CHECK-NEXT: "name": "Dict",
4411// CHECK-NEXT: "type": {
4412// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4413// CHECK-NEXT: }
4414// CHECK-NEXT: }
4415// CHECK-NEXT: }
4416// CHECK-NEXT: ]
4417// CHECK-NEXT: }
4418// CHECK-NEXT: ]
4419// CHECK-NEXT: },
4420// CHECK-NEXT: {
4421// CHECK-NEXT: "id": "0x{{.*}}",
4422// CHECK-NEXT: "kind": "OpaqueValueExpr",
4423// CHECK-NEXT: "range": {
4424// CHECK-NEXT: "begin": {
4425// CHECK-NEXT: "col": 11,
4426// CHECK-NEXT: "file": "{{.*}}",
4427// CHECK-NEXT: "line": 86
4428// CHECK-NEXT: },
4429// CHECK-NEXT: "end": {
4430// CHECK-NEXT: "col": 12,
4431// CHECK-NEXT: "file": "{{.*}}",
4432// CHECK-NEXT: "line": 86
4433// CHECK-NEXT: }
4434// CHECK-NEXT: },
4435// CHECK-NEXT: "type": {
4436// CHECK-NEXT: "qualType": "NSString *"
4437// CHECK-NEXT: },
4438// CHECK-NEXT: "valueCategory": "rvalue",
4439// CHECK-NEXT: "inner": [
4440// CHECK-NEXT: {
4441// CHECK-NEXT: "id": "0x{{.*}}",
4442// CHECK-NEXT: "kind": "ObjCStringLiteral",
4443// CHECK-NEXT: "range": {
4444// CHECK-NEXT: "begin": {
4445// CHECK-NEXT: "col": 11,
4446// CHECK-NEXT: "file": "{{.*}}",
4447// CHECK-NEXT: "line": 86
4448// CHECK-NEXT: },
4449// CHECK-NEXT: "end": {
4450// CHECK-NEXT: "col": 12,
4451// CHECK-NEXT: "file": "{{.*}}",
4452// CHECK-NEXT: "line": 86
4453// CHECK-NEXT: }
4454// CHECK-NEXT: },
4455// CHECK-NEXT: "type": {
4456// CHECK-NEXT: "qualType": "NSString *"
4457// CHECK-NEXT: },
4458// CHECK-NEXT: "valueCategory": "rvalue",
4459// CHECK-NEXT: "inner": [
4460// CHECK-NEXT: {
4461// CHECK-NEXT: "id": "0x{{.*}}",
4462// CHECK-NEXT: "kind": "StringLiteral",
4463// CHECK-NEXT: "range": {
4464// CHECK-NEXT: "begin": {
4465// CHECK-NEXT: "col": 12,
4466// CHECK-NEXT: "file": "{{.*}}",
4467// CHECK-NEXT: "line": 86
4468// CHECK-NEXT: },
4469// CHECK-NEXT: "end": {
4470// CHECK-NEXT: "col": 12,
4471// CHECK-NEXT: "file": "{{.*}}",
4472// CHECK-NEXT: "line": 86
4473// CHECK-NEXT: }
4474// CHECK-NEXT: },
4475// CHECK-NEXT: "type": {
4476// CHECK-NEXT: "qualType": "char [4]"
4477// CHECK-NEXT: },
4478// CHECK-NEXT: "valueCategory": "lvalue",
4479// CHECK-NEXT: "value": "\"key\""
4480// CHECK-NEXT: }
4481// CHECK-NEXT: ]
4482// CHECK-NEXT: }
4483// CHECK-NEXT: ]
4484// CHECK-NEXT: },
4485// CHECK-NEXT: {
4486// CHECK-NEXT: "id": "0x{{.*}}",
4487// CHECK-NEXT: "kind": "ObjCMessageExpr",
4488// CHECK-NEXT: "range": {
4489// CHECK-NEXT: "begin": {
4490// CHECK-NEXT: "col": 6,
4491// CHECK-NEXT: "file": "{{.*}}",
4492// CHECK-NEXT: "line": 86
4493// CHECK-NEXT: },
4494// CHECK-NEXT: "end": {
4495// CHECK-NEXT: "col": 6,
4496// CHECK-NEXT: "file": "{{.*}}",
4497// CHECK-NEXT: "line": 86
4498// CHECK-NEXT: }
4499// CHECK-NEXT: },
4500// CHECK-NEXT: "type": {
4501// CHECK-NEXT: "desugaredQualType": "id",
4502// CHECK-NEXT: "qualType": "id"
4503// CHECK-NEXT: },
4504// CHECK-NEXT: "valueCategory": "rvalue",
4505// CHECK-NEXT: "selector": "objectForKeyedSubscript:",
4506// CHECK-NEXT: "receiverKind": "instance",
4507// CHECK-NEXT: "inner": [
4508// CHECK-NEXT: {
4509// CHECK-NEXT: "id": "0x{{.*}}",
4510// CHECK-NEXT: "kind": "OpaqueValueExpr",
4511// CHECK-NEXT: "range": {
4512// CHECK-NEXT: "begin": {
4513// CHECK-NEXT: "col": 6,
4514// CHECK-NEXT: "file": "{{.*}}",
4515// CHECK-NEXT: "line": 86
4516// CHECK-NEXT: },
4517// CHECK-NEXT: "end": {
4518// CHECK-NEXT: "col": 6,
4519// CHECK-NEXT: "file": "{{.*}}",
4520// CHECK-NEXT: "line": 86
4521// CHECK-NEXT: }
4522// CHECK-NEXT: },
4523// CHECK-NEXT: "type": {
4524// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4525// CHECK-NEXT: },
4526// CHECK-NEXT: "valueCategory": "rvalue",
4527// CHECK-NEXT: "inner": [
4528// CHECK-NEXT: {
4529// CHECK-NEXT: "id": "0x{{.*}}",
4530// CHECK-NEXT: "kind": "ImplicitCastExpr",
4531// CHECK-NEXT: "range": {
4532// CHECK-NEXT: "begin": {
4533// CHECK-NEXT: "col": 6,
4534// CHECK-NEXT: "file": "{{.*}}",
4535// CHECK-NEXT: "line": 86
4536// CHECK-NEXT: },
4537// CHECK-NEXT: "end": {
4538// CHECK-NEXT: "col": 6,
4539// CHECK-NEXT: "file": "{{.*}}",
4540// CHECK-NEXT: "line": 86
4541// CHECK-NEXT: }
4542// CHECK-NEXT: },
4543// CHECK-NEXT: "type": {
4544// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4545// CHECK-NEXT: },
4546// CHECK-NEXT: "valueCategory": "rvalue",
4547// CHECK-NEXT: "castKind": "LValueToRValue",
4548// CHECK-NEXT: "inner": [
4549// CHECK-NEXT: {
4550// CHECK-NEXT: "id": "0x{{.*}}",
4551// CHECK-NEXT: "kind": "DeclRefExpr",
4552// CHECK-NEXT: "range": {
4553// CHECK-NEXT: "begin": {
4554// CHECK-NEXT: "col": 6,
4555// CHECK-NEXT: "file": "{{.*}}",
4556// CHECK-NEXT: "line": 86
4557// CHECK-NEXT: },
4558// CHECK-NEXT: "end": {
4559// CHECK-NEXT: "col": 6,
4560// CHECK-NEXT: "file": "{{.*}}",
4561// CHECK-NEXT: "line": 86
4562// CHECK-NEXT: }
4563// CHECK-NEXT: },
4564// CHECK-NEXT: "type": {
4565// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4566// CHECK-NEXT: },
4567// CHECK-NEXT: "valueCategory": "lvalue",
4568// CHECK-NEXT: "referencedDecl": {
4569// CHECK-NEXT: "id": "0x{{.*}}",
4570// CHECK-NEXT: "kind": "ParmVarDecl",
4571// CHECK-NEXT: "name": "Dict",
4572// CHECK-NEXT: "type": {
4573// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4574// CHECK-NEXT: }
4575// CHECK-NEXT: }
4576// CHECK-NEXT: }
4577// CHECK-NEXT: ]
4578// CHECK-NEXT: }
4579// CHECK-NEXT: ]
4580// CHECK-NEXT: },
4581// CHECK-NEXT: {
4582// CHECK-NEXT: "id": "0x{{.*}}",
4583// CHECK-NEXT: "kind": "ImplicitCastExpr",
4584// CHECK-NEXT: "range": {
4585// CHECK-NEXT: "begin": {
4586// CHECK-NEXT: "col": 11,
4587// CHECK-NEXT: "file": "{{.*}}",
4588// CHECK-NEXT: "line": 86
4589// CHECK-NEXT: },
4590// CHECK-NEXT: "end": {
4591// CHECK-NEXT: "col": 12,
4592// CHECK-NEXT: "file": "{{.*}}",
4593// CHECK-NEXT: "line": 86
4594// CHECK-NEXT: }
4595// CHECK-NEXT: },
4596// CHECK-NEXT: "type": {
4597// CHECK-NEXT: "desugaredQualType": "id",
4598// CHECK-NEXT: "qualType": "id"
4599// CHECK-NEXT: },
4600// CHECK-NEXT: "valueCategory": "rvalue",
4601// CHECK-NEXT: "castKind": "BitCast",
4602// CHECK-NEXT: "inner": [
4603// CHECK-NEXT: {
4604// CHECK-NEXT: "id": "0x{{.*}}",
4605// CHECK-NEXT: "kind": "OpaqueValueExpr",
4606// CHECK-NEXT: "range": {
4607// CHECK-NEXT: "begin": {
4608// CHECK-NEXT: "col": 11,
4609// CHECK-NEXT: "file": "{{.*}}",
4610// CHECK-NEXT: "line": 86
4611// CHECK-NEXT: },
4612// CHECK-NEXT: "end": {
4613// CHECK-NEXT: "col": 12,
4614// CHECK-NEXT: "file": "{{.*}}",
4615// CHECK-NEXT: "line": 86
4616// CHECK-NEXT: }
4617// CHECK-NEXT: },
4618// CHECK-NEXT: "type": {
4619// CHECK-NEXT: "qualType": "NSString *"
4620// CHECK-NEXT: },
4621// CHECK-NEXT: "valueCategory": "rvalue",
4622// CHECK-NEXT: "inner": [
4623// CHECK-NEXT: {
4624// CHECK-NEXT: "id": "0x{{.*}}",
4625// CHECK-NEXT: "kind": "ObjCStringLiteral",
4626// CHECK-NEXT: "range": {
4627// CHECK-NEXT: "begin": {
4628// CHECK-NEXT: "col": 11,
4629// CHECK-NEXT: "file": "{{.*}}",
4630// CHECK-NEXT: "line": 86
4631// CHECK-NEXT: },
4632// CHECK-NEXT: "end": {
4633// CHECK-NEXT: "col": 12,
4634// CHECK-NEXT: "file": "{{.*}}",
4635// CHECK-NEXT: "line": 86
4636// CHECK-NEXT: }
4637// CHECK-NEXT: },
4638// CHECK-NEXT: "type": {
4639// CHECK-NEXT: "qualType": "NSString *"
4640// CHECK-NEXT: },
4641// CHECK-NEXT: "valueCategory": "rvalue",
4642// CHECK-NEXT: "inner": [
4643// CHECK-NEXT: {
4644// CHECK-NEXT: "id": "0x{{.*}}",
4645// CHECK-NEXT: "kind": "StringLiteral",
4646// CHECK-NEXT: "range": {
4647// CHECK-NEXT: "begin": {
4648// CHECK-NEXT: "col": 12,
4649// CHECK-NEXT: "file": "{{.*}}",
4650// CHECK-NEXT: "line": 86
4651// CHECK-NEXT: },
4652// CHECK-NEXT: "end": {
4653// CHECK-NEXT: "col": 12,
4654// CHECK-NEXT: "file": "{{.*}}",
4655// CHECK-NEXT: "line": 86
4656// CHECK-NEXT: }
4657// CHECK-NEXT: },
4658// CHECK-NEXT: "type": {
4659// CHECK-NEXT: "qualType": "char [4]"
4660// CHECK-NEXT: },
4661// CHECK-NEXT: "valueCategory": "lvalue",
4662// CHECK-NEXT: "value": "\"key\""
4663// CHECK-NEXT: }
4664// CHECK-NEXT: ]
4665// CHECK-NEXT: }
4666// CHECK-NEXT: ]
4667// CHECK-NEXT: }
4668// CHECK-NEXT: ]
4669// CHECK-NEXT: }
4670// CHECK-NEXT: ]
4671// CHECK-NEXT: }
4672// CHECK-NEXT: ]
4673// CHECK-NEXT: }
4674// CHECK-NEXT: ]
4675// CHECK-NEXT: }
4676// CHECK-NEXT: ]
4677// CHECK-NEXT: }
4678// CHECK-NEXT: ]
4679// CHECK-NEXT: }
4680
4681
4682// CHECK: "kind": "FunctionDecl",
4683// CHECK-NEXT: "loc": {
4684// CHECK-NEXT: "col": 6,
4685// CHECK-NEXT: "file": "{{.*}}",
4686// CHECK-NEXT: "line": 89
4687// CHECK-NEXT: },
4688// CHECK-NEXT: "range": {
4689// CHECK-NEXT: "begin": {
4690// CHECK-NEXT: "col": 1,
4691// CHECK-NEXT: "file": "{{.*}}",
4692// CHECK-NEXT: "line": 89
4693// CHECK-NEXT: },
4694// CHECK-NEXT: "end": {
4695// CHECK-NEXT: "col": 1,
4696// CHECK-NEXT: "file": "{{.*}}",
4697// CHECK-NEXT: "line": 91
4698// CHECK-NEXT: }
4699// CHECK-NEXT: },
4700// CHECK-NEXT: "name": "TestObjCIVarRef",
4701// CHECK-NEXT: "type": {
4702// CHECK-NEXT: "qualType": "void (I *)"
4703// CHECK-NEXT: },
4704// CHECK-NEXT: "inner": [
4705// CHECK-NEXT: {
4706// CHECK-NEXT: "id": "0x{{.*}}",
4707// CHECK-NEXT: "kind": "ParmVarDecl",
4708// CHECK-NEXT: "loc": {
4709// CHECK-NEXT: "col": 25,
4710// CHECK-NEXT: "file": "{{.*}}",
4711// CHECK-NEXT: "line": 89
4712// CHECK-NEXT: },
4713// CHECK-NEXT: "range": {
4714// CHECK-NEXT: "begin": {
4715// CHECK-NEXT: "col": 22,
4716// CHECK-NEXT: "file": "{{.*}}",
4717// CHECK-NEXT: "line": 89
4718// CHECK-NEXT: },
4719// CHECK-NEXT: "end": {
4720// CHECK-NEXT: "col": 25,
4721// CHECK-NEXT: "file": "{{.*}}",
4722// CHECK-NEXT: "line": 89
4723// CHECK-NEXT: }
4724// CHECK-NEXT: },
4725// CHECK-NEXT: "isUsed": true,
4726// CHECK-NEXT: "name": "Ptr",
4727// CHECK-NEXT: "type": {
4728// CHECK-NEXT: "qualType": "I *"
4729// CHECK-NEXT: }
4730// CHECK-NEXT: },
4731// CHECK-NEXT: {
4732// CHECK-NEXT: "id": "0x{{.*}}",
4733// CHECK-NEXT: "kind": "CompoundStmt",
4734// CHECK-NEXT: "range": {
4735// CHECK-NEXT: "begin": {
4736// CHECK-NEXT: "col": 30,
4737// CHECK-NEXT: "file": "{{.*}}",
4738// CHECK-NEXT: "line": 89
4739// CHECK-NEXT: },
4740// CHECK-NEXT: "end": {
4741// CHECK-NEXT: "col": 1,
4742// CHECK-NEXT: "file": "{{.*}}",
4743// CHECK-NEXT: "line": 91
4744// CHECK-NEXT: }
4745// CHECK-NEXT: },
4746// CHECK-NEXT: "inner": [
4747// CHECK-NEXT: {
4748// CHECK-NEXT: "id": "0x{{.*}}",
4749// CHECK-NEXT: "kind": "BinaryOperator",
4750// CHECK-NEXT: "range": {
4751// CHECK-NEXT: "begin": {
4752// CHECK-NEXT: "col": 3,
4753// CHECK-NEXT: "file": "{{.*}}",
4754// CHECK-NEXT: "line": 90
4755// CHECK-NEXT: },
4756// CHECK-NEXT: "end": {
4757// CHECK-NEXT: "col": 17,
4758// CHECK-NEXT: "file": "{{.*}}",
4759// CHECK-NEXT: "line": 90
4760// CHECK-NEXT: }
4761// CHECK-NEXT: },
4762// CHECK-NEXT: "type": {
4763// CHECK-NEXT: "qualType": "int"
4764// CHECK-NEXT: },
4765// CHECK-NEXT: "valueCategory": "rvalue",
4766// CHECK-NEXT: "opcode": "=",
4767// CHECK-NEXT: "inner": [
4768// CHECK-NEXT: {
4769// CHECK-NEXT: "id": "0x{{.*}}",
4770// CHECK-NEXT: "kind": "ObjCIvarRefExpr",
4771// CHECK-NEXT: "range": {
4772// CHECK-NEXT: "begin": {
4773// CHECK-NEXT: "col": 3,
4774// CHECK-NEXT: "file": "{{.*}}",
4775// CHECK-NEXT: "line": 90
4776// CHECK-NEXT: },
4777// CHECK-NEXT: "end": {
4778// CHECK-NEXT: "col": 8,
4779// CHECK-NEXT: "file": "{{.*}}",
4780// CHECK-NEXT: "line": 90
4781// CHECK-NEXT: }
4782// CHECK-NEXT: },
4783// CHECK-NEXT: "type": {
4784// CHECK-NEXT: "qualType": "int"
4785// CHECK-NEXT: },
4786// CHECK-NEXT: "valueCategory": "lvalue",
4787// CHECK-NEXT: "decl": {
4788// CHECK-NEXT: "id": "0x{{.*}}",
4789// CHECK-NEXT: "kind": "ObjCIvarDecl",
4790// CHECK-NEXT: "name": "public",
4791// CHECK-NEXT: "type": {
4792// CHECK-NEXT: "qualType": "int"
4793// CHECK-NEXT: }
4794// CHECK-NEXT: },
4795// CHECK-NEXT: "isArrow": true,
4796// CHECK-NEXT: "inner": [
4797// CHECK-NEXT: {
4798// CHECK-NEXT: "id": "0x{{.*}}",
4799// CHECK-NEXT: "kind": "ImplicitCastExpr",
4800// CHECK-NEXT: "range": {
4801// CHECK-NEXT: "begin": {
4802// CHECK-NEXT: "col": 3,
4803// CHECK-NEXT: "file": "{{.*}}",
4804// CHECK-NEXT: "line": 90
4805// CHECK-NEXT: },
4806// CHECK-NEXT: "end": {
4807// CHECK-NEXT: "col": 3,
4808// CHECK-NEXT: "file": "{{.*}}",
4809// CHECK-NEXT: "line": 90
4810// CHECK-NEXT: }
4811// CHECK-NEXT: },
4812// CHECK-NEXT: "type": {
4813// CHECK-NEXT: "qualType": "I *"
4814// CHECK-NEXT: },
4815// CHECK-NEXT: "valueCategory": "rvalue",
4816// CHECK-NEXT: "castKind": "LValueToRValue",
4817// CHECK-NEXT: "inner": [
4818// CHECK-NEXT: {
4819// CHECK-NEXT: "id": "0x{{.*}}",
4820// CHECK-NEXT: "kind": "DeclRefExpr",
4821// CHECK-NEXT: "range": {
4822// CHECK-NEXT: "begin": {
4823// CHECK-NEXT: "col": 3,
4824// CHECK-NEXT: "file": "{{.*}}",
4825// CHECK-NEXT: "line": 90
4826// CHECK-NEXT: },
4827// CHECK-NEXT: "end": {
4828// CHECK-NEXT: "col": 3,
4829// CHECK-NEXT: "file": "{{.*}}",
4830// CHECK-NEXT: "line": 90
4831// CHECK-NEXT: }
4832// CHECK-NEXT: },
4833// CHECK-NEXT: "type": {
4834// CHECK-NEXT: "qualType": "I *"
4835// CHECK-NEXT: },
4836// CHECK-NEXT: "valueCategory": "lvalue",
4837// CHECK-NEXT: "referencedDecl": {
4838// CHECK-NEXT: "id": "0x{{.*}}",
4839// CHECK-NEXT: "kind": "ParmVarDecl",
4840// CHECK-NEXT: "name": "Ptr",
4841// CHECK-NEXT: "type": {
4842// CHECK-NEXT: "qualType": "I *"
4843// CHECK-NEXT: }
4844// CHECK-NEXT: }
4845// CHECK-NEXT: }
4846// CHECK-NEXT: ]
4847// CHECK-NEXT: }
4848// CHECK-NEXT: ]
4849// CHECK-NEXT: },
4850// CHECK-NEXT: {
4851// CHECK-NEXT: "id": "0x{{.*}}",
4852// CHECK-NEXT: "kind": "IntegerLiteral",
4853// CHECK-NEXT: "range": {
4854// CHECK-NEXT: "begin": {
4855// CHECK-NEXT: "col": 17,
4856// CHECK-NEXT: "file": "{{.*}}",
4857// CHECK-NEXT: "line": 90
4858// CHECK-NEXT: },
4859// CHECK-NEXT: "end": {
4860// CHECK-NEXT: "col": 17,
4861// CHECK-NEXT: "file": "{{.*}}",
4862// CHECK-NEXT: "line": 90
4863// CHECK-NEXT: }
4864// CHECK-NEXT: },
4865// CHECK-NEXT: "type": {
4866// CHECK-NEXT: "qualType": "int"
4867// CHECK-NEXT: },
4868// CHECK-NEXT: "valueCategory": "rvalue",
4869// CHECK-NEXT: "value": "0"
4870// CHECK-NEXT: }
4871// CHECK-NEXT: ]
4872// CHECK-NEXT: }
4873// CHECK-NEXT: ]
4874// CHECK-NEXT: }
4875// CHECK-NEXT: ]
4876// CHECK-NEXT: }
4877
4878
4879// CHECK: "kind": "FunctionDecl",
4880// CHECK-NEXT: "loc": {
4881// CHECK-NEXT: "col": 6,
4882// CHECK-NEXT: "file": "{{.*}}",
4883// CHECK-NEXT: "line": 93
4884// CHECK-NEXT: },
4885// CHECK-NEXT: "range": {
4886// CHECK-NEXT: "begin": {
4887// CHECK-NEXT: "col": 1,
4888// CHECK-NEXT: "file": "{{.*}}",
4889// CHECK-NEXT: "line": 93
4890// CHECK-NEXT: },
4891// CHECK-NEXT: "end": {
4892// CHECK-NEXT: "col": 1,
4893// CHECK-NEXT: "file": "{{.*}}",
4894// CHECK-NEXT: "line": 96
4895// CHECK-NEXT: }
4896// CHECK-NEXT: },
4897// CHECK-NEXT: "name": "TestObjCBoolLiteral",
4898// CHECK-NEXT: "type": {
4899// CHECK-NEXT: "qualType": "void ()"
4900// CHECK-NEXT: },
4901// CHECK-NEXT: "inner": [
4902// CHECK-NEXT: {
4903// CHECK-NEXT: "id": "0x{{.*}}",
4904// CHECK-NEXT: "kind": "CompoundStmt",
4905// CHECK-NEXT: "range": {
4906// CHECK-NEXT: "begin": {
4907// CHECK-NEXT: "col": 28,
4908// CHECK-NEXT: "file": "{{.*}}",
4909// CHECK-NEXT: "line": 93
4910// CHECK-NEXT: },
4911// CHECK-NEXT: "end": {
4912// CHECK-NEXT: "col": 1,
4913// CHECK-NEXT: "file": "{{.*}}",
4914// CHECK-NEXT: "line": 96
4915// CHECK-NEXT: }
4916// CHECK-NEXT: },
4917// CHECK-NEXT: "inner": [
4918// CHECK-NEXT: {
4919// CHECK-NEXT: "id": "0x{{.*}}",
4920// CHECK-NEXT: "kind": "ObjCBoolLiteralExpr",
4921// CHECK-NEXT: "range": {
4922// CHECK-NEXT: "begin": {
4923// CHECK-NEXT: "col": 3,
4924// CHECK-NEXT: "file": "{{.*}}",
4925// CHECK-NEXT: "line": 94
4926// CHECK-NEXT: },
4927// CHECK-NEXT: "end": {
4928// CHECK-NEXT: "col": 3,
4929// CHECK-NEXT: "file": "{{.*}}",
4930// CHECK-NEXT: "line": 94
4931// CHECK-NEXT: }
4932// CHECK-NEXT: },
4933// CHECK-NEXT: "type": {
4934// CHECK-NEXT: "desugaredQualType": "signed char",
4935// CHECK-NEXT: "qualType": "BOOL"
4936// CHECK-NEXT: },
4937// CHECK-NEXT: "valueCategory": "rvalue",
4938// CHECK-NEXT: "value": "__objc_yes"
4939// CHECK-NEXT: },
4940// CHECK-NEXT: {
4941// CHECK-NEXT: "id": "0x{{.*}}",
4942// CHECK-NEXT: "kind": "ObjCBoolLiteralExpr",
4943// CHECK-NEXT: "range": {
4944// CHECK-NEXT: "begin": {
4945// CHECK-NEXT: "col": 3,
4946// CHECK-NEXT: "file": "{{.*}}",
4947// CHECK-NEXT: "line": 95
4948// CHECK-NEXT: },
4949// CHECK-NEXT: "end": {
4950// CHECK-NEXT: "col": 3,
4951// CHECK-NEXT: "file": "{{.*}}",
4952// CHECK-NEXT: "line": 95
4953// CHECK-NEXT: }
4954// CHECK-NEXT: },
4955// CHECK-NEXT: "type": {
4956// CHECK-NEXT: "desugaredQualType": "signed char",
4957// CHECK-NEXT: "qualType": "BOOL"
4958// CHECK-NEXT: },
4959// CHECK-NEXT: "valueCategory": "rvalue",
4960// CHECK-NEXT: "value": "__objc_no"
4961// CHECK-NEXT: }
4962// CHECK-NEXT: ]
4963// CHECK-NEXT: }
4964// CHECK-NEXT: ]
4965// CHECK-NEXT: }