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