blob: 6b6e51fe59767de692974a88f45915b39b1018bf [file] [log] [blame]
Aaron Ballman75e23f82019-06-20 21:45:31 +00001// RUN: %clang_cc1 -triple x86_64-pc-win32 -Wno-unused -fblocks -ast-dump=json -ast-dump-filter Test %s | FileCheck %s
2
3typedef long NSInteger;
4typedef unsigned long NSUInteger;
5typedef signed char BOOL;
6
7@interface NSNumber
8@end
9@interface NSNumber (NSNumberCreation)
10+ (NSNumber *)numberWithChar:(char)value;
11+ (NSNumber *)numberWithUnsignedChar:(unsigned char)value;
12+ (NSNumber *)numberWithShort:(short)value;
13+ (NSNumber *)numberWithUnsignedShort:(unsigned short)value;
14+ (NSNumber *)numberWithInt:(int)value;
15+ (NSNumber *)numberWithUnsignedInt:(unsigned int)value;
16+ (NSNumber *)numberWithLong:(long)value;
17+ (NSNumber *)numberWithUnsignedLong:(unsigned long)value;
18+ (NSNumber *)numberWithLongLong:(long long)value;
19+ (NSNumber *)numberWithUnsignedLongLong:(unsigned long long)value;
20+ (NSNumber *)numberWithFloat:(float)value;
21+ (NSNumber *)numberWithDouble:(double)value;
22+ (NSNumber *)numberWithBool:(BOOL)value;
23+ (NSNumber *)numberWithInteger:(NSInteger)value;
24+ (NSNumber *)numberWithUnsignedInteger:(NSUInteger)value;
25@end
26
27@interface I
28{
29@public
30 int public;
31}
32- (int) conformsToProtocol : (Protocol *)protocl;
33- (void)method1;
34+ (void)method2;
35@end
36
37@interface J
38@property unsigned prop;
39@end
40
41@protocol Proto
42@end
43
44@interface NSMutableDictionary
45- (id)objectForKeyedSubscript:(id)key;
46- (void)setObject:(id)object forKeyedSubscript:(id)key;
47@end
48
49@interface NSMutableArray
50- (id)objectAtIndexedSubscript:(int)index;
51- (void)setObject:(id)object atIndexedSubscript:(int)index;
52@end
53
54void TestObjCEncode() {
55 @encode(int);
56 @encode(typeof(^{;}));
57}
58
59void TestObjCMessage(I *Obj) {
60 [Obj method1];
61 [I method2];
62}
63
64void TestObjCBoxed() {
65 @(1 + 1);
66}
67
68void TestObjCSelector() {
69 SEL s = @selector(dealloc);
70}
71
72void TestObjCProtocol(id Obj) {
73 [Obj conformsToProtocol:@protocol(Proto)];
74}
75
76void TestObjCPropertyRef(J *Obj) {
77 Obj.prop = 12;
78 int i = Obj.prop;
79}
80
81void TestObjCSubscriptRef(NSMutableArray *Array, NSMutableDictionary *Dict) {
82 Array[0] = (void*)0;
83 id i = Array[0];
84
85 Dict[@"key"] = (void*)0;
86 i = Dict[@"key"];
87}
88
89void TestObjCIVarRef(I *Ptr) {
90 Ptr->public = 0;
91}
92
93void TestObjCBoolLiteral() {
94 __objc_yes;
95 __objc_no;
96}
97
Aaron Ballman60294f92019-06-21 14:37:39 +000098// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
99
Aaron Ballman75e23f82019-06-20 21:45:31 +0000100
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000101// CHECK: "kind": "FunctionDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000102// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000103// CHECK-NEXT: "offset": 1506,
104// CHECK-NEXT: "file": "{{.*}}",
105// CHECK-NEXT: "line": 54,
106// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +0000107// CHECK-NEXT: "tokLen": 14
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000108// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000109// CHECK-NEXT: "range": {
110// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000111// CHECK-NEXT: "offset": 1501,
112// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000113// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000114// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000115// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000116// CHECK-NEXT: "offset": 1566,
117// CHECK-NEXT: "line": 57,
118// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000119// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000120// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000121// CHECK-NEXT: },
122// CHECK-NEXT: "name": "TestObjCEncode",
Alex Richardson3c3048c2019-11-15 12:33:16 +0000123// CHECK-NEXT: "mangledName": "TestObjCEncode",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000124// CHECK-NEXT: "type": {
125// CHECK-NEXT: "qualType": "void ()"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000126// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000127// CHECK-NEXT: "inner": [
128// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000129// CHECK-NEXT: "id": "0x{{.*}}",
130// CHECK-NEXT: "kind": "CompoundStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000131// CHECK-NEXT: "range": {
132// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000133// CHECK-NEXT: "offset": 1523,
134// CHECK-NEXT: "line": 54,
135// CHECK-NEXT: "col": 23,
Aaron Ballmana612e342019-06-24 20:07:11 +0000136// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000137// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000138// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000139// CHECK-NEXT: "offset": 1566,
140// CHECK-NEXT: "line": 57,
141// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000142// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000143// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000144// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000145// CHECK-NEXT: "inner": [
146// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000147// CHECK-NEXT: "id": "0x{{.*}}",
148// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000149// CHECK-NEXT: "range": {
150// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000151// CHECK-NEXT: "offset": 1527,
152// CHECK-NEXT: "line": 55,
153// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000154// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000155// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000156// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000157// CHECK-NEXT: "offset": 1538,
158// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +0000159// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000160// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000161// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000162// CHECK-NEXT: "type": {
163// CHECK-NEXT: "qualType": "char *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000164// CHECK-NEXT: },
165// CHECK-NEXT: "valueCategory": "rvalue",
166// CHECK-NEXT: "castKind": "ArrayToPointerDecay",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000167// CHECK-NEXT: "inner": [
168// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000169// CHECK-NEXT: "id": "0x{{.*}}",
170// CHECK-NEXT: "kind": "ObjCEncodeExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000171// CHECK-NEXT: "range": {
172// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000173// CHECK-NEXT: "offset": 1527,
174// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000175// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000176// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000177// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000178// CHECK-NEXT: "offset": 1538,
179// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +0000180// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000181// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000182// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000183// CHECK-NEXT: "type": {
184// CHECK-NEXT: "qualType": "char [2]"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000185// CHECK-NEXT: },
186// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000187// CHECK-NEXT: "encodedType": {
188// CHECK-NEXT: "qualType": "int"
189// CHECK-NEXT: }
190// CHECK-NEXT: }
191// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000192// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000193// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000194// CHECK-NEXT: "id": "0x{{.*}}",
195// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000196// CHECK-NEXT: "range": {
197// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000198// CHECK-NEXT: "offset": 1543,
199// CHECK-NEXT: "line": 56,
200// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000201// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000202// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000203// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000204// CHECK-NEXT: "offset": 1563,
205// CHECK-NEXT: "col": 23,
Aaron Ballmana612e342019-06-24 20:07:11 +0000206// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000207// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000208// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000209// CHECK-NEXT: "type": {
210// CHECK-NEXT: "qualType": "char *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000211// CHECK-NEXT: },
212// CHECK-NEXT: "valueCategory": "rvalue",
213// CHECK-NEXT: "castKind": "ArrayToPointerDecay",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000214// CHECK-NEXT: "inner": [
215// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000216// CHECK-NEXT: "id": "0x{{.*}}",
217// CHECK-NEXT: "kind": "ObjCEncodeExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000218// CHECK-NEXT: "range": {
219// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000220// CHECK-NEXT: "offset": 1543,
221// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000222// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000223// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000224// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000225// CHECK-NEXT: "offset": 1563,
226// CHECK-NEXT: "col": 23,
Aaron Ballmana612e342019-06-24 20:07:11 +0000227// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000228// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000229// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000230// CHECK-NEXT: "type": {
231// CHECK-NEXT: "qualType": "char [3]"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000232// CHECK-NEXT: },
233// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000234// CHECK-NEXT: "encodedType": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000235// CHECK-NEXT: "desugaredQualType": "void (^)(void)",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000236// CHECK-NEXT: "qualType": "typeof (^{ })"
237// CHECK-NEXT: }
238// CHECK-NEXT: }
239// CHECK-NEXT: ]
240// CHECK-NEXT: }
241// CHECK-NEXT: ]
242// CHECK-NEXT: }
243// CHECK-NEXT: ]
244// CHECK-NEXT: }
245
246
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000247// CHECK: "kind": "FunctionDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000248// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000249// CHECK-NEXT: "offset": 1574,
250// CHECK-NEXT: "file": "{{.*}}",
251// CHECK-NEXT: "line": 59,
252// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +0000253// CHECK-NEXT: "tokLen": 15
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000254// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000255// CHECK-NEXT: "range": {
256// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000257// CHECK-NEXT: "offset": 1569,
258// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000259// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000260// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000261// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000262// CHECK-NEXT: "offset": 1632,
263// CHECK-NEXT: "line": 62,
264// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000265// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000266// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000267// CHECK-NEXT: },
268// CHECK-NEXT: "name": "TestObjCMessage",
Alex Richardson3c3048c2019-11-15 12:33:16 +0000269// CHECK-NEXT: "mangledName": "TestObjCMessage",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000270// CHECK-NEXT: "type": {
271// CHECK-NEXT: "qualType": "void (I *)"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000272// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000273// CHECK-NEXT: "inner": [
274// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000275// CHECK-NEXT: "id": "0x{{.*}}",
276// CHECK-NEXT: "kind": "ParmVarDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000277// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000278// CHECK-NEXT: "offset": 1593,
279// CHECK-NEXT: "line": 59,
280// CHECK-NEXT: "col": 25,
Aaron Ballmana612e342019-06-24 20:07:11 +0000281// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000282// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000283// CHECK-NEXT: "range": {
284// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000285// CHECK-NEXT: "offset": 1590,
286// CHECK-NEXT: "col": 22,
Aaron Ballmana612e342019-06-24 20:07:11 +0000287// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000288// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000289// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000290// CHECK-NEXT: "offset": 1593,
291// CHECK-NEXT: "col": 25,
Aaron Ballmana612e342019-06-24 20:07:11 +0000292// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000293// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000294// CHECK-NEXT: },
295// CHECK-NEXT: "isUsed": true,
296// CHECK-NEXT: "name": "Obj",
Alex Richardson3c3048c2019-11-15 12:33:16 +0000297// CHECK-NEXT: "mangledName": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000298// CHECK-NEXT: "type": {
299// CHECK-NEXT: "qualType": "I *"
300// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000301// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000302// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000303// CHECK-NEXT: "id": "0x{{.*}}",
304// CHECK-NEXT: "kind": "CompoundStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000305// CHECK-NEXT: "range": {
306// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000307// CHECK-NEXT: "offset": 1598,
308// CHECK-NEXT: "col": 30,
Aaron Ballmana612e342019-06-24 20:07:11 +0000309// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000310// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000311// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000312// CHECK-NEXT: "offset": 1632,
313// CHECK-NEXT: "line": 62,
314// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000315// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000316// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000317// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000318// CHECK-NEXT: "inner": [
319// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000320// CHECK-NEXT: "id": "0x{{.*}}",
321// CHECK-NEXT: "kind": "ObjCMessageExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000322// CHECK-NEXT: "range": {
323// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000324// CHECK-NEXT: "offset": 1602,
325// CHECK-NEXT: "line": 60,
326// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000327// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000328// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000329// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000330// CHECK-NEXT: "offset": 1614,
331// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +0000332// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000333// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000334// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000335// CHECK-NEXT: "type": {
336// CHECK-NEXT: "qualType": "void"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000337// CHECK-NEXT: },
338// CHECK-NEXT: "valueCategory": "rvalue",
339// CHECK-NEXT: "selector": "method1",
340// CHECK-NEXT: "receiverKind": "instance",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000341// CHECK-NEXT: "inner": [
342// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000343// CHECK-NEXT: "id": "0x{{.*}}",
344// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000345// CHECK-NEXT: "range": {
346// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000347// CHECK-NEXT: "offset": 1603,
348// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000349// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000350// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000351// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000352// CHECK-NEXT: "offset": 1603,
353// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000354// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000355// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000356// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000357// CHECK-NEXT: "type": {
358// CHECK-NEXT: "qualType": "I *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000359// CHECK-NEXT: },
360// CHECK-NEXT: "valueCategory": "rvalue",
361// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000362// CHECK-NEXT: "inner": [
363// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000364// CHECK-NEXT: "id": "0x{{.*}}",
365// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000366// CHECK-NEXT: "range": {
367// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000368// CHECK-NEXT: "offset": 1603,
369// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000370// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000371// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000372// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000373// CHECK-NEXT: "offset": 1603,
374// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000375// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000376// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000377// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000378// CHECK-NEXT: "type": {
379// CHECK-NEXT: "qualType": "I *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000380// CHECK-NEXT: },
381// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000382// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000383// CHECK-NEXT: "id": "0x{{.*}}",
384// CHECK-NEXT: "kind": "ParmVarDecl",
385// CHECK-NEXT: "name": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000386// CHECK-NEXT: "type": {
387// CHECK-NEXT: "qualType": "I *"
388// CHECK-NEXT: }
389// CHECK-NEXT: }
390// CHECK-NEXT: }
391// CHECK-NEXT: ]
392// CHECK-NEXT: }
393// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000394// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000395// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000396// CHECK-NEXT: "id": "0x{{.*}}",
397// CHECK-NEXT: "kind": "ObjCMessageExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000398// CHECK-NEXT: "range": {
399// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000400// CHECK-NEXT: "offset": 1619,
401// CHECK-NEXT: "line": 61,
402// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000403// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000404// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000405// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000406// CHECK-NEXT: "offset": 1629,
407// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +0000408// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000409// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000410// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000411// CHECK-NEXT: "type": {
412// CHECK-NEXT: "qualType": "void"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000413// CHECK-NEXT: },
414// CHECK-NEXT: "valueCategory": "rvalue",
415// CHECK-NEXT: "selector": "method2",
416// CHECK-NEXT: "receiverKind": "class",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000417// CHECK-NEXT: "classType": {
418// CHECK-NEXT: "qualType": "I"
419// CHECK-NEXT: }
420// CHECK-NEXT: }
421// CHECK-NEXT: ]
422// CHECK-NEXT: }
423// CHECK-NEXT: ]
424// CHECK-NEXT: }
425
426
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000427// CHECK: "kind": "FunctionDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000428// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000429// CHECK-NEXT: "offset": 1640,
430// CHECK-NEXT: "file": "{{.*}}",
431// CHECK-NEXT: "line": 64,
432// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +0000433// CHECK-NEXT: "tokLen": 13
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000434// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000435// CHECK-NEXT: "range": {
436// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000437// CHECK-NEXT: "offset": 1635,
438// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000439// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000440// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000441// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000442// CHECK-NEXT: "offset": 1670,
443// CHECK-NEXT: "line": 66,
444// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000445// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000446// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000447// CHECK-NEXT: },
448// CHECK-NEXT: "name": "TestObjCBoxed",
Alex Richardson3c3048c2019-11-15 12:33:16 +0000449// CHECK-NEXT: "mangledName": "TestObjCBoxed",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000450// CHECK-NEXT: "type": {
451// CHECK-NEXT: "qualType": "void ()"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000452// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000453// CHECK-NEXT: "inner": [
454// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000455// CHECK-NEXT: "id": "0x{{.*}}",
456// CHECK-NEXT: "kind": "CompoundStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000457// CHECK-NEXT: "range": {
458// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000459// CHECK-NEXT: "offset": 1656,
460// CHECK-NEXT: "line": 64,
461// CHECK-NEXT: "col": 22,
Aaron Ballmana612e342019-06-24 20:07:11 +0000462// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000463// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000464// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000465// CHECK-NEXT: "offset": 1670,
466// CHECK-NEXT: "line": 66,
467// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000468// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000469// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000470// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000471// CHECK-NEXT: "inner": [
472// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000473// CHECK-NEXT: "id": "0x{{.*}}",
474// CHECK-NEXT: "kind": "ObjCBoxedExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000475// CHECK-NEXT: "range": {
476// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000477// CHECK-NEXT: "offset": 1660,
478// CHECK-NEXT: "line": 65,
479// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000480// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000481// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000482// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000483// CHECK-NEXT: "offset": 1667,
484// CHECK-NEXT: "col": 10,
Aaron Ballmana612e342019-06-24 20:07:11 +0000485// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000486// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000487// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000488// CHECK-NEXT: "type": {
489// CHECK-NEXT: "qualType": "NSNumber *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000490// CHECK-NEXT: },
491// CHECK-NEXT: "valueCategory": "rvalue",
492// CHECK-NEXT: "selector": "numberWithInt:",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000493// CHECK-NEXT: "inner": [
494// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000495// CHECK-NEXT: "id": "0x{{.*}}",
496// CHECK-NEXT: "kind": "ParenExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000497// CHECK-NEXT: "range": {
498// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000499// CHECK-NEXT: "offset": 1661,
500// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000501// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000502// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000503// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000504// CHECK-NEXT: "offset": 1667,
505// CHECK-NEXT: "col": 10,
Aaron Ballmana612e342019-06-24 20:07:11 +0000506// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000507// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000508// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000509// CHECK-NEXT: "type": {
510// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000511// CHECK-NEXT: },
512// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000513// CHECK-NEXT: "inner": [
514// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000515// CHECK-NEXT: "id": "0x{{.*}}",
516// CHECK-NEXT: "kind": "BinaryOperator",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000517// CHECK-NEXT: "range": {
518// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000519// CHECK-NEXT: "offset": 1662,
520// CHECK-NEXT: "col": 5,
Aaron Ballmana612e342019-06-24 20:07:11 +0000521// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000522// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000523// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000524// CHECK-NEXT: "offset": 1666,
525// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +0000526// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000527// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000528// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000529// CHECK-NEXT: "type": {
530// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000531// CHECK-NEXT: },
532// CHECK-NEXT: "valueCategory": "rvalue",
533// CHECK-NEXT: "opcode": "+",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000534// CHECK-NEXT: "inner": [
535// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000536// CHECK-NEXT: "id": "0x{{.*}}",
537// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000538// CHECK-NEXT: "range": {
539// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000540// CHECK-NEXT: "offset": 1662,
541// CHECK-NEXT: "col": 5,
Aaron Ballmana612e342019-06-24 20:07:11 +0000542// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000543// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000544// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000545// CHECK-NEXT: "offset": 1662,
546// CHECK-NEXT: "col": 5,
Aaron Ballmana612e342019-06-24 20:07:11 +0000547// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000548// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000549// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000550// CHECK-NEXT: "type": {
551// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000552// CHECK-NEXT: },
553// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000554// CHECK-NEXT: "value": "1"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000555// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000556// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000557// CHECK-NEXT: "id": "0x{{.*}}",
558// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000559// CHECK-NEXT: "range": {
560// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000561// CHECK-NEXT: "offset": 1666,
562// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +0000563// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000564// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000565// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000566// CHECK-NEXT: "offset": 1666,
567// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +0000568// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000569// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000570// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000571// CHECK-NEXT: "type": {
572// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000573// CHECK-NEXT: },
574// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000575// CHECK-NEXT: "value": "1"
576// CHECK-NEXT: }
577// CHECK-NEXT: ]
578// CHECK-NEXT: }
579// CHECK-NEXT: ]
580// CHECK-NEXT: }
581// CHECK-NEXT: ]
582// CHECK-NEXT: }
583// CHECK-NEXT: ]
584// CHECK-NEXT: }
585// CHECK-NEXT: ]
586// CHECK-NEXT: }
587
588
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000589// CHECK: "kind": "FunctionDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000590// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000591// CHECK-NEXT: "offset": 1678,
592// CHECK-NEXT: "file": "{{.*}}",
593// CHECK-NEXT: "line": 68,
594// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +0000595// CHECK-NEXT: "tokLen": 16
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000596// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000597// CHECK-NEXT: "range": {
598// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000599// CHECK-NEXT: "offset": 1673,
600// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000601// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000602// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000603// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000604// CHECK-NEXT: "offset": 1729,
605// CHECK-NEXT: "line": 70,
606// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000607// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000608// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000609// CHECK-NEXT: },
610// CHECK-NEXT: "name": "TestObjCSelector",
Alex Richardson3c3048c2019-11-15 12:33:16 +0000611// CHECK-NEXT: "mangledName": "TestObjCSelector",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000612// CHECK-NEXT: "type": {
613// CHECK-NEXT: "qualType": "void ()"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000614// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000615// CHECK-NEXT: "inner": [
616// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000617// CHECK-NEXT: "id": "0x{{.*}}",
618// CHECK-NEXT: "kind": "CompoundStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000619// CHECK-NEXT: "range": {
620// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000621// CHECK-NEXT: "offset": 1697,
622// CHECK-NEXT: "line": 68,
623// CHECK-NEXT: "col": 25,
Aaron Ballmana612e342019-06-24 20:07:11 +0000624// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000625// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000626// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000627// CHECK-NEXT: "offset": 1729,
628// CHECK-NEXT: "line": 70,
629// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000630// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000631// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000632// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000633// CHECK-NEXT: "inner": [
634// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000635// CHECK-NEXT: "id": "0x{{.*}}",
636// CHECK-NEXT: "kind": "DeclStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000637// CHECK-NEXT: "range": {
638// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000639// CHECK-NEXT: "offset": 1701,
640// CHECK-NEXT: "line": 69,
641// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000642// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000643// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000644// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000645// CHECK-NEXT: "offset": 1727,
646// CHECK-NEXT: "col": 29,
Aaron Ballmana612e342019-06-24 20:07:11 +0000647// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000648// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000649// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000650// CHECK-NEXT: "inner": [
651// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000652// CHECK-NEXT: "id": "0x{{.*}}",
653// CHECK-NEXT: "kind": "VarDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000654// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000655// CHECK-NEXT: "offset": 1705,
656// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +0000657// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000658// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000659// CHECK-NEXT: "range": {
660// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000661// CHECK-NEXT: "offset": 1701,
662// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000663// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000664// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000665// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000666// CHECK-NEXT: "offset": 1726,
667// CHECK-NEXT: "col": 28,
Aaron Ballmana612e342019-06-24 20:07:11 +0000668// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000669// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000670// CHECK-NEXT: },
671// CHECK-NEXT: "name": "s",
Alex Richardson3c3048c2019-11-15 12:33:16 +0000672// CHECK-NEXT: "mangledName": "s",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000673// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000674// CHECK-NEXT: "desugaredQualType": "SEL *",
675// CHECK-NEXT: "qualType": "SEL",
Aaron Ballmand5e206e2019-07-30 13:42:19 +0000676// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000677// CHECK-NEXT: },
678// CHECK-NEXT: "init": "c",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000679// CHECK-NEXT: "inner": [
680// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000681// CHECK-NEXT: "id": "0x{{.*}}",
682// CHECK-NEXT: "kind": "ObjCSelectorExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000683// CHECK-NEXT: "range": {
684// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000685// CHECK-NEXT: "offset": 1709,
686// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +0000687// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000688// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000689// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000690// CHECK-NEXT: "offset": 1726,
691// CHECK-NEXT: "col": 28,
Aaron Ballmana612e342019-06-24 20:07:11 +0000692// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000693// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000694// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000695// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000696// CHECK-NEXT: "desugaredQualType": "SEL *",
697// CHECK-NEXT: "qualType": "SEL",
Aaron Ballmand5e206e2019-07-30 13:42:19 +0000698// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000699// CHECK-NEXT: },
700// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000701// CHECK-NEXT: "selector": "dealloc"
702// CHECK-NEXT: }
703// CHECK-NEXT: ]
704// CHECK-NEXT: }
705// CHECK-NEXT: ]
706// CHECK-NEXT: }
707// CHECK-NEXT: ]
708// CHECK-NEXT: }
709// CHECK-NEXT: ]
710// CHECK-NEXT: }
711
712
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000713// CHECK: "kind": "FunctionDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000714// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000715// CHECK-NEXT: "offset": 1737,
716// CHECK-NEXT: "file": "{{.*}}",
717// CHECK-NEXT: "line": 72,
718// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +0000719// CHECK-NEXT: "tokLen": 16
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000720// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000721// CHECK-NEXT: "range": {
722// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000723// CHECK-NEXT: "offset": 1732,
724// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000725// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000726// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000727// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000728// CHECK-NEXT: "offset": 1809,
729// CHECK-NEXT: "line": 74,
730// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000731// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000732// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000733// CHECK-NEXT: },
734// CHECK-NEXT: "name": "TestObjCProtocol",
Alex Richardson3c3048c2019-11-15 12:33:16 +0000735// CHECK-NEXT: "mangledName": "TestObjCProtocol",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000736// CHECK-NEXT: "type": {
737// CHECK-NEXT: "qualType": "void (id)"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000738// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000739// CHECK-NEXT: "inner": [
740// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000741// CHECK-NEXT: "id": "0x{{.*}}",
742// CHECK-NEXT: "kind": "ParmVarDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000743// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000744// CHECK-NEXT: "offset": 1757,
745// CHECK-NEXT: "line": 72,
746// CHECK-NEXT: "col": 26,
Aaron Ballmana612e342019-06-24 20:07:11 +0000747// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000748// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000749// CHECK-NEXT: "range": {
750// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000751// CHECK-NEXT: "offset": 1754,
752// CHECK-NEXT: "col": 23,
Aaron Ballmana612e342019-06-24 20:07:11 +0000753// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000754// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000755// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000756// CHECK-NEXT: "offset": 1757,
757// CHECK-NEXT: "col": 26,
Aaron Ballmana612e342019-06-24 20:07:11 +0000758// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000759// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000760// CHECK-NEXT: },
761// CHECK-NEXT: "isUsed": true,
762// CHECK-NEXT: "name": "Obj",
Alex Richardson3c3048c2019-11-15 12:33:16 +0000763// CHECK-NEXT: "mangledName": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000764// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000765// CHECK-NEXT: "desugaredQualType": "id",
766// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +0000767// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +0000768// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000769// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000770// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000771// CHECK-NEXT: "id": "0x{{.*}}",
772// CHECK-NEXT: "kind": "CompoundStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000773// CHECK-NEXT: "range": {
774// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000775// CHECK-NEXT: "offset": 1762,
776// CHECK-NEXT: "col": 31,
Aaron Ballmana612e342019-06-24 20:07:11 +0000777// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000778// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000779// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000780// CHECK-NEXT: "offset": 1809,
781// CHECK-NEXT: "line": 74,
782// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000783// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000784// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000785// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000786// CHECK-NEXT: "inner": [
787// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000788// CHECK-NEXT: "id": "0x{{.*}}",
789// CHECK-NEXT: "kind": "ObjCMessageExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000790// CHECK-NEXT: "range": {
791// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000792// CHECK-NEXT: "offset": 1766,
793// CHECK-NEXT: "line": 73,
794// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000795// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000796// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000797// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000798// CHECK-NEXT: "offset": 1806,
799// CHECK-NEXT: "col": 43,
Aaron Ballmana612e342019-06-24 20:07:11 +0000800// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000801// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000802// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000803// CHECK-NEXT: "type": {
804// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000805// CHECK-NEXT: },
806// CHECK-NEXT: "valueCategory": "rvalue",
807// CHECK-NEXT: "selector": "conformsToProtocol:",
808// CHECK-NEXT: "receiverKind": "instance",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000809// CHECK-NEXT: "inner": [
810// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000811// CHECK-NEXT: "id": "0x{{.*}}",
812// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000813// CHECK-NEXT: "range": {
814// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000815// CHECK-NEXT: "offset": 1767,
816// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000817// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000818// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000819// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000820// CHECK-NEXT: "offset": 1767,
821// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000822// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000823// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000824// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000825// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000826// CHECK-NEXT: "desugaredQualType": "id",
827// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +0000828// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000829// CHECK-NEXT: },
830// CHECK-NEXT: "valueCategory": "rvalue",
831// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000832// CHECK-NEXT: "inner": [
833// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000834// CHECK-NEXT: "id": "0x{{.*}}",
835// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000836// CHECK-NEXT: "range": {
837// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000838// CHECK-NEXT: "offset": 1767,
839// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000840// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000841// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000842// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000843// CHECK-NEXT: "offset": 1767,
844// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000845// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000846// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000847// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000848// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000849// CHECK-NEXT: "desugaredQualType": "id",
850// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +0000851// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000852// CHECK-NEXT: },
853// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000854// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000855// CHECK-NEXT: "id": "0x{{.*}}",
856// CHECK-NEXT: "kind": "ParmVarDecl",
857// CHECK-NEXT: "name": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000858// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000859// CHECK-NEXT: "desugaredQualType": "id",
860// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +0000861// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +0000862// CHECK-NEXT: }
863// CHECK-NEXT: }
864// CHECK-NEXT: }
865// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000866// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000867// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000868// CHECK-NEXT: "id": "0x{{.*}}",
869// CHECK-NEXT: "kind": "ObjCProtocolExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000870// CHECK-NEXT: "range": {
871// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000872// CHECK-NEXT: "offset": 1790,
873// CHECK-NEXT: "col": 27,
Aaron Ballmana612e342019-06-24 20:07:11 +0000874// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000875// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000876// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000877// CHECK-NEXT: "offset": 1805,
878// CHECK-NEXT: "col": 42,
Aaron Ballmana612e342019-06-24 20:07:11 +0000879// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000880// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000881// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000882// CHECK-NEXT: "type": {
883// CHECK-NEXT: "qualType": "Protocol *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000884// CHECK-NEXT: },
885// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000886// CHECK-NEXT: "protocol": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000887// CHECK-NEXT: "id": "0x{{.*}}",
888// CHECK-NEXT: "kind": "ObjCProtocolDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000889// CHECK-NEXT: "name": "Proto"
890// CHECK-NEXT: }
891// CHECK-NEXT: }
892// CHECK-NEXT: ]
893// CHECK-NEXT: }
894// CHECK-NEXT: ]
895// CHECK-NEXT: }
896// CHECK-NEXT: ]
897// CHECK-NEXT: }
898
899
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000900// CHECK: "kind": "FunctionDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000901// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000902// CHECK-NEXT: "offset": 1817,
903// CHECK-NEXT: "file": "{{.*}}",
904// CHECK-NEXT: "line": 76,
905// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +0000906// CHECK-NEXT: "tokLen": 19
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000907// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000908// CHECK-NEXT: "range": {
909// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000910// CHECK-NEXT: "offset": 1812,
911// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000912// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000913// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000914// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000915// CHECK-NEXT: "offset": 1884,
916// CHECK-NEXT: "line": 79,
917// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000918// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000919// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000920// CHECK-NEXT: },
921// CHECK-NEXT: "name": "TestObjCPropertyRef",
Alex Richardson3c3048c2019-11-15 12:33:16 +0000922// CHECK-NEXT: "mangledName": "TestObjCPropertyRef",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000923// CHECK-NEXT: "type": {
924// CHECK-NEXT: "qualType": "void (J *)"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000925// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000926// CHECK-NEXT: "inner": [
927// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000928// CHECK-NEXT: "id": "0x{{.*}}",
929// CHECK-NEXT: "kind": "ParmVarDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000930// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000931// CHECK-NEXT: "offset": 1840,
932// CHECK-NEXT: "line": 76,
933// CHECK-NEXT: "col": 29,
Aaron Ballmana612e342019-06-24 20:07:11 +0000934// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000935// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000936// CHECK-NEXT: "range": {
937// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000938// CHECK-NEXT: "offset": 1837,
939// CHECK-NEXT: "col": 26,
Aaron Ballmana612e342019-06-24 20:07:11 +0000940// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000941// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000942// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000943// CHECK-NEXT: "offset": 1840,
944// CHECK-NEXT: "col": 29,
Aaron Ballmana612e342019-06-24 20:07:11 +0000945// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000946// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000947// CHECK-NEXT: },
948// CHECK-NEXT: "isUsed": true,
949// CHECK-NEXT: "name": "Obj",
Alex Richardson3c3048c2019-11-15 12:33:16 +0000950// CHECK-NEXT: "mangledName": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000951// CHECK-NEXT: "type": {
952// CHECK-NEXT: "qualType": "J *"
953// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000954// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000955// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000956// CHECK-NEXT: "id": "0x{{.*}}",
957// CHECK-NEXT: "kind": "CompoundStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000958// CHECK-NEXT: "range": {
959// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000960// CHECK-NEXT: "offset": 1845,
961// CHECK-NEXT: "col": 34,
Aaron Ballmana612e342019-06-24 20:07:11 +0000962// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000963// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000964// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000965// CHECK-NEXT: "offset": 1884,
966// CHECK-NEXT: "line": 79,
967// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000968// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000969// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000970// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000971// CHECK-NEXT: "inner": [
972// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000973// CHECK-NEXT: "id": "0x{{.*}}",
974// CHECK-NEXT: "kind": "PseudoObjectExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000975// CHECK-NEXT: "range": {
976// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000977// CHECK-NEXT: "offset": 1849,
978// CHECK-NEXT: "line": 77,
979// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000980// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000981// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000982// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000983// CHECK-NEXT: "offset": 1860,
984// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +0000985// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +0000986// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000987// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000988// CHECK-NEXT: "type": {
989// CHECK-NEXT: "qualType": "unsigned int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000990// CHECK-NEXT: },
991// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000992// CHECK-NEXT: "inner": [
993// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000994// CHECK-NEXT: "id": "0x{{.*}}",
995// CHECK-NEXT: "kind": "BinaryOperator",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000996// CHECK-NEXT: "range": {
997// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000998// CHECK-NEXT: "offset": 1849,
999// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001000// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001001// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001002// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001003// CHECK-NEXT: "offset": 1860,
1004// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001005// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001006// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001007// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001008// CHECK-NEXT: "type": {
1009// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001010// CHECK-NEXT: },
1011// CHECK-NEXT: "valueCategory": "rvalue",
1012// CHECK-NEXT: "opcode": "=",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001013// CHECK-NEXT: "inner": [
1014// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001015// CHECK-NEXT: "id": "0x{{.*}}",
1016// CHECK-NEXT: "kind": "ObjCPropertyRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001017// CHECK-NEXT: "range": {
1018// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001019// CHECK-NEXT: "offset": 1849,
1020// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001021// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001022// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001023// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001024// CHECK-NEXT: "offset": 1853,
1025// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00001026// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001027// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001028// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001029// CHECK-NEXT: "type": {
1030// CHECK-NEXT: "qualType": "<pseudo-object type>"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001031// CHECK-NEXT: },
1032// CHECK-NEXT: "valueCategory": "lvalue",
1033// CHECK-NEXT: "propertyKind": "explicit",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001034// CHECK-NEXT: "property": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001035// CHECK-NEXT: "id": "0x{{.*}}",
1036// CHECK-NEXT: "kind": "ObjCPropertyDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001037// CHECK-NEXT: "name": "prop"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001038// CHECK-NEXT: },
1039// CHECK-NEXT: "isMessagingSetter": true,
Aaron Ballman75e23f82019-06-20 21:45:31 +00001040// CHECK-NEXT: "inner": [
1041// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001042// CHECK-NEXT: "id": "0x{{.*}}",
1043// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001044// CHECK-NEXT: "range": {
1045// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001046// CHECK-NEXT: "offset": 1849,
1047// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001048// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001049// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001050// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001051// CHECK-NEXT: "offset": 1849,
1052// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001053// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001054// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001055// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001056// CHECK-NEXT: "type": {
1057// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001058// CHECK-NEXT: },
1059// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001060// CHECK-NEXT: "inner": [
1061// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001062// CHECK-NEXT: "id": "0x{{.*}}",
1063// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001064// CHECK-NEXT: "range": {
1065// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001066// CHECK-NEXT: "offset": 1849,
1067// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001068// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001069// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001070// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001071// CHECK-NEXT: "offset": 1849,
1072// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001073// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001074// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001075// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001076// CHECK-NEXT: "type": {
1077// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001078// CHECK-NEXT: },
1079// CHECK-NEXT: "valueCategory": "rvalue",
1080// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001081// CHECK-NEXT: "inner": [
1082// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001083// CHECK-NEXT: "id": "0x{{.*}}",
1084// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001085// CHECK-NEXT: "range": {
1086// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001087// CHECK-NEXT: "offset": 1849,
1088// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001089// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001090// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001091// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001092// CHECK-NEXT: "offset": 1849,
1093// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001094// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001095// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001096// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001097// CHECK-NEXT: "type": {
1098// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001099// CHECK-NEXT: },
1100// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001101// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001102// CHECK-NEXT: "id": "0x{{.*}}",
1103// CHECK-NEXT: "kind": "ParmVarDecl",
1104// CHECK-NEXT: "name": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001105// CHECK-NEXT: "type": {
1106// CHECK-NEXT: "qualType": "J *"
1107// CHECK-NEXT: }
1108// CHECK-NEXT: }
1109// CHECK-NEXT: }
1110// CHECK-NEXT: ]
1111// CHECK-NEXT: }
1112// CHECK-NEXT: ]
1113// CHECK-NEXT: }
1114// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001115// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001116// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001117// CHECK-NEXT: "id": "0x{{.*}}",
1118// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001119// CHECK-NEXT: "range": {
1120// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001121// CHECK-NEXT: "offset": 1860,
1122// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001123// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001124// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001125// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001126// CHECK-NEXT: "offset": 1860,
1127// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001128// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001129// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001130// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001131// CHECK-NEXT: "type": {
1132// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001133// CHECK-NEXT: },
1134// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001135// CHECK-NEXT: "inner": [
1136// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001137// CHECK-NEXT: "id": "0x{{.*}}",
1138// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001139// CHECK-NEXT: "range": {
1140// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001141// CHECK-NEXT: "offset": 1860,
1142// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001143// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001144// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001145// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001146// CHECK-NEXT: "offset": 1860,
1147// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001148// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001149// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001150// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001151// CHECK-NEXT: "type": {
1152// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001153// CHECK-NEXT: },
1154// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001155// CHECK-NEXT: "value": "12"
1156// CHECK-NEXT: }
1157// CHECK-NEXT: ]
1158// CHECK-NEXT: }
1159// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001160// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001161// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001162// CHECK-NEXT: "id": "0x{{.*}}",
1163// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001164// CHECK-NEXT: "range": {
1165// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001166// CHECK-NEXT: "offset": 1849,
1167// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001168// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001169// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001170// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001171// CHECK-NEXT: "offset": 1849,
1172// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001173// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001174// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001175// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001176// CHECK-NEXT: "type": {
1177// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001178// CHECK-NEXT: },
1179// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001180// CHECK-NEXT: "inner": [
1181// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001182// CHECK-NEXT: "id": "0x{{.*}}",
1183// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001184// CHECK-NEXT: "range": {
1185// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001186// CHECK-NEXT: "offset": 1849,
1187// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001188// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001189// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001190// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001191// CHECK-NEXT: "offset": 1849,
1192// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001193// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001194// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001195// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001196// CHECK-NEXT: "type": {
1197// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001198// CHECK-NEXT: },
1199// CHECK-NEXT: "valueCategory": "rvalue",
1200// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001201// CHECK-NEXT: "inner": [
1202// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001203// CHECK-NEXT: "id": "0x{{.*}}",
1204// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001205// CHECK-NEXT: "range": {
1206// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001207// CHECK-NEXT: "offset": 1849,
1208// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001209// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001210// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001211// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001212// CHECK-NEXT: "offset": 1849,
1213// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001214// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001215// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001216// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001217// CHECK-NEXT: "type": {
1218// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001219// CHECK-NEXT: },
1220// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001221// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001222// CHECK-NEXT: "id": "0x{{.*}}",
1223// CHECK-NEXT: "kind": "ParmVarDecl",
1224// CHECK-NEXT: "name": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001225// CHECK-NEXT: "type": {
1226// CHECK-NEXT: "qualType": "J *"
1227// CHECK-NEXT: }
1228// CHECK-NEXT: }
1229// CHECK-NEXT: }
1230// CHECK-NEXT: ]
1231// CHECK-NEXT: }
1232// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001233// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001234// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001235// CHECK-NEXT: "id": "0x{{.*}}",
1236// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001237// CHECK-NEXT: "range": {
1238// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001239// CHECK-NEXT: "offset": 1860,
1240// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001241// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001242// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001243// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001244// CHECK-NEXT: "offset": 1860,
1245// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001246// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001247// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001248// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001249// CHECK-NEXT: "type": {
1250// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001251// CHECK-NEXT: },
1252// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001253// CHECK-NEXT: "inner": [
1254// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001255// CHECK-NEXT: "id": "0x{{.*}}",
1256// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001257// CHECK-NEXT: "range": {
1258// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001259// CHECK-NEXT: "offset": 1860,
1260// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001261// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001262// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001263// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001264// CHECK-NEXT: "offset": 1860,
1265// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001266// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001267// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001268// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001269// CHECK-NEXT: "type": {
1270// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001271// CHECK-NEXT: },
1272// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001273// CHECK-NEXT: "value": "12"
1274// CHECK-NEXT: }
1275// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001276// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001277// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001278// CHECK-NEXT: "id": "0x{{.*}}",
1279// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001280// CHECK-NEXT: "range": {
1281// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001282// CHECK-NEXT: "offset": 1860,
1283// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001284// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001285// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001286// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001287// CHECK-NEXT: "offset": 1860,
1288// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001289// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001290// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001291// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001292// CHECK-NEXT: "type": {
1293// CHECK-NEXT: "qualType": "unsigned int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001294// CHECK-NEXT: },
1295// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001296// CHECK-NEXT: "inner": [
1297// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001298// CHECK-NEXT: "id": "0x{{.*}}",
1299// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001300// CHECK-NEXT: "range": {
1301// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001302// CHECK-NEXT: "offset": 1860,
1303// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001304// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001305// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001306// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001307// CHECK-NEXT: "offset": 1860,
1308// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001309// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001310// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001311// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001312// CHECK-NEXT: "type": {
1313// CHECK-NEXT: "qualType": "unsigned int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001314// CHECK-NEXT: },
1315// CHECK-NEXT: "valueCategory": "rvalue",
1316// CHECK-NEXT: "castKind": "IntegralCast",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001317// CHECK-NEXT: "inner": [
1318// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001319// CHECK-NEXT: "id": "0x{{.*}}",
1320// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001321// CHECK-NEXT: "range": {
1322// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001323// CHECK-NEXT: "offset": 1860,
1324// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001325// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001326// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001327// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001328// CHECK-NEXT: "offset": 1860,
1329// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001330// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001331// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001332// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001333// CHECK-NEXT: "type": {
1334// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001335// CHECK-NEXT: },
1336// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001337// CHECK-NEXT: "inner": [
1338// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001339// CHECK-NEXT: "id": "0x{{.*}}",
1340// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001341// CHECK-NEXT: "range": {
1342// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001343// CHECK-NEXT: "offset": 1860,
1344// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001345// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001346// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001347// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001348// CHECK-NEXT: "offset": 1860,
1349// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001350// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001351// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001352// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001353// CHECK-NEXT: "type": {
1354// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001355// CHECK-NEXT: },
1356// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001357// CHECK-NEXT: "value": "12"
1358// CHECK-NEXT: }
1359// CHECK-NEXT: ]
1360// CHECK-NEXT: }
1361// CHECK-NEXT: ]
1362// CHECK-NEXT: }
1363// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001364// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001365// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001366// CHECK-NEXT: "id": "0x{{.*}}",
1367// CHECK-NEXT: "kind": "ObjCMessageExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001368// CHECK-NEXT: "range": {
1369// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001370// CHECK-NEXT: "offset": 1853,
1371// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00001372// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001373// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001374// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001375// CHECK-NEXT: "offset": 1853,
1376// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00001377// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001378// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001379// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001380// CHECK-NEXT: "type": {
1381// CHECK-NEXT: "qualType": "void"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001382// CHECK-NEXT: },
1383// CHECK-NEXT: "valueCategory": "rvalue",
1384// CHECK-NEXT: "selector": "setProp:",
1385// CHECK-NEXT: "receiverKind": "instance",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001386// CHECK-NEXT: "inner": [
1387// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001388// CHECK-NEXT: "id": "0x{{.*}}",
1389// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001390// CHECK-NEXT: "range": {
1391// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001392// CHECK-NEXT: "offset": 1849,
1393// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001394// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001395// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001396// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001397// CHECK-NEXT: "offset": 1849,
1398// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001399// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001400// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001401// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001402// CHECK-NEXT: "type": {
1403// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001404// CHECK-NEXT: },
1405// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001406// CHECK-NEXT: "inner": [
1407// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001408// CHECK-NEXT: "id": "0x{{.*}}",
1409// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001410// CHECK-NEXT: "range": {
1411// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001412// CHECK-NEXT: "offset": 1849,
1413// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001414// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001415// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001416// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001417// CHECK-NEXT: "offset": 1849,
1418// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001419// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001420// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001421// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001422// CHECK-NEXT: "type": {
1423// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001424// CHECK-NEXT: },
1425// CHECK-NEXT: "valueCategory": "rvalue",
1426// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001427// CHECK-NEXT: "inner": [
1428// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001429// CHECK-NEXT: "id": "0x{{.*}}",
1430// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001431// CHECK-NEXT: "range": {
1432// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001433// CHECK-NEXT: "offset": 1849,
1434// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001435// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001436// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001437// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001438// CHECK-NEXT: "offset": 1849,
1439// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001440// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001441// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001442// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001443// CHECK-NEXT: "type": {
1444// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001445// CHECK-NEXT: },
1446// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001447// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001448// CHECK-NEXT: "id": "0x{{.*}}",
1449// CHECK-NEXT: "kind": "ParmVarDecl",
1450// CHECK-NEXT: "name": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001451// CHECK-NEXT: "type": {
1452// CHECK-NEXT: "qualType": "J *"
1453// CHECK-NEXT: }
1454// CHECK-NEXT: }
1455// CHECK-NEXT: }
1456// CHECK-NEXT: ]
1457// CHECK-NEXT: }
1458// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001459// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001460// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001461// CHECK-NEXT: "id": "0x{{.*}}",
1462// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001463// CHECK-NEXT: "range": {
1464// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001465// CHECK-NEXT: "offset": 1860,
1466// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001467// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001468// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001469// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001470// CHECK-NEXT: "offset": 1860,
1471// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001472// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001473// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001474// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001475// CHECK-NEXT: "type": {
1476// CHECK-NEXT: "qualType": "unsigned int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001477// CHECK-NEXT: },
1478// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001479// CHECK-NEXT: "inner": [
1480// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001481// CHECK-NEXT: "id": "0x{{.*}}",
1482// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001483// CHECK-NEXT: "range": {
1484// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001485// CHECK-NEXT: "offset": 1860,
1486// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001487// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001488// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001489// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001490// CHECK-NEXT: "offset": 1860,
1491// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001492// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001493// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001494// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001495// CHECK-NEXT: "type": {
1496// CHECK-NEXT: "qualType": "unsigned int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001497// CHECK-NEXT: },
1498// CHECK-NEXT: "valueCategory": "rvalue",
1499// CHECK-NEXT: "castKind": "IntegralCast",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001500// CHECK-NEXT: "inner": [
1501// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001502// CHECK-NEXT: "id": "0x{{.*}}",
1503// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001504// CHECK-NEXT: "range": {
1505// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001506// CHECK-NEXT: "offset": 1860,
1507// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001508// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001509// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001510// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001511// CHECK-NEXT: "offset": 1860,
1512// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001513// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001514// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001515// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001516// CHECK-NEXT: "type": {
1517// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001518// CHECK-NEXT: },
1519// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001520// CHECK-NEXT: "inner": [
1521// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001522// CHECK-NEXT: "id": "0x{{.*}}",
1523// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001524// CHECK-NEXT: "range": {
1525// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001526// CHECK-NEXT: "offset": 1860,
1527// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001528// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001529// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001530// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001531// CHECK-NEXT: "offset": 1860,
1532// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001533// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001534// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001535// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001536// CHECK-NEXT: "type": {
1537// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001538// CHECK-NEXT: },
1539// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001540// CHECK-NEXT: "value": "12"
1541// CHECK-NEXT: }
1542// CHECK-NEXT: ]
1543// CHECK-NEXT: }
1544// CHECK-NEXT: ]
1545// CHECK-NEXT: }
1546// CHECK-NEXT: ]
1547// CHECK-NEXT: }
1548// CHECK-NEXT: ]
1549// CHECK-NEXT: }
1550// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001551// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001552// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001553// CHECK-NEXT: "id": "0x{{.*}}",
1554// CHECK-NEXT: "kind": "DeclStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001555// CHECK-NEXT: "range": {
1556// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001557// CHECK-NEXT: "offset": 1866,
1558// CHECK-NEXT: "line": 78,
1559// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001560// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001561// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001562// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001563// CHECK-NEXT: "offset": 1882,
1564// CHECK-NEXT: "col": 19,
Aaron Ballmana612e342019-06-24 20:07:11 +00001565// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001566// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001567// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001568// CHECK-NEXT: "inner": [
1569// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001570// CHECK-NEXT: "id": "0x{{.*}}",
1571// CHECK-NEXT: "kind": "VarDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001572// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001573// CHECK-NEXT: "offset": 1870,
1574// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00001575// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001576// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001577// CHECK-NEXT: "range": {
1578// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001579// CHECK-NEXT: "offset": 1866,
1580// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001581// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001582// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001583// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001584// CHECK-NEXT: "offset": 1878,
1585// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001586// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001587// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001588// CHECK-NEXT: },
1589// CHECK-NEXT: "name": "i",
Alex Richardson3c3048c2019-11-15 12:33:16 +00001590// CHECK-NEXT: "mangledName": "i",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001591// CHECK-NEXT: "type": {
1592// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001593// CHECK-NEXT: },
1594// CHECK-NEXT: "init": "c",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001595// CHECK-NEXT: "inner": [
1596// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001597// CHECK-NEXT: "id": "0x{{.*}}",
1598// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001599// CHECK-NEXT: "range": {
1600// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001601// CHECK-NEXT: "offset": 1874,
1602// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001603// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001604// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001605// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001606// CHECK-NEXT: "offset": 1878,
1607// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001608// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001609// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001610// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001611// CHECK-NEXT: "type": {
1612// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001613// CHECK-NEXT: },
1614// CHECK-NEXT: "valueCategory": "rvalue",
1615// CHECK-NEXT: "castKind": "IntegralCast",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001616// CHECK-NEXT: "inner": [
1617// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001618// CHECK-NEXT: "id": "0x{{.*}}",
1619// CHECK-NEXT: "kind": "PseudoObjectExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001620// CHECK-NEXT: "range": {
1621// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001622// CHECK-NEXT: "offset": 1874,
1623// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001624// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001625// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001626// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001627// CHECK-NEXT: "offset": 1878,
1628// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001629// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001630// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001631// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001632// CHECK-NEXT: "type": {
1633// CHECK-NEXT: "qualType": "unsigned int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001634// CHECK-NEXT: },
1635// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001636// CHECK-NEXT: "inner": [
1637// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001638// CHECK-NEXT: "id": "0x{{.*}}",
1639// CHECK-NEXT: "kind": "ObjCPropertyRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001640// CHECK-NEXT: "range": {
1641// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001642// CHECK-NEXT: "offset": 1874,
1643// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001644// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001645// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001646// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001647// CHECK-NEXT: "offset": 1878,
1648// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001649// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001650// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001651// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001652// CHECK-NEXT: "type": {
1653// CHECK-NEXT: "qualType": "<pseudo-object type>"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001654// CHECK-NEXT: },
1655// CHECK-NEXT: "valueCategory": "lvalue",
1656// CHECK-NEXT: "propertyKind": "explicit",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001657// CHECK-NEXT: "property": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001658// CHECK-NEXT: "id": "0x{{.*}}",
1659// CHECK-NEXT: "kind": "ObjCPropertyDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001660// CHECK-NEXT: "name": "prop"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001661// CHECK-NEXT: },
1662// CHECK-NEXT: "isMessagingGetter": true,
Aaron Ballman75e23f82019-06-20 21:45:31 +00001663// CHECK-NEXT: "inner": [
1664// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001665// CHECK-NEXT: "id": "0x{{.*}}",
1666// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001667// CHECK-NEXT: "range": {
1668// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001669// CHECK-NEXT: "offset": 1874,
1670// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001671// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001672// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001673// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001674// CHECK-NEXT: "offset": 1874,
1675// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001676// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001677// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001678// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001679// CHECK-NEXT: "type": {
1680// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001681// CHECK-NEXT: },
1682// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001683// CHECK-NEXT: "inner": [
1684// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001685// CHECK-NEXT: "id": "0x{{.*}}",
1686// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001687// CHECK-NEXT: "range": {
1688// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001689// CHECK-NEXT: "offset": 1874,
1690// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001691// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001692// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001693// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001694// CHECK-NEXT: "offset": 1874,
1695// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001696// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001697// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001698// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001699// CHECK-NEXT: "type": {
1700// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001701// CHECK-NEXT: },
1702// CHECK-NEXT: "valueCategory": "rvalue",
1703// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001704// CHECK-NEXT: "inner": [
1705// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001706// CHECK-NEXT: "id": "0x{{.*}}",
1707// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001708// CHECK-NEXT: "range": {
1709// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001710// CHECK-NEXT: "offset": 1874,
1711// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001712// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001713// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001714// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001715// CHECK-NEXT: "offset": 1874,
1716// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001717// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001718// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001719// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001720// CHECK-NEXT: "type": {
1721// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001722// CHECK-NEXT: },
1723// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001724// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001725// CHECK-NEXT: "id": "0x{{.*}}",
1726// CHECK-NEXT: "kind": "ParmVarDecl",
1727// CHECK-NEXT: "name": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001728// CHECK-NEXT: "type": {
1729// CHECK-NEXT: "qualType": "J *"
1730// CHECK-NEXT: }
1731// CHECK-NEXT: }
1732// CHECK-NEXT: }
1733// CHECK-NEXT: ]
1734// CHECK-NEXT: }
1735// CHECK-NEXT: ]
1736// CHECK-NEXT: }
1737// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001738// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001739// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001740// CHECK-NEXT: "id": "0x{{.*}}",
1741// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001742// CHECK-NEXT: "range": {
1743// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001744// CHECK-NEXT: "offset": 1874,
1745// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001746// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001747// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001748// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001749// CHECK-NEXT: "offset": 1874,
1750// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001751// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001752// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001753// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001754// CHECK-NEXT: "type": {
1755// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001756// CHECK-NEXT: },
1757// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001758// CHECK-NEXT: "inner": [
1759// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001760// CHECK-NEXT: "id": "0x{{.*}}",
1761// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001762// CHECK-NEXT: "range": {
1763// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001764// CHECK-NEXT: "offset": 1874,
1765// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001766// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001767// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001768// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001769// CHECK-NEXT: "offset": 1874,
1770// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001771// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001772// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001773// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001774// CHECK-NEXT: "type": {
1775// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001776// CHECK-NEXT: },
1777// CHECK-NEXT: "valueCategory": "rvalue",
1778// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001779// CHECK-NEXT: "inner": [
1780// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001781// CHECK-NEXT: "id": "0x{{.*}}",
1782// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001783// CHECK-NEXT: "range": {
1784// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001785// CHECK-NEXT: "offset": 1874,
1786// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001787// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001788// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001789// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001790// CHECK-NEXT: "offset": 1874,
1791// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001792// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001793// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001794// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001795// CHECK-NEXT: "type": {
1796// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001797// CHECK-NEXT: },
1798// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001799// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001800// CHECK-NEXT: "id": "0x{{.*}}",
1801// CHECK-NEXT: "kind": "ParmVarDecl",
1802// CHECK-NEXT: "name": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001803// CHECK-NEXT: "type": {
1804// CHECK-NEXT: "qualType": "J *"
1805// CHECK-NEXT: }
1806// CHECK-NEXT: }
1807// CHECK-NEXT: }
1808// CHECK-NEXT: ]
1809// CHECK-NEXT: }
1810// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001811// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001812// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001813// CHECK-NEXT: "id": "0x{{.*}}",
1814// CHECK-NEXT: "kind": "ObjCMessageExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001815// CHECK-NEXT: "range": {
1816// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001817// CHECK-NEXT: "offset": 1878,
1818// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001819// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001820// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001821// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001822// CHECK-NEXT: "offset": 1878,
1823// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001824// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001825// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001826// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001827// CHECK-NEXT: "type": {
1828// CHECK-NEXT: "qualType": "unsigned int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001829// CHECK-NEXT: },
1830// CHECK-NEXT: "valueCategory": "rvalue",
1831// CHECK-NEXT: "selector": "prop",
1832// CHECK-NEXT: "receiverKind": "instance",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001833// CHECK-NEXT: "inner": [
1834// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001835// CHECK-NEXT: "id": "0x{{.*}}",
1836// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001837// CHECK-NEXT: "range": {
1838// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001839// CHECK-NEXT: "offset": 1874,
1840// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001841// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001842// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001843// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001844// CHECK-NEXT: "offset": 1874,
1845// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001846// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001847// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001848// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001849// CHECK-NEXT: "type": {
1850// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001851// CHECK-NEXT: },
1852// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001853// CHECK-NEXT: "inner": [
1854// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001855// CHECK-NEXT: "id": "0x{{.*}}",
1856// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001857// CHECK-NEXT: "range": {
1858// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001859// CHECK-NEXT: "offset": 1874,
1860// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001861// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001862// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001863// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001864// CHECK-NEXT: "offset": 1874,
1865// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001866// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001867// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001868// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001869// CHECK-NEXT: "type": {
1870// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001871// CHECK-NEXT: },
1872// CHECK-NEXT: "valueCategory": "rvalue",
1873// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001874// CHECK-NEXT: "inner": [
1875// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001876// CHECK-NEXT: "id": "0x{{.*}}",
1877// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001878// CHECK-NEXT: "range": {
1879// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001880// CHECK-NEXT: "offset": 1874,
1881// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001882// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001883// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001884// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001885// CHECK-NEXT: "offset": 1874,
1886// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001887// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001888// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001889// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001890// CHECK-NEXT: "type": {
1891// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001892// CHECK-NEXT: },
1893// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001894// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001895// CHECK-NEXT: "id": "0x{{.*}}",
1896// CHECK-NEXT: "kind": "ParmVarDecl",
1897// CHECK-NEXT: "name": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001898// CHECK-NEXT: "type": {
1899// CHECK-NEXT: "qualType": "J *"
1900// CHECK-NEXT: }
1901// CHECK-NEXT: }
1902// CHECK-NEXT: }
1903// CHECK-NEXT: ]
1904// CHECK-NEXT: }
1905// CHECK-NEXT: ]
1906// CHECK-NEXT: }
1907// CHECK-NEXT: ]
1908// CHECK-NEXT: }
1909// CHECK-NEXT: ]
1910// CHECK-NEXT: }
1911// CHECK-NEXT: ]
1912// CHECK-NEXT: }
1913// CHECK-NEXT: ]
1914// CHECK-NEXT: }
1915// CHECK-NEXT: ]
1916// CHECK-NEXT: }
1917// CHECK-NEXT: ]
1918// CHECK-NEXT: }
1919// CHECK-NEXT: ]
1920// CHECK-NEXT: }
1921
1922
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001923// CHECK: "kind": "FunctionDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001924// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001925// CHECK-NEXT: "offset": 1892,
1926// CHECK-NEXT: "file": "{{.*}}",
1927// CHECK-NEXT: "line": 81,
1928// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00001929// CHECK-NEXT: "tokLen": 20
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001930// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001931// CHECK-NEXT: "range": {
1932// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001933// CHECK-NEXT: "offset": 1887,
1934// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00001935// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001936// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001937// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001938// CHECK-NEXT: "offset": 2052,
1939// CHECK-NEXT: "line": 87,
1940// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00001941// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001942// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001943// CHECK-NEXT: },
1944// CHECK-NEXT: "name": "TestObjCSubscriptRef",
Alex Richardson3c3048c2019-11-15 12:33:16 +00001945// CHECK-NEXT: "mangledName": "TestObjCSubscriptRef",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001946// CHECK-NEXT: "type": {
1947// CHECK-NEXT: "qualType": "void (NSMutableArray *, NSMutableDictionary *)"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001948// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001949// CHECK-NEXT: "inner": [
1950// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001951// CHECK-NEXT: "id": "0x{{.*}}",
1952// CHECK-NEXT: "kind": "ParmVarDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001953// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001954// CHECK-NEXT: "offset": 1929,
1955// CHECK-NEXT: "line": 81,
1956// CHECK-NEXT: "col": 43,
Aaron Ballmana612e342019-06-24 20:07:11 +00001957// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001958// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001959// CHECK-NEXT: "range": {
1960// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001961// CHECK-NEXT: "offset": 1913,
1962// CHECK-NEXT: "col": 27,
Aaron Ballmana612e342019-06-24 20:07:11 +00001963// CHECK-NEXT: "tokLen": 14
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001964// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001965// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001966// CHECK-NEXT: "offset": 1929,
1967// CHECK-NEXT: "col": 43,
Aaron Ballmana612e342019-06-24 20:07:11 +00001968// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001969// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001970// CHECK-NEXT: },
1971// CHECK-NEXT: "isUsed": true,
1972// CHECK-NEXT: "name": "Array",
Alex Richardson3c3048c2019-11-15 12:33:16 +00001973// CHECK-NEXT: "mangledName": "Array",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001974// CHECK-NEXT: "type": {
1975// CHECK-NEXT: "qualType": "NSMutableArray *"
1976// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001977// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001978// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001979// CHECK-NEXT: "id": "0x{{.*}}",
1980// CHECK-NEXT: "kind": "ParmVarDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001981// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001982// CHECK-NEXT: "offset": 1957,
1983// CHECK-NEXT: "col": 71,
Aaron Ballmana612e342019-06-24 20:07:11 +00001984// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001985// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001986// CHECK-NEXT: "range": {
1987// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001988// CHECK-NEXT: "offset": 1936,
1989// CHECK-NEXT: "col": 50,
Aaron Ballmana612e342019-06-24 20:07:11 +00001990// CHECK-NEXT: "tokLen": 19
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001991// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001992// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001993// CHECK-NEXT: "offset": 1957,
1994// CHECK-NEXT: "col": 71,
Aaron Ballmana612e342019-06-24 20:07:11 +00001995// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001996// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001997// CHECK-NEXT: },
1998// CHECK-NEXT: "isUsed": true,
1999// CHECK-NEXT: "name": "Dict",
Alex Richardson3c3048c2019-11-15 12:33:16 +00002000// CHECK-NEXT: "mangledName": "Dict",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002001// CHECK-NEXT: "type": {
2002// CHECK-NEXT: "qualType": "NSMutableDictionary *"
2003// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002004// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002005// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002006// CHECK-NEXT: "id": "0x{{.*}}",
2007// CHECK-NEXT: "kind": "CompoundStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002008// CHECK-NEXT: "range": {
2009// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002010// CHECK-NEXT: "offset": 1963,
2011// CHECK-NEXT: "col": 77,
Aaron Ballmana612e342019-06-24 20:07:11 +00002012// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002013// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002014// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002015// CHECK-NEXT: "offset": 2052,
2016// CHECK-NEXT: "line": 87,
2017// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00002018// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002019// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002020// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002021// CHECK-NEXT: "inner": [
2022// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002023// CHECK-NEXT: "id": "0x{{.*}}",
2024// CHECK-NEXT: "kind": "PseudoObjectExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002025// CHECK-NEXT: "range": {
2026// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002027// CHECK-NEXT: "offset": 1966,
2028// CHECK-NEXT: "line": 82,
2029// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002030// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002031// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002032// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002033// CHECK-NEXT: "offset": 1984,
2034// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002035// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002036// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002037// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002038// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002039// CHECK-NEXT: "desugaredQualType": "id",
2040// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002041// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002042// CHECK-NEXT: },
2043// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002044// CHECK-NEXT: "inner": [
2045// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002046// CHECK-NEXT: "id": "0x{{.*}}",
2047// CHECK-NEXT: "kind": "BinaryOperator",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002048// CHECK-NEXT: "range": {
2049// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002050// CHECK-NEXT: "offset": 1966,
2051// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002052// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002053// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002054// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002055// CHECK-NEXT: "offset": 1984,
2056// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002057// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002058// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002059// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002060// CHECK-NEXT: "type": {
2061// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002062// CHECK-NEXT: },
2063// CHECK-NEXT: "valueCategory": "rvalue",
2064// CHECK-NEXT: "opcode": "=",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002065// CHECK-NEXT: "inner": [
2066// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002067// CHECK-NEXT: "id": "0x{{.*}}",
2068// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002069// CHECK-NEXT: "range": {
2070// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002071// CHECK-NEXT: "offset": 1966,
2072// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002073// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002074// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002075// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002076// CHECK-NEXT: "offset": 1973,
2077// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002078// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002079// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002080// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002081// CHECK-NEXT: "type": {
2082// CHECK-NEXT: "qualType": "<pseudo-object type>"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002083// CHECK-NEXT: },
2084// CHECK-NEXT: "valueCategory": "lvalue",
2085// CHECK-NEXT: "subscriptKind": "array",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002086// CHECK-NEXT: "inner": [
2087// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002088// CHECK-NEXT: "id": "0x{{.*}}",
2089// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002090// CHECK-NEXT: "range": {
2091// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002092// CHECK-NEXT: "offset": 1966,
2093// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002094// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002095// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002096// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002097// CHECK-NEXT: "offset": 1966,
2098// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002099// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002100// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002101// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002102// CHECK-NEXT: "type": {
2103// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002104// CHECK-NEXT: },
2105// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002106// CHECK-NEXT: "inner": [
2107// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002108// CHECK-NEXT: "id": "0x{{.*}}",
2109// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002110// CHECK-NEXT: "range": {
2111// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002112// CHECK-NEXT: "offset": 1966,
2113// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002114// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002115// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002116// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002117// CHECK-NEXT: "offset": 1966,
2118// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002119// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002120// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002121// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002122// CHECK-NEXT: "type": {
2123// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002124// CHECK-NEXT: },
2125// CHECK-NEXT: "valueCategory": "rvalue",
2126// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002127// CHECK-NEXT: "inner": [
2128// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002129// CHECK-NEXT: "id": "0x{{.*}}",
2130// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002131// CHECK-NEXT: "range": {
2132// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002133// CHECK-NEXT: "offset": 1966,
2134// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002135// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002136// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002137// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002138// CHECK-NEXT: "offset": 1966,
2139// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002140// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002141// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002142// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002143// CHECK-NEXT: "type": {
2144// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002145// CHECK-NEXT: },
2146// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002147// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002148// CHECK-NEXT: "id": "0x{{.*}}",
2149// CHECK-NEXT: "kind": "ParmVarDecl",
2150// CHECK-NEXT: "name": "Array",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002151// CHECK-NEXT: "type": {
2152// CHECK-NEXT: "qualType": "NSMutableArray *"
2153// CHECK-NEXT: }
2154// CHECK-NEXT: }
2155// CHECK-NEXT: }
2156// CHECK-NEXT: ]
2157// CHECK-NEXT: }
2158// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002159// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002160// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002161// CHECK-NEXT: "id": "0x{{.*}}",
2162// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002163// CHECK-NEXT: "range": {
2164// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002165// CHECK-NEXT: "offset": 1972,
2166// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002167// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002168// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002169// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002170// CHECK-NEXT: "offset": 1972,
2171// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002172// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002173// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002174// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002175// CHECK-NEXT: "type": {
2176// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002177// CHECK-NEXT: },
2178// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002179// CHECK-NEXT: "inner": [
2180// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002181// CHECK-NEXT: "id": "0x{{.*}}",
2182// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002183// CHECK-NEXT: "range": {
2184// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002185// CHECK-NEXT: "offset": 1972,
2186// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002187// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002188// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002189// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002190// CHECK-NEXT: "offset": 1972,
2191// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002192// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002193// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002194// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002195// CHECK-NEXT: "type": {
2196// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002197// CHECK-NEXT: },
2198// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002199// CHECK-NEXT: "value": "0"
2200// CHECK-NEXT: }
2201// CHECK-NEXT: ]
2202// CHECK-NEXT: }
2203// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002204// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002205// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002206// CHECK-NEXT: "id": "0x{{.*}}",
2207// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002208// CHECK-NEXT: "range": {
2209// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002210// CHECK-NEXT: "offset": 1977,
2211// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002212// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002213// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002214// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002215// CHECK-NEXT: "offset": 1984,
2216// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002217// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002218// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002219// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002220// CHECK-NEXT: "type": {
2221// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002222// CHECK-NEXT: },
2223// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002224// CHECK-NEXT: "inner": [
2225// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002226// CHECK-NEXT: "id": "0x{{.*}}",
2227// CHECK-NEXT: "kind": "CStyleCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002228// CHECK-NEXT: "range": {
2229// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002230// CHECK-NEXT: "offset": 1977,
2231// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002232// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002233// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002234// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002235// CHECK-NEXT: "offset": 1984,
2236// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002237// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002238// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002239// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002240// CHECK-NEXT: "type": {
2241// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002242// CHECK-NEXT: },
2243// CHECK-NEXT: "valueCategory": "rvalue",
2244// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002245// CHECK-NEXT: "inner": [
2246// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002247// CHECK-NEXT: "id": "0x{{.*}}",
2248// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002249// CHECK-NEXT: "range": {
2250// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002251// CHECK-NEXT: "offset": 1984,
2252// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002253// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002254// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002255// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002256// CHECK-NEXT: "offset": 1984,
2257// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002258// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002259// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002260// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002261// CHECK-NEXT: "type": {
2262// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002263// CHECK-NEXT: },
2264// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002265// CHECK-NEXT: "value": "0"
2266// CHECK-NEXT: }
2267// CHECK-NEXT: ]
2268// CHECK-NEXT: }
2269// CHECK-NEXT: ]
2270// CHECK-NEXT: }
2271// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002272// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002273// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002274// CHECK-NEXT: "id": "0x{{.*}}",
2275// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002276// CHECK-NEXT: "range": {
2277// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002278// CHECK-NEXT: "offset": 1966,
2279// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002280// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002281// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002282// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002283// CHECK-NEXT: "offset": 1966,
2284// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002285// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002286// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002287// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002288// CHECK-NEXT: "type": {
2289// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002290// CHECK-NEXT: },
2291// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002292// CHECK-NEXT: "inner": [
2293// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002294// CHECK-NEXT: "id": "0x{{.*}}",
2295// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002296// CHECK-NEXT: "range": {
2297// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002298// CHECK-NEXT: "offset": 1966,
2299// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002300// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002301// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002302// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002303// CHECK-NEXT: "offset": 1966,
2304// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002305// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002306// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002307// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002308// CHECK-NEXT: "type": {
2309// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002310// CHECK-NEXT: },
2311// CHECK-NEXT: "valueCategory": "rvalue",
2312// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002313// CHECK-NEXT: "inner": [
2314// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002315// CHECK-NEXT: "id": "0x{{.*}}",
2316// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002317// CHECK-NEXT: "range": {
2318// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002319// CHECK-NEXT: "offset": 1966,
2320// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002321// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002322// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002323// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002324// CHECK-NEXT: "offset": 1966,
2325// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002326// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002327// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002328// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002329// CHECK-NEXT: "type": {
2330// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002331// CHECK-NEXT: },
2332// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002333// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002334// CHECK-NEXT: "id": "0x{{.*}}",
2335// CHECK-NEXT: "kind": "ParmVarDecl",
2336// CHECK-NEXT: "name": "Array",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002337// CHECK-NEXT: "type": {
2338// CHECK-NEXT: "qualType": "NSMutableArray *"
2339// CHECK-NEXT: }
2340// CHECK-NEXT: }
2341// CHECK-NEXT: }
2342// CHECK-NEXT: ]
2343// CHECK-NEXT: }
2344// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002345// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002346// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002347// CHECK-NEXT: "id": "0x{{.*}}",
2348// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002349// CHECK-NEXT: "range": {
2350// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002351// CHECK-NEXT: "offset": 1972,
2352// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002353// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002354// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002355// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002356// CHECK-NEXT: "offset": 1972,
2357// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002358// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002359// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002360// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002361// CHECK-NEXT: "type": {
2362// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002363// CHECK-NEXT: },
2364// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002365// CHECK-NEXT: "inner": [
2366// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002367// CHECK-NEXT: "id": "0x{{.*}}",
2368// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002369// CHECK-NEXT: "range": {
2370// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002371// CHECK-NEXT: "offset": 1972,
2372// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002373// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002374// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002375// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002376// CHECK-NEXT: "offset": 1972,
2377// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002378// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002379// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002380// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002381// CHECK-NEXT: "type": {
2382// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002383// CHECK-NEXT: },
2384// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002385// CHECK-NEXT: "value": "0"
2386// CHECK-NEXT: }
2387// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002388// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002389// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002390// CHECK-NEXT: "id": "0x{{.*}}",
2391// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002392// CHECK-NEXT: "range": {
2393// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002394// CHECK-NEXT: "offset": 1977,
2395// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002396// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002397// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002398// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002399// CHECK-NEXT: "offset": 1984,
2400// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002401// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002402// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002403// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002404// CHECK-NEXT: "type": {
2405// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002406// CHECK-NEXT: },
2407// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002408// CHECK-NEXT: "inner": [
2409// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002410// CHECK-NEXT: "id": "0x{{.*}}",
2411// CHECK-NEXT: "kind": "CStyleCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002412// CHECK-NEXT: "range": {
2413// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002414// CHECK-NEXT: "offset": 1977,
2415// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002416// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002417// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002418// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002419// CHECK-NEXT: "offset": 1984,
2420// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002421// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002422// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002423// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002424// CHECK-NEXT: "type": {
2425// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002426// CHECK-NEXT: },
2427// CHECK-NEXT: "valueCategory": "rvalue",
2428// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002429// CHECK-NEXT: "inner": [
2430// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002431// CHECK-NEXT: "id": "0x{{.*}}",
2432// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002433// CHECK-NEXT: "range": {
2434// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002435// CHECK-NEXT: "offset": 1984,
2436// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002437// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002438// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002439// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002440// CHECK-NEXT: "offset": 1984,
2441// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002442// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002443// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002444// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002445// CHECK-NEXT: "type": {
2446// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002447// CHECK-NEXT: },
2448// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002449// CHECK-NEXT: "value": "0"
2450// CHECK-NEXT: }
2451// CHECK-NEXT: ]
2452// CHECK-NEXT: }
2453// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002454// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002455// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002456// CHECK-NEXT: "id": "0x{{.*}}",
2457// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002458// CHECK-NEXT: "range": {
2459// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002460// CHECK-NEXT: "offset": 1977,
2461// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002462// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002463// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002464// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002465// CHECK-NEXT: "offset": 1984,
2466// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002467// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002468// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002469// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002470// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002471// CHECK-NEXT: "desugaredQualType": "id",
2472// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002473// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002474// CHECK-NEXT: },
2475// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002476// CHECK-NEXT: "inner": [
2477// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002478// CHECK-NEXT: "id": "0x{{.*}}",
2479// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002480// CHECK-NEXT: "range": {
2481// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002482// CHECK-NEXT: "offset": 1977,
2483// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002484// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002485// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002486// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002487// CHECK-NEXT: "offset": 1984,
2488// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002489// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002490// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002491// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002492// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002493// CHECK-NEXT: "desugaredQualType": "id",
2494// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002495// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002496// CHECK-NEXT: },
2497// CHECK-NEXT: "valueCategory": "rvalue",
2498// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002499// CHECK-NEXT: "inner": [
2500// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002501// CHECK-NEXT: "id": "0x{{.*}}",
2502// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002503// CHECK-NEXT: "range": {
2504// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002505// CHECK-NEXT: "offset": 1977,
2506// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002507// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002508// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002509// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002510// CHECK-NEXT: "offset": 1984,
2511// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002512// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002513// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002514// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002515// CHECK-NEXT: "type": {
2516// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002517// CHECK-NEXT: },
2518// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002519// CHECK-NEXT: "inner": [
2520// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002521// CHECK-NEXT: "id": "0x{{.*}}",
2522// CHECK-NEXT: "kind": "CStyleCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002523// CHECK-NEXT: "range": {
2524// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002525// CHECK-NEXT: "offset": 1977,
2526// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002527// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002528// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002529// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002530// CHECK-NEXT: "offset": 1984,
2531// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002532// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002533// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002534// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002535// CHECK-NEXT: "type": {
2536// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002537// CHECK-NEXT: },
2538// CHECK-NEXT: "valueCategory": "rvalue",
2539// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002540// CHECK-NEXT: "inner": [
2541// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002542// CHECK-NEXT: "id": "0x{{.*}}",
2543// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002544// CHECK-NEXT: "range": {
2545// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002546// CHECK-NEXT: "offset": 1984,
2547// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002548// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002549// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002550// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002551// CHECK-NEXT: "offset": 1984,
2552// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002553// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002554// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002555// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002556// CHECK-NEXT: "type": {
2557// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002558// CHECK-NEXT: },
2559// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002560// CHECK-NEXT: "value": "0"
2561// CHECK-NEXT: }
2562// CHECK-NEXT: ]
2563// CHECK-NEXT: }
2564// CHECK-NEXT: ]
2565// CHECK-NEXT: }
2566// CHECK-NEXT: ]
2567// CHECK-NEXT: }
2568// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002569// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002570// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002571// CHECK-NEXT: "id": "0x{{.*}}",
2572// CHECK-NEXT: "kind": "ObjCMessageExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002573// CHECK-NEXT: "range": {
2574// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002575// CHECK-NEXT: "offset": 1966,
2576// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002577// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002578// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002579// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002580// CHECK-NEXT: "offset": 1966,
2581// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002582// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002583// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002584// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002585// CHECK-NEXT: "type": {
2586// CHECK-NEXT: "qualType": "void"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002587// CHECK-NEXT: },
2588// CHECK-NEXT: "valueCategory": "rvalue",
2589// CHECK-NEXT: "selector": "setObject:atIndexedSubscript:",
2590// CHECK-NEXT: "receiverKind": "instance",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002591// CHECK-NEXT: "inner": [
2592// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002593// CHECK-NEXT: "id": "0x{{.*}}",
2594// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002595// CHECK-NEXT: "range": {
2596// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002597// CHECK-NEXT: "offset": 1966,
2598// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002599// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002600// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002601// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002602// CHECK-NEXT: "offset": 1966,
2603// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002604// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002605// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002606// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002607// CHECK-NEXT: "type": {
2608// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002609// CHECK-NEXT: },
2610// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002611// CHECK-NEXT: "inner": [
2612// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002613// CHECK-NEXT: "id": "0x{{.*}}",
2614// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002615// CHECK-NEXT: "range": {
2616// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002617// CHECK-NEXT: "offset": 1966,
2618// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002619// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002620// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002621// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002622// CHECK-NEXT: "offset": 1966,
2623// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002624// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002625// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002626// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002627// CHECK-NEXT: "type": {
2628// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002629// CHECK-NEXT: },
2630// CHECK-NEXT: "valueCategory": "rvalue",
2631// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002632// CHECK-NEXT: "inner": [
2633// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002634// CHECK-NEXT: "id": "0x{{.*}}",
2635// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002636// CHECK-NEXT: "range": {
2637// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002638// CHECK-NEXT: "offset": 1966,
2639// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002640// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002641// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002642// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002643// CHECK-NEXT: "offset": 1966,
2644// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002645// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002646// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002647// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002648// CHECK-NEXT: "type": {
2649// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002650// CHECK-NEXT: },
2651// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002652// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002653// CHECK-NEXT: "id": "0x{{.*}}",
2654// CHECK-NEXT: "kind": "ParmVarDecl",
2655// CHECK-NEXT: "name": "Array",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002656// CHECK-NEXT: "type": {
2657// CHECK-NEXT: "qualType": "NSMutableArray *"
2658// CHECK-NEXT: }
2659// CHECK-NEXT: }
2660// CHECK-NEXT: }
2661// CHECK-NEXT: ]
2662// CHECK-NEXT: }
2663// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002664// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002665// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002666// CHECK-NEXT: "id": "0x{{.*}}",
2667// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002668// CHECK-NEXT: "range": {
2669// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002670// CHECK-NEXT: "offset": 1977,
2671// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002672// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002673// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002674// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002675// CHECK-NEXT: "offset": 1984,
2676// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002677// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002678// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002679// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002680// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002681// CHECK-NEXT: "desugaredQualType": "id",
2682// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002683// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002684// CHECK-NEXT: },
2685// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002686// CHECK-NEXT: "inner": [
2687// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002688// CHECK-NEXT: "id": "0x{{.*}}",
2689// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002690// CHECK-NEXT: "range": {
2691// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002692// CHECK-NEXT: "offset": 1977,
2693// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002694// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002695// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002696// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002697// CHECK-NEXT: "offset": 1984,
2698// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002699// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002700// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002701// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002702// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002703// CHECK-NEXT: "desugaredQualType": "id",
2704// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002705// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002706// CHECK-NEXT: },
2707// CHECK-NEXT: "valueCategory": "rvalue",
2708// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002709// CHECK-NEXT: "inner": [
2710// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002711// CHECK-NEXT: "id": "0x{{.*}}",
2712// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002713// CHECK-NEXT: "range": {
2714// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002715// CHECK-NEXT: "offset": 1977,
2716// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002717// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002718// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002719// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002720// CHECK-NEXT: "offset": 1984,
2721// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002722// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002723// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002724// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002725// CHECK-NEXT: "type": {
2726// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002727// CHECK-NEXT: },
2728// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002729// CHECK-NEXT: "inner": [
2730// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002731// CHECK-NEXT: "id": "0x{{.*}}",
2732// CHECK-NEXT: "kind": "CStyleCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002733// CHECK-NEXT: "range": {
2734// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002735// CHECK-NEXT: "offset": 1977,
2736// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002737// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002738// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002739// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002740// CHECK-NEXT: "offset": 1984,
2741// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002742// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002743// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002744// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002745// CHECK-NEXT: "type": {
2746// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002747// CHECK-NEXT: },
2748// CHECK-NEXT: "valueCategory": "rvalue",
2749// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002750// CHECK-NEXT: "inner": [
2751// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002752// CHECK-NEXT: "id": "0x{{.*}}",
2753// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002754// CHECK-NEXT: "range": {
2755// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002756// CHECK-NEXT: "offset": 1984,
2757// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002758// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002759// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002760// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002761// CHECK-NEXT: "offset": 1984,
2762// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002763// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002764// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002765// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002766// CHECK-NEXT: "type": {
2767// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002768// CHECK-NEXT: },
2769// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002770// CHECK-NEXT: "value": "0"
2771// CHECK-NEXT: }
2772// CHECK-NEXT: ]
2773// CHECK-NEXT: }
2774// CHECK-NEXT: ]
2775// CHECK-NEXT: }
2776// CHECK-NEXT: ]
2777// CHECK-NEXT: }
2778// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002779// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002780// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002781// CHECK-NEXT: "id": "0x{{.*}}",
2782// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002783// CHECK-NEXT: "range": {
2784// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002785// CHECK-NEXT: "offset": 1972,
2786// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002787// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002788// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002789// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002790// CHECK-NEXT: "offset": 1972,
2791// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002792// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002793// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002794// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002795// CHECK-NEXT: "type": {
2796// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002797// CHECK-NEXT: },
2798// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002799// CHECK-NEXT: "inner": [
2800// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002801// CHECK-NEXT: "id": "0x{{.*}}",
2802// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002803// CHECK-NEXT: "range": {
2804// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002805// CHECK-NEXT: "offset": 1972,
2806// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002807// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002808// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002809// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002810// CHECK-NEXT: "offset": 1972,
2811// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002812// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002813// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002814// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002815// CHECK-NEXT: "type": {
2816// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002817// CHECK-NEXT: },
2818// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002819// CHECK-NEXT: "value": "0"
2820// CHECK-NEXT: }
2821// CHECK-NEXT: ]
2822// CHECK-NEXT: }
2823// CHECK-NEXT: ]
2824// CHECK-NEXT: }
2825// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002826// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002827// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002828// CHECK-NEXT: "id": "0x{{.*}}",
2829// CHECK-NEXT: "kind": "DeclStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002830// CHECK-NEXT: "range": {
2831// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002832// CHECK-NEXT: "offset": 1988,
2833// CHECK-NEXT: "line": 83,
2834// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002835// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002836// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002837// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002838// CHECK-NEXT: "offset": 2003,
2839// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00002840// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002841// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002842// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002843// CHECK-NEXT: "inner": [
2844// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002845// CHECK-NEXT: "id": "0x{{.*}}",
2846// CHECK-NEXT: "kind": "VarDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002847// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002848// CHECK-NEXT: "offset": 1991,
2849// CHECK-NEXT: "col": 5,
Aaron Ballmana612e342019-06-24 20:07:11 +00002850// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002851// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002852// CHECK-NEXT: "range": {
2853// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002854// CHECK-NEXT: "offset": 1988,
2855// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002856// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002857// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002858// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002859// CHECK-NEXT: "offset": 2002,
2860// CHECK-NEXT: "col": 16,
Aaron Ballmana612e342019-06-24 20:07:11 +00002861// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002862// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002863// CHECK-NEXT: },
2864// CHECK-NEXT: "isUsed": true,
2865// CHECK-NEXT: "name": "i",
Alex Richardson3c3048c2019-11-15 12:33:16 +00002866// CHECK-NEXT: "mangledName": "i",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002867// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002868// CHECK-NEXT: "desugaredQualType": "id",
2869// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002870// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002871// CHECK-NEXT: },
2872// CHECK-NEXT: "init": "c",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002873// CHECK-NEXT: "inner": [
2874// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002875// CHECK-NEXT: "id": "0x{{.*}}",
2876// CHECK-NEXT: "kind": "PseudoObjectExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002877// CHECK-NEXT: "range": {
2878// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002879// CHECK-NEXT: "offset": 1995,
2880// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002881// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002882// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002883// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002884// CHECK-NEXT: "offset": 2002,
2885// CHECK-NEXT: "col": 16,
Aaron Ballmana612e342019-06-24 20:07:11 +00002886// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002887// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002888// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002889// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002890// CHECK-NEXT: "desugaredQualType": "id",
2891// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002892// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002893// CHECK-NEXT: },
2894// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002895// CHECK-NEXT: "inner": [
2896// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002897// CHECK-NEXT: "id": "0x{{.*}}",
2898// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002899// CHECK-NEXT: "range": {
2900// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002901// CHECK-NEXT: "offset": 1995,
2902// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002903// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002904// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002905// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002906// CHECK-NEXT: "offset": 2002,
2907// CHECK-NEXT: "col": 16,
Aaron Ballmana612e342019-06-24 20:07:11 +00002908// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002909// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002910// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002911// CHECK-NEXT: "type": {
2912// CHECK-NEXT: "qualType": "<pseudo-object type>"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002913// CHECK-NEXT: },
2914// CHECK-NEXT: "valueCategory": "lvalue",
2915// CHECK-NEXT: "subscriptKind": "array",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002916// CHECK-NEXT: "inner": [
2917// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002918// CHECK-NEXT: "id": "0x{{.*}}",
2919// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002920// CHECK-NEXT: "range": {
2921// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002922// CHECK-NEXT: "offset": 1995,
2923// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002924// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002925// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002926// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002927// CHECK-NEXT: "offset": 1995,
2928// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002929// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002930// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002931// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002932// CHECK-NEXT: "type": {
2933// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002934// CHECK-NEXT: },
2935// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002936// CHECK-NEXT: "inner": [
2937// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002938// CHECK-NEXT: "id": "0x{{.*}}",
2939// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002940// CHECK-NEXT: "range": {
2941// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002942// CHECK-NEXT: "offset": 1995,
2943// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002944// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002945// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002946// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002947// CHECK-NEXT: "offset": 1995,
2948// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002949// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002950// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002951// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002952// CHECK-NEXT: "type": {
2953// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002954// CHECK-NEXT: },
2955// CHECK-NEXT: "valueCategory": "rvalue",
2956// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002957// CHECK-NEXT: "inner": [
2958// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002959// CHECK-NEXT: "id": "0x{{.*}}",
2960// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002961// CHECK-NEXT: "range": {
2962// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002963// CHECK-NEXT: "offset": 1995,
2964// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002965// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002966// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002967// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002968// CHECK-NEXT: "offset": 1995,
2969// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002970// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002971// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002972// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002973// CHECK-NEXT: "type": {
2974// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002975// CHECK-NEXT: },
2976// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002977// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002978// CHECK-NEXT: "id": "0x{{.*}}",
2979// CHECK-NEXT: "kind": "ParmVarDecl",
2980// CHECK-NEXT: "name": "Array",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002981// CHECK-NEXT: "type": {
2982// CHECK-NEXT: "qualType": "NSMutableArray *"
2983// CHECK-NEXT: }
2984// CHECK-NEXT: }
2985// CHECK-NEXT: }
2986// CHECK-NEXT: ]
2987// CHECK-NEXT: }
2988// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002989// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002990// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002991// CHECK-NEXT: "id": "0x{{.*}}",
2992// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002993// CHECK-NEXT: "range": {
2994// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002995// CHECK-NEXT: "offset": 2001,
2996// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002997// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002998// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002999// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003000// CHECK-NEXT: "offset": 2001,
3001// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00003002// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003003// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003004// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003005// CHECK-NEXT: "type": {
3006// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003007// CHECK-NEXT: },
3008// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003009// CHECK-NEXT: "inner": [
3010// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003011// CHECK-NEXT: "id": "0x{{.*}}",
3012// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003013// CHECK-NEXT: "range": {
3014// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003015// CHECK-NEXT: "offset": 2001,
3016// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00003017// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003018// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003019// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003020// CHECK-NEXT: "offset": 2001,
3021// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00003022// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003023// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003024// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003025// CHECK-NEXT: "type": {
3026// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003027// CHECK-NEXT: },
3028// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003029// CHECK-NEXT: "value": "0"
3030// CHECK-NEXT: }
3031// CHECK-NEXT: ]
3032// CHECK-NEXT: }
3033// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003034// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003035// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003036// CHECK-NEXT: "id": "0x{{.*}}",
3037// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003038// CHECK-NEXT: "range": {
3039// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003040// CHECK-NEXT: "offset": 1995,
3041// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003042// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003043// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003044// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003045// CHECK-NEXT: "offset": 1995,
3046// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003047// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003048// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003049// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003050// CHECK-NEXT: "type": {
3051// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003052// CHECK-NEXT: },
3053// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003054// CHECK-NEXT: "inner": [
3055// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003056// CHECK-NEXT: "id": "0x{{.*}}",
3057// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003058// CHECK-NEXT: "range": {
3059// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003060// CHECK-NEXT: "offset": 1995,
3061// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003062// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003063// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003064// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003065// CHECK-NEXT: "offset": 1995,
3066// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003067// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003068// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003069// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003070// CHECK-NEXT: "type": {
3071// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003072// CHECK-NEXT: },
3073// CHECK-NEXT: "valueCategory": "rvalue",
3074// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003075// CHECK-NEXT: "inner": [
3076// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003077// CHECK-NEXT: "id": "0x{{.*}}",
3078// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003079// CHECK-NEXT: "range": {
3080// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003081// CHECK-NEXT: "offset": 1995,
3082// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003083// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003084// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003085// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003086// CHECK-NEXT: "offset": 1995,
3087// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003088// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003089// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003090// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003091// CHECK-NEXT: "type": {
3092// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003093// CHECK-NEXT: },
3094// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003095// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003096// CHECK-NEXT: "id": "0x{{.*}}",
3097// CHECK-NEXT: "kind": "ParmVarDecl",
3098// CHECK-NEXT: "name": "Array",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003099// CHECK-NEXT: "type": {
3100// CHECK-NEXT: "qualType": "NSMutableArray *"
3101// CHECK-NEXT: }
3102// CHECK-NEXT: }
3103// CHECK-NEXT: }
3104// CHECK-NEXT: ]
3105// CHECK-NEXT: }
3106// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003107// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003108// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003109// CHECK-NEXT: "id": "0x{{.*}}",
3110// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003111// CHECK-NEXT: "range": {
3112// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003113// CHECK-NEXT: "offset": 2001,
3114// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00003115// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003116// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003117// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003118// CHECK-NEXT: "offset": 2001,
3119// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00003120// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003121// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003122// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003123// CHECK-NEXT: "type": {
3124// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003125// CHECK-NEXT: },
3126// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003127// CHECK-NEXT: "inner": [
3128// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003129// CHECK-NEXT: "id": "0x{{.*}}",
3130// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003131// CHECK-NEXT: "range": {
3132// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003133// CHECK-NEXT: "offset": 2001,
3134// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00003135// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003136// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003137// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003138// CHECK-NEXT: "offset": 2001,
3139// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00003140// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003141// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003142// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003143// CHECK-NEXT: "type": {
3144// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003145// CHECK-NEXT: },
3146// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003147// CHECK-NEXT: "value": "0"
3148// CHECK-NEXT: }
3149// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003150// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003151// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003152// CHECK-NEXT: "id": "0x{{.*}}",
3153// CHECK-NEXT: "kind": "ObjCMessageExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003154// CHECK-NEXT: "range": {
3155// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003156// CHECK-NEXT: "offset": 1995,
3157// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003158// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003159// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003160// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003161// CHECK-NEXT: "offset": 1995,
3162// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003163// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003164// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003165// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003166// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003167// CHECK-NEXT: "desugaredQualType": "id",
3168// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00003169// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003170// CHECK-NEXT: },
3171// CHECK-NEXT: "valueCategory": "rvalue",
3172// CHECK-NEXT: "selector": "objectAtIndexedSubscript:",
3173// CHECK-NEXT: "receiverKind": "instance",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003174// CHECK-NEXT: "inner": [
3175// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003176// CHECK-NEXT: "id": "0x{{.*}}",
3177// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003178// CHECK-NEXT: "range": {
3179// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003180// CHECK-NEXT: "offset": 1995,
3181// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003182// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003183// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003184// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003185// CHECK-NEXT: "offset": 1995,
3186// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003187// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003188// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003189// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003190// CHECK-NEXT: "type": {
3191// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003192// CHECK-NEXT: },
3193// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003194// CHECK-NEXT: "inner": [
3195// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003196// CHECK-NEXT: "id": "0x{{.*}}",
3197// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003198// CHECK-NEXT: "range": {
3199// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003200// CHECK-NEXT: "offset": 1995,
3201// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003202// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003203// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003204// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003205// CHECK-NEXT: "offset": 1995,
3206// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003207// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003208// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003209// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003210// CHECK-NEXT: "type": {
3211// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003212// CHECK-NEXT: },
3213// CHECK-NEXT: "valueCategory": "rvalue",
3214// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003215// CHECK-NEXT: "inner": [
3216// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003217// CHECK-NEXT: "id": "0x{{.*}}",
3218// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003219// CHECK-NEXT: "range": {
3220// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003221// CHECK-NEXT: "offset": 1995,
3222// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003223// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003224// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003225// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003226// CHECK-NEXT: "offset": 1995,
3227// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003228// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003229// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003230// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003231// CHECK-NEXT: "type": {
3232// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003233// CHECK-NEXT: },
3234// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003235// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003236// CHECK-NEXT: "id": "0x{{.*}}",
3237// CHECK-NEXT: "kind": "ParmVarDecl",
3238// CHECK-NEXT: "name": "Array",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003239// CHECK-NEXT: "type": {
3240// CHECK-NEXT: "qualType": "NSMutableArray *"
3241// CHECK-NEXT: }
3242// CHECK-NEXT: }
3243// CHECK-NEXT: }
3244// CHECK-NEXT: ]
3245// CHECK-NEXT: }
3246// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003247// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003248// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003249// CHECK-NEXT: "id": "0x{{.*}}",
3250// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003251// CHECK-NEXT: "range": {
3252// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003253// CHECK-NEXT: "offset": 2001,
3254// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00003255// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003256// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003257// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003258// CHECK-NEXT: "offset": 2001,
3259// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00003260// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003261// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003262// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003263// CHECK-NEXT: "type": {
3264// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003265// CHECK-NEXT: },
3266// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003267// CHECK-NEXT: "inner": [
3268// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003269// CHECK-NEXT: "id": "0x{{.*}}",
3270// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003271// CHECK-NEXT: "range": {
3272// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003273// CHECK-NEXT: "offset": 2001,
3274// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00003275// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003276// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003277// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003278// CHECK-NEXT: "offset": 2001,
3279// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00003280// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003281// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003282// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003283// CHECK-NEXT: "type": {
3284// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003285// CHECK-NEXT: },
3286// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003287// CHECK-NEXT: "value": "0"
3288// CHECK-NEXT: }
3289// CHECK-NEXT: ]
3290// CHECK-NEXT: }
3291// CHECK-NEXT: ]
3292// CHECK-NEXT: }
3293// CHECK-NEXT: ]
3294// CHECK-NEXT: }
3295// CHECK-NEXT: ]
3296// CHECK-NEXT: }
3297// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003298// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003299// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003300// CHECK-NEXT: "id": "0x{{.*}}",
3301// CHECK-NEXT: "kind": "PseudoObjectExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003302// CHECK-NEXT: "range": {
3303// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003304// CHECK-NEXT: "offset": 2008,
3305// CHECK-NEXT: "line": 85,
3306// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003307// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003308// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003309// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003310// CHECK-NEXT: "offset": 2030,
3311// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003312// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003313// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003314// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003315// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003316// CHECK-NEXT: "desugaredQualType": "id",
3317// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00003318// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003319// CHECK-NEXT: },
3320// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003321// CHECK-NEXT: "inner": [
3322// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003323// CHECK-NEXT: "id": "0x{{.*}}",
3324// CHECK-NEXT: "kind": "BinaryOperator",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003325// CHECK-NEXT: "range": {
3326// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003327// CHECK-NEXT: "offset": 2008,
3328// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003329// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003330// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003331// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003332// CHECK-NEXT: "offset": 2030,
3333// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003334// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003335// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003336// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003337// CHECK-NEXT: "type": {
3338// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003339// CHECK-NEXT: },
3340// CHECK-NEXT: "valueCategory": "rvalue",
3341// CHECK-NEXT: "opcode": "=",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003342// CHECK-NEXT: "inner": [
3343// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003344// CHECK-NEXT: "id": "0x{{.*}}",
3345// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003346// CHECK-NEXT: "range": {
3347// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003348// CHECK-NEXT: "offset": 2008,
3349// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003350// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003351// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003352// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003353// CHECK-NEXT: "offset": 2019,
3354// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00003355// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003356// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003357// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003358// CHECK-NEXT: "type": {
3359// CHECK-NEXT: "qualType": "<pseudo-object type>"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003360// CHECK-NEXT: },
3361// CHECK-NEXT: "valueCategory": "lvalue",
3362// CHECK-NEXT: "subscriptKind": "dictionary",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003363// CHECK-NEXT: "inner": [
3364// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003365// CHECK-NEXT: "id": "0x{{.*}}",
3366// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003367// CHECK-NEXT: "range": {
3368// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003369// CHECK-NEXT: "offset": 2008,
3370// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003371// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003372// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003373// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003374// CHECK-NEXT: "offset": 2008,
3375// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003376// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003377// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003378// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003379// CHECK-NEXT: "type": {
3380// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003381// CHECK-NEXT: },
3382// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003383// CHECK-NEXT: "inner": [
3384// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003385// CHECK-NEXT: "id": "0x{{.*}}",
3386// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003387// CHECK-NEXT: "range": {
3388// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003389// CHECK-NEXT: "offset": 2008,
3390// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003391// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003392// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003393// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003394// CHECK-NEXT: "offset": 2008,
3395// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003396// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003397// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003398// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003399// CHECK-NEXT: "type": {
3400// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003401// CHECK-NEXT: },
3402// CHECK-NEXT: "valueCategory": "rvalue",
3403// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003404// CHECK-NEXT: "inner": [
3405// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003406// CHECK-NEXT: "id": "0x{{.*}}",
3407// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003408// CHECK-NEXT: "range": {
3409// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003410// CHECK-NEXT: "offset": 2008,
3411// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003412// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003413// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003414// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003415// CHECK-NEXT: "offset": 2008,
3416// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003417// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003418// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003419// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003420// CHECK-NEXT: "type": {
3421// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003422// CHECK-NEXT: },
3423// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003424// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003425// CHECK-NEXT: "id": "0x{{.*}}",
3426// CHECK-NEXT: "kind": "ParmVarDecl",
3427// CHECK-NEXT: "name": "Dict",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003428// CHECK-NEXT: "type": {
3429// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3430// CHECK-NEXT: }
3431// CHECK-NEXT: }
3432// CHECK-NEXT: }
3433// CHECK-NEXT: ]
3434// CHECK-NEXT: }
3435// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003436// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003437// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003438// CHECK-NEXT: "id": "0x{{.*}}",
3439// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003440// CHECK-NEXT: "range": {
3441// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003442// CHECK-NEXT: "offset": 2013,
3443// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003444// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003445// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003446// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003447// CHECK-NEXT: "offset": 2014,
3448// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003449// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003450// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003451// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003452// CHECK-NEXT: "type": {
3453// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003454// CHECK-NEXT: },
3455// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003456// CHECK-NEXT: "inner": [
3457// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003458// CHECK-NEXT: "id": "0x{{.*}}",
3459// CHECK-NEXT: "kind": "ObjCStringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003460// CHECK-NEXT: "range": {
3461// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003462// CHECK-NEXT: "offset": 2013,
3463// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003464// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003465// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003466// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003467// CHECK-NEXT: "offset": 2014,
3468// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003469// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003470// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003471// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003472// CHECK-NEXT: "type": {
3473// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003474// CHECK-NEXT: },
3475// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003476// CHECK-NEXT: "inner": [
3477// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003478// CHECK-NEXT: "id": "0x{{.*}}",
3479// CHECK-NEXT: "kind": "StringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003480// CHECK-NEXT: "range": {
3481// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003482// CHECK-NEXT: "offset": 2014,
3483// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003484// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003485// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003486// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003487// CHECK-NEXT: "offset": 2014,
3488// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003489// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003490// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003491// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003492// CHECK-NEXT: "type": {
3493// CHECK-NEXT: "qualType": "char [4]"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003494// CHECK-NEXT: },
3495// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003496// CHECK-NEXT: "value": "\"key\""
3497// CHECK-NEXT: }
3498// CHECK-NEXT: ]
3499// CHECK-NEXT: }
3500// CHECK-NEXT: ]
3501// CHECK-NEXT: }
3502// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003503// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003504// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003505// CHECK-NEXT: "id": "0x{{.*}}",
3506// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003507// CHECK-NEXT: "range": {
3508// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003509// CHECK-NEXT: "offset": 2023,
3510// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003511// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003512// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003513// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003514// CHECK-NEXT: "offset": 2030,
3515// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003516// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003517// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003518// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003519// CHECK-NEXT: "type": {
3520// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003521// CHECK-NEXT: },
3522// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003523// CHECK-NEXT: "inner": [
3524// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003525// CHECK-NEXT: "id": "0x{{.*}}",
3526// CHECK-NEXT: "kind": "CStyleCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003527// CHECK-NEXT: "range": {
3528// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003529// CHECK-NEXT: "offset": 2023,
3530// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003531// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003532// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003533// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003534// CHECK-NEXT: "offset": 2030,
3535// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003536// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003537// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003538// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003539// CHECK-NEXT: "type": {
3540// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003541// CHECK-NEXT: },
3542// CHECK-NEXT: "valueCategory": "rvalue",
3543// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003544// CHECK-NEXT: "inner": [
3545// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003546// CHECK-NEXT: "id": "0x{{.*}}",
3547// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003548// CHECK-NEXT: "range": {
3549// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003550// CHECK-NEXT: "offset": 2030,
3551// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003552// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003553// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003554// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003555// CHECK-NEXT: "offset": 2030,
3556// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003557// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003558// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003559// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003560// CHECK-NEXT: "type": {
3561// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003562// CHECK-NEXT: },
3563// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003564// CHECK-NEXT: "value": "0"
3565// CHECK-NEXT: }
3566// CHECK-NEXT: ]
3567// CHECK-NEXT: }
3568// CHECK-NEXT: ]
3569// CHECK-NEXT: }
3570// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003571// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003572// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003573// CHECK-NEXT: "id": "0x{{.*}}",
3574// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003575// CHECK-NEXT: "range": {
3576// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003577// CHECK-NEXT: "offset": 2008,
3578// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003579// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003580// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003581// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003582// CHECK-NEXT: "offset": 2008,
3583// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003584// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003585// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003586// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003587// CHECK-NEXT: "type": {
3588// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003589// CHECK-NEXT: },
3590// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003591// CHECK-NEXT: "inner": [
3592// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003593// CHECK-NEXT: "id": "0x{{.*}}",
3594// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003595// CHECK-NEXT: "range": {
3596// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003597// CHECK-NEXT: "offset": 2008,
3598// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003599// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003600// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003601// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003602// CHECK-NEXT: "offset": 2008,
3603// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003604// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003605// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003606// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003607// CHECK-NEXT: "type": {
3608// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003609// CHECK-NEXT: },
3610// CHECK-NEXT: "valueCategory": "rvalue",
3611// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003612// CHECK-NEXT: "inner": [
3613// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003614// CHECK-NEXT: "id": "0x{{.*}}",
3615// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003616// CHECK-NEXT: "range": {
3617// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003618// CHECK-NEXT: "offset": 2008,
3619// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003620// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003621// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003622// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003623// CHECK-NEXT: "offset": 2008,
3624// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003625// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003626// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003627// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003628// CHECK-NEXT: "type": {
3629// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003630// CHECK-NEXT: },
3631// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003632// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003633// CHECK-NEXT: "id": "0x{{.*}}",
3634// CHECK-NEXT: "kind": "ParmVarDecl",
3635// CHECK-NEXT: "name": "Dict",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003636// CHECK-NEXT: "type": {
3637// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3638// CHECK-NEXT: }
3639// CHECK-NEXT: }
3640// CHECK-NEXT: }
3641// CHECK-NEXT: ]
3642// CHECK-NEXT: }
3643// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003644// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003645// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003646// CHECK-NEXT: "id": "0x{{.*}}",
3647// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003648// CHECK-NEXT: "range": {
3649// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003650// CHECK-NEXT: "offset": 2013,
3651// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003652// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003653// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003654// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003655// CHECK-NEXT: "offset": 2014,
3656// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003657// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003658// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003659// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003660// CHECK-NEXT: "type": {
3661// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003662// CHECK-NEXT: },
3663// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003664// CHECK-NEXT: "inner": [
3665// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003666// CHECK-NEXT: "id": "0x{{.*}}",
3667// CHECK-NEXT: "kind": "ObjCStringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003668// CHECK-NEXT: "range": {
3669// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003670// CHECK-NEXT: "offset": 2013,
3671// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003672// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003673// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003674// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003675// CHECK-NEXT: "offset": 2014,
3676// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003677// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003678// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003679// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003680// CHECK-NEXT: "type": {
3681// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003682// CHECK-NEXT: },
3683// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003684// CHECK-NEXT: "inner": [
3685// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003686// CHECK-NEXT: "id": "0x{{.*}}",
3687// CHECK-NEXT: "kind": "StringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003688// CHECK-NEXT: "range": {
3689// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003690// CHECK-NEXT: "offset": 2014,
3691// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003692// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003693// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003694// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003695// CHECK-NEXT: "offset": 2014,
3696// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003697// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003698// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003699// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003700// CHECK-NEXT: "type": {
3701// CHECK-NEXT: "qualType": "char [4]"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003702// CHECK-NEXT: },
3703// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003704// CHECK-NEXT: "value": "\"key\""
3705// CHECK-NEXT: }
3706// CHECK-NEXT: ]
3707// CHECK-NEXT: }
3708// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003709// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003710// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003711// CHECK-NEXT: "id": "0x{{.*}}",
3712// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003713// CHECK-NEXT: "range": {
3714// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003715// CHECK-NEXT: "offset": 2023,
3716// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003717// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003718// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003719// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003720// CHECK-NEXT: "offset": 2030,
3721// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003722// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003723// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003724// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003725// CHECK-NEXT: "type": {
3726// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003727// CHECK-NEXT: },
3728// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003729// CHECK-NEXT: "inner": [
3730// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003731// CHECK-NEXT: "id": "0x{{.*}}",
3732// CHECK-NEXT: "kind": "CStyleCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003733// CHECK-NEXT: "range": {
3734// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003735// CHECK-NEXT: "offset": 2023,
3736// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003737// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003738// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003739// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003740// CHECK-NEXT: "offset": 2030,
3741// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003742// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003743// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003744// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003745// CHECK-NEXT: "type": {
3746// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003747// CHECK-NEXT: },
3748// CHECK-NEXT: "valueCategory": "rvalue",
3749// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003750// CHECK-NEXT: "inner": [
3751// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003752// CHECK-NEXT: "id": "0x{{.*}}",
3753// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003754// CHECK-NEXT: "range": {
3755// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003756// CHECK-NEXT: "offset": 2030,
3757// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003758// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003759// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003760// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003761// CHECK-NEXT: "offset": 2030,
3762// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003763// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003764// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003765// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003766// CHECK-NEXT: "type": {
3767// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003768// CHECK-NEXT: },
3769// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003770// CHECK-NEXT: "value": "0"
3771// CHECK-NEXT: }
3772// CHECK-NEXT: ]
3773// CHECK-NEXT: }
3774// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003775// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003776// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003777// CHECK-NEXT: "id": "0x{{.*}}",
3778// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003779// CHECK-NEXT: "range": {
3780// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003781// CHECK-NEXT: "offset": 2023,
3782// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003783// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003784// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003785// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003786// CHECK-NEXT: "offset": 2030,
3787// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003788// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003789// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003790// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003791// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003792// CHECK-NEXT: "desugaredQualType": "id",
3793// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00003794// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003795// CHECK-NEXT: },
3796// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003797// CHECK-NEXT: "inner": [
3798// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003799// CHECK-NEXT: "id": "0x{{.*}}",
3800// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003801// CHECK-NEXT: "range": {
3802// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003803// CHECK-NEXT: "offset": 2023,
3804// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003805// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003806// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003807// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003808// CHECK-NEXT: "offset": 2030,
3809// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003810// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003811// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003812// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003813// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003814// CHECK-NEXT: "desugaredQualType": "id",
3815// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00003816// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003817// CHECK-NEXT: },
3818// CHECK-NEXT: "valueCategory": "rvalue",
3819// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003820// CHECK-NEXT: "inner": [
3821// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003822// CHECK-NEXT: "id": "0x{{.*}}",
3823// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003824// CHECK-NEXT: "range": {
3825// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003826// CHECK-NEXT: "offset": 2023,
3827// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003828// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003829// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003830// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003831// CHECK-NEXT: "offset": 2030,
3832// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003833// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003834// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003835// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003836// CHECK-NEXT: "type": {
3837// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003838// CHECK-NEXT: },
3839// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003840// CHECK-NEXT: "inner": [
3841// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003842// CHECK-NEXT: "id": "0x{{.*}}",
3843// CHECK-NEXT: "kind": "CStyleCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003844// CHECK-NEXT: "range": {
3845// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003846// CHECK-NEXT: "offset": 2023,
3847// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003848// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003849// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003850// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003851// CHECK-NEXT: "offset": 2030,
3852// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003853// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003854// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003855// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003856// CHECK-NEXT: "type": {
3857// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003858// CHECK-NEXT: },
3859// CHECK-NEXT: "valueCategory": "rvalue",
3860// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003861// CHECK-NEXT: "inner": [
3862// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003863// CHECK-NEXT: "id": "0x{{.*}}",
3864// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003865// CHECK-NEXT: "range": {
3866// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003867// CHECK-NEXT: "offset": 2030,
3868// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003869// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003870// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003871// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003872// CHECK-NEXT: "offset": 2030,
3873// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003874// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003875// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003876// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003877// CHECK-NEXT: "type": {
3878// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003879// CHECK-NEXT: },
3880// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003881// CHECK-NEXT: "value": "0"
3882// CHECK-NEXT: }
3883// CHECK-NEXT: ]
3884// CHECK-NEXT: }
3885// CHECK-NEXT: ]
3886// CHECK-NEXT: }
3887// CHECK-NEXT: ]
3888// CHECK-NEXT: }
3889// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003890// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003891// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003892// CHECK-NEXT: "id": "0x{{.*}}",
3893// CHECK-NEXT: "kind": "ObjCMessageExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003894// CHECK-NEXT: "range": {
3895// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003896// CHECK-NEXT: "offset": 2008,
3897// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003898// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003899// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003900// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003901// CHECK-NEXT: "offset": 2008,
3902// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003903// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003904// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003905// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003906// CHECK-NEXT: "type": {
3907// CHECK-NEXT: "qualType": "void"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003908// CHECK-NEXT: },
3909// CHECK-NEXT: "valueCategory": "rvalue",
3910// CHECK-NEXT: "selector": "setObject:forKeyedSubscript:",
3911// CHECK-NEXT: "receiverKind": "instance",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003912// CHECK-NEXT: "inner": [
3913// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003914// CHECK-NEXT: "id": "0x{{.*}}",
3915// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003916// CHECK-NEXT: "range": {
3917// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003918// CHECK-NEXT: "offset": 2008,
3919// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003920// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003921// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003922// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003923// CHECK-NEXT: "offset": 2008,
3924// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003925// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003926// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003927// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003928// CHECK-NEXT: "type": {
3929// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003930// CHECK-NEXT: },
3931// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003932// CHECK-NEXT: "inner": [
3933// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003934// CHECK-NEXT: "id": "0x{{.*}}",
3935// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003936// CHECK-NEXT: "range": {
3937// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003938// CHECK-NEXT: "offset": 2008,
3939// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003940// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003941// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003942// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003943// CHECK-NEXT: "offset": 2008,
3944// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003945// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003946// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003947// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003948// CHECK-NEXT: "type": {
3949// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003950// CHECK-NEXT: },
3951// CHECK-NEXT: "valueCategory": "rvalue",
3952// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003953// CHECK-NEXT: "inner": [
3954// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003955// CHECK-NEXT: "id": "0x{{.*}}",
3956// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003957// CHECK-NEXT: "range": {
3958// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003959// CHECK-NEXT: "offset": 2008,
3960// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003961// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003962// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003963// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003964// CHECK-NEXT: "offset": 2008,
3965// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003966// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003967// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003968// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003969// CHECK-NEXT: "type": {
3970// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003971// CHECK-NEXT: },
3972// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003973// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003974// CHECK-NEXT: "id": "0x{{.*}}",
3975// CHECK-NEXT: "kind": "ParmVarDecl",
3976// CHECK-NEXT: "name": "Dict",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003977// CHECK-NEXT: "type": {
3978// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3979// CHECK-NEXT: }
3980// CHECK-NEXT: }
3981// CHECK-NEXT: }
3982// CHECK-NEXT: ]
3983// CHECK-NEXT: }
3984// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003985// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003986// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003987// CHECK-NEXT: "id": "0x{{.*}}",
3988// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003989// CHECK-NEXT: "range": {
3990// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003991// CHECK-NEXT: "offset": 2023,
3992// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003993// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003994// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003995// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003996// CHECK-NEXT: "offset": 2030,
3997// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003998// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003999// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004000// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004001// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004002// CHECK-NEXT: "desugaredQualType": "id",
4003// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004004// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004005// CHECK-NEXT: },
4006// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004007// CHECK-NEXT: "inner": [
4008// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004009// CHECK-NEXT: "id": "0x{{.*}}",
4010// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004011// CHECK-NEXT: "range": {
4012// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004013// CHECK-NEXT: "offset": 2023,
4014// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004015// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004016// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004017// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004018// CHECK-NEXT: "offset": 2030,
4019// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00004020// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004021// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004022// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004023// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004024// CHECK-NEXT: "desugaredQualType": "id",
4025// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004026// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004027// CHECK-NEXT: },
4028// CHECK-NEXT: "valueCategory": "rvalue",
4029// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004030// CHECK-NEXT: "inner": [
4031// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004032// CHECK-NEXT: "id": "0x{{.*}}",
4033// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004034// CHECK-NEXT: "range": {
4035// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004036// CHECK-NEXT: "offset": 2023,
4037// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004038// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004039// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004040// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004041// CHECK-NEXT: "offset": 2030,
4042// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00004043// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004044// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004045// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004046// CHECK-NEXT: "type": {
4047// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004048// CHECK-NEXT: },
4049// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004050// CHECK-NEXT: "inner": [
4051// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004052// CHECK-NEXT: "id": "0x{{.*}}",
4053// CHECK-NEXT: "kind": "CStyleCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004054// CHECK-NEXT: "range": {
4055// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004056// CHECK-NEXT: "offset": 2023,
4057// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004058// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004059// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004060// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004061// CHECK-NEXT: "offset": 2030,
4062// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00004063// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004064// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004065// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004066// CHECK-NEXT: "type": {
4067// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004068// CHECK-NEXT: },
4069// CHECK-NEXT: "valueCategory": "rvalue",
4070// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004071// CHECK-NEXT: "inner": [
4072// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004073// CHECK-NEXT: "id": "0x{{.*}}",
4074// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004075// CHECK-NEXT: "range": {
4076// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004077// CHECK-NEXT: "offset": 2030,
4078// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00004079// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004080// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004081// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004082// CHECK-NEXT: "offset": 2030,
4083// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00004084// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004085// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004086// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004087// CHECK-NEXT: "type": {
4088// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004089// CHECK-NEXT: },
4090// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004091// CHECK-NEXT: "value": "0"
4092// CHECK-NEXT: }
4093// CHECK-NEXT: ]
4094// CHECK-NEXT: }
4095// CHECK-NEXT: ]
4096// CHECK-NEXT: }
4097// CHECK-NEXT: ]
4098// CHECK-NEXT: }
4099// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004100// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004101// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004102// CHECK-NEXT: "id": "0x{{.*}}",
4103// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004104// CHECK-NEXT: "range": {
4105// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004106// CHECK-NEXT: "offset": 2013,
4107// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00004108// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004109// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004110// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004111// CHECK-NEXT: "offset": 2014,
4112// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00004113// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004114// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004115// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004116// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004117// CHECK-NEXT: "desugaredQualType": "id",
4118// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004119// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004120// CHECK-NEXT: },
4121// CHECK-NEXT: "valueCategory": "rvalue",
4122// CHECK-NEXT: "castKind": "BitCast",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004123// CHECK-NEXT: "inner": [
4124// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004125// CHECK-NEXT: "id": "0x{{.*}}",
4126// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004127// CHECK-NEXT: "range": {
4128// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004129// CHECK-NEXT: "offset": 2013,
4130// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00004131// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004132// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004133// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004134// CHECK-NEXT: "offset": 2014,
4135// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00004136// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004137// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004138// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004139// CHECK-NEXT: "type": {
4140// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004141// CHECK-NEXT: },
4142// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004143// CHECK-NEXT: "inner": [
4144// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004145// CHECK-NEXT: "id": "0x{{.*}}",
4146// CHECK-NEXT: "kind": "ObjCStringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004147// CHECK-NEXT: "range": {
4148// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004149// CHECK-NEXT: "offset": 2013,
4150// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00004151// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004152// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004153// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004154// CHECK-NEXT: "offset": 2014,
4155// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00004156// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004157// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004158// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004159// CHECK-NEXT: "type": {
4160// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004161// CHECK-NEXT: },
4162// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004163// CHECK-NEXT: "inner": [
4164// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004165// CHECK-NEXT: "id": "0x{{.*}}",
4166// CHECK-NEXT: "kind": "StringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004167// CHECK-NEXT: "range": {
4168// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004169// CHECK-NEXT: "offset": 2014,
4170// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00004171// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004172// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004173// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004174// CHECK-NEXT: "offset": 2014,
4175// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00004176// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004177// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004178// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004179// CHECK-NEXT: "type": {
4180// CHECK-NEXT: "qualType": "char [4]"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004181// CHECK-NEXT: },
4182// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004183// CHECK-NEXT: "value": "\"key\""
4184// CHECK-NEXT: }
4185// CHECK-NEXT: ]
4186// CHECK-NEXT: }
4187// CHECK-NEXT: ]
4188// CHECK-NEXT: }
4189// CHECK-NEXT: ]
4190// CHECK-NEXT: }
4191// CHECK-NEXT: ]
4192// CHECK-NEXT: }
4193// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004194// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004195// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004196// CHECK-NEXT: "id": "0x{{.*}}",
4197// CHECK-NEXT: "kind": "BinaryOperator",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004198// CHECK-NEXT: "range": {
4199// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004200// CHECK-NEXT: "offset": 2034,
4201// CHECK-NEXT: "line": 86,
4202// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00004203// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004204// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004205// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004206// CHECK-NEXT: "offset": 2049,
4207// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004208// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004209// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004210// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004211// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004212// CHECK-NEXT: "desugaredQualType": "id",
4213// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004214// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004215// CHECK-NEXT: },
4216// CHECK-NEXT: "valueCategory": "rvalue",
4217// CHECK-NEXT: "opcode": "=",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004218// CHECK-NEXT: "inner": [
4219// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004220// CHECK-NEXT: "id": "0x{{.*}}",
4221// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004222// CHECK-NEXT: "range": {
4223// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004224// CHECK-NEXT: "offset": 2034,
4225// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00004226// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004227// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004228// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004229// CHECK-NEXT: "offset": 2034,
4230// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00004231// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004232// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004233// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004234// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004235// CHECK-NEXT: "desugaredQualType": "id",
4236// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004237// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004238// CHECK-NEXT: },
4239// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004240// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004241// CHECK-NEXT: "id": "0x{{.*}}",
4242// CHECK-NEXT: "kind": "VarDecl",
4243// CHECK-NEXT: "name": "i",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004244// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004245// CHECK-NEXT: "desugaredQualType": "id",
4246// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004247// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00004248// CHECK-NEXT: }
4249// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004250// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004251// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004252// CHECK-NEXT: "id": "0x{{.*}}",
4253// CHECK-NEXT: "kind": "PseudoObjectExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004254// CHECK-NEXT: "range": {
4255// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004256// CHECK-NEXT: "offset": 2038,
4257// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004258// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004259// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004260// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004261// CHECK-NEXT: "offset": 2049,
4262// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004263// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004264// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004265// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004266// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004267// CHECK-NEXT: "desugaredQualType": "id",
4268// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004269// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004270// CHECK-NEXT: },
4271// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004272// CHECK-NEXT: "inner": [
4273// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004274// CHECK-NEXT: "id": "0x{{.*}}",
4275// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004276// CHECK-NEXT: "range": {
4277// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004278// CHECK-NEXT: "offset": 2038,
4279// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004280// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004281// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004282// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004283// CHECK-NEXT: "offset": 2049,
4284// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004285// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004286// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004287// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004288// CHECK-NEXT: "type": {
4289// CHECK-NEXT: "qualType": "<pseudo-object type>"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004290// CHECK-NEXT: },
4291// CHECK-NEXT: "valueCategory": "lvalue",
4292// CHECK-NEXT: "subscriptKind": "dictionary",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004293// CHECK-NEXT: "inner": [
4294// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004295// CHECK-NEXT: "id": "0x{{.*}}",
4296// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004297// CHECK-NEXT: "range": {
4298// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004299// CHECK-NEXT: "offset": 2038,
4300// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004301// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004302// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004303// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004304// CHECK-NEXT: "offset": 2038,
4305// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004306// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004307// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004308// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004309// CHECK-NEXT: "type": {
4310// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004311// CHECK-NEXT: },
4312// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004313// CHECK-NEXT: "inner": [
4314// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004315// CHECK-NEXT: "id": "0x{{.*}}",
4316// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004317// CHECK-NEXT: "range": {
4318// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004319// CHECK-NEXT: "offset": 2038,
4320// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004321// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004322// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004323// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004324// CHECK-NEXT: "offset": 2038,
4325// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004326// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004327// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004328// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004329// CHECK-NEXT: "type": {
4330// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004331// CHECK-NEXT: },
4332// CHECK-NEXT: "valueCategory": "rvalue",
4333// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004334// CHECK-NEXT: "inner": [
4335// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004336// CHECK-NEXT: "id": "0x{{.*}}",
4337// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004338// CHECK-NEXT: "range": {
4339// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004340// CHECK-NEXT: "offset": 2038,
4341// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004342// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004343// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004344// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004345// CHECK-NEXT: "offset": 2038,
4346// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004347// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004348// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004349// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004350// CHECK-NEXT: "type": {
4351// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004352// CHECK-NEXT: },
4353// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004354// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004355// CHECK-NEXT: "id": "0x{{.*}}",
4356// CHECK-NEXT: "kind": "ParmVarDecl",
4357// CHECK-NEXT: "name": "Dict",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004358// CHECK-NEXT: "type": {
4359// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4360// CHECK-NEXT: }
4361// CHECK-NEXT: }
4362// CHECK-NEXT: }
4363// CHECK-NEXT: ]
4364// CHECK-NEXT: }
4365// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004366// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004367// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004368// CHECK-NEXT: "id": "0x{{.*}}",
4369// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004370// CHECK-NEXT: "range": {
4371// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004372// CHECK-NEXT: "offset": 2043,
4373// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004374// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004375// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004376// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004377// CHECK-NEXT: "offset": 2044,
4378// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004379// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004380// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004381// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004382// CHECK-NEXT: "type": {
4383// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004384// CHECK-NEXT: },
4385// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004386// CHECK-NEXT: "inner": [
4387// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004388// CHECK-NEXT: "id": "0x{{.*}}",
4389// CHECK-NEXT: "kind": "ObjCStringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004390// CHECK-NEXT: "range": {
4391// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004392// CHECK-NEXT: "offset": 2043,
4393// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004394// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004395// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004396// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004397// CHECK-NEXT: "offset": 2044,
4398// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004399// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004400// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004401// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004402// CHECK-NEXT: "type": {
4403// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004404// CHECK-NEXT: },
4405// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004406// CHECK-NEXT: "inner": [
4407// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004408// CHECK-NEXT: "id": "0x{{.*}}",
4409// CHECK-NEXT: "kind": "StringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004410// CHECK-NEXT: "range": {
4411// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004412// CHECK-NEXT: "offset": 2044,
4413// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004414// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004415// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004416// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004417// CHECK-NEXT: "offset": 2044,
4418// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004419// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004420// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004421// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004422// CHECK-NEXT: "type": {
4423// CHECK-NEXT: "qualType": "char [4]"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004424// CHECK-NEXT: },
4425// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004426// CHECK-NEXT: "value": "\"key\""
4427// CHECK-NEXT: }
4428// CHECK-NEXT: ]
4429// CHECK-NEXT: }
4430// CHECK-NEXT: ]
4431// CHECK-NEXT: }
4432// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004433// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004434// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004435// CHECK-NEXT: "id": "0x{{.*}}",
4436// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004437// CHECK-NEXT: "range": {
4438// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004439// CHECK-NEXT: "offset": 2038,
4440// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004441// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004442// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004443// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004444// CHECK-NEXT: "offset": 2038,
4445// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004446// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004447// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004448// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004449// CHECK-NEXT: "type": {
4450// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004451// CHECK-NEXT: },
4452// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004453// CHECK-NEXT: "inner": [
4454// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004455// CHECK-NEXT: "id": "0x{{.*}}",
4456// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004457// CHECK-NEXT: "range": {
4458// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004459// CHECK-NEXT: "offset": 2038,
4460// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004461// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004462// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004463// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004464// CHECK-NEXT: "offset": 2038,
4465// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004466// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004467// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004468// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004469// CHECK-NEXT: "type": {
4470// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004471// CHECK-NEXT: },
4472// CHECK-NEXT: "valueCategory": "rvalue",
4473// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004474// CHECK-NEXT: "inner": [
4475// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004476// CHECK-NEXT: "id": "0x{{.*}}",
4477// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004478// CHECK-NEXT: "range": {
4479// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004480// CHECK-NEXT: "offset": 2038,
4481// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004482// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004483// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004484// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004485// CHECK-NEXT: "offset": 2038,
4486// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004487// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004488// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004489// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004490// CHECK-NEXT: "type": {
4491// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004492// CHECK-NEXT: },
4493// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004494// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004495// CHECK-NEXT: "id": "0x{{.*}}",
4496// CHECK-NEXT: "kind": "ParmVarDecl",
4497// CHECK-NEXT: "name": "Dict",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004498// CHECK-NEXT: "type": {
4499// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4500// CHECK-NEXT: }
4501// CHECK-NEXT: }
4502// CHECK-NEXT: }
4503// CHECK-NEXT: ]
4504// CHECK-NEXT: }
4505// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004506// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004507// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004508// CHECK-NEXT: "id": "0x{{.*}}",
4509// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004510// CHECK-NEXT: "range": {
4511// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004512// CHECK-NEXT: "offset": 2043,
4513// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004514// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004515// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004516// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004517// CHECK-NEXT: "offset": 2044,
4518// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004519// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004520// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004521// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004522// CHECK-NEXT: "type": {
4523// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004524// CHECK-NEXT: },
4525// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004526// CHECK-NEXT: "inner": [
4527// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004528// CHECK-NEXT: "id": "0x{{.*}}",
4529// CHECK-NEXT: "kind": "ObjCStringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004530// CHECK-NEXT: "range": {
4531// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004532// CHECK-NEXT: "offset": 2043,
4533// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004534// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004535// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004536// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004537// CHECK-NEXT: "offset": 2044,
4538// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004539// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004540// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004541// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004542// CHECK-NEXT: "type": {
4543// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004544// CHECK-NEXT: },
4545// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004546// CHECK-NEXT: "inner": [
4547// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004548// CHECK-NEXT: "id": "0x{{.*}}",
4549// CHECK-NEXT: "kind": "StringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004550// CHECK-NEXT: "range": {
4551// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004552// CHECK-NEXT: "offset": 2044,
4553// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004554// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004555// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004556// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004557// CHECK-NEXT: "offset": 2044,
4558// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004559// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004560// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004561// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004562// CHECK-NEXT: "type": {
4563// CHECK-NEXT: "qualType": "char [4]"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004564// CHECK-NEXT: },
4565// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004566// CHECK-NEXT: "value": "\"key\""
4567// CHECK-NEXT: }
4568// CHECK-NEXT: ]
4569// CHECK-NEXT: }
4570// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004571// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004572// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004573// CHECK-NEXT: "id": "0x{{.*}}",
4574// CHECK-NEXT: "kind": "ObjCMessageExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004575// CHECK-NEXT: "range": {
4576// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004577// CHECK-NEXT: "offset": 2038,
4578// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004579// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004580// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004581// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004582// CHECK-NEXT: "offset": 2038,
4583// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004584// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004585// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004586// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004587// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004588// CHECK-NEXT: "desugaredQualType": "id",
4589// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004590// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004591// CHECK-NEXT: },
4592// CHECK-NEXT: "valueCategory": "rvalue",
4593// CHECK-NEXT: "selector": "objectForKeyedSubscript:",
4594// CHECK-NEXT: "receiverKind": "instance",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004595// CHECK-NEXT: "inner": [
4596// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004597// CHECK-NEXT: "id": "0x{{.*}}",
4598// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004599// CHECK-NEXT: "range": {
4600// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004601// CHECK-NEXT: "offset": 2038,
4602// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004603// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004604// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004605// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004606// CHECK-NEXT: "offset": 2038,
4607// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004608// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004609// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004610// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004611// CHECK-NEXT: "type": {
4612// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004613// CHECK-NEXT: },
4614// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004615// CHECK-NEXT: "inner": [
4616// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004617// CHECK-NEXT: "id": "0x{{.*}}",
4618// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004619// CHECK-NEXT: "range": {
4620// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004621// CHECK-NEXT: "offset": 2038,
4622// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004623// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004624// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004625// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004626// CHECK-NEXT: "offset": 2038,
4627// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004628// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004629// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004630// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004631// CHECK-NEXT: "type": {
4632// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004633// CHECK-NEXT: },
4634// CHECK-NEXT: "valueCategory": "rvalue",
4635// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004636// CHECK-NEXT: "inner": [
4637// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004638// CHECK-NEXT: "id": "0x{{.*}}",
4639// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004640// CHECK-NEXT: "range": {
4641// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004642// CHECK-NEXT: "offset": 2038,
4643// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004644// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004645// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004646// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004647// CHECK-NEXT: "offset": 2038,
4648// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004649// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004650// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004651// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004652// CHECK-NEXT: "type": {
4653// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004654// CHECK-NEXT: },
4655// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004656// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004657// CHECK-NEXT: "id": "0x{{.*}}",
4658// CHECK-NEXT: "kind": "ParmVarDecl",
4659// CHECK-NEXT: "name": "Dict",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004660// CHECK-NEXT: "type": {
4661// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4662// CHECK-NEXT: }
4663// CHECK-NEXT: }
4664// CHECK-NEXT: }
4665// CHECK-NEXT: ]
4666// CHECK-NEXT: }
4667// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004668// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004669// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004670// CHECK-NEXT: "id": "0x{{.*}}",
4671// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004672// CHECK-NEXT: "range": {
4673// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004674// CHECK-NEXT: "offset": 2043,
4675// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004676// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004677// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004678// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004679// CHECK-NEXT: "offset": 2044,
4680// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004681// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004682// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004683// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004684// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004685// CHECK-NEXT: "desugaredQualType": "id",
4686// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004687// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004688// CHECK-NEXT: },
4689// CHECK-NEXT: "valueCategory": "rvalue",
4690// CHECK-NEXT: "castKind": "BitCast",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004691// CHECK-NEXT: "inner": [
4692// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004693// CHECK-NEXT: "id": "0x{{.*}}",
4694// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004695// CHECK-NEXT: "range": {
4696// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004697// CHECK-NEXT: "offset": 2043,
4698// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004699// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004700// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004701// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004702// CHECK-NEXT: "offset": 2044,
4703// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004704// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004705// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004706// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004707// CHECK-NEXT: "type": {
4708// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004709// CHECK-NEXT: },
4710// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004711// CHECK-NEXT: "inner": [
4712// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004713// CHECK-NEXT: "id": "0x{{.*}}",
4714// CHECK-NEXT: "kind": "ObjCStringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004715// CHECK-NEXT: "range": {
4716// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004717// CHECK-NEXT: "offset": 2043,
4718// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004719// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004720// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004721// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004722// CHECK-NEXT: "offset": 2044,
4723// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004724// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004725// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004726// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004727// CHECK-NEXT: "type": {
4728// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004729// CHECK-NEXT: },
4730// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004731// CHECK-NEXT: "inner": [
4732// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004733// CHECK-NEXT: "id": "0x{{.*}}",
4734// CHECK-NEXT: "kind": "StringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004735// CHECK-NEXT: "range": {
4736// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004737// CHECK-NEXT: "offset": 2044,
4738// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004739// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004740// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004741// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004742// CHECK-NEXT: "offset": 2044,
4743// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004744// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004745// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004746// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004747// CHECK-NEXT: "type": {
4748// CHECK-NEXT: "qualType": "char [4]"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004749// CHECK-NEXT: },
4750// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004751// CHECK-NEXT: "value": "\"key\""
4752// CHECK-NEXT: }
4753// CHECK-NEXT: ]
4754// CHECK-NEXT: }
4755// CHECK-NEXT: ]
4756// CHECK-NEXT: }
4757// CHECK-NEXT: ]
4758// CHECK-NEXT: }
4759// CHECK-NEXT: ]
4760// CHECK-NEXT: }
4761// CHECK-NEXT: ]
4762// CHECK-NEXT: }
4763// CHECK-NEXT: ]
4764// CHECK-NEXT: }
4765// CHECK-NEXT: ]
4766// CHECK-NEXT: }
4767// CHECK-NEXT: ]
4768// CHECK-NEXT: }
4769
4770
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004771// CHECK: "kind": "FunctionDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004772// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004773// CHECK-NEXT: "offset": 2060,
4774// CHECK-NEXT: "file": "{{.*}}",
4775// CHECK-NEXT: "line": 89,
4776// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004777// CHECK-NEXT: "tokLen": 15
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004778// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004779// CHECK-NEXT: "range": {
4780// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004781// CHECK-NEXT: "offset": 2055,
4782// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004783// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004784// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004785// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004786// CHECK-NEXT: "offset": 2105,
4787// CHECK-NEXT: "line": 91,
4788// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004789// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004790// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004791// CHECK-NEXT: },
4792// CHECK-NEXT: "name": "TestObjCIVarRef",
Alex Richardson3c3048c2019-11-15 12:33:16 +00004793// CHECK-NEXT: "mangledName": "TestObjCIVarRef",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004794// CHECK-NEXT: "type": {
4795// CHECK-NEXT: "qualType": "void (I *)"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004796// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004797// CHECK-NEXT: "inner": [
4798// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004799// CHECK-NEXT: "id": "0x{{.*}}",
4800// CHECK-NEXT: "kind": "ParmVarDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004801// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004802// CHECK-NEXT: "offset": 2079,
4803// CHECK-NEXT: "line": 89,
4804// CHECK-NEXT: "col": 25,
Aaron Ballmana612e342019-06-24 20:07:11 +00004805// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004806// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004807// CHECK-NEXT: "range": {
4808// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004809// CHECK-NEXT: "offset": 2076,
4810// CHECK-NEXT: "col": 22,
Aaron Ballmana612e342019-06-24 20:07:11 +00004811// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004812// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004813// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004814// CHECK-NEXT: "offset": 2079,
4815// CHECK-NEXT: "col": 25,
Aaron Ballmana612e342019-06-24 20:07:11 +00004816// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004817// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004818// CHECK-NEXT: },
4819// CHECK-NEXT: "isUsed": true,
4820// CHECK-NEXT: "name": "Ptr",
Alex Richardson3c3048c2019-11-15 12:33:16 +00004821// CHECK-NEXT: "mangledName": "Ptr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004822// CHECK-NEXT: "type": {
4823// CHECK-NEXT: "qualType": "I *"
4824// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004825// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004826// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004827// CHECK-NEXT: "id": "0x{{.*}}",
4828// CHECK-NEXT: "kind": "CompoundStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004829// CHECK-NEXT: "range": {
4830// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004831// CHECK-NEXT: "offset": 2084,
4832// CHECK-NEXT: "col": 30,
Aaron Ballmana612e342019-06-24 20:07:11 +00004833// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004834// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004835// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004836// CHECK-NEXT: "offset": 2105,
4837// CHECK-NEXT: "line": 91,
4838// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004839// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004840// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004841// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004842// CHECK-NEXT: "inner": [
4843// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004844// CHECK-NEXT: "id": "0x{{.*}}",
4845// CHECK-NEXT: "kind": "BinaryOperator",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004846// CHECK-NEXT: "range": {
4847// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004848// CHECK-NEXT: "offset": 2088,
4849// CHECK-NEXT: "line": 90,
4850// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004851// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004852// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004853// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004854// CHECK-NEXT: "offset": 2102,
4855// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004856// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004857// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004858// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004859// CHECK-NEXT: "type": {
4860// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004861// CHECK-NEXT: },
4862// CHECK-NEXT: "valueCategory": "rvalue",
4863// CHECK-NEXT: "opcode": "=",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004864// CHECK-NEXT: "inner": [
4865// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004866// CHECK-NEXT: "id": "0x{{.*}}",
4867// CHECK-NEXT: "kind": "ObjCIvarRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004868// CHECK-NEXT: "range": {
4869// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004870// CHECK-NEXT: "offset": 2088,
4871// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004872// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004873// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004874// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004875// CHECK-NEXT: "offset": 2093,
4876// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00004877// CHECK-NEXT: "tokLen": 6
Aaron Ballman75e23f82019-06-20 21:45:31 +00004878// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004879// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004880// CHECK-NEXT: "type": {
4881// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004882// CHECK-NEXT: },
4883// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004884// CHECK-NEXT: "decl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004885// CHECK-NEXT: "id": "0x{{.*}}",
4886// CHECK-NEXT: "kind": "ObjCIvarDecl",
4887// CHECK-NEXT: "name": "public",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004888// CHECK-NEXT: "type": {
4889// CHECK-NEXT: "qualType": "int"
4890// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004891// CHECK-NEXT: },
4892// CHECK-NEXT: "isArrow": true,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004893// CHECK-NEXT: "inner": [
4894// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004895// CHECK-NEXT: "id": "0x{{.*}}",
4896// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004897// CHECK-NEXT: "range": {
4898// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004899// CHECK-NEXT: "offset": 2088,
4900// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004901// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004902// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004903// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004904// CHECK-NEXT: "offset": 2088,
4905// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004906// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004907// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004908// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004909// CHECK-NEXT: "type": {
4910// CHECK-NEXT: "qualType": "I *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004911// CHECK-NEXT: },
4912// CHECK-NEXT: "valueCategory": "rvalue",
4913// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004914// CHECK-NEXT: "inner": [
4915// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004916// CHECK-NEXT: "id": "0x{{.*}}",
4917// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004918// CHECK-NEXT: "range": {
4919// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004920// CHECK-NEXT: "offset": 2088,
4921// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004922// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004923// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004924// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004925// CHECK-NEXT: "offset": 2088,
4926// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004927// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004928// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004929// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004930// CHECK-NEXT: "type": {
4931// CHECK-NEXT: "qualType": "I *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004932// CHECK-NEXT: },
4933// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004934// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004935// CHECK-NEXT: "id": "0x{{.*}}",
4936// CHECK-NEXT: "kind": "ParmVarDecl",
4937// CHECK-NEXT: "name": "Ptr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004938// CHECK-NEXT: "type": {
4939// CHECK-NEXT: "qualType": "I *"
4940// CHECK-NEXT: }
4941// CHECK-NEXT: }
4942// CHECK-NEXT: }
4943// CHECK-NEXT: ]
4944// CHECK-NEXT: }
4945// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004946// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004947// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004948// CHECK-NEXT: "id": "0x{{.*}}",
4949// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004950// CHECK-NEXT: "range": {
4951// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004952// CHECK-NEXT: "offset": 2102,
4953// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004954// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004955// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004956// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004957// CHECK-NEXT: "offset": 2102,
4958// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004959// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004960// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004961// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004962// CHECK-NEXT: "type": {
4963// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004964// CHECK-NEXT: },
4965// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004966// CHECK-NEXT: "value": "0"
4967// CHECK-NEXT: }
4968// CHECK-NEXT: ]
4969// CHECK-NEXT: }
4970// CHECK-NEXT: ]
4971// CHECK-NEXT: }
4972// CHECK-NEXT: ]
4973// CHECK-NEXT: }
4974
4975
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004976// CHECK: "kind": "FunctionDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004977// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004978// CHECK-NEXT: "offset": 2113,
4979// CHECK-NEXT: "file": "{{.*}}",
4980// CHECK-NEXT: "line": 93,
4981// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004982// CHECK-NEXT: "tokLen": 19
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004983// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004984// CHECK-NEXT: "range": {
4985// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004986// CHECK-NEXT: "offset": 2108,
4987// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004988// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004989// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004990// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004991// CHECK-NEXT: "offset": 2164,
4992// CHECK-NEXT: "line": 96,
4993// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004994// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004995// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004996// CHECK-NEXT: },
4997// CHECK-NEXT: "name": "TestObjCBoolLiteral",
Alex Richardson3c3048c2019-11-15 12:33:16 +00004998// CHECK-NEXT: "mangledName": "TestObjCBoolLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004999// CHECK-NEXT: "type": {
5000// CHECK-NEXT: "qualType": "void ()"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005001// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00005002// CHECK-NEXT: "inner": [
5003// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005004// CHECK-NEXT: "id": "0x{{.*}}",
5005// CHECK-NEXT: "kind": "CompoundStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +00005006// CHECK-NEXT: "range": {
5007// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005008// CHECK-NEXT: "offset": 2135,
5009// CHECK-NEXT: "line": 93,
5010// CHECK-NEXT: "col": 28,
Aaron Ballmana612e342019-06-24 20:07:11 +00005011// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005012// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00005013// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005014// CHECK-NEXT: "offset": 2164,
5015// CHECK-NEXT: "line": 96,
5016// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00005017// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00005018// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005019// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00005020// CHECK-NEXT: "inner": [
5021// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005022// CHECK-NEXT: "id": "0x{{.*}}",
5023// CHECK-NEXT: "kind": "ObjCBoolLiteralExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00005024// CHECK-NEXT: "range": {
5025// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005026// CHECK-NEXT: "offset": 2139,
5027// CHECK-NEXT: "line": 94,
5028// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00005029// CHECK-NEXT: "tokLen": 10
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005030// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00005031// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005032// CHECK-NEXT: "offset": 2139,
5033// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00005034// CHECK-NEXT: "tokLen": 10
Aaron Ballman75e23f82019-06-20 21:45:31 +00005035// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005036// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00005037// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005038// CHECK-NEXT: "desugaredQualType": "signed char",
5039// CHECK-NEXT: "qualType": "BOOL",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00005040// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005041// CHECK-NEXT: },
5042// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00005043// CHECK-NEXT: "value": "__objc_yes"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005044// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00005045// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005046// CHECK-NEXT: "id": "0x{{.*}}",
5047// CHECK-NEXT: "kind": "ObjCBoolLiteralExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00005048// CHECK-NEXT: "range": {
5049// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005050// CHECK-NEXT: "offset": 2153,
5051// CHECK-NEXT: "line": 95,
5052// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00005053// CHECK-NEXT: "tokLen": 9
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005054// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00005055// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005056// CHECK-NEXT: "offset": 2153,
5057// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00005058// CHECK-NEXT: "tokLen": 9
Aaron Ballman75e23f82019-06-20 21:45:31 +00005059// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005060// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00005061// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005062// CHECK-NEXT: "desugaredQualType": "signed char",
5063// CHECK-NEXT: "qualType": "BOOL",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00005064// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005065// CHECK-NEXT: },
5066// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00005067// CHECK-NEXT: "value": "__objc_no"
5068// CHECK-NEXT: }
5069// CHECK-NEXT: ]
5070// CHECK-NEXT: }
5071// CHECK-NEXT: ]
5072// CHECK-NEXT: }