blob: 24dc6e6b75b19b8cbc894e4b42402476619145dc [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",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000123// CHECK-NEXT: "type": {
124// CHECK-NEXT: "qualType": "void ()"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000125// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000126// CHECK-NEXT: "inner": [
127// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000128// CHECK-NEXT: "id": "0x{{.*}}",
129// CHECK-NEXT: "kind": "CompoundStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000130// CHECK-NEXT: "range": {
131// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000132// CHECK-NEXT: "offset": 1523,
133// CHECK-NEXT: "line": 54,
134// CHECK-NEXT: "col": 23,
Aaron Ballmana612e342019-06-24 20:07:11 +0000135// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000136// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000137// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000138// CHECK-NEXT: "offset": 1566,
139// CHECK-NEXT: "line": 57,
140// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000141// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000142// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000143// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000144// CHECK-NEXT: "inner": [
145// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000146// CHECK-NEXT: "id": "0x{{.*}}",
147// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000148// CHECK-NEXT: "range": {
149// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000150// CHECK-NEXT: "offset": 1527,
151// CHECK-NEXT: "line": 55,
152// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000153// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000154// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000155// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000156// CHECK-NEXT: "offset": 1538,
157// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +0000158// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000159// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000160// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000161// CHECK-NEXT: "type": {
162// CHECK-NEXT: "qualType": "char *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000163// CHECK-NEXT: },
164// CHECK-NEXT: "valueCategory": "rvalue",
165// CHECK-NEXT: "castKind": "ArrayToPointerDecay",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000166// CHECK-NEXT: "inner": [
167// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000168// CHECK-NEXT: "id": "0x{{.*}}",
169// CHECK-NEXT: "kind": "ObjCEncodeExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000170// CHECK-NEXT: "range": {
171// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000172// CHECK-NEXT: "offset": 1527,
173// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000174// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000175// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000176// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000177// CHECK-NEXT: "offset": 1538,
178// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +0000179// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000180// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000181// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000182// CHECK-NEXT: "type": {
183// CHECK-NEXT: "qualType": "char [2]"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000184// CHECK-NEXT: },
185// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000186// CHECK-NEXT: "encodedType": {
187// CHECK-NEXT: "qualType": "int"
188// CHECK-NEXT: }
189// CHECK-NEXT: }
190// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000191// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000192// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000193// CHECK-NEXT: "id": "0x{{.*}}",
194// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000195// CHECK-NEXT: "range": {
196// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000197// CHECK-NEXT: "offset": 1543,
198// CHECK-NEXT: "line": 56,
199// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000200// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000201// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000202// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000203// CHECK-NEXT: "offset": 1563,
204// CHECK-NEXT: "col": 23,
Aaron Ballmana612e342019-06-24 20:07:11 +0000205// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000206// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000207// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000208// CHECK-NEXT: "type": {
209// CHECK-NEXT: "qualType": "char *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000210// CHECK-NEXT: },
211// CHECK-NEXT: "valueCategory": "rvalue",
212// CHECK-NEXT: "castKind": "ArrayToPointerDecay",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000213// CHECK-NEXT: "inner": [
214// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000215// CHECK-NEXT: "id": "0x{{.*}}",
216// CHECK-NEXT: "kind": "ObjCEncodeExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000217// CHECK-NEXT: "range": {
218// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000219// CHECK-NEXT: "offset": 1543,
220// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000221// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000222// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000223// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000224// CHECK-NEXT: "offset": 1563,
225// CHECK-NEXT: "col": 23,
Aaron Ballmana612e342019-06-24 20:07:11 +0000226// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000227// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000228// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000229// CHECK-NEXT: "type": {
230// CHECK-NEXT: "qualType": "char [3]"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000231// CHECK-NEXT: },
232// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000233// CHECK-NEXT: "encodedType": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000234// CHECK-NEXT: "desugaredQualType": "void (^)(void)",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000235// CHECK-NEXT: "qualType": "typeof (^{ })"
236// CHECK-NEXT: }
237// CHECK-NEXT: }
238// CHECK-NEXT: ]
239// CHECK-NEXT: }
240// CHECK-NEXT: ]
241// CHECK-NEXT: }
242// CHECK-NEXT: ]
243// CHECK-NEXT: }
244
245
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000246// CHECK: "kind": "FunctionDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000247// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000248// CHECK-NEXT: "offset": 1574,
249// CHECK-NEXT: "file": "{{.*}}",
250// CHECK-NEXT: "line": 59,
251// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +0000252// CHECK-NEXT: "tokLen": 15
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000253// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000254// CHECK-NEXT: "range": {
255// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000256// CHECK-NEXT: "offset": 1569,
257// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000258// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000259// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000260// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000261// CHECK-NEXT: "offset": 1632,
262// CHECK-NEXT: "line": 62,
263// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000264// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000265// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000266// CHECK-NEXT: },
267// CHECK-NEXT: "name": "TestObjCMessage",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000268// CHECK-NEXT: "type": {
269// CHECK-NEXT: "qualType": "void (I *)"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000270// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000271// CHECK-NEXT: "inner": [
272// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000273// CHECK-NEXT: "id": "0x{{.*}}",
274// CHECK-NEXT: "kind": "ParmVarDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000275// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000276// CHECK-NEXT: "offset": 1593,
277// CHECK-NEXT: "line": 59,
278// CHECK-NEXT: "col": 25,
Aaron Ballmana612e342019-06-24 20:07:11 +0000279// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000280// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000281// CHECK-NEXT: "range": {
282// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000283// CHECK-NEXT: "offset": 1590,
284// CHECK-NEXT: "col": 22,
Aaron Ballmana612e342019-06-24 20:07:11 +0000285// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000286// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000287// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000288// CHECK-NEXT: "offset": 1593,
289// CHECK-NEXT: "col": 25,
Aaron Ballmana612e342019-06-24 20:07:11 +0000290// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000291// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000292// CHECK-NEXT: },
293// CHECK-NEXT: "isUsed": true,
294// CHECK-NEXT: "name": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000295// CHECK-NEXT: "type": {
296// CHECK-NEXT: "qualType": "I *"
297// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000298// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000299// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000300// CHECK-NEXT: "id": "0x{{.*}}",
301// CHECK-NEXT: "kind": "CompoundStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000302// CHECK-NEXT: "range": {
303// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000304// CHECK-NEXT: "offset": 1598,
305// CHECK-NEXT: "col": 30,
Aaron Ballmana612e342019-06-24 20:07:11 +0000306// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000307// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000308// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000309// CHECK-NEXT: "offset": 1632,
310// CHECK-NEXT: "line": 62,
311// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000312// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000313// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000314// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000315// CHECK-NEXT: "inner": [
316// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000317// CHECK-NEXT: "id": "0x{{.*}}",
318// CHECK-NEXT: "kind": "ObjCMessageExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000319// CHECK-NEXT: "range": {
320// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000321// CHECK-NEXT: "offset": 1602,
322// CHECK-NEXT: "line": 60,
323// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000324// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000325// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000326// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000327// CHECK-NEXT: "offset": 1614,
328// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +0000329// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000330// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000331// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000332// CHECK-NEXT: "type": {
333// CHECK-NEXT: "qualType": "void"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000334// CHECK-NEXT: },
335// CHECK-NEXT: "valueCategory": "rvalue",
336// CHECK-NEXT: "selector": "method1",
337// CHECK-NEXT: "receiverKind": "instance",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000338// CHECK-NEXT: "inner": [
339// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000340// CHECK-NEXT: "id": "0x{{.*}}",
341// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000342// CHECK-NEXT: "range": {
343// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000344// CHECK-NEXT: "offset": 1603,
345// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000346// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000347// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000348// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000349// CHECK-NEXT: "offset": 1603,
350// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000351// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000352// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000353// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000354// CHECK-NEXT: "type": {
355// CHECK-NEXT: "qualType": "I *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000356// CHECK-NEXT: },
357// CHECK-NEXT: "valueCategory": "rvalue",
358// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000359// CHECK-NEXT: "inner": [
360// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000361// CHECK-NEXT: "id": "0x{{.*}}",
362// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000363// CHECK-NEXT: "range": {
364// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000365// CHECK-NEXT: "offset": 1603,
366// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000367// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000368// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000369// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000370// CHECK-NEXT: "offset": 1603,
371// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000372// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000373// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000374// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000375// CHECK-NEXT: "type": {
376// CHECK-NEXT: "qualType": "I *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000377// CHECK-NEXT: },
378// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000379// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000380// CHECK-NEXT: "id": "0x{{.*}}",
381// CHECK-NEXT: "kind": "ParmVarDecl",
382// CHECK-NEXT: "name": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000383// CHECK-NEXT: "type": {
384// CHECK-NEXT: "qualType": "I *"
385// CHECK-NEXT: }
386// CHECK-NEXT: }
387// CHECK-NEXT: }
388// CHECK-NEXT: ]
389// CHECK-NEXT: }
390// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000391// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000392// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000393// CHECK-NEXT: "id": "0x{{.*}}",
394// CHECK-NEXT: "kind": "ObjCMessageExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000395// CHECK-NEXT: "range": {
396// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000397// CHECK-NEXT: "offset": 1619,
398// CHECK-NEXT: "line": 61,
399// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000400// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000401// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000402// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000403// CHECK-NEXT: "offset": 1629,
404// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +0000405// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000406// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000407// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000408// CHECK-NEXT: "type": {
409// CHECK-NEXT: "qualType": "void"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000410// CHECK-NEXT: },
411// CHECK-NEXT: "valueCategory": "rvalue",
412// CHECK-NEXT: "selector": "method2",
413// CHECK-NEXT: "receiverKind": "class",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000414// CHECK-NEXT: "classType": {
415// CHECK-NEXT: "qualType": "I"
416// CHECK-NEXT: }
417// CHECK-NEXT: }
418// CHECK-NEXT: ]
419// CHECK-NEXT: }
420// CHECK-NEXT: ]
421// CHECK-NEXT: }
422
423
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000424// CHECK: "kind": "FunctionDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000425// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000426// CHECK-NEXT: "offset": 1640,
427// CHECK-NEXT: "file": "{{.*}}",
428// CHECK-NEXT: "line": 64,
429// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +0000430// CHECK-NEXT: "tokLen": 13
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000431// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000432// CHECK-NEXT: "range": {
433// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000434// CHECK-NEXT: "offset": 1635,
435// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000436// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000437// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000438// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000439// CHECK-NEXT: "offset": 1670,
440// CHECK-NEXT: "line": 66,
441// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000442// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000443// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000444// CHECK-NEXT: },
445// CHECK-NEXT: "name": "TestObjCBoxed",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000446// CHECK-NEXT: "type": {
447// CHECK-NEXT: "qualType": "void ()"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000448// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000449// CHECK-NEXT: "inner": [
450// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000451// CHECK-NEXT: "id": "0x{{.*}}",
452// CHECK-NEXT: "kind": "CompoundStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000453// CHECK-NEXT: "range": {
454// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000455// CHECK-NEXT: "offset": 1656,
456// CHECK-NEXT: "line": 64,
457// CHECK-NEXT: "col": 22,
Aaron Ballmana612e342019-06-24 20:07:11 +0000458// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000459// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000460// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000461// CHECK-NEXT: "offset": 1670,
462// CHECK-NEXT: "line": 66,
463// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000464// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000465// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000466// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000467// CHECK-NEXT: "inner": [
468// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000469// CHECK-NEXT: "id": "0x{{.*}}",
470// CHECK-NEXT: "kind": "ObjCBoxedExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000471// CHECK-NEXT: "range": {
472// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000473// CHECK-NEXT: "offset": 1660,
474// CHECK-NEXT: "line": 65,
475// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000476// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000477// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000478// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000479// CHECK-NEXT: "offset": 1667,
480// CHECK-NEXT: "col": 10,
Aaron Ballmana612e342019-06-24 20:07:11 +0000481// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000482// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000483// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000484// CHECK-NEXT: "type": {
485// CHECK-NEXT: "qualType": "NSNumber *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000486// CHECK-NEXT: },
487// CHECK-NEXT: "valueCategory": "rvalue",
488// CHECK-NEXT: "selector": "numberWithInt:",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000489// CHECK-NEXT: "inner": [
490// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000491// CHECK-NEXT: "id": "0x{{.*}}",
492// CHECK-NEXT: "kind": "ParenExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000493// CHECK-NEXT: "range": {
494// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000495// CHECK-NEXT: "offset": 1661,
496// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000497// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000498// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000499// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000500// CHECK-NEXT: "offset": 1667,
501// CHECK-NEXT: "col": 10,
Aaron Ballmana612e342019-06-24 20:07:11 +0000502// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000503// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000504// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000505// CHECK-NEXT: "type": {
506// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000507// CHECK-NEXT: },
508// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000509// CHECK-NEXT: "inner": [
510// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000511// CHECK-NEXT: "id": "0x{{.*}}",
512// CHECK-NEXT: "kind": "BinaryOperator",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000513// CHECK-NEXT: "range": {
514// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000515// CHECK-NEXT: "offset": 1662,
516// CHECK-NEXT: "col": 5,
Aaron Ballmana612e342019-06-24 20:07:11 +0000517// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000518// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000519// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000520// CHECK-NEXT: "offset": 1666,
521// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +0000522// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000523// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000524// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000525// CHECK-NEXT: "type": {
526// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000527// CHECK-NEXT: },
528// CHECK-NEXT: "valueCategory": "rvalue",
529// CHECK-NEXT: "opcode": "+",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000530// CHECK-NEXT: "inner": [
531// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000532// CHECK-NEXT: "id": "0x{{.*}}",
533// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000534// CHECK-NEXT: "range": {
535// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000536// CHECK-NEXT: "offset": 1662,
537// CHECK-NEXT: "col": 5,
Aaron Ballmana612e342019-06-24 20:07:11 +0000538// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000539// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000540// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000541// CHECK-NEXT: "offset": 1662,
542// CHECK-NEXT: "col": 5,
Aaron Ballmana612e342019-06-24 20:07:11 +0000543// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000544// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000545// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000546// CHECK-NEXT: "type": {
547// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000548// CHECK-NEXT: },
549// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000550// CHECK-NEXT: "value": "1"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000551// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000552// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000553// CHECK-NEXT: "id": "0x{{.*}}",
554// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000555// CHECK-NEXT: "range": {
556// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000557// CHECK-NEXT: "offset": 1666,
558// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +0000559// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000560// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000561// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000562// CHECK-NEXT: "offset": 1666,
563// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +0000564// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000565// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000566// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000567// CHECK-NEXT: "type": {
568// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000569// CHECK-NEXT: },
570// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000571// CHECK-NEXT: "value": "1"
572// CHECK-NEXT: }
573// CHECK-NEXT: ]
574// CHECK-NEXT: }
575// CHECK-NEXT: ]
576// CHECK-NEXT: }
577// CHECK-NEXT: ]
578// CHECK-NEXT: }
579// CHECK-NEXT: ]
580// CHECK-NEXT: }
581// CHECK-NEXT: ]
582// CHECK-NEXT: }
583
584
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000585// CHECK: "kind": "FunctionDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000586// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000587// CHECK-NEXT: "offset": 1678,
588// CHECK-NEXT: "file": "{{.*}}",
589// CHECK-NEXT: "line": 68,
590// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +0000591// CHECK-NEXT: "tokLen": 16
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000592// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000593// CHECK-NEXT: "range": {
594// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000595// CHECK-NEXT: "offset": 1673,
596// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000597// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000598// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000599// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000600// CHECK-NEXT: "offset": 1729,
601// CHECK-NEXT: "line": 70,
602// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000603// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000604// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000605// CHECK-NEXT: },
606// CHECK-NEXT: "name": "TestObjCSelector",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000607// CHECK-NEXT: "type": {
608// CHECK-NEXT: "qualType": "void ()"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000609// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000610// CHECK-NEXT: "inner": [
611// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000612// CHECK-NEXT: "id": "0x{{.*}}",
613// CHECK-NEXT: "kind": "CompoundStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000614// CHECK-NEXT: "range": {
615// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000616// CHECK-NEXT: "offset": 1697,
617// CHECK-NEXT: "line": 68,
618// CHECK-NEXT: "col": 25,
Aaron Ballmana612e342019-06-24 20:07:11 +0000619// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000620// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000621// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000622// CHECK-NEXT: "offset": 1729,
623// CHECK-NEXT: "line": 70,
624// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000625// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000626// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000627// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000628// CHECK-NEXT: "inner": [
629// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000630// CHECK-NEXT: "id": "0x{{.*}}",
631// CHECK-NEXT: "kind": "DeclStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000632// CHECK-NEXT: "range": {
633// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000634// CHECK-NEXT: "offset": 1701,
635// CHECK-NEXT: "line": 69,
636// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000637// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000638// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000639// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000640// CHECK-NEXT: "offset": 1727,
641// CHECK-NEXT: "col": 29,
Aaron Ballmana612e342019-06-24 20:07:11 +0000642// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000643// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000644// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000645// CHECK-NEXT: "inner": [
646// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000647// CHECK-NEXT: "id": "0x{{.*}}",
648// CHECK-NEXT: "kind": "VarDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000649// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000650// CHECK-NEXT: "offset": 1705,
651// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +0000652// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000653// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000654// CHECK-NEXT: "range": {
655// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000656// CHECK-NEXT: "offset": 1701,
657// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000658// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000659// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000660// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000661// CHECK-NEXT: "offset": 1726,
662// CHECK-NEXT: "col": 28,
Aaron Ballmana612e342019-06-24 20:07:11 +0000663// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000664// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000665// CHECK-NEXT: },
666// CHECK-NEXT: "name": "s",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000667// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000668// CHECK-NEXT: "desugaredQualType": "SEL *",
669// CHECK-NEXT: "qualType": "SEL",
Aaron Ballmand5e206e2019-07-30 13:42:19 +0000670// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000671// CHECK-NEXT: },
672// CHECK-NEXT: "init": "c",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000673// CHECK-NEXT: "inner": [
674// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000675// CHECK-NEXT: "id": "0x{{.*}}",
676// CHECK-NEXT: "kind": "ObjCSelectorExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000677// CHECK-NEXT: "range": {
678// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000679// CHECK-NEXT: "offset": 1709,
680// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +0000681// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000682// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000683// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000684// CHECK-NEXT: "offset": 1726,
685// CHECK-NEXT: "col": 28,
Aaron Ballmana612e342019-06-24 20:07:11 +0000686// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000687// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000688// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000689// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000690// CHECK-NEXT: "desugaredQualType": "SEL *",
691// CHECK-NEXT: "qualType": "SEL",
Aaron Ballmand5e206e2019-07-30 13:42:19 +0000692// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000693// CHECK-NEXT: },
694// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000695// CHECK-NEXT: "selector": "dealloc"
696// CHECK-NEXT: }
697// CHECK-NEXT: ]
698// CHECK-NEXT: }
699// CHECK-NEXT: ]
700// CHECK-NEXT: }
701// CHECK-NEXT: ]
702// CHECK-NEXT: }
703// CHECK-NEXT: ]
704// CHECK-NEXT: }
705
706
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000707// CHECK: "kind": "FunctionDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000708// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000709// CHECK-NEXT: "offset": 1737,
710// CHECK-NEXT: "file": "{{.*}}",
711// CHECK-NEXT: "line": 72,
712// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +0000713// CHECK-NEXT: "tokLen": 16
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000714// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000715// CHECK-NEXT: "range": {
716// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000717// CHECK-NEXT: "offset": 1732,
718// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000719// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000720// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000721// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000722// CHECK-NEXT: "offset": 1809,
723// CHECK-NEXT: "line": 74,
724// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000725// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000726// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000727// CHECK-NEXT: },
728// CHECK-NEXT: "name": "TestObjCProtocol",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000729// CHECK-NEXT: "type": {
730// CHECK-NEXT: "qualType": "void (id)"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000731// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000732// CHECK-NEXT: "inner": [
733// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000734// CHECK-NEXT: "id": "0x{{.*}}",
735// CHECK-NEXT: "kind": "ParmVarDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000736// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000737// CHECK-NEXT: "offset": 1757,
738// CHECK-NEXT: "line": 72,
739// CHECK-NEXT: "col": 26,
Aaron Ballmana612e342019-06-24 20:07:11 +0000740// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000741// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000742// CHECK-NEXT: "range": {
743// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000744// CHECK-NEXT: "offset": 1754,
745// CHECK-NEXT: "col": 23,
Aaron Ballmana612e342019-06-24 20:07:11 +0000746// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000747// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000748// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000749// CHECK-NEXT: "offset": 1757,
750// CHECK-NEXT: "col": 26,
Aaron Ballmana612e342019-06-24 20:07:11 +0000751// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000752// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000753// CHECK-NEXT: },
754// CHECK-NEXT: "isUsed": true,
755// CHECK-NEXT: "name": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000756// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000757// CHECK-NEXT: "desugaredQualType": "id",
758// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +0000759// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +0000760// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000761// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000762// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000763// CHECK-NEXT: "id": "0x{{.*}}",
764// CHECK-NEXT: "kind": "CompoundStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000765// CHECK-NEXT: "range": {
766// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000767// CHECK-NEXT: "offset": 1762,
768// CHECK-NEXT: "col": 31,
Aaron Ballmana612e342019-06-24 20:07:11 +0000769// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000770// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000771// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000772// CHECK-NEXT: "offset": 1809,
773// CHECK-NEXT: "line": 74,
774// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000775// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000776// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000777// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000778// CHECK-NEXT: "inner": [
779// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000780// CHECK-NEXT: "id": "0x{{.*}}",
781// CHECK-NEXT: "kind": "ObjCMessageExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000782// CHECK-NEXT: "range": {
783// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000784// CHECK-NEXT: "offset": 1766,
785// CHECK-NEXT: "line": 73,
786// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000787// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000788// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000789// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000790// CHECK-NEXT: "offset": 1806,
791// CHECK-NEXT: "col": 43,
Aaron Ballmana612e342019-06-24 20:07:11 +0000792// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000793// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000794// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000795// CHECK-NEXT: "type": {
796// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000797// CHECK-NEXT: },
798// CHECK-NEXT: "valueCategory": "rvalue",
799// CHECK-NEXT: "selector": "conformsToProtocol:",
800// CHECK-NEXT: "receiverKind": "instance",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000801// CHECK-NEXT: "inner": [
802// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000803// CHECK-NEXT: "id": "0x{{.*}}",
804// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000805// CHECK-NEXT: "range": {
806// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000807// CHECK-NEXT: "offset": 1767,
808// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000809// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000810// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000811// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000812// CHECK-NEXT: "offset": 1767,
813// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000814// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000815// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000816// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000817// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000818// CHECK-NEXT: "desugaredQualType": "id",
819// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +0000820// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000821// CHECK-NEXT: },
822// CHECK-NEXT: "valueCategory": "rvalue",
823// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000824// CHECK-NEXT: "inner": [
825// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000826// CHECK-NEXT: "id": "0x{{.*}}",
827// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000828// CHECK-NEXT: "range": {
829// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000830// CHECK-NEXT: "offset": 1767,
831// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000832// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000833// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000834// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000835// CHECK-NEXT: "offset": 1767,
836// CHECK-NEXT: "col": 4,
Aaron Ballmana612e342019-06-24 20:07:11 +0000837// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000838// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000839// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000840// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000841// CHECK-NEXT: "desugaredQualType": "id",
842// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +0000843// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000844// CHECK-NEXT: },
845// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000846// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000847// CHECK-NEXT: "id": "0x{{.*}}",
848// CHECK-NEXT: "kind": "ParmVarDecl",
849// CHECK-NEXT: "name": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000850// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000851// CHECK-NEXT: "desugaredQualType": "id",
852// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +0000853// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +0000854// CHECK-NEXT: }
855// CHECK-NEXT: }
856// CHECK-NEXT: }
857// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000858// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000859// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000860// CHECK-NEXT: "id": "0x{{.*}}",
861// CHECK-NEXT: "kind": "ObjCProtocolExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000862// CHECK-NEXT: "range": {
863// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000864// CHECK-NEXT: "offset": 1790,
865// CHECK-NEXT: "col": 27,
Aaron Ballmana612e342019-06-24 20:07:11 +0000866// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000867// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000868// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000869// CHECK-NEXT: "offset": 1805,
870// CHECK-NEXT: "col": 42,
Aaron Ballmana612e342019-06-24 20:07:11 +0000871// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000872// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000873// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000874// CHECK-NEXT: "type": {
875// CHECK-NEXT: "qualType": "Protocol *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000876// CHECK-NEXT: },
877// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000878// CHECK-NEXT: "protocol": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000879// CHECK-NEXT: "id": "0x{{.*}}",
880// CHECK-NEXT: "kind": "ObjCProtocolDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000881// CHECK-NEXT: "name": "Proto"
882// CHECK-NEXT: }
883// CHECK-NEXT: }
884// CHECK-NEXT: ]
885// CHECK-NEXT: }
886// CHECK-NEXT: ]
887// CHECK-NEXT: }
888// CHECK-NEXT: ]
889// CHECK-NEXT: }
890
891
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000892// CHECK: "kind": "FunctionDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000893// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000894// CHECK-NEXT: "offset": 1817,
895// CHECK-NEXT: "file": "{{.*}}",
896// CHECK-NEXT: "line": 76,
897// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +0000898// CHECK-NEXT: "tokLen": 19
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000899// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000900// CHECK-NEXT: "range": {
901// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000902// CHECK-NEXT: "offset": 1812,
903// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000904// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000905// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000906// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000907// CHECK-NEXT: "offset": 1884,
908// CHECK-NEXT: "line": 79,
909// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000910// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000911// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000912// CHECK-NEXT: },
913// CHECK-NEXT: "name": "TestObjCPropertyRef",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000914// CHECK-NEXT: "type": {
915// CHECK-NEXT: "qualType": "void (J *)"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000916// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000917// CHECK-NEXT: "inner": [
918// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000919// CHECK-NEXT: "id": "0x{{.*}}",
920// CHECK-NEXT: "kind": "ParmVarDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000921// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000922// CHECK-NEXT: "offset": 1840,
923// CHECK-NEXT: "line": 76,
924// CHECK-NEXT: "col": 29,
Aaron Ballmana612e342019-06-24 20:07:11 +0000925// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000926// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000927// CHECK-NEXT: "range": {
928// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000929// CHECK-NEXT: "offset": 1837,
930// CHECK-NEXT: "col": 26,
Aaron Ballmana612e342019-06-24 20:07:11 +0000931// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000932// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000933// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000934// CHECK-NEXT: "offset": 1840,
935// CHECK-NEXT: "col": 29,
Aaron Ballmana612e342019-06-24 20:07:11 +0000936// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +0000937// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000938// CHECK-NEXT: },
939// CHECK-NEXT: "isUsed": true,
940// CHECK-NEXT: "name": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000941// CHECK-NEXT: "type": {
942// CHECK-NEXT: "qualType": "J *"
943// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000944// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000945// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000946// CHECK-NEXT: "id": "0x{{.*}}",
947// CHECK-NEXT: "kind": "CompoundStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000948// CHECK-NEXT: "range": {
949// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000950// CHECK-NEXT: "offset": 1845,
951// CHECK-NEXT: "col": 34,
Aaron Ballmana612e342019-06-24 20:07:11 +0000952// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000953// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000954// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000955// CHECK-NEXT: "offset": 1884,
956// CHECK-NEXT: "line": 79,
957// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +0000958// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +0000959// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000960// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000961// CHECK-NEXT: "inner": [
962// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000963// CHECK-NEXT: "id": "0x{{.*}}",
964// CHECK-NEXT: "kind": "PseudoObjectExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000965// CHECK-NEXT: "range": {
966// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000967// CHECK-NEXT: "offset": 1849,
968// CHECK-NEXT: "line": 77,
969// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000970// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000971// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000972// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000973// CHECK-NEXT: "offset": 1860,
974// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +0000975// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +0000976// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000977// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000978// CHECK-NEXT: "type": {
979// CHECK-NEXT: "qualType": "unsigned int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000980// CHECK-NEXT: },
981// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000982// CHECK-NEXT: "inner": [
983// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000984// CHECK-NEXT: "id": "0x{{.*}}",
985// CHECK-NEXT: "kind": "BinaryOperator",
Aaron Ballman75e23f82019-06-20 21:45:31 +0000986// CHECK-NEXT: "range": {
987// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000988// CHECK-NEXT: "offset": 1849,
989// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +0000990// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000991// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000992// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000993// CHECK-NEXT: "offset": 1860,
994// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +0000995// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +0000996// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +0000997// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +0000998// CHECK-NEXT: "type": {
999// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001000// CHECK-NEXT: },
1001// CHECK-NEXT: "valueCategory": "rvalue",
1002// CHECK-NEXT: "opcode": "=",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001003// CHECK-NEXT: "inner": [
1004// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001005// CHECK-NEXT: "id": "0x{{.*}}",
1006// CHECK-NEXT: "kind": "ObjCPropertyRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001007// CHECK-NEXT: "range": {
1008// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001009// CHECK-NEXT: "offset": 1849,
1010// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001011// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001012// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001013// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001014// CHECK-NEXT: "offset": 1853,
1015// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00001016// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001017// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001018// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001019// CHECK-NEXT: "type": {
1020// CHECK-NEXT: "qualType": "<pseudo-object type>"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001021// CHECK-NEXT: },
1022// CHECK-NEXT: "valueCategory": "lvalue",
1023// CHECK-NEXT: "propertyKind": "explicit",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001024// CHECK-NEXT: "property": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001025// CHECK-NEXT: "id": "0x{{.*}}",
1026// CHECK-NEXT: "kind": "ObjCPropertyDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001027// CHECK-NEXT: "name": "prop"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001028// CHECK-NEXT: },
1029// CHECK-NEXT: "isMessagingSetter": true,
Aaron Ballman75e23f82019-06-20 21:45:31 +00001030// CHECK-NEXT: "inner": [
1031// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001032// CHECK-NEXT: "id": "0x{{.*}}",
1033// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001034// CHECK-NEXT: "range": {
1035// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001036// CHECK-NEXT: "offset": 1849,
1037// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001038// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001039// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001040// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001041// CHECK-NEXT: "offset": 1849,
1042// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001043// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001044// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001045// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001046// CHECK-NEXT: "type": {
1047// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001048// CHECK-NEXT: },
1049// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001050// CHECK-NEXT: "inner": [
1051// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001052// CHECK-NEXT: "id": "0x{{.*}}",
1053// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001054// CHECK-NEXT: "range": {
1055// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001056// CHECK-NEXT: "offset": 1849,
1057// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001058// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001059// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001060// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001061// CHECK-NEXT: "offset": 1849,
1062// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001063// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001064// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001065// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001066// CHECK-NEXT: "type": {
1067// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001068// CHECK-NEXT: },
1069// CHECK-NEXT: "valueCategory": "rvalue",
1070// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001071// CHECK-NEXT: "inner": [
1072// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001073// CHECK-NEXT: "id": "0x{{.*}}",
1074// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001075// CHECK-NEXT: "range": {
1076// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001077// CHECK-NEXT: "offset": 1849,
1078// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001079// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001080// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001081// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001082// CHECK-NEXT: "offset": 1849,
1083// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001084// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001085// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001086// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001087// CHECK-NEXT: "type": {
1088// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001089// CHECK-NEXT: },
1090// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001091// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001092// CHECK-NEXT: "id": "0x{{.*}}",
1093// CHECK-NEXT: "kind": "ParmVarDecl",
1094// CHECK-NEXT: "name": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001095// CHECK-NEXT: "type": {
1096// CHECK-NEXT: "qualType": "J *"
1097// CHECK-NEXT: }
1098// CHECK-NEXT: }
1099// CHECK-NEXT: }
1100// CHECK-NEXT: ]
1101// CHECK-NEXT: }
1102// CHECK-NEXT: ]
1103// CHECK-NEXT: }
1104// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001105// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001106// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001107// CHECK-NEXT: "id": "0x{{.*}}",
1108// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001109// CHECK-NEXT: "range": {
1110// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001111// CHECK-NEXT: "offset": 1860,
1112// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001113// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001114// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001115// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001116// CHECK-NEXT: "offset": 1860,
1117// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001118// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001119// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001120// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001121// CHECK-NEXT: "type": {
1122// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001123// CHECK-NEXT: },
1124// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001125// CHECK-NEXT: "inner": [
1126// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001127// CHECK-NEXT: "id": "0x{{.*}}",
1128// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001129// CHECK-NEXT: "range": {
1130// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001131// CHECK-NEXT: "offset": 1860,
1132// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001133// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001134// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001135// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001136// CHECK-NEXT: "offset": 1860,
1137// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001138// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001139// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001140// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001141// CHECK-NEXT: "type": {
1142// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001143// CHECK-NEXT: },
1144// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001145// CHECK-NEXT: "value": "12"
1146// CHECK-NEXT: }
1147// CHECK-NEXT: ]
1148// CHECK-NEXT: }
1149// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001150// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001151// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001152// CHECK-NEXT: "id": "0x{{.*}}",
1153// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001154// CHECK-NEXT: "range": {
1155// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001156// CHECK-NEXT: "offset": 1849,
1157// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001158// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001159// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001160// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001161// CHECK-NEXT: "offset": 1849,
1162// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001163// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001164// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001165// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001166// CHECK-NEXT: "type": {
1167// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001168// CHECK-NEXT: },
1169// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001170// CHECK-NEXT: "inner": [
1171// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001172// CHECK-NEXT: "id": "0x{{.*}}",
1173// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001174// CHECK-NEXT: "range": {
1175// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001176// CHECK-NEXT: "offset": 1849,
1177// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001178// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001179// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001180// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001181// CHECK-NEXT: "offset": 1849,
1182// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001183// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001184// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001185// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001186// CHECK-NEXT: "type": {
1187// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001188// CHECK-NEXT: },
1189// CHECK-NEXT: "valueCategory": "rvalue",
1190// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001191// CHECK-NEXT: "inner": [
1192// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001193// CHECK-NEXT: "id": "0x{{.*}}",
1194// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001195// CHECK-NEXT: "range": {
1196// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001197// CHECK-NEXT: "offset": 1849,
1198// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001199// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001200// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001201// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001202// CHECK-NEXT: "offset": 1849,
1203// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001204// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001205// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001206// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001207// CHECK-NEXT: "type": {
1208// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001209// CHECK-NEXT: },
1210// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001211// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001212// CHECK-NEXT: "id": "0x{{.*}}",
1213// CHECK-NEXT: "kind": "ParmVarDecl",
1214// CHECK-NEXT: "name": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001215// CHECK-NEXT: "type": {
1216// CHECK-NEXT: "qualType": "J *"
1217// CHECK-NEXT: }
1218// CHECK-NEXT: }
1219// CHECK-NEXT: }
1220// CHECK-NEXT: ]
1221// CHECK-NEXT: }
1222// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001223// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001224// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001225// CHECK-NEXT: "id": "0x{{.*}}",
1226// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001227// CHECK-NEXT: "range": {
1228// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001229// CHECK-NEXT: "offset": 1860,
1230// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001231// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001232// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001233// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001234// CHECK-NEXT: "offset": 1860,
1235// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001236// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001237// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001238// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001239// CHECK-NEXT: "type": {
1240// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001241// CHECK-NEXT: },
1242// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001243// CHECK-NEXT: "inner": [
1244// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001245// CHECK-NEXT: "id": "0x{{.*}}",
1246// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001247// CHECK-NEXT: "range": {
1248// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001249// CHECK-NEXT: "offset": 1860,
1250// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001251// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001252// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001253// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001254// CHECK-NEXT: "offset": 1860,
1255// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001256// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001257// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001258// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001259// CHECK-NEXT: "type": {
1260// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001261// CHECK-NEXT: },
1262// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001263// CHECK-NEXT: "value": "12"
1264// CHECK-NEXT: }
1265// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001266// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001267// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001268// CHECK-NEXT: "id": "0x{{.*}}",
1269// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001270// CHECK-NEXT: "range": {
1271// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001272// CHECK-NEXT: "offset": 1860,
1273// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001274// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001275// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001276// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001277// CHECK-NEXT: "offset": 1860,
1278// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001279// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001280// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001281// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001282// CHECK-NEXT: "type": {
1283// CHECK-NEXT: "qualType": "unsigned int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001284// CHECK-NEXT: },
1285// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001286// CHECK-NEXT: "inner": [
1287// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001288// CHECK-NEXT: "id": "0x{{.*}}",
1289// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001290// CHECK-NEXT: "range": {
1291// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001292// CHECK-NEXT: "offset": 1860,
1293// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001294// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001295// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001296// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001297// CHECK-NEXT: "offset": 1860,
1298// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001299// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001300// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001301// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001302// CHECK-NEXT: "type": {
1303// CHECK-NEXT: "qualType": "unsigned int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001304// CHECK-NEXT: },
1305// CHECK-NEXT: "valueCategory": "rvalue",
1306// CHECK-NEXT: "castKind": "IntegralCast",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001307// CHECK-NEXT: "inner": [
1308// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001309// CHECK-NEXT: "id": "0x{{.*}}",
1310// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001311// CHECK-NEXT: "range": {
1312// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001313// CHECK-NEXT: "offset": 1860,
1314// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001315// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001316// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001317// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001318// CHECK-NEXT: "offset": 1860,
1319// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001320// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001321// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001322// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001323// CHECK-NEXT: "type": {
1324// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001325// CHECK-NEXT: },
1326// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001327// CHECK-NEXT: "inner": [
1328// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001329// CHECK-NEXT: "id": "0x{{.*}}",
1330// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001331// CHECK-NEXT: "range": {
1332// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001333// CHECK-NEXT: "offset": 1860,
1334// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001335// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001336// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001337// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001338// CHECK-NEXT: "offset": 1860,
1339// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001340// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001341// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001342// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001343// CHECK-NEXT: "type": {
1344// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001345// CHECK-NEXT: },
1346// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001347// CHECK-NEXT: "value": "12"
1348// CHECK-NEXT: }
1349// CHECK-NEXT: ]
1350// CHECK-NEXT: }
1351// CHECK-NEXT: ]
1352// CHECK-NEXT: }
1353// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001354// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001355// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001356// CHECK-NEXT: "id": "0x{{.*}}",
1357// CHECK-NEXT: "kind": "ObjCMessageExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001358// CHECK-NEXT: "range": {
1359// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001360// CHECK-NEXT: "offset": 1853,
1361// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00001362// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001363// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001364// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001365// CHECK-NEXT: "offset": 1853,
1366// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00001367// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001368// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001369// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001370// CHECK-NEXT: "type": {
1371// CHECK-NEXT: "qualType": "void"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001372// CHECK-NEXT: },
1373// CHECK-NEXT: "valueCategory": "rvalue",
1374// CHECK-NEXT: "selector": "setProp:",
1375// CHECK-NEXT: "receiverKind": "instance",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001376// CHECK-NEXT: "inner": [
1377// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001378// CHECK-NEXT: "id": "0x{{.*}}",
1379// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001380// CHECK-NEXT: "range": {
1381// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001382// CHECK-NEXT: "offset": 1849,
1383// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001384// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001385// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001386// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001387// CHECK-NEXT: "offset": 1849,
1388// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001389// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001390// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001391// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001392// CHECK-NEXT: "type": {
1393// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001394// CHECK-NEXT: },
1395// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001396// CHECK-NEXT: "inner": [
1397// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001398// CHECK-NEXT: "id": "0x{{.*}}",
1399// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001400// CHECK-NEXT: "range": {
1401// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001402// CHECK-NEXT: "offset": 1849,
1403// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001404// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001405// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001406// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001407// CHECK-NEXT: "offset": 1849,
1408// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001409// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001410// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001411// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001412// CHECK-NEXT: "type": {
1413// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001414// CHECK-NEXT: },
1415// CHECK-NEXT: "valueCategory": "rvalue",
1416// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001417// CHECK-NEXT: "inner": [
1418// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001419// CHECK-NEXT: "id": "0x{{.*}}",
1420// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001421// CHECK-NEXT: "range": {
1422// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001423// CHECK-NEXT: "offset": 1849,
1424// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001425// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001426// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001427// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001428// CHECK-NEXT: "offset": 1849,
1429// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001430// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001431// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001432// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001433// CHECK-NEXT: "type": {
1434// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001435// CHECK-NEXT: },
1436// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001437// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001438// CHECK-NEXT: "id": "0x{{.*}}",
1439// CHECK-NEXT: "kind": "ParmVarDecl",
1440// CHECK-NEXT: "name": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001441// CHECK-NEXT: "type": {
1442// CHECK-NEXT: "qualType": "J *"
1443// CHECK-NEXT: }
1444// CHECK-NEXT: }
1445// CHECK-NEXT: }
1446// CHECK-NEXT: ]
1447// CHECK-NEXT: }
1448// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001449// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001450// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001451// CHECK-NEXT: "id": "0x{{.*}}",
1452// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001453// CHECK-NEXT: "range": {
1454// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001455// CHECK-NEXT: "offset": 1860,
1456// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001457// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001458// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001459// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001460// CHECK-NEXT: "offset": 1860,
1461// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001462// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001463// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001464// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001465// CHECK-NEXT: "type": {
1466// CHECK-NEXT: "qualType": "unsigned int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001467// CHECK-NEXT: },
1468// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001469// CHECK-NEXT: "inner": [
1470// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001471// CHECK-NEXT: "id": "0x{{.*}}",
1472// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001473// CHECK-NEXT: "range": {
1474// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001475// CHECK-NEXT: "offset": 1860,
1476// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001477// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001478// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001479// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001480// CHECK-NEXT: "offset": 1860,
1481// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001482// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001483// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001484// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001485// CHECK-NEXT: "type": {
1486// CHECK-NEXT: "qualType": "unsigned int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001487// CHECK-NEXT: },
1488// CHECK-NEXT: "valueCategory": "rvalue",
1489// CHECK-NEXT: "castKind": "IntegralCast",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001490// CHECK-NEXT: "inner": [
1491// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001492// CHECK-NEXT: "id": "0x{{.*}}",
1493// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001494// CHECK-NEXT: "range": {
1495// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001496// CHECK-NEXT: "offset": 1860,
1497// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001498// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001499// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001500// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001501// CHECK-NEXT: "offset": 1860,
1502// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001503// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001504// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001505// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001506// CHECK-NEXT: "type": {
1507// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001508// CHECK-NEXT: },
1509// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001510// CHECK-NEXT: "inner": [
1511// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001512// CHECK-NEXT: "id": "0x{{.*}}",
1513// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001514// CHECK-NEXT: "range": {
1515// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001516// CHECK-NEXT: "offset": 1860,
1517// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001518// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001519// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001520// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001521// CHECK-NEXT: "offset": 1860,
1522// CHECK-NEXT: "col": 14,
Aaron Ballmana612e342019-06-24 20:07:11 +00001523// CHECK-NEXT: "tokLen": 2
Aaron Ballman75e23f82019-06-20 21:45:31 +00001524// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001525// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001526// CHECK-NEXT: "type": {
1527// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001528// CHECK-NEXT: },
1529// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001530// CHECK-NEXT: "value": "12"
1531// CHECK-NEXT: }
1532// CHECK-NEXT: ]
1533// CHECK-NEXT: }
1534// CHECK-NEXT: ]
1535// CHECK-NEXT: }
1536// CHECK-NEXT: ]
1537// CHECK-NEXT: }
1538// CHECK-NEXT: ]
1539// CHECK-NEXT: }
1540// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001541// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001542// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001543// CHECK-NEXT: "id": "0x{{.*}}",
1544// CHECK-NEXT: "kind": "DeclStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001545// CHECK-NEXT: "range": {
1546// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001547// CHECK-NEXT: "offset": 1866,
1548// CHECK-NEXT: "line": 78,
1549// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001550// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001551// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001552// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001553// CHECK-NEXT: "offset": 1882,
1554// CHECK-NEXT: "col": 19,
Aaron Ballmana612e342019-06-24 20:07:11 +00001555// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001556// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001557// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001558// CHECK-NEXT: "inner": [
1559// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001560// CHECK-NEXT: "id": "0x{{.*}}",
1561// CHECK-NEXT: "kind": "VarDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001562// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001563// CHECK-NEXT: "offset": 1870,
1564// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00001565// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001566// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001567// CHECK-NEXT: "range": {
1568// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001569// CHECK-NEXT: "offset": 1866,
1570// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00001571// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001572// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001573// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001574// CHECK-NEXT: "offset": 1878,
1575// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001576// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001577// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001578// CHECK-NEXT: },
1579// CHECK-NEXT: "name": "i",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001580// CHECK-NEXT: "type": {
1581// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001582// CHECK-NEXT: },
1583// CHECK-NEXT: "init": "c",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001584// CHECK-NEXT: "inner": [
1585// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001586// CHECK-NEXT: "id": "0x{{.*}}",
1587// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001588// CHECK-NEXT: "range": {
1589// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001590// CHECK-NEXT: "offset": 1874,
1591// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001592// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001593// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001594// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001595// CHECK-NEXT: "offset": 1878,
1596// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001597// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001598// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001599// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001600// CHECK-NEXT: "type": {
1601// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001602// CHECK-NEXT: },
1603// CHECK-NEXT: "valueCategory": "rvalue",
1604// CHECK-NEXT: "castKind": "IntegralCast",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001605// CHECK-NEXT: "inner": [
1606// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001607// CHECK-NEXT: "id": "0x{{.*}}",
1608// CHECK-NEXT: "kind": "PseudoObjectExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001609// CHECK-NEXT: "range": {
1610// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001611// CHECK-NEXT: "offset": 1874,
1612// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001613// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001614// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001615// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001616// CHECK-NEXT: "offset": 1878,
1617// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001618// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001619// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001620// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001621// CHECK-NEXT: "type": {
1622// CHECK-NEXT: "qualType": "unsigned int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001623// CHECK-NEXT: },
1624// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001625// CHECK-NEXT: "inner": [
1626// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001627// CHECK-NEXT: "id": "0x{{.*}}",
1628// CHECK-NEXT: "kind": "ObjCPropertyRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001629// CHECK-NEXT: "range": {
1630// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001631// CHECK-NEXT: "offset": 1874,
1632// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001633// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001634// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001635// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001636// CHECK-NEXT: "offset": 1878,
1637// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001638// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001639// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001640// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001641// CHECK-NEXT: "type": {
1642// CHECK-NEXT: "qualType": "<pseudo-object type>"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001643// CHECK-NEXT: },
1644// CHECK-NEXT: "valueCategory": "lvalue",
1645// CHECK-NEXT: "propertyKind": "explicit",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001646// CHECK-NEXT: "property": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001647// CHECK-NEXT: "id": "0x{{.*}}",
1648// CHECK-NEXT: "kind": "ObjCPropertyDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001649// CHECK-NEXT: "name": "prop"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001650// CHECK-NEXT: },
1651// CHECK-NEXT: "isMessagingGetter": true,
Aaron Ballman75e23f82019-06-20 21:45:31 +00001652// CHECK-NEXT: "inner": [
1653// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001654// CHECK-NEXT: "id": "0x{{.*}}",
1655// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001656// CHECK-NEXT: "range": {
1657// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001658// CHECK-NEXT: "offset": 1874,
1659// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001660// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001661// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001662// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001663// CHECK-NEXT: "offset": 1874,
1664// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001665// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001666// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001667// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001668// CHECK-NEXT: "type": {
1669// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001670// CHECK-NEXT: },
1671// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001672// CHECK-NEXT: "inner": [
1673// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001674// CHECK-NEXT: "id": "0x{{.*}}",
1675// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001676// CHECK-NEXT: "range": {
1677// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001678// CHECK-NEXT: "offset": 1874,
1679// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001680// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001681// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001682// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001683// CHECK-NEXT: "offset": 1874,
1684// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001685// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001686// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001687// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001688// CHECK-NEXT: "type": {
1689// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001690// CHECK-NEXT: },
1691// CHECK-NEXT: "valueCategory": "rvalue",
1692// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001693// CHECK-NEXT: "inner": [
1694// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001695// CHECK-NEXT: "id": "0x{{.*}}",
1696// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001697// CHECK-NEXT: "range": {
1698// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001699// CHECK-NEXT: "offset": 1874,
1700// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001701// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001702// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001703// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001704// CHECK-NEXT: "offset": 1874,
1705// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001706// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001707// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001708// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001709// CHECK-NEXT: "type": {
1710// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001711// CHECK-NEXT: },
1712// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001713// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001714// CHECK-NEXT: "id": "0x{{.*}}",
1715// CHECK-NEXT: "kind": "ParmVarDecl",
1716// CHECK-NEXT: "name": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001717// CHECK-NEXT: "type": {
1718// CHECK-NEXT: "qualType": "J *"
1719// CHECK-NEXT: }
1720// CHECK-NEXT: }
1721// CHECK-NEXT: }
1722// CHECK-NEXT: ]
1723// CHECK-NEXT: }
1724// CHECK-NEXT: ]
1725// CHECK-NEXT: }
1726// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001727// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001728// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001729// CHECK-NEXT: "id": "0x{{.*}}",
1730// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001731// CHECK-NEXT: "range": {
1732// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001733// CHECK-NEXT: "offset": 1874,
1734// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001735// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001736// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001737// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001738// CHECK-NEXT: "offset": 1874,
1739// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001740// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001741// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001742// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001743// CHECK-NEXT: "type": {
1744// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001745// CHECK-NEXT: },
1746// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001747// CHECK-NEXT: "inner": [
1748// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001749// CHECK-NEXT: "id": "0x{{.*}}",
1750// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001751// CHECK-NEXT: "range": {
1752// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001753// CHECK-NEXT: "offset": 1874,
1754// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001755// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001756// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001757// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001758// CHECK-NEXT: "offset": 1874,
1759// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001760// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001761// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001762// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001763// CHECK-NEXT: "type": {
1764// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001765// CHECK-NEXT: },
1766// CHECK-NEXT: "valueCategory": "rvalue",
1767// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001768// CHECK-NEXT: "inner": [
1769// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001770// CHECK-NEXT: "id": "0x{{.*}}",
1771// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001772// CHECK-NEXT: "range": {
1773// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001774// CHECK-NEXT: "offset": 1874,
1775// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001776// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001777// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001778// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001779// CHECK-NEXT: "offset": 1874,
1780// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001781// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001782// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001783// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001784// CHECK-NEXT: "type": {
1785// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001786// CHECK-NEXT: },
1787// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001788// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001789// CHECK-NEXT: "id": "0x{{.*}}",
1790// CHECK-NEXT: "kind": "ParmVarDecl",
1791// CHECK-NEXT: "name": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001792// CHECK-NEXT: "type": {
1793// CHECK-NEXT: "qualType": "J *"
1794// CHECK-NEXT: }
1795// CHECK-NEXT: }
1796// CHECK-NEXT: }
1797// CHECK-NEXT: ]
1798// CHECK-NEXT: }
1799// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001800// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001801// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001802// CHECK-NEXT: "id": "0x{{.*}}",
1803// CHECK-NEXT: "kind": "ObjCMessageExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001804// CHECK-NEXT: "range": {
1805// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001806// CHECK-NEXT: "offset": 1878,
1807// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001808// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001809// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001810// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001811// CHECK-NEXT: "offset": 1878,
1812// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00001813// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001814// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001815// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001816// CHECK-NEXT: "type": {
1817// CHECK-NEXT: "qualType": "unsigned int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001818// CHECK-NEXT: },
1819// CHECK-NEXT: "valueCategory": "rvalue",
1820// CHECK-NEXT: "selector": "prop",
1821// CHECK-NEXT: "receiverKind": "instance",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001822// CHECK-NEXT: "inner": [
1823// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001824// CHECK-NEXT: "id": "0x{{.*}}",
1825// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001826// CHECK-NEXT: "range": {
1827// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001828// CHECK-NEXT: "offset": 1874,
1829// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001830// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001831// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001832// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001833// CHECK-NEXT: "offset": 1874,
1834// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001835// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001836// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001837// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001838// CHECK-NEXT: "type": {
1839// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001840// CHECK-NEXT: },
1841// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001842// CHECK-NEXT: "inner": [
1843// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001844// CHECK-NEXT: "id": "0x{{.*}}",
1845// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001846// CHECK-NEXT: "range": {
1847// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001848// CHECK-NEXT: "offset": 1874,
1849// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001850// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001851// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001852// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001853// CHECK-NEXT: "offset": 1874,
1854// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001855// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001856// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001857// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001858// CHECK-NEXT: "type": {
1859// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001860// CHECK-NEXT: },
1861// CHECK-NEXT: "valueCategory": "rvalue",
1862// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001863// CHECK-NEXT: "inner": [
1864// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001865// CHECK-NEXT: "id": "0x{{.*}}",
1866// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001867// CHECK-NEXT: "range": {
1868// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001869// CHECK-NEXT: "offset": 1874,
1870// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001871// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001872// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001873// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001874// CHECK-NEXT: "offset": 1874,
1875// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00001876// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00001877// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001878// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001879// CHECK-NEXT: "type": {
1880// CHECK-NEXT: "qualType": "J *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001881// CHECK-NEXT: },
1882// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001883// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001884// CHECK-NEXT: "id": "0x{{.*}}",
1885// CHECK-NEXT: "kind": "ParmVarDecl",
1886// CHECK-NEXT: "name": "Obj",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001887// CHECK-NEXT: "type": {
1888// CHECK-NEXT: "qualType": "J *"
1889// CHECK-NEXT: }
1890// CHECK-NEXT: }
1891// CHECK-NEXT: }
1892// CHECK-NEXT: ]
1893// CHECK-NEXT: }
1894// CHECK-NEXT: ]
1895// CHECK-NEXT: }
1896// CHECK-NEXT: ]
1897// CHECK-NEXT: }
1898// CHECK-NEXT: ]
1899// CHECK-NEXT: }
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
1911
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001912// CHECK: "kind": "FunctionDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001913// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001914// CHECK-NEXT: "offset": 1892,
1915// CHECK-NEXT: "file": "{{.*}}",
1916// CHECK-NEXT: "line": 81,
1917// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00001918// CHECK-NEXT: "tokLen": 20
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001919// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001920// CHECK-NEXT: "range": {
1921// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001922// CHECK-NEXT: "offset": 1887,
1923// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00001924// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001925// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001926// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001927// CHECK-NEXT: "offset": 2052,
1928// CHECK-NEXT: "line": 87,
1929// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00001930// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00001931// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001932// CHECK-NEXT: },
1933// CHECK-NEXT: "name": "TestObjCSubscriptRef",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001934// CHECK-NEXT: "type": {
1935// CHECK-NEXT: "qualType": "void (NSMutableArray *, NSMutableDictionary *)"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001936// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001937// CHECK-NEXT: "inner": [
1938// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001939// CHECK-NEXT: "id": "0x{{.*}}",
1940// CHECK-NEXT: "kind": "ParmVarDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001941// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001942// CHECK-NEXT: "offset": 1929,
1943// CHECK-NEXT: "line": 81,
1944// CHECK-NEXT: "col": 43,
Aaron Ballmana612e342019-06-24 20:07:11 +00001945// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001946// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001947// CHECK-NEXT: "range": {
1948// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001949// CHECK-NEXT: "offset": 1913,
1950// CHECK-NEXT: "col": 27,
Aaron Ballmana612e342019-06-24 20:07:11 +00001951// CHECK-NEXT: "tokLen": 14
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001952// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001953// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001954// CHECK-NEXT: "offset": 1929,
1955// CHECK-NEXT: "col": 43,
Aaron Ballmana612e342019-06-24 20:07:11 +00001956// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00001957// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001958// CHECK-NEXT: },
1959// CHECK-NEXT: "isUsed": true,
1960// CHECK-NEXT: "name": "Array",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001961// CHECK-NEXT: "type": {
1962// CHECK-NEXT: "qualType": "NSMutableArray *"
1963// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001964// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001965// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001966// CHECK-NEXT: "id": "0x{{.*}}",
1967// CHECK-NEXT: "kind": "ParmVarDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001968// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001969// CHECK-NEXT: "offset": 1957,
1970// CHECK-NEXT: "col": 71,
Aaron Ballmana612e342019-06-24 20:07:11 +00001971// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001972// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001973// CHECK-NEXT: "range": {
1974// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001975// CHECK-NEXT: "offset": 1936,
1976// CHECK-NEXT: "col": 50,
Aaron Ballmana612e342019-06-24 20:07:11 +00001977// CHECK-NEXT: "tokLen": 19
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001978// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001979// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001980// CHECK-NEXT: "offset": 1957,
1981// CHECK-NEXT: "col": 71,
Aaron Ballmana612e342019-06-24 20:07:11 +00001982// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00001983// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001984// CHECK-NEXT: },
1985// CHECK-NEXT: "isUsed": true,
1986// CHECK-NEXT: "name": "Dict",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001987// CHECK-NEXT: "type": {
1988// CHECK-NEXT: "qualType": "NSMutableDictionary *"
1989// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001990// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00001991// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001992// CHECK-NEXT: "id": "0x{{.*}}",
1993// CHECK-NEXT: "kind": "CompoundStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +00001994// CHECK-NEXT: "range": {
1995// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001996// CHECK-NEXT: "offset": 1963,
1997// CHECK-NEXT: "col": 77,
Aaron Ballmana612e342019-06-24 20:07:11 +00001998// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00001999// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002000// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002001// CHECK-NEXT: "offset": 2052,
2002// CHECK-NEXT: "line": 87,
2003// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00002004// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002005// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002006// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002007// CHECK-NEXT: "inner": [
2008// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002009// CHECK-NEXT: "id": "0x{{.*}}",
2010// CHECK-NEXT: "kind": "PseudoObjectExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002011// CHECK-NEXT: "range": {
2012// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002013// CHECK-NEXT: "offset": 1966,
2014// CHECK-NEXT: "line": 82,
2015// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002016// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002017// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002018// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002019// CHECK-NEXT: "offset": 1984,
2020// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002021// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002022// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002023// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002024// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002025// CHECK-NEXT: "desugaredQualType": "id",
2026// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002027// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002028// CHECK-NEXT: },
2029// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002030// CHECK-NEXT: "inner": [
2031// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002032// CHECK-NEXT: "id": "0x{{.*}}",
2033// CHECK-NEXT: "kind": "BinaryOperator",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002034// CHECK-NEXT: "range": {
2035// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002036// CHECK-NEXT: "offset": 1966,
2037// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002038// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002039// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002040// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002041// CHECK-NEXT: "offset": 1984,
2042// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002043// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002044// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002045// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002046// CHECK-NEXT: "type": {
2047// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002048// CHECK-NEXT: },
2049// CHECK-NEXT: "valueCategory": "rvalue",
2050// CHECK-NEXT: "opcode": "=",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002051// CHECK-NEXT: "inner": [
2052// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002053// CHECK-NEXT: "id": "0x{{.*}}",
2054// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002055// CHECK-NEXT: "range": {
2056// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002057// CHECK-NEXT: "offset": 1966,
2058// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002059// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002060// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002061// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002062// CHECK-NEXT: "offset": 1973,
2063// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002064// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002065// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002066// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002067// CHECK-NEXT: "type": {
2068// CHECK-NEXT: "qualType": "<pseudo-object type>"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002069// CHECK-NEXT: },
2070// CHECK-NEXT: "valueCategory": "lvalue",
2071// CHECK-NEXT: "subscriptKind": "array",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002072// CHECK-NEXT: "inner": [
2073// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002074// CHECK-NEXT: "id": "0x{{.*}}",
2075// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002076// CHECK-NEXT: "range": {
2077// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002078// CHECK-NEXT: "offset": 1966,
2079// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002080// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002081// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002082// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002083// CHECK-NEXT: "offset": 1966,
2084// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002085// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002086// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002087// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002088// CHECK-NEXT: "type": {
2089// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002090// CHECK-NEXT: },
2091// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002092// CHECK-NEXT: "inner": [
2093// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002094// CHECK-NEXT: "id": "0x{{.*}}",
2095// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002096// CHECK-NEXT: "range": {
2097// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002098// CHECK-NEXT: "offset": 1966,
2099// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002100// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002101// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002102// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002103// CHECK-NEXT: "offset": 1966,
2104// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002105// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002106// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002107// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002108// CHECK-NEXT: "type": {
2109// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002110// CHECK-NEXT: },
2111// CHECK-NEXT: "valueCategory": "rvalue",
2112// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002113// CHECK-NEXT: "inner": [
2114// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002115// CHECK-NEXT: "id": "0x{{.*}}",
2116// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002117// CHECK-NEXT: "range": {
2118// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002119// CHECK-NEXT: "offset": 1966,
2120// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002121// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002122// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002123// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002124// CHECK-NEXT: "offset": 1966,
2125// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002126// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002127// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002128// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002129// CHECK-NEXT: "type": {
2130// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002131// CHECK-NEXT: },
2132// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002133// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002134// CHECK-NEXT: "id": "0x{{.*}}",
2135// CHECK-NEXT: "kind": "ParmVarDecl",
2136// CHECK-NEXT: "name": "Array",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002137// CHECK-NEXT: "type": {
2138// CHECK-NEXT: "qualType": "NSMutableArray *"
2139// CHECK-NEXT: }
2140// CHECK-NEXT: }
2141// CHECK-NEXT: }
2142// CHECK-NEXT: ]
2143// CHECK-NEXT: }
2144// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002145// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002146// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002147// CHECK-NEXT: "id": "0x{{.*}}",
2148// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002149// CHECK-NEXT: "range": {
2150// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002151// CHECK-NEXT: "offset": 1972,
2152// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002153// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002154// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002155// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002156// CHECK-NEXT: "offset": 1972,
2157// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002158// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002159// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002160// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002161// CHECK-NEXT: "type": {
2162// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002163// CHECK-NEXT: },
2164// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002165// CHECK-NEXT: "inner": [
2166// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002167// CHECK-NEXT: "id": "0x{{.*}}",
2168// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002169// CHECK-NEXT: "range": {
2170// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002171// CHECK-NEXT: "offset": 1972,
2172// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002173// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002174// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002175// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002176// CHECK-NEXT: "offset": 1972,
2177// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002178// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002179// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002180// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002181// CHECK-NEXT: "type": {
2182// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002183// CHECK-NEXT: },
2184// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002185// CHECK-NEXT: "value": "0"
2186// CHECK-NEXT: }
2187// CHECK-NEXT: ]
2188// CHECK-NEXT: }
2189// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002190// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002191// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002192// CHECK-NEXT: "id": "0x{{.*}}",
2193// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002194// CHECK-NEXT: "range": {
2195// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002196// CHECK-NEXT: "offset": 1977,
2197// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002198// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002199// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002200// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002201// CHECK-NEXT: "offset": 1984,
2202// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002203// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002204// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002205// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002206// CHECK-NEXT: "type": {
2207// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002208// CHECK-NEXT: },
2209// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002210// CHECK-NEXT: "inner": [
2211// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002212// CHECK-NEXT: "id": "0x{{.*}}",
2213// CHECK-NEXT: "kind": "CStyleCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002214// CHECK-NEXT: "range": {
2215// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002216// CHECK-NEXT: "offset": 1977,
2217// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002218// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002219// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002220// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002221// CHECK-NEXT: "offset": 1984,
2222// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002223// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002224// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002225// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002226// CHECK-NEXT: "type": {
2227// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002228// CHECK-NEXT: },
2229// CHECK-NEXT: "valueCategory": "rvalue",
2230// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002231// CHECK-NEXT: "inner": [
2232// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002233// CHECK-NEXT: "id": "0x{{.*}}",
2234// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002235// CHECK-NEXT: "range": {
2236// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002237// CHECK-NEXT: "offset": 1984,
2238// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002239// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002240// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002241// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002242// CHECK-NEXT: "offset": 1984,
2243// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002244// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002245// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002246// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002247// CHECK-NEXT: "type": {
2248// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002249// CHECK-NEXT: },
2250// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002251// CHECK-NEXT: "value": "0"
2252// CHECK-NEXT: }
2253// CHECK-NEXT: ]
2254// CHECK-NEXT: }
2255// CHECK-NEXT: ]
2256// CHECK-NEXT: }
2257// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002258// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002259// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002260// CHECK-NEXT: "id": "0x{{.*}}",
2261// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002262// CHECK-NEXT: "range": {
2263// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002264// CHECK-NEXT: "offset": 1966,
2265// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002266// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002267// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002268// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002269// CHECK-NEXT: "offset": 1966,
2270// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002271// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002272// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002273// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002274// CHECK-NEXT: "type": {
2275// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002276// CHECK-NEXT: },
2277// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002278// CHECK-NEXT: "inner": [
2279// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002280// CHECK-NEXT: "id": "0x{{.*}}",
2281// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002282// CHECK-NEXT: "range": {
2283// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002284// CHECK-NEXT: "offset": 1966,
2285// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002286// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002287// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002288// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002289// CHECK-NEXT: "offset": 1966,
2290// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002291// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002292// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002293// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002294// CHECK-NEXT: "type": {
2295// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002296// CHECK-NEXT: },
2297// CHECK-NEXT: "valueCategory": "rvalue",
2298// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002299// CHECK-NEXT: "inner": [
2300// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002301// CHECK-NEXT: "id": "0x{{.*}}",
2302// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002303// CHECK-NEXT: "range": {
2304// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002305// CHECK-NEXT: "offset": 1966,
2306// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002307// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002308// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002309// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002310// CHECK-NEXT: "offset": 1966,
2311// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002312// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002313// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002314// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002315// CHECK-NEXT: "type": {
2316// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002317// CHECK-NEXT: },
2318// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002319// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002320// CHECK-NEXT: "id": "0x{{.*}}",
2321// CHECK-NEXT: "kind": "ParmVarDecl",
2322// CHECK-NEXT: "name": "Array",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002323// CHECK-NEXT: "type": {
2324// CHECK-NEXT: "qualType": "NSMutableArray *"
2325// CHECK-NEXT: }
2326// CHECK-NEXT: }
2327// CHECK-NEXT: }
2328// CHECK-NEXT: ]
2329// CHECK-NEXT: }
2330// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002331// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002332// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002333// CHECK-NEXT: "id": "0x{{.*}}",
2334// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002335// CHECK-NEXT: "range": {
2336// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002337// CHECK-NEXT: "offset": 1972,
2338// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002339// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002340// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002341// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002342// CHECK-NEXT: "offset": 1972,
2343// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002344// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002345// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002346// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002347// CHECK-NEXT: "type": {
2348// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002349// CHECK-NEXT: },
2350// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002351// CHECK-NEXT: "inner": [
2352// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002353// CHECK-NEXT: "id": "0x{{.*}}",
2354// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002355// CHECK-NEXT: "range": {
2356// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002357// CHECK-NEXT: "offset": 1972,
2358// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002359// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002360// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002361// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002362// CHECK-NEXT: "offset": 1972,
2363// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002364// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002365// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002366// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002367// CHECK-NEXT: "type": {
2368// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002369// CHECK-NEXT: },
2370// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002371// CHECK-NEXT: "value": "0"
2372// CHECK-NEXT: }
2373// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002374// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002375// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002376// CHECK-NEXT: "id": "0x{{.*}}",
2377// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002378// CHECK-NEXT: "range": {
2379// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002380// CHECK-NEXT: "offset": 1977,
2381// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002382// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002383// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002384// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002385// CHECK-NEXT: "offset": 1984,
2386// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002387// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002388// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002389// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002390// CHECK-NEXT: "type": {
2391// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002392// CHECK-NEXT: },
2393// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002394// CHECK-NEXT: "inner": [
2395// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002396// CHECK-NEXT: "id": "0x{{.*}}",
2397// CHECK-NEXT: "kind": "CStyleCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002398// CHECK-NEXT: "range": {
2399// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002400// CHECK-NEXT: "offset": 1977,
2401// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002402// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002403// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002404// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002405// CHECK-NEXT: "offset": 1984,
2406// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002407// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002408// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002409// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002410// CHECK-NEXT: "type": {
2411// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002412// CHECK-NEXT: },
2413// CHECK-NEXT: "valueCategory": "rvalue",
2414// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002415// CHECK-NEXT: "inner": [
2416// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002417// CHECK-NEXT: "id": "0x{{.*}}",
2418// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002419// CHECK-NEXT: "range": {
2420// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002421// CHECK-NEXT: "offset": 1984,
2422// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002423// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002424// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002425// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002426// CHECK-NEXT: "offset": 1984,
2427// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002428// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002429// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002430// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002431// CHECK-NEXT: "type": {
2432// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002433// CHECK-NEXT: },
2434// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002435// CHECK-NEXT: "value": "0"
2436// CHECK-NEXT: }
2437// CHECK-NEXT: ]
2438// CHECK-NEXT: }
2439// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002440// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002441// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002442// CHECK-NEXT: "id": "0x{{.*}}",
2443// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002444// CHECK-NEXT: "range": {
2445// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002446// CHECK-NEXT: "offset": 1977,
2447// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002448// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002449// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002450// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002451// CHECK-NEXT: "offset": 1984,
2452// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002453// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002454// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002455// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002456// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002457// CHECK-NEXT: "desugaredQualType": "id",
2458// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002459// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002460// CHECK-NEXT: },
2461// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002462// CHECK-NEXT: "inner": [
2463// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002464// CHECK-NEXT: "id": "0x{{.*}}",
2465// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002466// CHECK-NEXT: "range": {
2467// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002468// CHECK-NEXT: "offset": 1977,
2469// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002470// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002471// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002472// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002473// CHECK-NEXT: "offset": 1984,
2474// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002475// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002476// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002477// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002478// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002479// CHECK-NEXT: "desugaredQualType": "id",
2480// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002481// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002482// CHECK-NEXT: },
2483// CHECK-NEXT: "valueCategory": "rvalue",
2484// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002485// CHECK-NEXT: "inner": [
2486// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002487// CHECK-NEXT: "id": "0x{{.*}}",
2488// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002489// CHECK-NEXT: "range": {
2490// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002491// CHECK-NEXT: "offset": 1977,
2492// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002493// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002494// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002495// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002496// CHECK-NEXT: "offset": 1984,
2497// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002498// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002499// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002500// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002501// CHECK-NEXT: "type": {
2502// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002503// CHECK-NEXT: },
2504// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002505// CHECK-NEXT: "inner": [
2506// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002507// CHECK-NEXT: "id": "0x{{.*}}",
2508// CHECK-NEXT: "kind": "CStyleCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002509// CHECK-NEXT: "range": {
2510// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002511// CHECK-NEXT: "offset": 1977,
2512// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002513// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002514// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002515// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002516// CHECK-NEXT: "offset": 1984,
2517// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002518// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002519// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002520// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002521// CHECK-NEXT: "type": {
2522// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002523// CHECK-NEXT: },
2524// CHECK-NEXT: "valueCategory": "rvalue",
2525// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002526// CHECK-NEXT: "inner": [
2527// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002528// CHECK-NEXT: "id": "0x{{.*}}",
2529// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002530// CHECK-NEXT: "range": {
2531// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002532// CHECK-NEXT: "offset": 1984,
2533// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002534// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002535// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002536// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002537// CHECK-NEXT: "offset": 1984,
2538// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002539// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002540// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002541// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002542// CHECK-NEXT: "type": {
2543// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002544// CHECK-NEXT: },
2545// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002546// CHECK-NEXT: "value": "0"
2547// CHECK-NEXT: }
2548// CHECK-NEXT: ]
2549// CHECK-NEXT: }
2550// CHECK-NEXT: ]
2551// CHECK-NEXT: }
2552// CHECK-NEXT: ]
2553// CHECK-NEXT: }
2554// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002555// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002556// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002557// CHECK-NEXT: "id": "0x{{.*}}",
2558// CHECK-NEXT: "kind": "ObjCMessageExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002559// CHECK-NEXT: "range": {
2560// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002561// CHECK-NEXT: "offset": 1966,
2562// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002563// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002564// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002565// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002566// CHECK-NEXT: "offset": 1966,
2567// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002568// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002569// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002570// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002571// CHECK-NEXT: "type": {
2572// CHECK-NEXT: "qualType": "void"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002573// CHECK-NEXT: },
2574// CHECK-NEXT: "valueCategory": "rvalue",
2575// CHECK-NEXT: "selector": "setObject:atIndexedSubscript:",
2576// CHECK-NEXT: "receiverKind": "instance",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002577// CHECK-NEXT: "inner": [
2578// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002579// CHECK-NEXT: "id": "0x{{.*}}",
2580// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002581// CHECK-NEXT: "range": {
2582// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002583// CHECK-NEXT: "offset": 1966,
2584// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002585// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002586// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002587// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002588// CHECK-NEXT: "offset": 1966,
2589// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002590// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002591// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002592// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002593// CHECK-NEXT: "type": {
2594// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002595// CHECK-NEXT: },
2596// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002597// CHECK-NEXT: "inner": [
2598// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002599// CHECK-NEXT: "id": "0x{{.*}}",
2600// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002601// CHECK-NEXT: "range": {
2602// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002603// CHECK-NEXT: "offset": 1966,
2604// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002605// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002606// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002607// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002608// CHECK-NEXT: "offset": 1966,
2609// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002610// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002611// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002612// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002613// CHECK-NEXT: "type": {
2614// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002615// CHECK-NEXT: },
2616// CHECK-NEXT: "valueCategory": "rvalue",
2617// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002618// CHECK-NEXT: "inner": [
2619// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002620// CHECK-NEXT: "id": "0x{{.*}}",
2621// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002622// CHECK-NEXT: "range": {
2623// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002624// CHECK-NEXT: "offset": 1966,
2625// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002626// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002627// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002628// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002629// CHECK-NEXT: "offset": 1966,
2630// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002631// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002632// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002633// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002634// CHECK-NEXT: "type": {
2635// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002636// CHECK-NEXT: },
2637// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002638// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002639// CHECK-NEXT: "id": "0x{{.*}}",
2640// CHECK-NEXT: "kind": "ParmVarDecl",
2641// CHECK-NEXT: "name": "Array",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002642// CHECK-NEXT: "type": {
2643// CHECK-NEXT: "qualType": "NSMutableArray *"
2644// CHECK-NEXT: }
2645// CHECK-NEXT: }
2646// CHECK-NEXT: }
2647// CHECK-NEXT: ]
2648// CHECK-NEXT: }
2649// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002650// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002651// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002652// CHECK-NEXT: "id": "0x{{.*}}",
2653// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002654// CHECK-NEXT: "range": {
2655// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002656// CHECK-NEXT: "offset": 1977,
2657// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002658// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002659// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002660// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002661// CHECK-NEXT: "offset": 1984,
2662// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002663// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002664// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002665// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002666// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002667// CHECK-NEXT: "desugaredQualType": "id",
2668// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002669// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002670// CHECK-NEXT: },
2671// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002672// CHECK-NEXT: "inner": [
2673// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002674// CHECK-NEXT: "id": "0x{{.*}}",
2675// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002676// CHECK-NEXT: "range": {
2677// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002678// CHECK-NEXT: "offset": 1977,
2679// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002680// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002681// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002682// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002683// CHECK-NEXT: "offset": 1984,
2684// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002685// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002686// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002687// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002688// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002689// CHECK-NEXT: "desugaredQualType": "id",
2690// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002691// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002692// CHECK-NEXT: },
2693// CHECK-NEXT: "valueCategory": "rvalue",
2694// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002695// CHECK-NEXT: "inner": [
2696// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002697// CHECK-NEXT: "id": "0x{{.*}}",
2698// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002699// CHECK-NEXT: "range": {
2700// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002701// CHECK-NEXT: "offset": 1977,
2702// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002703// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002704// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002705// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002706// CHECK-NEXT: "offset": 1984,
2707// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002708// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002709// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002710// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002711// CHECK-NEXT: "type": {
2712// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002713// CHECK-NEXT: },
2714// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002715// CHECK-NEXT: "inner": [
2716// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002717// CHECK-NEXT: "id": "0x{{.*}}",
2718// CHECK-NEXT: "kind": "CStyleCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002719// CHECK-NEXT: "range": {
2720// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002721// CHECK-NEXT: "offset": 1977,
2722// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00002723// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002724// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002725// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002726// CHECK-NEXT: "offset": 1984,
2727// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002728// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002729// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002730// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002731// CHECK-NEXT: "type": {
2732// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002733// CHECK-NEXT: },
2734// CHECK-NEXT: "valueCategory": "rvalue",
2735// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002736// CHECK-NEXT: "inner": [
2737// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002738// CHECK-NEXT: "id": "0x{{.*}}",
2739// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002740// CHECK-NEXT: "range": {
2741// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002742// CHECK-NEXT: "offset": 1984,
2743// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002744// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002745// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002746// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002747// CHECK-NEXT: "offset": 1984,
2748// CHECK-NEXT: "col": 20,
Aaron Ballmana612e342019-06-24 20:07:11 +00002749// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002750// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002751// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002752// CHECK-NEXT: "type": {
2753// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002754// CHECK-NEXT: },
2755// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002756// CHECK-NEXT: "value": "0"
2757// CHECK-NEXT: }
2758// CHECK-NEXT: ]
2759// CHECK-NEXT: }
2760// CHECK-NEXT: ]
2761// CHECK-NEXT: }
2762// CHECK-NEXT: ]
2763// CHECK-NEXT: }
2764// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002765// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002766// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002767// CHECK-NEXT: "id": "0x{{.*}}",
2768// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002769// CHECK-NEXT: "range": {
2770// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002771// CHECK-NEXT: "offset": 1972,
2772// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002773// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002774// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002775// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002776// CHECK-NEXT: "offset": 1972,
2777// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002778// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002779// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002780// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002781// CHECK-NEXT: "type": {
2782// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002783// CHECK-NEXT: },
2784// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002785// CHECK-NEXT: "inner": [
2786// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002787// CHECK-NEXT: "id": "0x{{.*}}",
2788// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002789// CHECK-NEXT: "range": {
2790// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002791// CHECK-NEXT: "offset": 1972,
2792// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002793// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002794// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002795// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002796// CHECK-NEXT: "offset": 1972,
2797// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00002798// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002799// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002800// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002801// CHECK-NEXT: "type": {
2802// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002803// CHECK-NEXT: },
2804// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002805// CHECK-NEXT: "value": "0"
2806// CHECK-NEXT: }
2807// CHECK-NEXT: ]
2808// CHECK-NEXT: }
2809// CHECK-NEXT: ]
2810// CHECK-NEXT: }
2811// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002812// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002813// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002814// CHECK-NEXT: "id": "0x{{.*}}",
2815// CHECK-NEXT: "kind": "DeclStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002816// CHECK-NEXT: "range": {
2817// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002818// CHECK-NEXT: "offset": 1988,
2819// CHECK-NEXT: "line": 83,
2820// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002821// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002822// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002823// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002824// CHECK-NEXT: "offset": 2003,
2825// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00002826// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002827// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002828// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002829// CHECK-NEXT: "inner": [
2830// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002831// CHECK-NEXT: "id": "0x{{.*}}",
2832// CHECK-NEXT: "kind": "VarDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002833// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002834// CHECK-NEXT: "offset": 1991,
2835// CHECK-NEXT: "col": 5,
Aaron Ballmana612e342019-06-24 20:07:11 +00002836// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002837// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002838// CHECK-NEXT: "range": {
2839// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002840// CHECK-NEXT: "offset": 1988,
2841// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00002842// CHECK-NEXT: "tokLen": 2
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002843// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002844// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002845// CHECK-NEXT: "offset": 2002,
2846// CHECK-NEXT: "col": 16,
Aaron Ballmana612e342019-06-24 20:07:11 +00002847// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002848// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002849// CHECK-NEXT: },
2850// CHECK-NEXT: "isUsed": true,
2851// CHECK-NEXT: "name": "i",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002852// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002853// CHECK-NEXT: "desugaredQualType": "id",
2854// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002855// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002856// CHECK-NEXT: },
2857// CHECK-NEXT: "init": "c",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002858// CHECK-NEXT: "inner": [
2859// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002860// CHECK-NEXT: "id": "0x{{.*}}",
2861// CHECK-NEXT: "kind": "PseudoObjectExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002862// CHECK-NEXT: "range": {
2863// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002864// CHECK-NEXT: "offset": 1995,
2865// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002866// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002867// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002868// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002869// CHECK-NEXT: "offset": 2002,
2870// CHECK-NEXT: "col": 16,
Aaron Ballmana612e342019-06-24 20:07:11 +00002871// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002872// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002873// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002874// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002875// CHECK-NEXT: "desugaredQualType": "id",
2876// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00002877// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002878// CHECK-NEXT: },
2879// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002880// CHECK-NEXT: "inner": [
2881// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002882// CHECK-NEXT: "id": "0x{{.*}}",
2883// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002884// CHECK-NEXT: "range": {
2885// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002886// CHECK-NEXT: "offset": 1995,
2887// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002888// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002889// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002890// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002891// CHECK-NEXT: "offset": 2002,
2892// CHECK-NEXT: "col": 16,
Aaron Ballmana612e342019-06-24 20:07:11 +00002893// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002894// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002895// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002896// CHECK-NEXT: "type": {
2897// CHECK-NEXT: "qualType": "<pseudo-object type>"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002898// CHECK-NEXT: },
2899// CHECK-NEXT: "valueCategory": "lvalue",
2900// CHECK-NEXT: "subscriptKind": "array",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002901// CHECK-NEXT: "inner": [
2902// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002903// CHECK-NEXT: "id": "0x{{.*}}",
2904// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002905// CHECK-NEXT: "range": {
2906// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002907// CHECK-NEXT: "offset": 1995,
2908// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002909// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002910// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002911// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002912// CHECK-NEXT: "offset": 1995,
2913// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002914// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002915// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002916// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002917// CHECK-NEXT: "type": {
2918// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002919// CHECK-NEXT: },
2920// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002921// CHECK-NEXT: "inner": [
2922// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002923// CHECK-NEXT: "id": "0x{{.*}}",
2924// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002925// CHECK-NEXT: "range": {
2926// CHECK-NEXT: "begin": {
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 Ballman27c7a9b2019-10-15 17:30:19 +00002930// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002931// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002932// CHECK-NEXT: "offset": 1995,
2933// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002934// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002935// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002936// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002937// CHECK-NEXT: "type": {
2938// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002939// CHECK-NEXT: },
2940// CHECK-NEXT: "valueCategory": "rvalue",
2941// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002942// CHECK-NEXT: "inner": [
2943// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002944// CHECK-NEXT: "id": "0x{{.*}}",
2945// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002946// CHECK-NEXT: "range": {
2947// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002948// CHECK-NEXT: "offset": 1995,
2949// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002950// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002951// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002952// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002953// CHECK-NEXT: "offset": 1995,
2954// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00002955// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00002956// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002957// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002958// CHECK-NEXT: "type": {
2959// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002960// CHECK-NEXT: },
2961// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002962// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002963// CHECK-NEXT: "id": "0x{{.*}}",
2964// CHECK-NEXT: "kind": "ParmVarDecl",
2965// CHECK-NEXT: "name": "Array",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002966// CHECK-NEXT: "type": {
2967// CHECK-NEXT: "qualType": "NSMutableArray *"
2968// CHECK-NEXT: }
2969// CHECK-NEXT: }
2970// CHECK-NEXT: }
2971// CHECK-NEXT: ]
2972// CHECK-NEXT: }
2973// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002974// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002975// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002976// CHECK-NEXT: "id": "0x{{.*}}",
2977// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002978// CHECK-NEXT: "range": {
2979// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002980// CHECK-NEXT: "offset": 2001,
2981// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002982// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002983// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002984// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002985// CHECK-NEXT: "offset": 2001,
2986// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00002987// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00002988// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002989// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00002990// CHECK-NEXT: "type": {
2991// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002992// CHECK-NEXT: },
2993// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002994// CHECK-NEXT: "inner": [
2995// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00002996// CHECK-NEXT: "id": "0x{{.*}}",
2997// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00002998// CHECK-NEXT: "range": {
2999// CHECK-NEXT: "begin": {
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 Ballman27c7a9b2019-10-15 17:30:19 +00003003// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003004// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003005// CHECK-NEXT: "offset": 2001,
3006// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00003007// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003008// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003009// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003010// CHECK-NEXT: "type": {
3011// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003012// CHECK-NEXT: },
3013// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003014// CHECK-NEXT: "value": "0"
3015// CHECK-NEXT: }
3016// CHECK-NEXT: ]
3017// CHECK-NEXT: }
3018// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003019// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003020// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003021// CHECK-NEXT: "id": "0x{{.*}}",
3022// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003023// CHECK-NEXT: "range": {
3024// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003025// CHECK-NEXT: "offset": 1995,
3026// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003027// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003028// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003029// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003030// CHECK-NEXT: "offset": 1995,
3031// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003032// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003033// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003034// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003035// CHECK-NEXT: "type": {
3036// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003037// CHECK-NEXT: },
3038// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003039// CHECK-NEXT: "inner": [
3040// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003041// CHECK-NEXT: "id": "0x{{.*}}",
3042// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003043// CHECK-NEXT: "range": {
3044// CHECK-NEXT: "begin": {
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 Ballman27c7a9b2019-10-15 17:30:19 +00003048// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003049// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003050// CHECK-NEXT: "offset": 1995,
3051// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003052// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003053// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003054// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003055// CHECK-NEXT: "type": {
3056// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003057// CHECK-NEXT: },
3058// CHECK-NEXT: "valueCategory": "rvalue",
3059// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003060// CHECK-NEXT: "inner": [
3061// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003062// CHECK-NEXT: "id": "0x{{.*}}",
3063// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003064// CHECK-NEXT: "range": {
3065// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003066// CHECK-NEXT: "offset": 1995,
3067// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003068// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003069// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003070// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003071// CHECK-NEXT: "offset": 1995,
3072// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003073// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003074// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003075// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003076// CHECK-NEXT: "type": {
3077// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003078// CHECK-NEXT: },
3079// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003080// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003081// CHECK-NEXT: "id": "0x{{.*}}",
3082// CHECK-NEXT: "kind": "ParmVarDecl",
3083// CHECK-NEXT: "name": "Array",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003084// CHECK-NEXT: "type": {
3085// CHECK-NEXT: "qualType": "NSMutableArray *"
3086// CHECK-NEXT: }
3087// CHECK-NEXT: }
3088// CHECK-NEXT: }
3089// CHECK-NEXT: ]
3090// CHECK-NEXT: }
3091// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003092// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003093// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003094// CHECK-NEXT: "id": "0x{{.*}}",
3095// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003096// CHECK-NEXT: "range": {
3097// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003098// CHECK-NEXT: "offset": 2001,
3099// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00003100// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003101// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003102// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003103// CHECK-NEXT: "offset": 2001,
3104// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00003105// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003106// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003107// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003108// CHECK-NEXT: "type": {
3109// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003110// CHECK-NEXT: },
3111// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003112// CHECK-NEXT: "inner": [
3113// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003114// CHECK-NEXT: "id": "0x{{.*}}",
3115// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003116// CHECK-NEXT: "range": {
3117// CHECK-NEXT: "begin": {
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 Ballman27c7a9b2019-10-15 17:30:19 +00003121// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003122// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003123// CHECK-NEXT: "offset": 2001,
3124// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00003125// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003126// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003127// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003128// CHECK-NEXT: "type": {
3129// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003130// CHECK-NEXT: },
3131// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003132// CHECK-NEXT: "value": "0"
3133// CHECK-NEXT: }
3134// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003135// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003136// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003137// CHECK-NEXT: "id": "0x{{.*}}",
3138// CHECK-NEXT: "kind": "ObjCMessageExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003139// CHECK-NEXT: "range": {
3140// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003141// CHECK-NEXT: "offset": 1995,
3142// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003143// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003144// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003145// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003146// CHECK-NEXT: "offset": 1995,
3147// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003148// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003149// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003150// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003151// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003152// CHECK-NEXT: "desugaredQualType": "id",
3153// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00003154// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003155// CHECK-NEXT: },
3156// CHECK-NEXT: "valueCategory": "rvalue",
3157// CHECK-NEXT: "selector": "objectAtIndexedSubscript:",
3158// CHECK-NEXT: "receiverKind": "instance",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003159// CHECK-NEXT: "inner": [
3160// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003161// CHECK-NEXT: "id": "0x{{.*}}",
3162// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003163// CHECK-NEXT: "range": {
3164// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003165// CHECK-NEXT: "offset": 1995,
3166// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003167// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003168// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003169// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003170// CHECK-NEXT: "offset": 1995,
3171// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003172// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003173// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003174// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003175// CHECK-NEXT: "type": {
3176// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003177// CHECK-NEXT: },
3178// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003179// CHECK-NEXT: "inner": [
3180// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003181// CHECK-NEXT: "id": "0x{{.*}}",
3182// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003183// CHECK-NEXT: "range": {
3184// CHECK-NEXT: "begin": {
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 Ballman27c7a9b2019-10-15 17:30:19 +00003188// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003189// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003190// CHECK-NEXT: "offset": 1995,
3191// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003192// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003193// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003194// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003195// CHECK-NEXT: "type": {
3196// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003197// CHECK-NEXT: },
3198// CHECK-NEXT: "valueCategory": "rvalue",
3199// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003200// CHECK-NEXT: "inner": [
3201// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003202// CHECK-NEXT: "id": "0x{{.*}}",
3203// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003204// CHECK-NEXT: "range": {
3205// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003206// CHECK-NEXT: "offset": 1995,
3207// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003208// CHECK-NEXT: "tokLen": 5
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003209// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003210// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003211// CHECK-NEXT: "offset": 1995,
3212// CHECK-NEXT: "col": 9,
Aaron Ballmana612e342019-06-24 20:07:11 +00003213// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003214// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003215// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003216// CHECK-NEXT: "type": {
3217// CHECK-NEXT: "qualType": "NSMutableArray *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003218// CHECK-NEXT: },
3219// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003220// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003221// CHECK-NEXT: "id": "0x{{.*}}",
3222// CHECK-NEXT: "kind": "ParmVarDecl",
3223// CHECK-NEXT: "name": "Array",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003224// CHECK-NEXT: "type": {
3225// CHECK-NEXT: "qualType": "NSMutableArray *"
3226// CHECK-NEXT: }
3227// CHECK-NEXT: }
3228// CHECK-NEXT: }
3229// CHECK-NEXT: ]
3230// CHECK-NEXT: }
3231// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003232// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003233// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003234// CHECK-NEXT: "id": "0x{{.*}}",
3235// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003236// CHECK-NEXT: "range": {
3237// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003238// CHECK-NEXT: "offset": 2001,
3239// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00003240// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003241// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003242// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003243// CHECK-NEXT: "offset": 2001,
3244// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00003245// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003246// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003247// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003248// CHECK-NEXT: "type": {
3249// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003250// CHECK-NEXT: },
3251// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003252// CHECK-NEXT: "inner": [
3253// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003254// CHECK-NEXT: "id": "0x{{.*}}",
3255// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003256// CHECK-NEXT: "range": {
3257// CHECK-NEXT: "begin": {
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 Ballman27c7a9b2019-10-15 17:30:19 +00003261// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003262// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003263// CHECK-NEXT: "offset": 2001,
3264// CHECK-NEXT: "col": 15,
Aaron Ballmana612e342019-06-24 20:07:11 +00003265// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003266// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003267// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003268// CHECK-NEXT: "type": {
3269// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003270// CHECK-NEXT: },
3271// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003272// CHECK-NEXT: "value": "0"
3273// CHECK-NEXT: }
3274// CHECK-NEXT: ]
3275// CHECK-NEXT: }
3276// CHECK-NEXT: ]
3277// CHECK-NEXT: }
3278// CHECK-NEXT: ]
3279// CHECK-NEXT: }
3280// CHECK-NEXT: ]
3281// CHECK-NEXT: }
3282// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003283// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003284// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003285// CHECK-NEXT: "id": "0x{{.*}}",
3286// CHECK-NEXT: "kind": "PseudoObjectExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003287// CHECK-NEXT: "range": {
3288// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003289// CHECK-NEXT: "offset": 2008,
3290// CHECK-NEXT: "line": 85,
3291// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003292// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003293// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003294// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003295// CHECK-NEXT: "offset": 2030,
3296// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003297// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003298// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003299// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003300// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003301// CHECK-NEXT: "desugaredQualType": "id",
3302// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00003303// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003304// CHECK-NEXT: },
3305// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003306// CHECK-NEXT: "inner": [
3307// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003308// CHECK-NEXT: "id": "0x{{.*}}",
3309// CHECK-NEXT: "kind": "BinaryOperator",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003310// CHECK-NEXT: "range": {
3311// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003312// CHECK-NEXT: "offset": 2008,
3313// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003314// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003315// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003316// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003317// CHECK-NEXT: "offset": 2030,
3318// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003319// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003320// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003321// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003322// CHECK-NEXT: "type": {
3323// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003324// CHECK-NEXT: },
3325// CHECK-NEXT: "valueCategory": "rvalue",
3326// CHECK-NEXT: "opcode": "=",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003327// CHECK-NEXT: "inner": [
3328// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003329// CHECK-NEXT: "id": "0x{{.*}}",
3330// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003331// CHECK-NEXT: "range": {
3332// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003333// CHECK-NEXT: "offset": 2008,
3334// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003335// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003336// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003337// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003338// CHECK-NEXT: "offset": 2019,
3339// CHECK-NEXT: "col": 13,
Aaron Ballmana612e342019-06-24 20:07:11 +00003340// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003341// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003342// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003343// CHECK-NEXT: "type": {
3344// CHECK-NEXT: "qualType": "<pseudo-object type>"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003345// CHECK-NEXT: },
3346// CHECK-NEXT: "valueCategory": "lvalue",
3347// CHECK-NEXT: "subscriptKind": "dictionary",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003348// CHECK-NEXT: "inner": [
3349// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003350// CHECK-NEXT: "id": "0x{{.*}}",
3351// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003352// CHECK-NEXT: "range": {
3353// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003354// CHECK-NEXT: "offset": 2008,
3355// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003356// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003357// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003358// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003359// CHECK-NEXT: "offset": 2008,
3360// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003361// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003362// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003363// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003364// CHECK-NEXT: "type": {
3365// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003366// CHECK-NEXT: },
3367// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003368// CHECK-NEXT: "inner": [
3369// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003370// CHECK-NEXT: "id": "0x{{.*}}",
3371// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003372// CHECK-NEXT: "range": {
3373// CHECK-NEXT: "begin": {
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 Ballman27c7a9b2019-10-15 17:30:19 +00003377// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003378// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003379// CHECK-NEXT: "offset": 2008,
3380// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003381// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003382// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003383// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003384// CHECK-NEXT: "type": {
3385// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003386// CHECK-NEXT: },
3387// CHECK-NEXT: "valueCategory": "rvalue",
3388// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003389// CHECK-NEXT: "inner": [
3390// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003391// CHECK-NEXT: "id": "0x{{.*}}",
3392// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003393// CHECK-NEXT: "range": {
3394// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003395// CHECK-NEXT: "offset": 2008,
3396// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003397// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003398// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003399// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003400// CHECK-NEXT: "offset": 2008,
3401// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003402// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003403// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003404// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003405// CHECK-NEXT: "type": {
3406// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003407// CHECK-NEXT: },
3408// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003409// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003410// CHECK-NEXT: "id": "0x{{.*}}",
3411// CHECK-NEXT: "kind": "ParmVarDecl",
3412// CHECK-NEXT: "name": "Dict",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003413// CHECK-NEXT: "type": {
3414// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3415// CHECK-NEXT: }
3416// CHECK-NEXT: }
3417// CHECK-NEXT: }
3418// CHECK-NEXT: ]
3419// CHECK-NEXT: }
3420// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003421// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003422// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003423// CHECK-NEXT: "id": "0x{{.*}}",
3424// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003425// CHECK-NEXT: "range": {
3426// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003427// CHECK-NEXT: "offset": 2013,
3428// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003429// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003430// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003431// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003432// CHECK-NEXT: "offset": 2014,
3433// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003434// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003435// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003436// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003437// CHECK-NEXT: "type": {
3438// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003439// CHECK-NEXT: },
3440// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003441// CHECK-NEXT: "inner": [
3442// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003443// CHECK-NEXT: "id": "0x{{.*}}",
3444// CHECK-NEXT: "kind": "ObjCStringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003445// CHECK-NEXT: "range": {
3446// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003447// CHECK-NEXT: "offset": 2013,
3448// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003449// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003450// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003451// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003452// CHECK-NEXT: "offset": 2014,
3453// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003454// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003455// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003456// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003457// CHECK-NEXT: "type": {
3458// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003459// CHECK-NEXT: },
3460// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003461// CHECK-NEXT: "inner": [
3462// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003463// CHECK-NEXT: "id": "0x{{.*}}",
3464// CHECK-NEXT: "kind": "StringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003465// CHECK-NEXT: "range": {
3466// CHECK-NEXT: "begin": {
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 Ballman27c7a9b2019-10-15 17:30:19 +00003470// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003471// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003472// CHECK-NEXT: "offset": 2014,
3473// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003474// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003475// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003476// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003477// CHECK-NEXT: "type": {
3478// CHECK-NEXT: "qualType": "char [4]"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003479// CHECK-NEXT: },
3480// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003481// CHECK-NEXT: "value": "\"key\""
3482// CHECK-NEXT: }
3483// CHECK-NEXT: ]
3484// CHECK-NEXT: }
3485// CHECK-NEXT: ]
3486// CHECK-NEXT: }
3487// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003488// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003489// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003490// CHECK-NEXT: "id": "0x{{.*}}",
3491// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003492// CHECK-NEXT: "range": {
3493// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003494// CHECK-NEXT: "offset": 2023,
3495// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003496// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003497// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003498// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003499// CHECK-NEXT: "offset": 2030,
3500// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003501// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003502// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003503// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003504// CHECK-NEXT: "type": {
3505// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003506// CHECK-NEXT: },
3507// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003508// CHECK-NEXT: "inner": [
3509// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003510// CHECK-NEXT: "id": "0x{{.*}}",
3511// CHECK-NEXT: "kind": "CStyleCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003512// CHECK-NEXT: "range": {
3513// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003514// CHECK-NEXT: "offset": 2023,
3515// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003516// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003517// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003518// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003519// CHECK-NEXT: "offset": 2030,
3520// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003521// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003522// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003523// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003524// CHECK-NEXT: "type": {
3525// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003526// CHECK-NEXT: },
3527// CHECK-NEXT: "valueCategory": "rvalue",
3528// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003529// CHECK-NEXT: "inner": [
3530// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003531// CHECK-NEXT: "id": "0x{{.*}}",
3532// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003533// CHECK-NEXT: "range": {
3534// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003535// CHECK-NEXT: "offset": 2030,
3536// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003537// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003538// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003539// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003540// CHECK-NEXT: "offset": 2030,
3541// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003542// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003543// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003544// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003545// CHECK-NEXT: "type": {
3546// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003547// CHECK-NEXT: },
3548// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003549// CHECK-NEXT: "value": "0"
3550// CHECK-NEXT: }
3551// CHECK-NEXT: ]
3552// CHECK-NEXT: }
3553// CHECK-NEXT: ]
3554// CHECK-NEXT: }
3555// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003556// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003557// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003558// CHECK-NEXT: "id": "0x{{.*}}",
3559// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003560// CHECK-NEXT: "range": {
3561// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003562// CHECK-NEXT: "offset": 2008,
3563// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003564// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003565// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003566// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003567// CHECK-NEXT: "offset": 2008,
3568// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003569// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003570// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003571// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003572// CHECK-NEXT: "type": {
3573// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003574// CHECK-NEXT: },
3575// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003576// CHECK-NEXT: "inner": [
3577// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003578// CHECK-NEXT: "id": "0x{{.*}}",
3579// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003580// CHECK-NEXT: "range": {
3581// CHECK-NEXT: "begin": {
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 Ballman27c7a9b2019-10-15 17:30:19 +00003585// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003586// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003587// CHECK-NEXT: "offset": 2008,
3588// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003589// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003590// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003591// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003592// CHECK-NEXT: "type": {
3593// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003594// CHECK-NEXT: },
3595// CHECK-NEXT: "valueCategory": "rvalue",
3596// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003597// CHECK-NEXT: "inner": [
3598// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003599// CHECK-NEXT: "id": "0x{{.*}}",
3600// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003601// CHECK-NEXT: "range": {
3602// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003603// CHECK-NEXT: "offset": 2008,
3604// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003605// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003606// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003607// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003608// CHECK-NEXT: "offset": 2008,
3609// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003610// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003611// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003612// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003613// CHECK-NEXT: "type": {
3614// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003615// CHECK-NEXT: },
3616// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003617// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003618// CHECK-NEXT: "id": "0x{{.*}}",
3619// CHECK-NEXT: "kind": "ParmVarDecl",
3620// CHECK-NEXT: "name": "Dict",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003621// CHECK-NEXT: "type": {
3622// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3623// CHECK-NEXT: }
3624// CHECK-NEXT: }
3625// CHECK-NEXT: }
3626// CHECK-NEXT: ]
3627// CHECK-NEXT: }
3628// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003629// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003630// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003631// CHECK-NEXT: "id": "0x{{.*}}",
3632// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003633// CHECK-NEXT: "range": {
3634// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003635// CHECK-NEXT: "offset": 2013,
3636// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003637// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003638// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003639// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003640// CHECK-NEXT: "offset": 2014,
3641// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003642// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003643// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003644// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003645// CHECK-NEXT: "type": {
3646// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003647// CHECK-NEXT: },
3648// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003649// CHECK-NEXT: "inner": [
3650// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003651// CHECK-NEXT: "id": "0x{{.*}}",
3652// CHECK-NEXT: "kind": "ObjCStringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003653// CHECK-NEXT: "range": {
3654// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003655// CHECK-NEXT: "offset": 2013,
3656// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00003657// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003658// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003659// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003660// CHECK-NEXT: "offset": 2014,
3661// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003662// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003663// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003664// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003665// CHECK-NEXT: "type": {
3666// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003667// CHECK-NEXT: },
3668// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003669// CHECK-NEXT: "inner": [
3670// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003671// CHECK-NEXT: "id": "0x{{.*}}",
3672// CHECK-NEXT: "kind": "StringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003673// CHECK-NEXT: "range": {
3674// CHECK-NEXT: "begin": {
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 Ballman27c7a9b2019-10-15 17:30:19 +00003678// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003679// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003680// CHECK-NEXT: "offset": 2014,
3681// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00003682// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00003683// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003684// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003685// CHECK-NEXT: "type": {
3686// CHECK-NEXT: "qualType": "char [4]"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003687// CHECK-NEXT: },
3688// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003689// CHECK-NEXT: "value": "\"key\""
3690// CHECK-NEXT: }
3691// CHECK-NEXT: ]
3692// CHECK-NEXT: }
3693// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003694// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003695// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003696// CHECK-NEXT: "id": "0x{{.*}}",
3697// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003698// CHECK-NEXT: "range": {
3699// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003700// CHECK-NEXT: "offset": 2023,
3701// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003702// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003703// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003704// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003705// CHECK-NEXT: "offset": 2030,
3706// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003707// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003708// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003709// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003710// CHECK-NEXT: "type": {
3711// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003712// CHECK-NEXT: },
3713// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003714// CHECK-NEXT: "inner": [
3715// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003716// CHECK-NEXT: "id": "0x{{.*}}",
3717// CHECK-NEXT: "kind": "CStyleCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003718// CHECK-NEXT: "range": {
3719// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003720// CHECK-NEXT: "offset": 2023,
3721// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003722// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003723// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003724// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003725// CHECK-NEXT: "offset": 2030,
3726// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003727// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003728// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003729// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003730// CHECK-NEXT: "type": {
3731// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003732// CHECK-NEXT: },
3733// CHECK-NEXT: "valueCategory": "rvalue",
3734// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003735// CHECK-NEXT: "inner": [
3736// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003737// CHECK-NEXT: "id": "0x{{.*}}",
3738// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003739// CHECK-NEXT: "range": {
3740// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003741// CHECK-NEXT: "offset": 2030,
3742// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003743// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003744// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003745// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003746// CHECK-NEXT: "offset": 2030,
3747// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003748// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003749// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003750// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003751// CHECK-NEXT: "type": {
3752// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003753// CHECK-NEXT: },
3754// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003755// CHECK-NEXT: "value": "0"
3756// CHECK-NEXT: }
3757// CHECK-NEXT: ]
3758// CHECK-NEXT: }
3759// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003760// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003761// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003762// CHECK-NEXT: "id": "0x{{.*}}",
3763// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003764// CHECK-NEXT: "range": {
3765// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003766// CHECK-NEXT: "offset": 2023,
3767// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003768// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003769// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003770// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003771// CHECK-NEXT: "offset": 2030,
3772// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003773// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003774// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003775// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003776// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003777// CHECK-NEXT: "desugaredQualType": "id",
3778// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00003779// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003780// CHECK-NEXT: },
3781// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003782// CHECK-NEXT: "inner": [
3783// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003784// CHECK-NEXT: "id": "0x{{.*}}",
3785// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003786// CHECK-NEXT: "range": {
3787// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003788// CHECK-NEXT: "offset": 2023,
3789// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003790// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003791// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003792// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003793// CHECK-NEXT: "offset": 2030,
3794// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003795// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003796// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003797// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003798// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003799// CHECK-NEXT: "desugaredQualType": "id",
3800// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00003801// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003802// CHECK-NEXT: },
3803// CHECK-NEXT: "valueCategory": "rvalue",
3804// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003805// CHECK-NEXT: "inner": [
3806// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003807// CHECK-NEXT: "id": "0x{{.*}}",
3808// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003809// CHECK-NEXT: "range": {
3810// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003811// CHECK-NEXT: "offset": 2023,
3812// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003813// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003814// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003815// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003816// CHECK-NEXT: "offset": 2030,
3817// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003818// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003819// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003820// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003821// CHECK-NEXT: "type": {
3822// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003823// CHECK-NEXT: },
3824// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003825// CHECK-NEXT: "inner": [
3826// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003827// CHECK-NEXT: "id": "0x{{.*}}",
3828// CHECK-NEXT: "kind": "CStyleCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003829// CHECK-NEXT: "range": {
3830// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003831// CHECK-NEXT: "offset": 2023,
3832// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003833// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003834// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003835// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003836// CHECK-NEXT: "offset": 2030,
3837// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003838// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003839// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003840// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003841// CHECK-NEXT: "type": {
3842// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003843// CHECK-NEXT: },
3844// CHECK-NEXT: "valueCategory": "rvalue",
3845// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003846// CHECK-NEXT: "inner": [
3847// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003848// CHECK-NEXT: "id": "0x{{.*}}",
3849// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003850// CHECK-NEXT: "range": {
3851// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003852// CHECK-NEXT: "offset": 2030,
3853// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003854// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003855// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003856// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003857// CHECK-NEXT: "offset": 2030,
3858// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003859// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003860// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003861// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003862// CHECK-NEXT: "type": {
3863// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003864// CHECK-NEXT: },
3865// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003866// CHECK-NEXT: "value": "0"
3867// CHECK-NEXT: }
3868// CHECK-NEXT: ]
3869// CHECK-NEXT: }
3870// CHECK-NEXT: ]
3871// CHECK-NEXT: }
3872// CHECK-NEXT: ]
3873// CHECK-NEXT: }
3874// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003875// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003876// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003877// CHECK-NEXT: "id": "0x{{.*}}",
3878// CHECK-NEXT: "kind": "ObjCMessageExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003879// CHECK-NEXT: "range": {
3880// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003881// CHECK-NEXT: "offset": 2008,
3882// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003883// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003884// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003885// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003886// CHECK-NEXT: "offset": 2008,
3887// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003888// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003889// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003890// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003891// CHECK-NEXT: "type": {
3892// CHECK-NEXT: "qualType": "void"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003893// CHECK-NEXT: },
3894// CHECK-NEXT: "valueCategory": "rvalue",
3895// CHECK-NEXT: "selector": "setObject:forKeyedSubscript:",
3896// CHECK-NEXT: "receiverKind": "instance",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003897// CHECK-NEXT: "inner": [
3898// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003899// CHECK-NEXT: "id": "0x{{.*}}",
3900// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003901// CHECK-NEXT: "range": {
3902// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003903// CHECK-NEXT: "offset": 2008,
3904// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003905// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003906// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003907// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003908// CHECK-NEXT: "offset": 2008,
3909// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003910// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003911// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003912// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003913// CHECK-NEXT: "type": {
3914// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003915// CHECK-NEXT: },
3916// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003917// CHECK-NEXT: "inner": [
3918// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003919// CHECK-NEXT: "id": "0x{{.*}}",
3920// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003921// CHECK-NEXT: "range": {
3922// CHECK-NEXT: "begin": {
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 Ballman27c7a9b2019-10-15 17:30:19 +00003926// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003927// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003928// CHECK-NEXT: "offset": 2008,
3929// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003930// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003931// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003932// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003933// CHECK-NEXT: "type": {
3934// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003935// CHECK-NEXT: },
3936// CHECK-NEXT: "valueCategory": "rvalue",
3937// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003938// CHECK-NEXT: "inner": [
3939// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003940// CHECK-NEXT: "id": "0x{{.*}}",
3941// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003942// CHECK-NEXT: "range": {
3943// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003944// CHECK-NEXT: "offset": 2008,
3945// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003946// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003947// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003948// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003949// CHECK-NEXT: "offset": 2008,
3950// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00003951// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00003952// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003953// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003954// CHECK-NEXT: "type": {
3955// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003956// CHECK-NEXT: },
3957// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003958// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003959// CHECK-NEXT: "id": "0x{{.*}}",
3960// CHECK-NEXT: "kind": "ParmVarDecl",
3961// CHECK-NEXT: "name": "Dict",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003962// CHECK-NEXT: "type": {
3963// CHECK-NEXT: "qualType": "NSMutableDictionary *"
3964// CHECK-NEXT: }
3965// CHECK-NEXT: }
3966// CHECK-NEXT: }
3967// CHECK-NEXT: ]
3968// CHECK-NEXT: }
3969// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003970// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003971// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003972// CHECK-NEXT: "id": "0x{{.*}}",
3973// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003974// CHECK-NEXT: "range": {
3975// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003976// CHECK-NEXT: "offset": 2023,
3977// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00003978// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003979// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003980// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003981// CHECK-NEXT: "offset": 2030,
3982// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00003983// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00003984// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003985// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00003986// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003987// CHECK-NEXT: "desugaredQualType": "id",
3988// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00003989// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003990// CHECK-NEXT: },
3991// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003992// CHECK-NEXT: "inner": [
3993// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003994// CHECK-NEXT: "id": "0x{{.*}}",
3995// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00003996// CHECK-NEXT: "range": {
3997// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00003998// CHECK-NEXT: "offset": 2023,
3999// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004000// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004001// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004002// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004003// CHECK-NEXT: "offset": 2030,
4004// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00004005// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004006// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004007// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004008// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004009// CHECK-NEXT: "desugaredQualType": "id",
4010// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004011// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004012// CHECK-NEXT: },
4013// CHECK-NEXT: "valueCategory": "rvalue",
4014// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004015// CHECK-NEXT: "inner": [
4016// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004017// CHECK-NEXT: "id": "0x{{.*}}",
4018// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004019// CHECK-NEXT: "range": {
4020// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004021// CHECK-NEXT: "offset": 2023,
4022// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004023// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004024// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004025// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004026// CHECK-NEXT: "offset": 2030,
4027// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00004028// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004029// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004030// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004031// CHECK-NEXT: "type": {
4032// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004033// CHECK-NEXT: },
4034// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004035// CHECK-NEXT: "inner": [
4036// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004037// CHECK-NEXT: "id": "0x{{.*}}",
4038// CHECK-NEXT: "kind": "CStyleCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004039// CHECK-NEXT: "range": {
4040// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004041// CHECK-NEXT: "offset": 2023,
4042// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004043// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004044// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004045// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004046// CHECK-NEXT: "offset": 2030,
4047// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00004048// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004049// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004050// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004051// CHECK-NEXT: "type": {
4052// CHECK-NEXT: "qualType": "void *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004053// CHECK-NEXT: },
4054// CHECK-NEXT: "valueCategory": "rvalue",
4055// CHECK-NEXT: "castKind": "NullToPointer",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004056// CHECK-NEXT: "inner": [
4057// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004058// CHECK-NEXT: "id": "0x{{.*}}",
4059// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004060// CHECK-NEXT: "range": {
4061// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004062// CHECK-NEXT: "offset": 2030,
4063// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00004064// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004065// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004066// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004067// CHECK-NEXT: "offset": 2030,
4068// CHECK-NEXT: "col": 24,
Aaron Ballmana612e342019-06-24 20:07:11 +00004069// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004070// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004071// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004072// CHECK-NEXT: "type": {
4073// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004074// CHECK-NEXT: },
4075// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004076// CHECK-NEXT: "value": "0"
4077// CHECK-NEXT: }
4078// CHECK-NEXT: ]
4079// CHECK-NEXT: }
4080// CHECK-NEXT: ]
4081// CHECK-NEXT: }
4082// CHECK-NEXT: ]
4083// CHECK-NEXT: }
4084// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004085// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004086// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004087// CHECK-NEXT: "id": "0x{{.*}}",
4088// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004089// CHECK-NEXT: "range": {
4090// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004091// CHECK-NEXT: "offset": 2013,
4092// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00004093// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004094// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004095// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004096// CHECK-NEXT: "offset": 2014,
4097// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00004098// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004099// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004100// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004101// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004102// CHECK-NEXT: "desugaredQualType": "id",
4103// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004104// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004105// CHECK-NEXT: },
4106// CHECK-NEXT: "valueCategory": "rvalue",
4107// CHECK-NEXT: "castKind": "BitCast",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004108// CHECK-NEXT: "inner": [
4109// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004110// CHECK-NEXT: "id": "0x{{.*}}",
4111// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004112// CHECK-NEXT: "range": {
4113// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004114// CHECK-NEXT: "offset": 2013,
4115// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00004116// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004117// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004118// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004119// CHECK-NEXT: "offset": 2014,
4120// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00004121// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004122// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004123// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004124// CHECK-NEXT: "type": {
4125// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004126// CHECK-NEXT: },
4127// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004128// CHECK-NEXT: "inner": [
4129// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004130// CHECK-NEXT: "id": "0x{{.*}}",
4131// CHECK-NEXT: "kind": "ObjCStringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004132// CHECK-NEXT: "range": {
4133// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004134// CHECK-NEXT: "offset": 2013,
4135// CHECK-NEXT: "col": 7,
Aaron Ballmana612e342019-06-24 20:07:11 +00004136// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004137// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004138// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004139// CHECK-NEXT: "offset": 2014,
4140// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00004141// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004142// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004143// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004144// CHECK-NEXT: "type": {
4145// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004146// CHECK-NEXT: },
4147// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004148// CHECK-NEXT: "inner": [
4149// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004150// CHECK-NEXT: "id": "0x{{.*}}",
4151// CHECK-NEXT: "kind": "StringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004152// CHECK-NEXT: "range": {
4153// CHECK-NEXT: "begin": {
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 Ballman27c7a9b2019-10-15 17:30:19 +00004157// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004158// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004159// CHECK-NEXT: "offset": 2014,
4160// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00004161// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004162// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004163// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004164// CHECK-NEXT: "type": {
4165// CHECK-NEXT: "qualType": "char [4]"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004166// CHECK-NEXT: },
4167// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004168// CHECK-NEXT: "value": "\"key\""
4169// CHECK-NEXT: }
4170// CHECK-NEXT: ]
4171// CHECK-NEXT: }
4172// CHECK-NEXT: ]
4173// CHECK-NEXT: }
4174// CHECK-NEXT: ]
4175// CHECK-NEXT: }
4176// CHECK-NEXT: ]
4177// CHECK-NEXT: }
4178// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004179// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004180// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004181// CHECK-NEXT: "id": "0x{{.*}}",
4182// CHECK-NEXT: "kind": "BinaryOperator",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004183// CHECK-NEXT: "range": {
4184// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004185// CHECK-NEXT: "offset": 2034,
4186// CHECK-NEXT: "line": 86,
4187// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00004188// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004189// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004190// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004191// CHECK-NEXT: "offset": 2049,
4192// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004193// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004194// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004195// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004196// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004197// CHECK-NEXT: "desugaredQualType": "id",
4198// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004199// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004200// CHECK-NEXT: },
4201// CHECK-NEXT: "valueCategory": "rvalue",
4202// CHECK-NEXT: "opcode": "=",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004203// CHECK-NEXT: "inner": [
4204// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004205// CHECK-NEXT: "id": "0x{{.*}}",
4206// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004207// CHECK-NEXT: "range": {
4208// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004209// CHECK-NEXT: "offset": 2034,
4210// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00004211// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004212// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004213// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004214// CHECK-NEXT: "offset": 2034,
4215// CHECK-NEXT: "col": 2,
Aaron Ballmana612e342019-06-24 20:07:11 +00004216// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004217// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004218// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004219// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004220// CHECK-NEXT: "desugaredQualType": "id",
4221// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004222// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004223// CHECK-NEXT: },
4224// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004225// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004226// CHECK-NEXT: "id": "0x{{.*}}",
4227// CHECK-NEXT: "kind": "VarDecl",
4228// CHECK-NEXT: "name": "i",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004229// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004230// CHECK-NEXT: "desugaredQualType": "id",
4231// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004232// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman75e23f82019-06-20 21:45:31 +00004233// CHECK-NEXT: }
4234// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004235// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004236// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004237// CHECK-NEXT: "id": "0x{{.*}}",
4238// CHECK-NEXT: "kind": "PseudoObjectExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004239// CHECK-NEXT: "range": {
4240// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004241// CHECK-NEXT: "offset": 2038,
4242// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004243// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004244// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004245// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004246// CHECK-NEXT: "offset": 2049,
4247// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004248// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004249// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004250// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004251// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004252// CHECK-NEXT: "desugaredQualType": "id",
4253// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004254// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004255// CHECK-NEXT: },
4256// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004257// CHECK-NEXT: "inner": [
4258// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004259// CHECK-NEXT: "id": "0x{{.*}}",
4260// CHECK-NEXT: "kind": "ObjCSubscriptRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004261// CHECK-NEXT: "range": {
4262// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004263// CHECK-NEXT: "offset": 2038,
4264// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004265// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004266// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004267// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004268// CHECK-NEXT: "offset": 2049,
4269// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004270// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004271// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004272// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004273// CHECK-NEXT: "type": {
4274// CHECK-NEXT: "qualType": "<pseudo-object type>"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004275// CHECK-NEXT: },
4276// CHECK-NEXT: "valueCategory": "lvalue",
4277// CHECK-NEXT: "subscriptKind": "dictionary",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004278// CHECK-NEXT: "inner": [
4279// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004280// CHECK-NEXT: "id": "0x{{.*}}",
4281// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004282// CHECK-NEXT: "range": {
4283// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004284// CHECK-NEXT: "offset": 2038,
4285// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004286// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004287// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004288// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004289// CHECK-NEXT: "offset": 2038,
4290// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004291// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004292// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004293// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004294// CHECK-NEXT: "type": {
4295// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004296// CHECK-NEXT: },
4297// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004298// CHECK-NEXT: "inner": [
4299// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004300// CHECK-NEXT: "id": "0x{{.*}}",
4301// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004302// CHECK-NEXT: "range": {
4303// CHECK-NEXT: "begin": {
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 Ballman27c7a9b2019-10-15 17:30:19 +00004307// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004308// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004309// CHECK-NEXT: "offset": 2038,
4310// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004311// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004312// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004313// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004314// CHECK-NEXT: "type": {
4315// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004316// CHECK-NEXT: },
4317// CHECK-NEXT: "valueCategory": "rvalue",
4318// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004319// CHECK-NEXT: "inner": [
4320// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004321// CHECK-NEXT: "id": "0x{{.*}}",
4322// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004323// CHECK-NEXT: "range": {
4324// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004325// CHECK-NEXT: "offset": 2038,
4326// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004327// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004328// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004329// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004330// CHECK-NEXT: "offset": 2038,
4331// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004332// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004333// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004334// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004335// CHECK-NEXT: "type": {
4336// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004337// CHECK-NEXT: },
4338// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004339// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004340// CHECK-NEXT: "id": "0x{{.*}}",
4341// CHECK-NEXT: "kind": "ParmVarDecl",
4342// CHECK-NEXT: "name": "Dict",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004343// CHECK-NEXT: "type": {
4344// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4345// CHECK-NEXT: }
4346// CHECK-NEXT: }
4347// CHECK-NEXT: }
4348// CHECK-NEXT: ]
4349// CHECK-NEXT: }
4350// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004351// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004352// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004353// CHECK-NEXT: "id": "0x{{.*}}",
4354// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004355// CHECK-NEXT: "range": {
4356// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004357// CHECK-NEXT: "offset": 2043,
4358// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004359// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004360// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004361// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004362// CHECK-NEXT: "offset": 2044,
4363// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004364// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004365// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004366// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004367// CHECK-NEXT: "type": {
4368// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004369// CHECK-NEXT: },
4370// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004371// CHECK-NEXT: "inner": [
4372// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004373// CHECK-NEXT: "id": "0x{{.*}}",
4374// CHECK-NEXT: "kind": "ObjCStringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004375// CHECK-NEXT: "range": {
4376// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004377// CHECK-NEXT: "offset": 2043,
4378// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004379// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004380// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004381// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004382// CHECK-NEXT: "offset": 2044,
4383// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004384// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004385// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004386// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004387// CHECK-NEXT: "type": {
4388// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004389// CHECK-NEXT: },
4390// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004391// CHECK-NEXT: "inner": [
4392// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004393// CHECK-NEXT: "id": "0x{{.*}}",
4394// CHECK-NEXT: "kind": "StringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004395// CHECK-NEXT: "range": {
4396// CHECK-NEXT: "begin": {
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 Ballman27c7a9b2019-10-15 17:30:19 +00004400// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004401// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004402// CHECK-NEXT: "offset": 2044,
4403// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004404// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004405// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004406// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004407// CHECK-NEXT: "type": {
4408// CHECK-NEXT: "qualType": "char [4]"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004409// CHECK-NEXT: },
4410// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004411// CHECK-NEXT: "value": "\"key\""
4412// CHECK-NEXT: }
4413// CHECK-NEXT: ]
4414// CHECK-NEXT: }
4415// CHECK-NEXT: ]
4416// CHECK-NEXT: }
4417// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004418// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004419// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004420// CHECK-NEXT: "id": "0x{{.*}}",
4421// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004422// CHECK-NEXT: "range": {
4423// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004424// CHECK-NEXT: "offset": 2038,
4425// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004426// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004427// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004428// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004429// CHECK-NEXT: "offset": 2038,
4430// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004431// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004432// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004433// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004434// CHECK-NEXT: "type": {
4435// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004436// CHECK-NEXT: },
4437// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004438// CHECK-NEXT: "inner": [
4439// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004440// CHECK-NEXT: "id": "0x{{.*}}",
4441// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004442// CHECK-NEXT: "range": {
4443// CHECK-NEXT: "begin": {
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 Ballman27c7a9b2019-10-15 17:30:19 +00004447// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004448// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004449// CHECK-NEXT: "offset": 2038,
4450// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004451// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004452// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004453// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004454// CHECK-NEXT: "type": {
4455// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004456// CHECK-NEXT: },
4457// CHECK-NEXT: "valueCategory": "rvalue",
4458// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004459// CHECK-NEXT: "inner": [
4460// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004461// CHECK-NEXT: "id": "0x{{.*}}",
4462// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004463// CHECK-NEXT: "range": {
4464// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004465// CHECK-NEXT: "offset": 2038,
4466// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004467// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004468// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004469// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004470// CHECK-NEXT: "offset": 2038,
4471// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004472// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004473// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004474// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004475// CHECK-NEXT: "type": {
4476// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004477// CHECK-NEXT: },
4478// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004479// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004480// CHECK-NEXT: "id": "0x{{.*}}",
4481// CHECK-NEXT: "kind": "ParmVarDecl",
4482// CHECK-NEXT: "name": "Dict",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004483// CHECK-NEXT: "type": {
4484// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4485// CHECK-NEXT: }
4486// CHECK-NEXT: }
4487// CHECK-NEXT: }
4488// CHECK-NEXT: ]
4489// CHECK-NEXT: }
4490// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004491// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004492// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004493// CHECK-NEXT: "id": "0x{{.*}}",
4494// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004495// CHECK-NEXT: "range": {
4496// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004497// CHECK-NEXT: "offset": 2043,
4498// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004499// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004500// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004501// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004502// CHECK-NEXT: "offset": 2044,
4503// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004504// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004505// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004506// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004507// CHECK-NEXT: "type": {
4508// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004509// CHECK-NEXT: },
4510// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004511// CHECK-NEXT: "inner": [
4512// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004513// CHECK-NEXT: "id": "0x{{.*}}",
4514// CHECK-NEXT: "kind": "ObjCStringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004515// CHECK-NEXT: "range": {
4516// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004517// CHECK-NEXT: "offset": 2043,
4518// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004519// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004520// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004521// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004522// CHECK-NEXT: "offset": 2044,
4523// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004524// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004525// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004526// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004527// CHECK-NEXT: "type": {
4528// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004529// CHECK-NEXT: },
4530// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004531// CHECK-NEXT: "inner": [
4532// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004533// CHECK-NEXT: "id": "0x{{.*}}",
4534// CHECK-NEXT: "kind": "StringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004535// CHECK-NEXT: "range": {
4536// CHECK-NEXT: "begin": {
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 Ballman27c7a9b2019-10-15 17:30:19 +00004540// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004541// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004542// CHECK-NEXT: "offset": 2044,
4543// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004544// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004545// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004546// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004547// CHECK-NEXT: "type": {
4548// CHECK-NEXT: "qualType": "char [4]"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004549// CHECK-NEXT: },
4550// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004551// CHECK-NEXT: "value": "\"key\""
4552// CHECK-NEXT: }
4553// CHECK-NEXT: ]
4554// CHECK-NEXT: }
4555// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004556// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004557// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004558// CHECK-NEXT: "id": "0x{{.*}}",
4559// CHECK-NEXT: "kind": "ObjCMessageExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004560// CHECK-NEXT: "range": {
4561// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004562// CHECK-NEXT: "offset": 2038,
4563// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004564// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004565// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004566// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004567// CHECK-NEXT: "offset": 2038,
4568// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004569// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004570// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004571// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004572// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004573// CHECK-NEXT: "desugaredQualType": "id",
4574// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004575// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004576// CHECK-NEXT: },
4577// CHECK-NEXT: "valueCategory": "rvalue",
4578// CHECK-NEXT: "selector": "objectForKeyedSubscript:",
4579// CHECK-NEXT: "receiverKind": "instance",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004580// CHECK-NEXT: "inner": [
4581// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004582// CHECK-NEXT: "id": "0x{{.*}}",
4583// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004584// CHECK-NEXT: "range": {
4585// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004586// CHECK-NEXT: "offset": 2038,
4587// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004588// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004589// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004590// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004591// CHECK-NEXT: "offset": 2038,
4592// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004593// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004594// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004595// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004596// CHECK-NEXT: "type": {
4597// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004598// CHECK-NEXT: },
4599// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004600// CHECK-NEXT: "inner": [
4601// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004602// CHECK-NEXT: "id": "0x{{.*}}",
4603// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004604// CHECK-NEXT: "range": {
4605// CHECK-NEXT: "begin": {
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 Ballman27c7a9b2019-10-15 17:30:19 +00004609// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004610// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004611// CHECK-NEXT: "offset": 2038,
4612// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004613// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004614// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004615// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004616// CHECK-NEXT: "type": {
4617// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004618// CHECK-NEXT: },
4619// CHECK-NEXT: "valueCategory": "rvalue",
4620// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004621// CHECK-NEXT: "inner": [
4622// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004623// CHECK-NEXT: "id": "0x{{.*}}",
4624// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004625// CHECK-NEXT: "range": {
4626// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004627// CHECK-NEXT: "offset": 2038,
4628// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004629// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004630// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004631// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004632// CHECK-NEXT: "offset": 2038,
4633// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004634// CHECK-NEXT: "tokLen": 4
Aaron Ballman75e23f82019-06-20 21:45:31 +00004635// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004636// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004637// CHECK-NEXT: "type": {
4638// CHECK-NEXT: "qualType": "NSMutableDictionary *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004639// CHECK-NEXT: },
4640// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004641// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004642// CHECK-NEXT: "id": "0x{{.*}}",
4643// CHECK-NEXT: "kind": "ParmVarDecl",
4644// CHECK-NEXT: "name": "Dict",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004645// CHECK-NEXT: "type": {
4646// CHECK-NEXT: "qualType": "NSMutableDictionary *"
4647// CHECK-NEXT: }
4648// CHECK-NEXT: }
4649// CHECK-NEXT: }
4650// CHECK-NEXT: ]
4651// CHECK-NEXT: }
4652// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004653// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004654// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004655// CHECK-NEXT: "id": "0x{{.*}}",
4656// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004657// CHECK-NEXT: "range": {
4658// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004659// CHECK-NEXT: "offset": 2043,
4660// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004661// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004662// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004663// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004664// CHECK-NEXT: "offset": 2044,
4665// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004666// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004667// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004668// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004669// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004670// CHECK-NEXT: "desugaredQualType": "id",
4671// CHECK-NEXT: "qualType": "id",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00004672// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004673// CHECK-NEXT: },
4674// CHECK-NEXT: "valueCategory": "rvalue",
4675// CHECK-NEXT: "castKind": "BitCast",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004676// CHECK-NEXT: "inner": [
4677// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004678// CHECK-NEXT: "id": "0x{{.*}}",
4679// CHECK-NEXT: "kind": "OpaqueValueExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004680// CHECK-NEXT: "range": {
4681// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004682// CHECK-NEXT: "offset": 2043,
4683// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004684// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004685// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004686// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004687// CHECK-NEXT: "offset": 2044,
4688// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004689// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004690// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004691// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004692// CHECK-NEXT: "type": {
4693// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004694// CHECK-NEXT: },
4695// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004696// CHECK-NEXT: "inner": [
4697// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004698// CHECK-NEXT: "id": "0x{{.*}}",
4699// CHECK-NEXT: "kind": "ObjCStringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004700// CHECK-NEXT: "range": {
4701// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004702// CHECK-NEXT: "offset": 2043,
4703// CHECK-NEXT: "col": 11,
Aaron Ballmana612e342019-06-24 20:07:11 +00004704// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004705// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004706// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004707// CHECK-NEXT: "offset": 2044,
4708// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004709// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004710// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004711// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004712// CHECK-NEXT: "type": {
4713// CHECK-NEXT: "qualType": "NSString *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004714// CHECK-NEXT: },
4715// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004716// CHECK-NEXT: "inner": [
4717// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004718// CHECK-NEXT: "id": "0x{{.*}}",
4719// CHECK-NEXT: "kind": "StringLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004720// CHECK-NEXT: "range": {
4721// CHECK-NEXT: "begin": {
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 Ballman27c7a9b2019-10-15 17:30:19 +00004725// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004726// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004727// CHECK-NEXT: "offset": 2044,
4728// CHECK-NEXT: "col": 12,
Aaron Ballmana612e342019-06-24 20:07:11 +00004729// CHECK-NEXT: "tokLen": 5
Aaron Ballman75e23f82019-06-20 21:45:31 +00004730// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004731// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004732// CHECK-NEXT: "type": {
4733// CHECK-NEXT: "qualType": "char [4]"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004734// CHECK-NEXT: },
4735// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004736// CHECK-NEXT: "value": "\"key\""
4737// CHECK-NEXT: }
4738// CHECK-NEXT: ]
4739// CHECK-NEXT: }
4740// CHECK-NEXT: ]
4741// CHECK-NEXT: }
4742// CHECK-NEXT: ]
4743// CHECK-NEXT: }
4744// CHECK-NEXT: ]
4745// CHECK-NEXT: }
4746// CHECK-NEXT: ]
4747// CHECK-NEXT: }
4748// CHECK-NEXT: ]
4749// CHECK-NEXT: }
4750// CHECK-NEXT: ]
4751// CHECK-NEXT: }
4752// CHECK-NEXT: ]
4753// CHECK-NEXT: }
4754
4755
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004756// CHECK: "kind": "FunctionDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004757// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004758// CHECK-NEXT: "offset": 2060,
4759// CHECK-NEXT: "file": "{{.*}}",
4760// CHECK-NEXT: "line": 89,
4761// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004762// CHECK-NEXT: "tokLen": 15
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004763// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004764// CHECK-NEXT: "range": {
4765// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004766// CHECK-NEXT: "offset": 2055,
4767// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004768// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004769// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004770// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004771// CHECK-NEXT: "offset": 2105,
4772// CHECK-NEXT: "line": 91,
4773// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004774// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004775// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004776// CHECK-NEXT: },
4777// CHECK-NEXT: "name": "TestObjCIVarRef",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004778// CHECK-NEXT: "type": {
4779// CHECK-NEXT: "qualType": "void (I *)"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004780// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004781// CHECK-NEXT: "inner": [
4782// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004783// CHECK-NEXT: "id": "0x{{.*}}",
4784// CHECK-NEXT: "kind": "ParmVarDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004785// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004786// CHECK-NEXT: "offset": 2079,
4787// CHECK-NEXT: "line": 89,
4788// CHECK-NEXT: "col": 25,
Aaron Ballmana612e342019-06-24 20:07:11 +00004789// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004790// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004791// CHECK-NEXT: "range": {
4792// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004793// CHECK-NEXT: "offset": 2076,
4794// CHECK-NEXT: "col": 22,
Aaron Ballmana612e342019-06-24 20:07:11 +00004795// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004796// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004797// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004798// CHECK-NEXT: "offset": 2079,
4799// CHECK-NEXT: "col": 25,
Aaron Ballmana612e342019-06-24 20:07:11 +00004800// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004801// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004802// CHECK-NEXT: },
4803// CHECK-NEXT: "isUsed": true,
4804// CHECK-NEXT: "name": "Ptr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004805// CHECK-NEXT: "type": {
4806// CHECK-NEXT: "qualType": "I *"
4807// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004808// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004809// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004810// CHECK-NEXT: "id": "0x{{.*}}",
4811// CHECK-NEXT: "kind": "CompoundStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004812// CHECK-NEXT: "range": {
4813// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004814// CHECK-NEXT: "offset": 2084,
4815// CHECK-NEXT: "col": 30,
Aaron Ballmana612e342019-06-24 20:07:11 +00004816// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004817// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004818// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004819// CHECK-NEXT: "offset": 2105,
4820// CHECK-NEXT: "line": 91,
4821// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004822// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004823// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004824// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004825// CHECK-NEXT: "inner": [
4826// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004827// CHECK-NEXT: "id": "0x{{.*}}",
4828// CHECK-NEXT: "kind": "BinaryOperator",
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": 2088,
4832// CHECK-NEXT: "line": 90,
4833// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004834// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004835// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004836// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004837// CHECK-NEXT: "offset": 2102,
4838// CHECK-NEXT: "col": 17,
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: "type": {
4843// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004844// CHECK-NEXT: },
4845// CHECK-NEXT: "valueCategory": "rvalue",
4846// CHECK-NEXT: "opcode": "=",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004847// CHECK-NEXT: "inner": [
4848// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004849// CHECK-NEXT: "id": "0x{{.*}}",
4850// CHECK-NEXT: "kind": "ObjCIvarRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004851// CHECK-NEXT: "range": {
4852// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004853// CHECK-NEXT: "offset": 2088,
4854// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004855// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004856// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004857// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004858// CHECK-NEXT: "offset": 2093,
4859// CHECK-NEXT: "col": 8,
Aaron Ballmana612e342019-06-24 20:07:11 +00004860// CHECK-NEXT: "tokLen": 6
Aaron Ballman75e23f82019-06-20 21:45:31 +00004861// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004862// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004863// CHECK-NEXT: "type": {
4864// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004865// CHECK-NEXT: },
4866// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004867// CHECK-NEXT: "decl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004868// CHECK-NEXT: "id": "0x{{.*}}",
4869// CHECK-NEXT: "kind": "ObjCIvarDecl",
4870// CHECK-NEXT: "name": "public",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004871// CHECK-NEXT: "type": {
4872// CHECK-NEXT: "qualType": "int"
4873// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004874// CHECK-NEXT: },
4875// CHECK-NEXT: "isArrow": true,
Aaron Ballman75e23f82019-06-20 21:45:31 +00004876// CHECK-NEXT: "inner": [
4877// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004878// CHECK-NEXT: "id": "0x{{.*}}",
4879// CHECK-NEXT: "kind": "ImplicitCastExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004880// CHECK-NEXT: "range": {
4881// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004882// CHECK-NEXT: "offset": 2088,
4883// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004884// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004885// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004886// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004887// CHECK-NEXT: "offset": 2088,
4888// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004889// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004890// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004891// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004892// CHECK-NEXT: "type": {
4893// CHECK-NEXT: "qualType": "I *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004894// CHECK-NEXT: },
4895// CHECK-NEXT: "valueCategory": "rvalue",
4896// CHECK-NEXT: "castKind": "LValueToRValue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004897// CHECK-NEXT: "inner": [
4898// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004899// CHECK-NEXT: "id": "0x{{.*}}",
4900// CHECK-NEXT: "kind": "DeclRefExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004901// CHECK-NEXT: "range": {
4902// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004903// CHECK-NEXT: "offset": 2088,
4904// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004905// CHECK-NEXT: "tokLen": 3
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004906// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004907// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004908// CHECK-NEXT: "offset": 2088,
4909// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00004910// CHECK-NEXT: "tokLen": 3
Aaron Ballman75e23f82019-06-20 21:45:31 +00004911// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004912// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004913// CHECK-NEXT: "type": {
4914// CHECK-NEXT: "qualType": "I *"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004915// CHECK-NEXT: },
4916// CHECK-NEXT: "valueCategory": "lvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004917// CHECK-NEXT: "referencedDecl": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004918// CHECK-NEXT: "id": "0x{{.*}}",
4919// CHECK-NEXT: "kind": "ParmVarDecl",
4920// CHECK-NEXT: "name": "Ptr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004921// CHECK-NEXT: "type": {
4922// CHECK-NEXT: "qualType": "I *"
4923// CHECK-NEXT: }
4924// CHECK-NEXT: }
4925// CHECK-NEXT: }
4926// CHECK-NEXT: ]
4927// CHECK-NEXT: }
4928// CHECK-NEXT: ]
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004929// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004930// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004931// CHECK-NEXT: "id": "0x{{.*}}",
4932// CHECK-NEXT: "kind": "IntegerLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004933// CHECK-NEXT: "range": {
4934// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004935// CHECK-NEXT: "offset": 2102,
4936// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004937// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004938// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004939// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004940// CHECK-NEXT: "offset": 2102,
4941// CHECK-NEXT: "col": 17,
Aaron Ballmana612e342019-06-24 20:07:11 +00004942// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004943// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004944// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004945// CHECK-NEXT: "type": {
4946// CHECK-NEXT: "qualType": "int"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004947// CHECK-NEXT: },
4948// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004949// CHECK-NEXT: "value": "0"
4950// CHECK-NEXT: }
4951// CHECK-NEXT: ]
4952// CHECK-NEXT: }
4953// CHECK-NEXT: ]
4954// CHECK-NEXT: }
4955// CHECK-NEXT: ]
4956// CHECK-NEXT: }
4957
4958
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004959// CHECK: "kind": "FunctionDecl",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004960// CHECK-NEXT: "loc": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004961// CHECK-NEXT: "offset": 2113,
4962// CHECK-NEXT: "file": "{{.*}}",
4963// CHECK-NEXT: "line": 93,
4964// CHECK-NEXT: "col": 6,
Aaron Ballmana612e342019-06-24 20:07:11 +00004965// CHECK-NEXT: "tokLen": 19
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004966// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004967// CHECK-NEXT: "range": {
4968// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004969// CHECK-NEXT: "offset": 2108,
4970// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004971// CHECK-NEXT: "tokLen": 4
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004972// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004973// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004974// CHECK-NEXT: "offset": 2164,
4975// CHECK-NEXT: "line": 96,
4976// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004977// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00004978// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004979// CHECK-NEXT: },
4980// CHECK-NEXT: "name": "TestObjCBoolLiteral",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004981// CHECK-NEXT: "type": {
4982// CHECK-NEXT: "qualType": "void ()"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004983// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004984// CHECK-NEXT: "inner": [
4985// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004986// CHECK-NEXT: "id": "0x{{.*}}",
4987// CHECK-NEXT: "kind": "CompoundStmt",
Aaron Ballman75e23f82019-06-20 21:45:31 +00004988// CHECK-NEXT: "range": {
4989// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004990// CHECK-NEXT: "offset": 2135,
4991// CHECK-NEXT: "line": 93,
4992// CHECK-NEXT: "col": 28,
Aaron Ballmana612e342019-06-24 20:07:11 +00004993// CHECK-NEXT: "tokLen": 1
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004994// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00004995// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00004996// CHECK-NEXT: "offset": 2164,
4997// CHECK-NEXT: "line": 96,
4998// CHECK-NEXT: "col": 1,
Aaron Ballmana612e342019-06-24 20:07:11 +00004999// CHECK-NEXT: "tokLen": 1
Aaron Ballman75e23f82019-06-20 21:45:31 +00005000// CHECK-NEXT: }
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": "ObjCBoolLiteralExpr",
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": 2139,
5009// CHECK-NEXT: "line": 94,
5010// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00005011// CHECK-NEXT: "tokLen": 10
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": 2139,
5015// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00005016// CHECK-NEXT: "tokLen": 10
Aaron Ballman75e23f82019-06-20 21:45:31 +00005017// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005018// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00005019// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005020// CHECK-NEXT: "desugaredQualType": "signed char",
5021// CHECK-NEXT: "qualType": "BOOL",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00005022// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005023// CHECK-NEXT: },
5024// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00005025// CHECK-NEXT: "value": "__objc_yes"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005026// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00005027// CHECK-NEXT: {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005028// CHECK-NEXT: "id": "0x{{.*}}",
5029// CHECK-NEXT: "kind": "ObjCBoolLiteralExpr",
Aaron Ballman75e23f82019-06-20 21:45:31 +00005030// CHECK-NEXT: "range": {
5031// CHECK-NEXT: "begin": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005032// CHECK-NEXT: "offset": 2153,
5033// CHECK-NEXT: "line": 95,
5034// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00005035// CHECK-NEXT: "tokLen": 9
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005036// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00005037// CHECK-NEXT: "end": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005038// CHECK-NEXT: "offset": 2153,
5039// CHECK-NEXT: "col": 3,
Aaron Ballmana612e342019-06-24 20:07:11 +00005040// CHECK-NEXT: "tokLen": 9
Aaron Ballman75e23f82019-06-20 21:45:31 +00005041// CHECK-NEXT: }
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005042// CHECK-NEXT: },
Aaron Ballman75e23f82019-06-20 21:45:31 +00005043// CHECK-NEXT: "type": {
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005044// CHECK-NEXT: "desugaredQualType": "signed char",
5045// CHECK-NEXT: "qualType": "BOOL",
Aaron Ballmand5e206e2019-07-30 13:42:19 +00005046// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"
Aaron Ballman27c7a9b2019-10-15 17:30:19 +00005047// CHECK-NEXT: },
5048// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballman75e23f82019-06-20 21:45:31 +00005049// CHECK-NEXT: "value": "__objc_no"
5050// CHECK-NEXT: }
5051// CHECK-NEXT: ]
5052// CHECK-NEXT: }
5053// CHECK-NEXT: ]
5054// CHECK-NEXT: }