blob: 3a8e745e50f3e9645f399048779dfbb06e2c3409 [file] [log] [blame]
Aaron Ballman80d5d162019-05-27 14:12:48 +00001// RUN: %clang_cc1 -triple x86_64-unknown-unknown -Wno-unused-value -fcxx-exceptions -std=gnu++17 -ast-dump=json -ast-dump-filter Test %s | FileCheck %s
2
3namespace std {
4using size_t = decltype(sizeof(0));
5
6class type_info {
7public:
8 virtual ~type_info();
9 bool operator==(const type_info& rhs) const noexcept;
10 bool operator!=(const type_info& rhs) const noexcept;
11 type_info(const type_info& rhs) = delete; // cannot be copied
12 type_info& operator=(const type_info& rhs) = delete; // cannot be copied
13};
14
15class bad_typeid {
16public:
17 bad_typeid() noexcept;
18 bad_typeid(const bad_typeid&) noexcept;
19 virtual ~bad_typeid();
20 bad_typeid& operator=(const bad_typeid&) noexcept;
21 const char* what() const noexcept;
22};
23} // namespace std
24void *operator new(std::size_t, void *ptr);
25
26struct S {
27 virtual ~S() = default;
28
29 void func(int);
30 template <typename Ty>
31 Ty foo();
32
33 int i;
34};
35
36struct T : S {};
37
38template <typename>
39struct U {};
40
41void TestThrow() {
42 throw 12;
43 throw;
44}
45
46void TestPointerToMember(S obj1, S *obj2, int S::* data, void (S::*call)(int)) {
47 obj1.*data;
48 obj2->*data;
49 (obj1.*call)(12);
50 (obj2->*call)(12);
51}
52
53void TestCasting(const S *s) {
54 const_cast<S *>(s);
55 static_cast<const T *>(s);
56 dynamic_cast<const T *>(s);
57 reinterpret_cast<const int *>(s);
58}
59
60template <typename... Ts>
61void TestUnaryExpressions(int *p) {
62 sizeof...(Ts);
63 noexcept(p - p);
64
65 ::new int;
66 new (int);
67 new int{12};
68 new int[2];
69 new int[2]{1, 2};
70 new (p) int;
71 new (p) int{12};
72
73 ::delete p;
74 delete [] p;
75}
76
77void TestPostfixExpressions(S a, S *p, U<int> *r) {
78 a.func(0);
79 p->func(0);
80 p->template foo<int>();
81 a.template foo<float>();
82 p->~S();
83 a.~S();
84 a.~decltype(a)();
85 p->::S::~S();
86 r->template U<int>::~U();
87 typeid(a);
88 typeid(S);
89 typeid(const volatile S);
90}
91
92template <typename... Ts>
93void TestPrimaryExpressions(Ts... a) {
94 struct V {
95 void f() {
96 this;
97
98 [this]{};
99 [*this]{};
100 }
101 };
102
103 int b, c;
104
105 [](){};
106 [](int a, ...){};
107 [a...]{};
108 [=]{};
109 [=] { return b; };
110 [&]{};
111 [&] { return c; };
112 [b, &c]{ return b + c; };
113 [a..., x = 12]{};
114 []() constexpr {};
115 []() mutable {};
116 []() noexcept {};
117 []() -> int { return 0; };
118
119 (a + ...);
120 (... + a);
121 (a + ... + b);
122}
123
124namespace NS {
125struct X {};
126void f(X);
127void y(...);
128} // namespace NS
129
130void TestADLCall() {
131 NS::X x;
132 f(x);
133 y(x);
134}
135
136void TestNonADLCall() {
137 NS::X x;
138 NS::f(x);
139}
140
141void TestNonADLCall2() {
142 NS::X x;
143 using NS::f;
144 f(x);
145 y(x);
146}
147
148namespace test_adl_call_three {
149using namespace NS;
150void TestNonADLCall3() {
151 X x;
152 f(x);
153}
154} // namespace test_adl_call_three
155
156
157// CHECK: "kind": "FunctionDecl",
158// CHECK-NEXT: "loc": {
159// CHECK-NEXT: "col": 6,
160// CHECK-NEXT: "file": "{{.*}}",
161// CHECK-NEXT: "line": 41
162// CHECK-NEXT: },
163// CHECK-NEXT: "range": {
164// CHECK-NEXT: "begin": {
165// CHECK-NEXT: "col": 1,
166// CHECK-NEXT: "file": "{{.*}}",
167// CHECK-NEXT: "line": 41
168// CHECK-NEXT: },
169// CHECK-NEXT: "end": {
170// CHECK-NEXT: "col": 1,
171// CHECK-NEXT: "file": "{{.*}}",
172// CHECK-NEXT: "line": 44
173// CHECK-NEXT: }
174// CHECK-NEXT: },
175// CHECK-NEXT: "name": "TestThrow",
176// CHECK-NEXT: "type": {
177// CHECK-NEXT: "qualType": "void ()"
178// CHECK-NEXT: },
179// CHECK-NEXT: "inner": [
180// CHECK-NEXT: {
181// CHECK-NEXT: "id": "0x{{.*}}",
182// CHECK-NEXT: "kind": "CompoundStmt",
183// CHECK-NEXT: "range": {
184// CHECK-NEXT: "begin": {
185// CHECK-NEXT: "col": 18,
186// CHECK-NEXT: "file": "{{.*}}",
187// CHECK-NEXT: "line": 41
188// CHECK-NEXT: },
189// CHECK-NEXT: "end": {
190// CHECK-NEXT: "col": 1,
191// CHECK-NEXT: "file": "{{.*}}",
192// CHECK-NEXT: "line": 44
193// CHECK-NEXT: }
194// CHECK-NEXT: },
195// CHECK-NEXT: "inner": [
196// CHECK-NEXT: {
197// CHECK-NEXT: "id": "0x{{.*}}",
198// CHECK-NEXT: "kind": "CXXThrowExpr",
199// CHECK-NEXT: "range": {
200// CHECK-NEXT: "begin": {
201// CHECK-NEXT: "col": 3,
202// CHECK-NEXT: "file": "{{.*}}",
203// CHECK-NEXT: "line": 42
204// CHECK-NEXT: },
205// CHECK-NEXT: "end": {
206// CHECK-NEXT: "col": 9,
207// CHECK-NEXT: "file": "{{.*}}",
208// CHECK-NEXT: "line": 42
209// CHECK-NEXT: }
210// CHECK-NEXT: },
211// CHECK-NEXT: "type": {
212// CHECK-NEXT: "qualType": "void"
213// CHECK-NEXT: },
214// CHECK-NEXT: "valueCategory": "rvalue",
215// CHECK-NEXT: "inner": [
216// CHECK-NEXT: {
217// CHECK-NEXT: "id": "0x{{.*}}",
218// CHECK-NEXT: "kind": "IntegerLiteral",
219// CHECK-NEXT: "range": {
220// CHECK-NEXT: "begin": {
221// CHECK-NEXT: "col": 9,
222// CHECK-NEXT: "file": "{{.*}}",
223// CHECK-NEXT: "line": 42
224// CHECK-NEXT: },
225// CHECK-NEXT: "end": {
226// CHECK-NEXT: "col": 9,
227// CHECK-NEXT: "file": "{{.*}}",
228// CHECK-NEXT: "line": 42
229// CHECK-NEXT: }
230// CHECK-NEXT: },
231// CHECK-NEXT: "type": {
232// CHECK-NEXT: "qualType": "int"
233// CHECK-NEXT: },
234// CHECK-NEXT: "valueCategory": "rvalue",
235// CHECK-NEXT: "value": "12"
236// CHECK-NEXT: }
237// CHECK-NEXT: ]
238// CHECK-NEXT: },
239// CHECK-NEXT: {
240// CHECK-NEXT: "id": "0x{{.*}}",
241// CHECK-NEXT: "kind": "CXXThrowExpr",
242// CHECK-NEXT: "range": {
243// CHECK-NEXT: "begin": {
244// CHECK-NEXT: "col": 3,
245// CHECK-NEXT: "file": "{{.*}}",
246// CHECK-NEXT: "line": 43
247// CHECK-NEXT: },
248// CHECK-NEXT: "end": {
249// CHECK-NEXT: "col": 3,
250// CHECK-NEXT: "file": "{{.*}}",
251// CHECK-NEXT: "line": 43
252// CHECK-NEXT: }
253// CHECK-NEXT: },
254// CHECK-NEXT: "type": {
255// CHECK-NEXT: "qualType": "void"
256// CHECK-NEXT: },
257// CHECK-NEXT: "valueCategory": "rvalue"
258// CHECK-NEXT: }
259// CHECK-NEXT: ]
260// CHECK-NEXT: }
261// CHECK-NEXT: ]
262// CHECK-NEXT: }
263
264
265// CHECK: "kind": "FunctionDecl",
266// CHECK-NEXT: "loc": {
267// CHECK-NEXT: "col": 6,
268// CHECK-NEXT: "file": "{{.*}}",
269// CHECK-NEXT: "line": 46
270// CHECK-NEXT: },
271// CHECK-NEXT: "range": {
272// CHECK-NEXT: "begin": {
273// CHECK-NEXT: "col": 1,
274// CHECK-NEXT: "file": "{{.*}}",
275// CHECK-NEXT: "line": 46
276// CHECK-NEXT: },
277// CHECK-NEXT: "end": {
278// CHECK-NEXT: "col": 1,
279// CHECK-NEXT: "file": "{{.*}}",
280// CHECK-NEXT: "line": 51
281// CHECK-NEXT: }
282// CHECK-NEXT: },
283// CHECK-NEXT: "name": "TestPointerToMember",
284// CHECK-NEXT: "type": {
285// CHECK-NEXT: "qualType": "void (S, S *, int S::*, void (S::*)(int))"
286// CHECK-NEXT: },
287// CHECK-NEXT: "inner": [
288// CHECK-NEXT: {
289// CHECK-NEXT: "id": "0x{{.*}}",
290// CHECK-NEXT: "kind": "ParmVarDecl",
291// CHECK-NEXT: "loc": {
292// CHECK-NEXT: "col": 28,
293// CHECK-NEXT: "file": "{{.*}}",
294// CHECK-NEXT: "line": 46
295// CHECK-NEXT: },
296// CHECK-NEXT: "range": {
297// CHECK-NEXT: "begin": {
298// CHECK-NEXT: "col": 26,
299// CHECK-NEXT: "file": "{{.*}}",
300// CHECK-NEXT: "line": 46
301// CHECK-NEXT: },
302// CHECK-NEXT: "end": {
303// CHECK-NEXT: "col": 28,
304// CHECK-NEXT: "file": "{{.*}}",
305// CHECK-NEXT: "line": 46
306// CHECK-NEXT: }
307// CHECK-NEXT: },
308// CHECK-NEXT: "isUsed": true,
309// CHECK-NEXT: "name": "obj1",
310// CHECK-NEXT: "type": {
311// CHECK-NEXT: "qualType": "S"
312// CHECK-NEXT: }
313// CHECK-NEXT: },
314// CHECK-NEXT: {
315// CHECK-NEXT: "id": "0x{{.*}}",
316// CHECK-NEXT: "kind": "ParmVarDecl",
317// CHECK-NEXT: "loc": {
318// CHECK-NEXT: "col": 37,
319// CHECK-NEXT: "file": "{{.*}}",
320// CHECK-NEXT: "line": 46
321// CHECK-NEXT: },
322// CHECK-NEXT: "range": {
323// CHECK-NEXT: "begin": {
324// CHECK-NEXT: "col": 34,
325// CHECK-NEXT: "file": "{{.*}}",
326// CHECK-NEXT: "line": 46
327// CHECK-NEXT: },
328// CHECK-NEXT: "end": {
329// CHECK-NEXT: "col": 37,
330// CHECK-NEXT: "file": "{{.*}}",
331// CHECK-NEXT: "line": 46
332// CHECK-NEXT: }
333// CHECK-NEXT: },
334// CHECK-NEXT: "isUsed": true,
335// CHECK-NEXT: "name": "obj2",
336// CHECK-NEXT: "type": {
337// CHECK-NEXT: "qualType": "S *"
338// CHECK-NEXT: }
339// CHECK-NEXT: },
340// CHECK-NEXT: {
341// CHECK-NEXT: "id": "0x{{.*}}",
342// CHECK-NEXT: "kind": "ParmVarDecl",
343// CHECK-NEXT: "loc": {
344// CHECK-NEXT: "col": 52,
345// CHECK-NEXT: "file": "{{.*}}",
346// CHECK-NEXT: "line": 46
347// CHECK-NEXT: },
348// CHECK-NEXT: "range": {
349// CHECK-NEXT: "begin": {
350// CHECK-NEXT: "col": 43,
351// CHECK-NEXT: "file": "{{.*}}",
352// CHECK-NEXT: "line": 46
353// CHECK-NEXT: },
354// CHECK-NEXT: "end": {
355// CHECK-NEXT: "col": 52,
356// CHECK-NEXT: "file": "{{.*}}",
357// CHECK-NEXT: "line": 46
358// CHECK-NEXT: }
359// CHECK-NEXT: },
360// CHECK-NEXT: "isUsed": true,
361// CHECK-NEXT: "name": "data",
362// CHECK-NEXT: "type": {
363// CHECK-NEXT: "qualType": "int S::*"
364// CHECK-NEXT: }
365// CHECK-NEXT: },
366// CHECK-NEXT: {
367// CHECK-NEXT: "id": "0x{{.*}}",
368// CHECK-NEXT: "kind": "ParmVarDecl",
369// CHECK-NEXT: "loc": {
370// CHECK-NEXT: "col": 68,
371// CHECK-NEXT: "file": "{{.*}}",
372// CHECK-NEXT: "line": 46
373// CHECK-NEXT: },
374// CHECK-NEXT: "range": {
375// CHECK-NEXT: "begin": {
376// CHECK-NEXT: "col": 58,
377// CHECK-NEXT: "file": "{{.*}}",
378// CHECK-NEXT: "line": 46
379// CHECK-NEXT: },
380// CHECK-NEXT: "end": {
381// CHECK-NEXT: "col": 77,
382// CHECK-NEXT: "file": "{{.*}}",
383// CHECK-NEXT: "line": 46
384// CHECK-NEXT: }
385// CHECK-NEXT: },
386// CHECK-NEXT: "isUsed": true,
387// CHECK-NEXT: "name": "call",
388// CHECK-NEXT: "type": {
389// CHECK-NEXT: "qualType": "void (S::*)(int)"
390// CHECK-NEXT: }
391// CHECK-NEXT: },
392// CHECK-NEXT: {
393// CHECK-NEXT: "id": "0x{{.*}}",
394// CHECK-NEXT: "kind": "CompoundStmt",
395// CHECK-NEXT: "range": {
396// CHECK-NEXT: "begin": {
397// CHECK-NEXT: "col": 80,
398// CHECK-NEXT: "file": "{{.*}}",
399// CHECK-NEXT: "line": 46
400// CHECK-NEXT: },
401// CHECK-NEXT: "end": {
402// CHECK-NEXT: "col": 1,
403// CHECK-NEXT: "file": "{{.*}}",
404// CHECK-NEXT: "line": 51
405// CHECK-NEXT: }
406// CHECK-NEXT: },
407// CHECK-NEXT: "inner": [
408// CHECK-NEXT: {
409// CHECK-NEXT: "id": "0x{{.*}}",
410// CHECK-NEXT: "kind": "BinaryOperator",
411// CHECK-NEXT: "range": {
412// CHECK-NEXT: "begin": {
413// CHECK-NEXT: "col": 3,
414// CHECK-NEXT: "file": "{{.*}}",
415// CHECK-NEXT: "line": 47
416// CHECK-NEXT: },
417// CHECK-NEXT: "end": {
418// CHECK-NEXT: "col": 9,
419// CHECK-NEXT: "file": "{{.*}}",
420// CHECK-NEXT: "line": 47
421// CHECK-NEXT: }
422// CHECK-NEXT: },
423// CHECK-NEXT: "type": {
424// CHECK-NEXT: "qualType": "int"
425// CHECK-NEXT: },
426// CHECK-NEXT: "valueCategory": "lvalue",
427// CHECK-NEXT: "opcode": ".*",
428// CHECK-NEXT: "inner": [
429// CHECK-NEXT: {
430// CHECK-NEXT: "id": "0x{{.*}}",
431// CHECK-NEXT: "kind": "DeclRefExpr",
432// CHECK-NEXT: "range": {
433// CHECK-NEXT: "begin": {
434// CHECK-NEXT: "col": 3,
435// CHECK-NEXT: "file": "{{.*}}",
436// CHECK-NEXT: "line": 47
437// CHECK-NEXT: },
438// CHECK-NEXT: "end": {
439// CHECK-NEXT: "col": 3,
440// CHECK-NEXT: "file": "{{.*}}",
441// CHECK-NEXT: "line": 47
442// CHECK-NEXT: }
443// CHECK-NEXT: },
444// CHECK-NEXT: "type": {
445// CHECK-NEXT: "qualType": "S"
446// CHECK-NEXT: },
447// CHECK-NEXT: "valueCategory": "lvalue",
448// CHECK-NEXT: "referencedDecl": {
449// CHECK-NEXT: "id": "0x{{.*}}",
450// CHECK-NEXT: "kind": "ParmVarDecl",
451// CHECK-NEXT: "name": "obj1",
452// CHECK-NEXT: "type": {
453// CHECK-NEXT: "qualType": "S"
454// CHECK-NEXT: }
455// CHECK-NEXT: }
456// CHECK-NEXT: },
457// CHECK-NEXT: {
458// CHECK-NEXT: "id": "0x{{.*}}",
459// CHECK-NEXT: "kind": "ImplicitCastExpr",
460// CHECK-NEXT: "range": {
461// CHECK-NEXT: "begin": {
462// CHECK-NEXT: "col": 9,
463// CHECK-NEXT: "file": "{{.*}}",
464// CHECK-NEXT: "line": 47
465// CHECK-NEXT: },
466// CHECK-NEXT: "end": {
467// CHECK-NEXT: "col": 9,
468// CHECK-NEXT: "file": "{{.*}}",
469// CHECK-NEXT: "line": 47
470// CHECK-NEXT: }
471// CHECK-NEXT: },
472// CHECK-NEXT: "type": {
473// CHECK-NEXT: "qualType": "int S::*"
474// CHECK-NEXT: },
475// CHECK-NEXT: "valueCategory": "rvalue",
476// CHECK-NEXT: "castKind": "LValueToRValue",
477// CHECK-NEXT: "inner": [
478// CHECK-NEXT: {
479// CHECK-NEXT: "id": "0x{{.*}}",
480// CHECK-NEXT: "kind": "DeclRefExpr",
481// CHECK-NEXT: "range": {
482// CHECK-NEXT: "begin": {
483// CHECK-NEXT: "col": 9,
484// CHECK-NEXT: "file": "{{.*}}",
485// CHECK-NEXT: "line": 47
486// CHECK-NEXT: },
487// CHECK-NEXT: "end": {
488// CHECK-NEXT: "col": 9,
489// CHECK-NEXT: "file": "{{.*}}",
490// CHECK-NEXT: "line": 47
491// CHECK-NEXT: }
492// CHECK-NEXT: },
493// CHECK-NEXT: "type": {
494// CHECK-NEXT: "qualType": "int S::*"
495// CHECK-NEXT: },
496// CHECK-NEXT: "valueCategory": "lvalue",
497// CHECK-NEXT: "referencedDecl": {
498// CHECK-NEXT: "id": "0x{{.*}}",
499// CHECK-NEXT: "kind": "ParmVarDecl",
500// CHECK-NEXT: "name": "data",
501// CHECK-NEXT: "type": {
502// CHECK-NEXT: "qualType": "int S::*"
503// CHECK-NEXT: }
504// CHECK-NEXT: }
505// CHECK-NEXT: }
506// CHECK-NEXT: ]
507// CHECK-NEXT: }
508// CHECK-NEXT: ]
509// CHECK-NEXT: },
510// CHECK-NEXT: {
511// CHECK-NEXT: "id": "0x{{.*}}",
512// CHECK-NEXT: "kind": "BinaryOperator",
513// CHECK-NEXT: "range": {
514// CHECK-NEXT: "begin": {
515// CHECK-NEXT: "col": 3,
516// CHECK-NEXT: "file": "{{.*}}",
517// CHECK-NEXT: "line": 48
518// CHECK-NEXT: },
519// CHECK-NEXT: "end": {
520// CHECK-NEXT: "col": 10,
521// CHECK-NEXT: "file": "{{.*}}",
522// CHECK-NEXT: "line": 48
523// CHECK-NEXT: }
524// CHECK-NEXT: },
525// CHECK-NEXT: "type": {
526// CHECK-NEXT: "qualType": "int"
527// CHECK-NEXT: },
528// CHECK-NEXT: "valueCategory": "lvalue",
529// CHECK-NEXT: "opcode": "->*",
530// CHECK-NEXT: "inner": [
531// CHECK-NEXT: {
532// CHECK-NEXT: "id": "0x{{.*}}",
533// CHECK-NEXT: "kind": "ImplicitCastExpr",
534// CHECK-NEXT: "range": {
535// CHECK-NEXT: "begin": {
536// CHECK-NEXT: "col": 3,
537// CHECK-NEXT: "file": "{{.*}}",
538// CHECK-NEXT: "line": 48
539// CHECK-NEXT: },
540// CHECK-NEXT: "end": {
541// CHECK-NEXT: "col": 3,
542// CHECK-NEXT: "file": "{{.*}}",
543// CHECK-NEXT: "line": 48
544// CHECK-NEXT: }
545// CHECK-NEXT: },
546// CHECK-NEXT: "type": {
547// CHECK-NEXT: "qualType": "S *"
548// CHECK-NEXT: },
549// CHECK-NEXT: "valueCategory": "rvalue",
550// CHECK-NEXT: "castKind": "LValueToRValue",
551// CHECK-NEXT: "inner": [
552// CHECK-NEXT: {
553// CHECK-NEXT: "id": "0x{{.*}}",
554// CHECK-NEXT: "kind": "DeclRefExpr",
555// CHECK-NEXT: "range": {
556// CHECK-NEXT: "begin": {
557// CHECK-NEXT: "col": 3,
558// CHECK-NEXT: "file": "{{.*}}",
559// CHECK-NEXT: "line": 48
560// CHECK-NEXT: },
561// CHECK-NEXT: "end": {
562// CHECK-NEXT: "col": 3,
563// CHECK-NEXT: "file": "{{.*}}",
564// CHECK-NEXT: "line": 48
565// CHECK-NEXT: }
566// CHECK-NEXT: },
567// CHECK-NEXT: "type": {
568// CHECK-NEXT: "qualType": "S *"
569// CHECK-NEXT: },
570// CHECK-NEXT: "valueCategory": "lvalue",
571// CHECK-NEXT: "referencedDecl": {
572// CHECK-NEXT: "id": "0x{{.*}}",
573// CHECK-NEXT: "kind": "ParmVarDecl",
574// CHECK-NEXT: "name": "obj2",
575// CHECK-NEXT: "type": {
576// CHECK-NEXT: "qualType": "S *"
577// CHECK-NEXT: }
578// CHECK-NEXT: }
579// CHECK-NEXT: }
580// CHECK-NEXT: ]
581// CHECK-NEXT: },
582// CHECK-NEXT: {
583// CHECK-NEXT: "id": "0x{{.*}}",
584// CHECK-NEXT: "kind": "ImplicitCastExpr",
585// CHECK-NEXT: "range": {
586// CHECK-NEXT: "begin": {
587// CHECK-NEXT: "col": 10,
588// CHECK-NEXT: "file": "{{.*}}",
589// CHECK-NEXT: "line": 48
590// CHECK-NEXT: },
591// CHECK-NEXT: "end": {
592// CHECK-NEXT: "col": 10,
593// CHECK-NEXT: "file": "{{.*}}",
594// CHECK-NEXT: "line": 48
595// CHECK-NEXT: }
596// CHECK-NEXT: },
597// CHECK-NEXT: "type": {
598// CHECK-NEXT: "qualType": "int S::*"
599// CHECK-NEXT: },
600// CHECK-NEXT: "valueCategory": "rvalue",
601// CHECK-NEXT: "castKind": "LValueToRValue",
602// CHECK-NEXT: "inner": [
603// CHECK-NEXT: {
604// CHECK-NEXT: "id": "0x{{.*}}",
605// CHECK-NEXT: "kind": "DeclRefExpr",
606// CHECK-NEXT: "range": {
607// CHECK-NEXT: "begin": {
608// CHECK-NEXT: "col": 10,
609// CHECK-NEXT: "file": "{{.*}}",
610// CHECK-NEXT: "line": 48
611// CHECK-NEXT: },
612// CHECK-NEXT: "end": {
613// CHECK-NEXT: "col": 10,
614// CHECK-NEXT: "file": "{{.*}}",
615// CHECK-NEXT: "line": 48
616// CHECK-NEXT: }
617// CHECK-NEXT: },
618// CHECK-NEXT: "type": {
619// CHECK-NEXT: "qualType": "int S::*"
620// CHECK-NEXT: },
621// CHECK-NEXT: "valueCategory": "lvalue",
622// CHECK-NEXT: "referencedDecl": {
623// CHECK-NEXT: "id": "0x{{.*}}",
624// CHECK-NEXT: "kind": "ParmVarDecl",
625// CHECK-NEXT: "name": "data",
626// CHECK-NEXT: "type": {
627// CHECK-NEXT: "qualType": "int S::*"
628// CHECK-NEXT: }
629// CHECK-NEXT: }
630// CHECK-NEXT: }
631// CHECK-NEXT: ]
632// CHECK-NEXT: }
633// CHECK-NEXT: ]
634// CHECK-NEXT: },
635// CHECK-NEXT: {
636// CHECK-NEXT: "id": "0x{{.*}}",
637// CHECK-NEXT: "kind": "CXXMemberCallExpr",
638// CHECK-NEXT: "range": {
639// CHECK-NEXT: "begin": {
640// CHECK-NEXT: "col": 3,
641// CHECK-NEXT: "file": "{{.*}}",
642// CHECK-NEXT: "line": 49
643// CHECK-NEXT: },
644// CHECK-NEXT: "end": {
645// CHECK-NEXT: "col": 18,
646// CHECK-NEXT: "file": "{{.*}}",
647// CHECK-NEXT: "line": 49
648// CHECK-NEXT: }
649// CHECK-NEXT: },
650// CHECK-NEXT: "type": {
651// CHECK-NEXT: "qualType": "void"
652// CHECK-NEXT: },
653// CHECK-NEXT: "valueCategory": "rvalue",
654// CHECK-NEXT: "inner": [
655// CHECK-NEXT: {
656// CHECK-NEXT: "id": "0x{{.*}}",
657// CHECK-NEXT: "kind": "ParenExpr",
658// CHECK-NEXT: "range": {
659// CHECK-NEXT: "begin": {
660// CHECK-NEXT: "col": 3,
661// CHECK-NEXT: "file": "{{.*}}",
662// CHECK-NEXT: "line": 49
663// CHECK-NEXT: },
664// CHECK-NEXT: "end": {
665// CHECK-NEXT: "col": 14,
666// CHECK-NEXT: "file": "{{.*}}",
667// CHECK-NEXT: "line": 49
668// CHECK-NEXT: }
669// CHECK-NEXT: },
670// CHECK-NEXT: "type": {
671// CHECK-NEXT: "qualType": "<bound member function type>"
672// CHECK-NEXT: },
673// CHECK-NEXT: "valueCategory": "rvalue",
674// CHECK-NEXT: "inner": [
675// CHECK-NEXT: {
676// CHECK-NEXT: "id": "0x{{.*}}",
677// CHECK-NEXT: "kind": "BinaryOperator",
678// CHECK-NEXT: "range": {
679// CHECK-NEXT: "begin": {
680// CHECK-NEXT: "col": 4,
681// CHECK-NEXT: "file": "{{.*}}",
682// CHECK-NEXT: "line": 49
683// CHECK-NEXT: },
684// CHECK-NEXT: "end": {
685// CHECK-NEXT: "col": 10,
686// CHECK-NEXT: "file": "{{.*}}",
687// CHECK-NEXT: "line": 49
688// CHECK-NEXT: }
689// CHECK-NEXT: },
690// CHECK-NEXT: "type": {
691// CHECK-NEXT: "qualType": "<bound member function type>"
692// CHECK-NEXT: },
693// CHECK-NEXT: "valueCategory": "rvalue",
694// CHECK-NEXT: "opcode": ".*",
695// CHECK-NEXT: "inner": [
696// CHECK-NEXT: {
697// CHECK-NEXT: "id": "0x{{.*}}",
698// CHECK-NEXT: "kind": "DeclRefExpr",
699// CHECK-NEXT: "range": {
700// CHECK-NEXT: "begin": {
701// CHECK-NEXT: "col": 4,
702// CHECK-NEXT: "file": "{{.*}}",
703// CHECK-NEXT: "line": 49
704// CHECK-NEXT: },
705// CHECK-NEXT: "end": {
706// CHECK-NEXT: "col": 4,
707// CHECK-NEXT: "file": "{{.*}}",
708// CHECK-NEXT: "line": 49
709// CHECK-NEXT: }
710// CHECK-NEXT: },
711// CHECK-NEXT: "type": {
712// CHECK-NEXT: "qualType": "S"
713// CHECK-NEXT: },
714// CHECK-NEXT: "valueCategory": "lvalue",
715// CHECK-NEXT: "referencedDecl": {
716// CHECK-NEXT: "id": "0x{{.*}}",
717// CHECK-NEXT: "kind": "ParmVarDecl",
718// CHECK-NEXT: "name": "obj1",
719// CHECK-NEXT: "type": {
720// CHECK-NEXT: "qualType": "S"
721// CHECK-NEXT: }
722// CHECK-NEXT: }
723// CHECK-NEXT: },
724// CHECK-NEXT: {
725// CHECK-NEXT: "id": "0x{{.*}}",
726// CHECK-NEXT: "kind": "ImplicitCastExpr",
727// CHECK-NEXT: "range": {
728// CHECK-NEXT: "begin": {
729// CHECK-NEXT: "col": 10,
730// CHECK-NEXT: "file": "{{.*}}",
731// CHECK-NEXT: "line": 49
732// CHECK-NEXT: },
733// CHECK-NEXT: "end": {
734// CHECK-NEXT: "col": 10,
735// CHECK-NEXT: "file": "{{.*}}",
736// CHECK-NEXT: "line": 49
737// CHECK-NEXT: }
738// CHECK-NEXT: },
739// CHECK-NEXT: "type": {
740// CHECK-NEXT: "qualType": "void (S::*)(int)"
741// CHECK-NEXT: },
742// CHECK-NEXT: "valueCategory": "rvalue",
743// CHECK-NEXT: "castKind": "LValueToRValue",
744// CHECK-NEXT: "inner": [
745// CHECK-NEXT: {
746// CHECK-NEXT: "id": "0x{{.*}}",
747// CHECK-NEXT: "kind": "DeclRefExpr",
748// CHECK-NEXT: "range": {
749// CHECK-NEXT: "begin": {
750// CHECK-NEXT: "col": 10,
751// CHECK-NEXT: "file": "{{.*}}",
752// CHECK-NEXT: "line": 49
753// CHECK-NEXT: },
754// CHECK-NEXT: "end": {
755// CHECK-NEXT: "col": 10,
756// CHECK-NEXT: "file": "{{.*}}",
757// CHECK-NEXT: "line": 49
758// CHECK-NEXT: }
759// CHECK-NEXT: },
760// CHECK-NEXT: "type": {
761// CHECK-NEXT: "qualType": "void (S::*)(int)"
762// CHECK-NEXT: },
763// CHECK-NEXT: "valueCategory": "lvalue",
764// CHECK-NEXT: "referencedDecl": {
765// CHECK-NEXT: "id": "0x{{.*}}",
766// CHECK-NEXT: "kind": "ParmVarDecl",
767// CHECK-NEXT: "name": "call",
768// CHECK-NEXT: "type": {
769// CHECK-NEXT: "qualType": "void (S::*)(int)"
770// CHECK-NEXT: }
771// CHECK-NEXT: }
772// CHECK-NEXT: }
773// CHECK-NEXT: ]
774// CHECK-NEXT: }
775// CHECK-NEXT: ]
776// CHECK-NEXT: }
777// CHECK-NEXT: ]
778// CHECK-NEXT: },
779// CHECK-NEXT: {
780// CHECK-NEXT: "id": "0x{{.*}}",
781// CHECK-NEXT: "kind": "IntegerLiteral",
782// CHECK-NEXT: "range": {
783// CHECK-NEXT: "begin": {
784// CHECK-NEXT: "col": 16,
785// CHECK-NEXT: "file": "{{.*}}",
786// CHECK-NEXT: "line": 49
787// CHECK-NEXT: },
788// CHECK-NEXT: "end": {
789// CHECK-NEXT: "col": 16,
790// CHECK-NEXT: "file": "{{.*}}",
791// CHECK-NEXT: "line": 49
792// CHECK-NEXT: }
793// CHECK-NEXT: },
794// CHECK-NEXT: "type": {
795// CHECK-NEXT: "qualType": "int"
796// CHECK-NEXT: },
797// CHECK-NEXT: "valueCategory": "rvalue",
798// CHECK-NEXT: "value": "12"
799// CHECK-NEXT: }
800// CHECK-NEXT: ]
801// CHECK-NEXT: },
802// CHECK-NEXT: {
803// CHECK-NEXT: "id": "0x{{.*}}",
804// CHECK-NEXT: "kind": "CXXMemberCallExpr",
805// CHECK-NEXT: "range": {
806// CHECK-NEXT: "begin": {
807// CHECK-NEXT: "col": 3,
808// CHECK-NEXT: "file": "{{.*}}",
809// CHECK-NEXT: "line": 50
810// CHECK-NEXT: },
811// CHECK-NEXT: "end": {
812// CHECK-NEXT: "col": 19,
813// CHECK-NEXT: "file": "{{.*}}",
814// CHECK-NEXT: "line": 50
815// CHECK-NEXT: }
816// CHECK-NEXT: },
817// CHECK-NEXT: "type": {
818// CHECK-NEXT: "qualType": "void"
819// CHECK-NEXT: },
820// CHECK-NEXT: "valueCategory": "rvalue",
821// CHECK-NEXT: "inner": [
822// CHECK-NEXT: {
823// CHECK-NEXT: "id": "0x{{.*}}",
824// CHECK-NEXT: "kind": "ParenExpr",
825// CHECK-NEXT: "range": {
826// CHECK-NEXT: "begin": {
827// CHECK-NEXT: "col": 3,
828// CHECK-NEXT: "file": "{{.*}}",
829// CHECK-NEXT: "line": 50
830// CHECK-NEXT: },
831// CHECK-NEXT: "end": {
832// CHECK-NEXT: "col": 15,
833// CHECK-NEXT: "file": "{{.*}}",
834// CHECK-NEXT: "line": 50
835// CHECK-NEXT: }
836// CHECK-NEXT: },
837// CHECK-NEXT: "type": {
838// CHECK-NEXT: "qualType": "<bound member function type>"
839// CHECK-NEXT: },
840// CHECK-NEXT: "valueCategory": "rvalue",
841// CHECK-NEXT: "inner": [
842// CHECK-NEXT: {
843// CHECK-NEXT: "id": "0x{{.*}}",
844// CHECK-NEXT: "kind": "BinaryOperator",
845// CHECK-NEXT: "range": {
846// CHECK-NEXT: "begin": {
847// CHECK-NEXT: "col": 4,
848// CHECK-NEXT: "file": "{{.*}}",
849// CHECK-NEXT: "line": 50
850// CHECK-NEXT: },
851// CHECK-NEXT: "end": {
852// CHECK-NEXT: "col": 11,
853// CHECK-NEXT: "file": "{{.*}}",
854// CHECK-NEXT: "line": 50
855// CHECK-NEXT: }
856// CHECK-NEXT: },
857// CHECK-NEXT: "type": {
858// CHECK-NEXT: "qualType": "<bound member function type>"
859// CHECK-NEXT: },
860// CHECK-NEXT: "valueCategory": "rvalue",
861// CHECK-NEXT: "opcode": "->*",
862// CHECK-NEXT: "inner": [
863// CHECK-NEXT: {
864// CHECK-NEXT: "id": "0x{{.*}}",
865// CHECK-NEXT: "kind": "ImplicitCastExpr",
866// CHECK-NEXT: "range": {
867// CHECK-NEXT: "begin": {
868// CHECK-NEXT: "col": 4,
869// CHECK-NEXT: "file": "{{.*}}",
870// CHECK-NEXT: "line": 50
871// CHECK-NEXT: },
872// CHECK-NEXT: "end": {
873// CHECK-NEXT: "col": 4,
874// CHECK-NEXT: "file": "{{.*}}",
875// CHECK-NEXT: "line": 50
876// CHECK-NEXT: }
877// CHECK-NEXT: },
878// CHECK-NEXT: "type": {
879// CHECK-NEXT: "qualType": "S *"
880// CHECK-NEXT: },
881// CHECK-NEXT: "valueCategory": "rvalue",
882// CHECK-NEXT: "castKind": "LValueToRValue",
883// CHECK-NEXT: "inner": [
884// CHECK-NEXT: {
885// CHECK-NEXT: "id": "0x{{.*}}",
886// CHECK-NEXT: "kind": "DeclRefExpr",
887// CHECK-NEXT: "range": {
888// CHECK-NEXT: "begin": {
889// CHECK-NEXT: "col": 4,
890// CHECK-NEXT: "file": "{{.*}}",
891// CHECK-NEXT: "line": 50
892// CHECK-NEXT: },
893// CHECK-NEXT: "end": {
894// CHECK-NEXT: "col": 4,
895// CHECK-NEXT: "file": "{{.*}}",
896// CHECK-NEXT: "line": 50
897// CHECK-NEXT: }
898// CHECK-NEXT: },
899// CHECK-NEXT: "type": {
900// CHECK-NEXT: "qualType": "S *"
901// CHECK-NEXT: },
902// CHECK-NEXT: "valueCategory": "lvalue",
903// CHECK-NEXT: "referencedDecl": {
904// CHECK-NEXT: "id": "0x{{.*}}",
905// CHECK-NEXT: "kind": "ParmVarDecl",
906// CHECK-NEXT: "name": "obj2",
907// CHECK-NEXT: "type": {
908// CHECK-NEXT: "qualType": "S *"
909// CHECK-NEXT: }
910// CHECK-NEXT: }
911// CHECK-NEXT: }
912// CHECK-NEXT: ]
913// CHECK-NEXT: },
914// CHECK-NEXT: {
915// CHECK-NEXT: "id": "0x{{.*}}",
916// CHECK-NEXT: "kind": "ImplicitCastExpr",
917// CHECK-NEXT: "range": {
918// CHECK-NEXT: "begin": {
919// CHECK-NEXT: "col": 11,
920// CHECK-NEXT: "file": "{{.*}}",
921// CHECK-NEXT: "line": 50
922// CHECK-NEXT: },
923// CHECK-NEXT: "end": {
924// CHECK-NEXT: "col": 11,
925// CHECK-NEXT: "file": "{{.*}}",
926// CHECK-NEXT: "line": 50
927// CHECK-NEXT: }
928// CHECK-NEXT: },
929// CHECK-NEXT: "type": {
930// CHECK-NEXT: "qualType": "void (S::*)(int)"
931// CHECK-NEXT: },
932// CHECK-NEXT: "valueCategory": "rvalue",
933// CHECK-NEXT: "castKind": "LValueToRValue",
934// CHECK-NEXT: "inner": [
935// CHECK-NEXT: {
936// CHECK-NEXT: "id": "0x{{.*}}",
937// CHECK-NEXT: "kind": "DeclRefExpr",
938// CHECK-NEXT: "range": {
939// CHECK-NEXT: "begin": {
940// CHECK-NEXT: "col": 11,
941// CHECK-NEXT: "file": "{{.*}}",
942// CHECK-NEXT: "line": 50
943// CHECK-NEXT: },
944// CHECK-NEXT: "end": {
945// CHECK-NEXT: "col": 11,
946// CHECK-NEXT: "file": "{{.*}}",
947// CHECK-NEXT: "line": 50
948// CHECK-NEXT: }
949// CHECK-NEXT: },
950// CHECK-NEXT: "type": {
951// CHECK-NEXT: "qualType": "void (S::*)(int)"
952// CHECK-NEXT: },
953// CHECK-NEXT: "valueCategory": "lvalue",
954// CHECK-NEXT: "referencedDecl": {
955// CHECK-NEXT: "id": "0x{{.*}}",
956// CHECK-NEXT: "kind": "ParmVarDecl",
957// CHECK-NEXT: "name": "call",
958// CHECK-NEXT: "type": {
959// CHECK-NEXT: "qualType": "void (S::*)(int)"
960// CHECK-NEXT: }
961// CHECK-NEXT: }
962// CHECK-NEXT: }
963// CHECK-NEXT: ]
964// CHECK-NEXT: }
965// CHECK-NEXT: ]
966// CHECK-NEXT: }
967// CHECK-NEXT: ]
968// CHECK-NEXT: },
969// CHECK-NEXT: {
970// CHECK-NEXT: "id": "0x{{.*}}",
971// CHECK-NEXT: "kind": "IntegerLiteral",
972// CHECK-NEXT: "range": {
973// CHECK-NEXT: "begin": {
974// CHECK-NEXT: "col": 17,
975// CHECK-NEXT: "file": "{{.*}}",
976// CHECK-NEXT: "line": 50
977// CHECK-NEXT: },
978// CHECK-NEXT: "end": {
979// CHECK-NEXT: "col": 17,
980// CHECK-NEXT: "file": "{{.*}}",
981// CHECK-NEXT: "line": 50
982// CHECK-NEXT: }
983// CHECK-NEXT: },
984// CHECK-NEXT: "type": {
985// CHECK-NEXT: "qualType": "int"
986// CHECK-NEXT: },
987// CHECK-NEXT: "valueCategory": "rvalue",
988// CHECK-NEXT: "value": "12"
989// CHECK-NEXT: }
990// CHECK-NEXT: ]
991// CHECK-NEXT: }
992// CHECK-NEXT: ]
993// CHECK-NEXT: }
994// CHECK-NEXT: ]
995// CHECK-NEXT: }
996
997
998// CHECK: "kind": "FunctionDecl",
999// CHECK-NEXT: "loc": {
1000// CHECK-NEXT: "col": 6,
1001// CHECK-NEXT: "file": "{{.*}}",
1002// CHECK-NEXT: "line": 53
1003// CHECK-NEXT: },
1004// CHECK-NEXT: "range": {
1005// CHECK-NEXT: "begin": {
1006// CHECK-NEXT: "col": 1,
1007// CHECK-NEXT: "file": "{{.*}}",
1008// CHECK-NEXT: "line": 53
1009// CHECK-NEXT: },
1010// CHECK-NEXT: "end": {
1011// CHECK-NEXT: "col": 1,
1012// CHECK-NEXT: "file": "{{.*}}",
1013// CHECK-NEXT: "line": 58
1014// CHECK-NEXT: }
1015// CHECK-NEXT: },
1016// CHECK-NEXT: "name": "TestCasting",
1017// CHECK-NEXT: "type": {
1018// CHECK-NEXT: "qualType": "void (const S *)"
1019// CHECK-NEXT: },
1020// CHECK-NEXT: "inner": [
1021// CHECK-NEXT: {
1022// CHECK-NEXT: "id": "0x{{.*}}",
1023// CHECK-NEXT: "kind": "ParmVarDecl",
1024// CHECK-NEXT: "loc": {
1025// CHECK-NEXT: "col": 27,
1026// CHECK-NEXT: "file": "{{.*}}",
1027// CHECK-NEXT: "line": 53
1028// CHECK-NEXT: },
1029// CHECK-NEXT: "range": {
1030// CHECK-NEXT: "begin": {
1031// CHECK-NEXT: "col": 18,
1032// CHECK-NEXT: "file": "{{.*}}",
1033// CHECK-NEXT: "line": 53
1034// CHECK-NEXT: },
1035// CHECK-NEXT: "end": {
1036// CHECK-NEXT: "col": 27,
1037// CHECK-NEXT: "file": "{{.*}}",
1038// CHECK-NEXT: "line": 53
1039// CHECK-NEXT: }
1040// CHECK-NEXT: },
1041// CHECK-NEXT: "isUsed": true,
1042// CHECK-NEXT: "name": "s",
1043// CHECK-NEXT: "type": {
1044// CHECK-NEXT: "qualType": "const S *"
1045// CHECK-NEXT: }
1046// CHECK-NEXT: },
1047// CHECK-NEXT: {
1048// CHECK-NEXT: "id": "0x{{.*}}",
1049// CHECK-NEXT: "kind": "CompoundStmt",
1050// CHECK-NEXT: "range": {
1051// CHECK-NEXT: "begin": {
1052// CHECK-NEXT: "col": 30,
1053// CHECK-NEXT: "file": "{{.*}}",
1054// CHECK-NEXT: "line": 53
1055// CHECK-NEXT: },
1056// CHECK-NEXT: "end": {
1057// CHECK-NEXT: "col": 1,
1058// CHECK-NEXT: "file": "{{.*}}",
1059// CHECK-NEXT: "line": 58
1060// CHECK-NEXT: }
1061// CHECK-NEXT: },
1062// CHECK-NEXT: "inner": [
1063// CHECK-NEXT: {
1064// CHECK-NEXT: "id": "0x{{.*}}",
1065// CHECK-NEXT: "kind": "CXXConstCastExpr",
1066// CHECK-NEXT: "range": {
1067// CHECK-NEXT: "begin": {
1068// CHECK-NEXT: "col": 3,
1069// CHECK-NEXT: "file": "{{.*}}",
1070// CHECK-NEXT: "line": 54
1071// CHECK-NEXT: },
1072// CHECK-NEXT: "end": {
1073// CHECK-NEXT: "col": 20,
1074// CHECK-NEXT: "file": "{{.*}}",
1075// CHECK-NEXT: "line": 54
1076// CHECK-NEXT: }
1077// CHECK-NEXT: },
1078// CHECK-NEXT: "type": {
1079// CHECK-NEXT: "qualType": "S *"
1080// CHECK-NEXT: },
1081// CHECK-NEXT: "valueCategory": "rvalue",
1082// CHECK-NEXT: "castKind": "NoOp",
1083// CHECK-NEXT: "inner": [
1084// CHECK-NEXT: {
1085// CHECK-NEXT: "id": "0x{{.*}}",
1086// CHECK-NEXT: "kind": "ImplicitCastExpr",
1087// CHECK-NEXT: "range": {
1088// CHECK-NEXT: "begin": {
1089// CHECK-NEXT: "col": 19,
1090// CHECK-NEXT: "file": "{{.*}}",
1091// CHECK-NEXT: "line": 54
1092// CHECK-NEXT: },
1093// CHECK-NEXT: "end": {
1094// CHECK-NEXT: "col": 19,
1095// CHECK-NEXT: "file": "{{.*}}",
1096// CHECK-NEXT: "line": 54
1097// CHECK-NEXT: }
1098// CHECK-NEXT: },
1099// CHECK-NEXT: "type": {
1100// CHECK-NEXT: "qualType": "const S *"
1101// CHECK-NEXT: },
1102// CHECK-NEXT: "valueCategory": "rvalue",
1103// CHECK-NEXT: "castKind": "LValueToRValue",
1104// CHECK-NEXT: "isPartOfExplicitCast": true,
1105// CHECK-NEXT: "inner": [
1106// CHECK-NEXT: {
1107// CHECK-NEXT: "id": "0x{{.*}}",
1108// CHECK-NEXT: "kind": "DeclRefExpr",
1109// CHECK-NEXT: "range": {
1110// CHECK-NEXT: "begin": {
1111// CHECK-NEXT: "col": 19,
1112// CHECK-NEXT: "file": "{{.*}}",
1113// CHECK-NEXT: "line": 54
1114// CHECK-NEXT: },
1115// CHECK-NEXT: "end": {
1116// CHECK-NEXT: "col": 19,
1117// CHECK-NEXT: "file": "{{.*}}",
1118// CHECK-NEXT: "line": 54
1119// CHECK-NEXT: }
1120// CHECK-NEXT: },
1121// CHECK-NEXT: "type": {
1122// CHECK-NEXT: "qualType": "const S *"
1123// CHECK-NEXT: },
1124// CHECK-NEXT: "valueCategory": "lvalue",
1125// CHECK-NEXT: "referencedDecl": {
1126// CHECK-NEXT: "id": "0x{{.*}}",
1127// CHECK-NEXT: "kind": "ParmVarDecl",
1128// CHECK-NEXT: "name": "s",
1129// CHECK-NEXT: "type": {
1130// CHECK-NEXT: "qualType": "const S *"
1131// CHECK-NEXT: }
1132// CHECK-NEXT: }
1133// CHECK-NEXT: }
1134// CHECK-NEXT: ]
1135// CHECK-NEXT: }
1136// CHECK-NEXT: ]
1137// CHECK-NEXT: },
1138// CHECK-NEXT: {
1139// CHECK-NEXT: "id": "0x{{.*}}",
1140// CHECK-NEXT: "kind": "CXXStaticCastExpr",
1141// CHECK-NEXT: "range": {
1142// CHECK-NEXT: "begin": {
1143// CHECK-NEXT: "col": 3,
1144// CHECK-NEXT: "file": "{{.*}}",
1145// CHECK-NEXT: "line": 55
1146// CHECK-NEXT: },
1147// CHECK-NEXT: "end": {
1148// CHECK-NEXT: "col": 27,
1149// CHECK-NEXT: "file": "{{.*}}",
1150// CHECK-NEXT: "line": 55
1151// CHECK-NEXT: }
1152// CHECK-NEXT: },
1153// CHECK-NEXT: "type": {
1154// CHECK-NEXT: "qualType": "const T *"
1155// CHECK-NEXT: },
1156// CHECK-NEXT: "valueCategory": "rvalue",
1157// CHECK-NEXT: "castKind": "BaseToDerived",
1158// CHECK-NEXT: "path": [
1159// CHECK-NEXT: {
1160// CHECK-NEXT: "name": "S"
1161// CHECK-NEXT: }
1162// CHECK-NEXT: ],
1163// CHECK-NEXT: "inner": [
1164// CHECK-NEXT: {
1165// CHECK-NEXT: "id": "0x{{.*}}",
1166// CHECK-NEXT: "kind": "ImplicitCastExpr",
1167// CHECK-NEXT: "range": {
1168// CHECK-NEXT: "begin": {
1169// CHECK-NEXT: "col": 26,
1170// CHECK-NEXT: "file": "{{.*}}",
1171// CHECK-NEXT: "line": 55
1172// CHECK-NEXT: },
1173// CHECK-NEXT: "end": {
1174// CHECK-NEXT: "col": 26,
1175// CHECK-NEXT: "file": "{{.*}}",
1176// CHECK-NEXT: "line": 55
1177// CHECK-NEXT: }
1178// CHECK-NEXT: },
1179// CHECK-NEXT: "type": {
1180// CHECK-NEXT: "qualType": "const S *"
1181// CHECK-NEXT: },
1182// CHECK-NEXT: "valueCategory": "rvalue",
1183// CHECK-NEXT: "castKind": "LValueToRValue",
1184// CHECK-NEXT: "isPartOfExplicitCast": true,
1185// CHECK-NEXT: "inner": [
1186// CHECK-NEXT: {
1187// CHECK-NEXT: "id": "0x{{.*}}",
1188// CHECK-NEXT: "kind": "DeclRefExpr",
1189// CHECK-NEXT: "range": {
1190// CHECK-NEXT: "begin": {
1191// CHECK-NEXT: "col": 26,
1192// CHECK-NEXT: "file": "{{.*}}",
1193// CHECK-NEXT: "line": 55
1194// CHECK-NEXT: },
1195// CHECK-NEXT: "end": {
1196// CHECK-NEXT: "col": 26,
1197// CHECK-NEXT: "file": "{{.*}}",
1198// CHECK-NEXT: "line": 55
1199// CHECK-NEXT: }
1200// CHECK-NEXT: },
1201// CHECK-NEXT: "type": {
1202// CHECK-NEXT: "qualType": "const S *"
1203// CHECK-NEXT: },
1204// CHECK-NEXT: "valueCategory": "lvalue",
1205// CHECK-NEXT: "referencedDecl": {
1206// CHECK-NEXT: "id": "0x{{.*}}",
1207// CHECK-NEXT: "kind": "ParmVarDecl",
1208// CHECK-NEXT: "name": "s",
1209// CHECK-NEXT: "type": {
1210// CHECK-NEXT: "qualType": "const S *"
1211// CHECK-NEXT: }
1212// CHECK-NEXT: }
1213// CHECK-NEXT: }
1214// CHECK-NEXT: ]
1215// CHECK-NEXT: }
1216// CHECK-NEXT: ]
1217// CHECK-NEXT: },
1218// CHECK-NEXT: {
1219// CHECK-NEXT: "id": "0x{{.*}}",
1220// CHECK-NEXT: "kind": "CXXDynamicCastExpr",
1221// CHECK-NEXT: "range": {
1222// CHECK-NEXT: "begin": {
1223// CHECK-NEXT: "col": 3,
1224// CHECK-NEXT: "file": "{{.*}}",
1225// CHECK-NEXT: "line": 56
1226// CHECK-NEXT: },
1227// CHECK-NEXT: "end": {
1228// CHECK-NEXT: "col": 28,
1229// CHECK-NEXT: "file": "{{.*}}",
1230// CHECK-NEXT: "line": 56
1231// CHECK-NEXT: }
1232// CHECK-NEXT: },
1233// CHECK-NEXT: "type": {
1234// CHECK-NEXT: "qualType": "const T *"
1235// CHECK-NEXT: },
1236// CHECK-NEXT: "valueCategory": "rvalue",
1237// CHECK-NEXT: "castKind": "Dynamic",
1238// CHECK-NEXT: "inner": [
1239// CHECK-NEXT: {
1240// CHECK-NEXT: "id": "0x{{.*}}",
1241// CHECK-NEXT: "kind": "ImplicitCastExpr",
1242// CHECK-NEXT: "range": {
1243// CHECK-NEXT: "begin": {
1244// CHECK-NEXT: "col": 27,
1245// CHECK-NEXT: "file": "{{.*}}",
1246// CHECK-NEXT: "line": 56
1247// CHECK-NEXT: },
1248// CHECK-NEXT: "end": {
1249// CHECK-NEXT: "col": 27,
1250// CHECK-NEXT: "file": "{{.*}}",
1251// CHECK-NEXT: "line": 56
1252// CHECK-NEXT: }
1253// CHECK-NEXT: },
1254// CHECK-NEXT: "type": {
1255// CHECK-NEXT: "qualType": "const S *"
1256// CHECK-NEXT: },
1257// CHECK-NEXT: "valueCategory": "rvalue",
1258// CHECK-NEXT: "castKind": "LValueToRValue",
1259// CHECK-NEXT: "isPartOfExplicitCast": true,
1260// CHECK-NEXT: "inner": [
1261// CHECK-NEXT: {
1262// CHECK-NEXT: "id": "0x{{.*}}",
1263// CHECK-NEXT: "kind": "DeclRefExpr",
1264// CHECK-NEXT: "range": {
1265// CHECK-NEXT: "begin": {
1266// CHECK-NEXT: "col": 27,
1267// CHECK-NEXT: "file": "{{.*}}",
1268// CHECK-NEXT: "line": 56
1269// CHECK-NEXT: },
1270// CHECK-NEXT: "end": {
1271// CHECK-NEXT: "col": 27,
1272// CHECK-NEXT: "file": "{{.*}}",
1273// CHECK-NEXT: "line": 56
1274// CHECK-NEXT: }
1275// CHECK-NEXT: },
1276// CHECK-NEXT: "type": {
1277// CHECK-NEXT: "qualType": "const S *"
1278// CHECK-NEXT: },
1279// CHECK-NEXT: "valueCategory": "lvalue",
1280// CHECK-NEXT: "referencedDecl": {
1281// CHECK-NEXT: "id": "0x{{.*}}",
1282// CHECK-NEXT: "kind": "ParmVarDecl",
1283// CHECK-NEXT: "name": "s",
1284// CHECK-NEXT: "type": {
1285// CHECK-NEXT: "qualType": "const S *"
1286// CHECK-NEXT: }
1287// CHECK-NEXT: }
1288// CHECK-NEXT: }
1289// CHECK-NEXT: ]
1290// CHECK-NEXT: }
1291// CHECK-NEXT: ]
1292// CHECK-NEXT: },
1293// CHECK-NEXT: {
1294// CHECK-NEXT: "id": "0x{{.*}}",
1295// CHECK-NEXT: "kind": "CXXReinterpretCastExpr",
1296// CHECK-NEXT: "range": {
1297// CHECK-NEXT: "begin": {
1298// CHECK-NEXT: "col": 3,
1299// CHECK-NEXT: "file": "{{.*}}",
1300// CHECK-NEXT: "line": 57
1301// CHECK-NEXT: },
1302// CHECK-NEXT: "end": {
1303// CHECK-NEXT: "col": 34,
1304// CHECK-NEXT: "file": "{{.*}}",
1305// CHECK-NEXT: "line": 57
1306// CHECK-NEXT: }
1307// CHECK-NEXT: },
1308// CHECK-NEXT: "type": {
1309// CHECK-NEXT: "qualType": "const int *"
1310// CHECK-NEXT: },
1311// CHECK-NEXT: "valueCategory": "rvalue",
1312// CHECK-NEXT: "castKind": "BitCast",
1313// CHECK-NEXT: "inner": [
1314// CHECK-NEXT: {
1315// CHECK-NEXT: "id": "0x{{.*}}",
1316// CHECK-NEXT: "kind": "ImplicitCastExpr",
1317// CHECK-NEXT: "range": {
1318// CHECK-NEXT: "begin": {
1319// CHECK-NEXT: "col": 33,
1320// CHECK-NEXT: "file": "{{.*}}",
1321// CHECK-NEXT: "line": 57
1322// CHECK-NEXT: },
1323// CHECK-NEXT: "end": {
1324// CHECK-NEXT: "col": 33,
1325// CHECK-NEXT: "file": "{{.*}}",
1326// CHECK-NEXT: "line": 57
1327// CHECK-NEXT: }
1328// CHECK-NEXT: },
1329// CHECK-NEXT: "type": {
1330// CHECK-NEXT: "qualType": "const S *"
1331// CHECK-NEXT: },
1332// CHECK-NEXT: "valueCategory": "rvalue",
1333// CHECK-NEXT: "castKind": "LValueToRValue",
1334// CHECK-NEXT: "isPartOfExplicitCast": true,
1335// CHECK-NEXT: "inner": [
1336// CHECK-NEXT: {
1337// CHECK-NEXT: "id": "0x{{.*}}",
1338// CHECK-NEXT: "kind": "DeclRefExpr",
1339// CHECK-NEXT: "range": {
1340// CHECK-NEXT: "begin": {
1341// CHECK-NEXT: "col": 33,
1342// CHECK-NEXT: "file": "{{.*}}",
1343// CHECK-NEXT: "line": 57
1344// CHECK-NEXT: },
1345// CHECK-NEXT: "end": {
1346// CHECK-NEXT: "col": 33,
1347// CHECK-NEXT: "file": "{{.*}}",
1348// CHECK-NEXT: "line": 57
1349// CHECK-NEXT: }
1350// CHECK-NEXT: },
1351// CHECK-NEXT: "type": {
1352// CHECK-NEXT: "qualType": "const S *"
1353// CHECK-NEXT: },
1354// CHECK-NEXT: "valueCategory": "lvalue",
1355// CHECK-NEXT: "referencedDecl": {
1356// CHECK-NEXT: "id": "0x{{.*}}",
1357// CHECK-NEXT: "kind": "ParmVarDecl",
1358// CHECK-NEXT: "name": "s",
1359// CHECK-NEXT: "type": {
1360// CHECK-NEXT: "qualType": "const S *"
1361// CHECK-NEXT: }
1362// CHECK-NEXT: }
1363// CHECK-NEXT: }
1364// CHECK-NEXT: ]
1365// CHECK-NEXT: }
1366// CHECK-NEXT: ]
1367// CHECK-NEXT: }
1368// CHECK-NEXT: ]
1369// CHECK-NEXT: }
1370// CHECK-NEXT: ]
1371// CHECK-NEXT: }
1372
1373
1374// CHECK: "kind": "FunctionTemplateDecl",
1375// CHECK-NEXT: "loc": {
1376// CHECK-NEXT: "col": 6,
1377// CHECK-NEXT: "file": "{{.*}}",
1378// CHECK-NEXT: "line": 61
1379// CHECK-NEXT: },
1380// CHECK-NEXT: "range": {
1381// CHECK-NEXT: "begin": {
1382// CHECK-NEXT: "col": 1,
1383// CHECK-NEXT: "file": "{{.*}}",
1384// CHECK-NEXT: "line": 60
1385// CHECK-NEXT: },
1386// CHECK-NEXT: "end": {
1387// CHECK-NEXT: "col": 1,
1388// CHECK-NEXT: "file": "{{.*}}",
1389// CHECK-NEXT: "line": 75
1390// CHECK-NEXT: }
1391// CHECK-NEXT: },
1392// CHECK-NEXT: "name": "TestUnaryExpressions",
1393// CHECK-NEXT: "templateParams": [
1394// CHECK-NEXT: {
1395// CHECK-NEXT: "id": "0x{{.*}}",
1396// CHECK-NEXT: "kind": "TemplateTypeParmDecl",
1397// CHECK-NEXT: "loc": {
1398// CHECK-NEXT: "col": 23,
1399// CHECK-NEXT: "file": "{{.*}}",
1400// CHECK-NEXT: "line": 60
1401// CHECK-NEXT: },
1402// CHECK-NEXT: "range": {
1403// CHECK-NEXT: "begin": {
1404// CHECK-NEXT: "col": 11,
1405// CHECK-NEXT: "file": "{{.*}}",
1406// CHECK-NEXT: "line": 60
1407// CHECK-NEXT: },
1408// CHECK-NEXT: "end": {
1409// CHECK-NEXT: "col": 23,
1410// CHECK-NEXT: "file": "{{.*}}",
1411// CHECK-NEXT: "line": 60
1412// CHECK-NEXT: }
1413// CHECK-NEXT: },
1414// CHECK-NEXT: "isReferenced": true,
1415// CHECK-NEXT: "name": "Ts",
1416// CHECK-NEXT: "tagUsed": "typename",
1417// CHECK-NEXT: "depth": 0,
1418// CHECK-NEXT: "index": 0,
1419// CHECK-NEXT: "isParameterPack": true
1420// CHECK-NEXT: }
1421// CHECK-NEXT: ],
1422// CHECK-NEXT: "inner": [
1423// CHECK-NEXT: {
1424// CHECK-NEXT: "id": "0x{{.*}}",
1425// CHECK-NEXT: "kind": "FunctionDecl",
1426// CHECK-NEXT: "loc": {
1427// CHECK-NEXT: "col": 6,
1428// CHECK-NEXT: "file": "{{.*}}",
1429// CHECK-NEXT: "line": 61
1430// CHECK-NEXT: },
1431// CHECK-NEXT: "range": {
1432// CHECK-NEXT: "begin": {
1433// CHECK-NEXT: "col": 1,
1434// CHECK-NEXT: "file": "{{.*}}",
1435// CHECK-NEXT: "line": 61
1436// CHECK-NEXT: },
1437// CHECK-NEXT: "end": {
1438// CHECK-NEXT: "col": 1,
1439// CHECK-NEXT: "file": "{{.*}}",
1440// CHECK-NEXT: "line": 75
1441// CHECK-NEXT: }
1442// CHECK-NEXT: },
1443// CHECK-NEXT: "name": "TestUnaryExpressions",
1444// CHECK-NEXT: "type": {
1445// CHECK-NEXT: "qualType": "void (int *)"
1446// CHECK-NEXT: },
1447// CHECK-NEXT: "inner": [
1448// CHECK-NEXT: {
1449// CHECK-NEXT: "id": "0x{{.*}}",
1450// CHECK-NEXT: "kind": "ParmVarDecl",
1451// CHECK-NEXT: "loc": {
1452// CHECK-NEXT: "col": 32,
1453// CHECK-NEXT: "file": "{{.*}}",
1454// CHECK-NEXT: "line": 61
1455// CHECK-NEXT: },
1456// CHECK-NEXT: "range": {
1457// CHECK-NEXT: "begin": {
1458// CHECK-NEXT: "col": 27,
1459// CHECK-NEXT: "file": "{{.*}}",
1460// CHECK-NEXT: "line": 61
1461// CHECK-NEXT: },
1462// CHECK-NEXT: "end": {
1463// CHECK-NEXT: "col": 32,
1464// CHECK-NEXT: "file": "{{.*}}",
1465// CHECK-NEXT: "line": 61
1466// CHECK-NEXT: }
1467// CHECK-NEXT: },
1468// CHECK-NEXT: "isReferenced": true,
1469// CHECK-NEXT: "name": "p",
1470// CHECK-NEXT: "type": {
1471// CHECK-NEXT: "qualType": "int *"
1472// CHECK-NEXT: }
1473// CHECK-NEXT: },
1474// CHECK-NEXT: {
1475// CHECK-NEXT: "id": "0x{{.*}}",
1476// CHECK-NEXT: "kind": "CompoundStmt",
1477// CHECK-NEXT: "range": {
1478// CHECK-NEXT: "begin": {
1479// CHECK-NEXT: "col": 35,
1480// CHECK-NEXT: "file": "{{.*}}",
1481// CHECK-NEXT: "line": 61
1482// CHECK-NEXT: },
1483// CHECK-NEXT: "end": {
1484// CHECK-NEXT: "col": 1,
1485// CHECK-NEXT: "file": "{{.*}}",
1486// CHECK-NEXT: "line": 75
1487// CHECK-NEXT: }
1488// CHECK-NEXT: },
1489// CHECK-NEXT: "inner": [
1490// CHECK-NEXT: {
1491// CHECK-NEXT: "id": "0x{{.*}}",
1492// CHECK-NEXT: "kind": "SizeOfPackExpr",
1493// CHECK-NEXT: "range": {
1494// CHECK-NEXT: "begin": {
1495// CHECK-NEXT: "col": 3,
1496// CHECK-NEXT: "file": "{{.*}}",
1497// CHECK-NEXT: "line": 62
1498// CHECK-NEXT: },
1499// CHECK-NEXT: "end": {
1500// CHECK-NEXT: "col": 15,
1501// CHECK-NEXT: "file": "{{.*}}",
1502// CHECK-NEXT: "line": 62
1503// CHECK-NEXT: }
1504// CHECK-NEXT: },
1505// CHECK-NEXT: "type": {
1506// CHECK-NEXT: "qualType": "unsigned long"
1507// CHECK-NEXT: },
Aaron Ballmanbcc0ced2019-05-27 14:17:32 +00001508// CHECK-NEXT: "valueCategory": "rvalue",
1509// CHECK-NEXT: "name": "Ts"
Aaron Ballman80d5d162019-05-27 14:12:48 +00001510// CHECK-NEXT: },
1511// CHECK-NEXT: {
1512// CHECK-NEXT: "id": "0x{{.*}}",
1513// CHECK-NEXT: "kind": "CXXNoexceptExpr",
1514// CHECK-NEXT: "range": {
1515// CHECK-NEXT: "begin": {
1516// CHECK-NEXT: "col": 3,
1517// CHECK-NEXT: "file": "{{.*}}",
1518// CHECK-NEXT: "line": 63
1519// CHECK-NEXT: },
1520// CHECK-NEXT: "end": {
1521// CHECK-NEXT: "col": 17,
1522// CHECK-NEXT: "file": "{{.*}}",
1523// CHECK-NEXT: "line": 63
1524// CHECK-NEXT: }
1525// CHECK-NEXT: },
1526// CHECK-NEXT: "type": {
1527// CHECK-NEXT: "qualType": "bool"
1528// CHECK-NEXT: },
1529// CHECK-NEXT: "valueCategory": "rvalue",
1530// CHECK-NEXT: "inner": [
1531// CHECK-NEXT: {
1532// CHECK-NEXT: "id": "0x{{.*}}",
1533// CHECK-NEXT: "kind": "BinaryOperator",
1534// CHECK-NEXT: "range": {
1535// CHECK-NEXT: "begin": {
1536// CHECK-NEXT: "col": 12,
1537// CHECK-NEXT: "file": "{{.*}}",
1538// CHECK-NEXT: "line": 63
1539// CHECK-NEXT: },
1540// CHECK-NEXT: "end": {
1541// CHECK-NEXT: "col": 16,
1542// CHECK-NEXT: "file": "{{.*}}",
1543// CHECK-NEXT: "line": 63
1544// CHECK-NEXT: }
1545// CHECK-NEXT: },
1546// CHECK-NEXT: "type": {
1547// CHECK-NEXT: "qualType": "long"
1548// CHECK-NEXT: },
1549// CHECK-NEXT: "valueCategory": "rvalue",
1550// CHECK-NEXT: "opcode": "-",
1551// CHECK-NEXT: "inner": [
1552// CHECK-NEXT: {
1553// CHECK-NEXT: "id": "0x{{.*}}",
1554// CHECK-NEXT: "kind": "ImplicitCastExpr",
1555// CHECK-NEXT: "range": {
1556// CHECK-NEXT: "begin": {
1557// CHECK-NEXT: "col": 12,
1558// CHECK-NEXT: "file": "{{.*}}",
1559// CHECK-NEXT: "line": 63
1560// CHECK-NEXT: },
1561// CHECK-NEXT: "end": {
1562// CHECK-NEXT: "col": 12,
1563// CHECK-NEXT: "file": "{{.*}}",
1564// CHECK-NEXT: "line": 63
1565// CHECK-NEXT: }
1566// CHECK-NEXT: },
1567// CHECK-NEXT: "type": {
1568// CHECK-NEXT: "qualType": "int *"
1569// CHECK-NEXT: },
1570// CHECK-NEXT: "valueCategory": "rvalue",
1571// CHECK-NEXT: "castKind": "LValueToRValue",
1572// CHECK-NEXT: "inner": [
1573// CHECK-NEXT: {
1574// CHECK-NEXT: "id": "0x{{.*}}",
1575// CHECK-NEXT: "kind": "DeclRefExpr",
1576// CHECK-NEXT: "range": {
1577// CHECK-NEXT: "begin": {
1578// CHECK-NEXT: "col": 12,
1579// CHECK-NEXT: "file": "{{.*}}",
1580// CHECK-NEXT: "line": 63
1581// CHECK-NEXT: },
1582// CHECK-NEXT: "end": {
1583// CHECK-NEXT: "col": 12,
1584// CHECK-NEXT: "file": "{{.*}}",
1585// CHECK-NEXT: "line": 63
1586// CHECK-NEXT: }
1587// CHECK-NEXT: },
1588// CHECK-NEXT: "type": {
1589// CHECK-NEXT: "qualType": "int *"
1590// CHECK-NEXT: },
1591// CHECK-NEXT: "valueCategory": "lvalue",
1592// CHECK-NEXT: "referencedDecl": {
1593// CHECK-NEXT: "id": "0x{{.*}}",
1594// CHECK-NEXT: "kind": "ParmVarDecl",
1595// CHECK-NEXT: "name": "p",
1596// CHECK-NEXT: "type": {
1597// CHECK-NEXT: "qualType": "int *"
1598// CHECK-NEXT: }
1599// CHECK-NEXT: }
1600// CHECK-NEXT: }
1601// CHECK-NEXT: ]
1602// CHECK-NEXT: },
1603// CHECK-NEXT: {
1604// CHECK-NEXT: "id": "0x{{.*}}",
1605// CHECK-NEXT: "kind": "ImplicitCastExpr",
1606// CHECK-NEXT: "range": {
1607// CHECK-NEXT: "begin": {
1608// CHECK-NEXT: "col": 16,
1609// CHECK-NEXT: "file": "{{.*}}",
1610// CHECK-NEXT: "line": 63
1611// CHECK-NEXT: },
1612// CHECK-NEXT: "end": {
1613// CHECK-NEXT: "col": 16,
1614// CHECK-NEXT: "file": "{{.*}}",
1615// CHECK-NEXT: "line": 63
1616// CHECK-NEXT: }
1617// CHECK-NEXT: },
1618// CHECK-NEXT: "type": {
1619// CHECK-NEXT: "qualType": "int *"
1620// CHECK-NEXT: },
1621// CHECK-NEXT: "valueCategory": "rvalue",
1622// CHECK-NEXT: "castKind": "LValueToRValue",
1623// CHECK-NEXT: "inner": [
1624// CHECK-NEXT: {
1625// CHECK-NEXT: "id": "0x{{.*}}",
1626// CHECK-NEXT: "kind": "DeclRefExpr",
1627// CHECK-NEXT: "range": {
1628// CHECK-NEXT: "begin": {
1629// CHECK-NEXT: "col": 16,
1630// CHECK-NEXT: "file": "{{.*}}",
1631// CHECK-NEXT: "line": 63
1632// CHECK-NEXT: },
1633// CHECK-NEXT: "end": {
1634// CHECK-NEXT: "col": 16,
1635// CHECK-NEXT: "file": "{{.*}}",
1636// CHECK-NEXT: "line": 63
1637// CHECK-NEXT: }
1638// CHECK-NEXT: },
1639// CHECK-NEXT: "type": {
1640// CHECK-NEXT: "qualType": "int *"
1641// CHECK-NEXT: },
1642// CHECK-NEXT: "valueCategory": "lvalue",
1643// CHECK-NEXT: "referencedDecl": {
1644// CHECK-NEXT: "id": "0x{{.*}}",
1645// CHECK-NEXT: "kind": "ParmVarDecl",
1646// CHECK-NEXT: "name": "p",
1647// CHECK-NEXT: "type": {
1648// CHECK-NEXT: "qualType": "int *"
1649// CHECK-NEXT: }
1650// CHECK-NEXT: }
1651// CHECK-NEXT: }
1652// CHECK-NEXT: ]
1653// CHECK-NEXT: }
1654// CHECK-NEXT: ]
1655// CHECK-NEXT: }
1656// CHECK-NEXT: ]
1657// CHECK-NEXT: },
1658// CHECK-NEXT: {
1659// CHECK-NEXT: "id": "0x{{.*}}",
1660// CHECK-NEXT: "kind": "CXXNewExpr",
1661// CHECK-NEXT: "range": {
1662// CHECK-NEXT: "begin": {
1663// CHECK-NEXT: "col": 3,
1664// CHECK-NEXT: "file": "{{.*}}",
1665// CHECK-NEXT: "line": 65
1666// CHECK-NEXT: },
1667// CHECK-NEXT: "end": {
1668// CHECK-NEXT: "col": 9,
1669// CHECK-NEXT: "file": "{{.*}}",
1670// CHECK-NEXT: "line": 65
1671// CHECK-NEXT: }
1672// CHECK-NEXT: },
1673// CHECK-NEXT: "type": {
1674// CHECK-NEXT: "qualType": "int *"
1675// CHECK-NEXT: },
1676// CHECK-NEXT: "valueCategory": "rvalue",
1677// CHECK-NEXT: "isGlobal": true,
1678// CHECK-NEXT: "operatorNewDecl": {
1679// CHECK-NEXT: "id": "0x{{.*}}",
1680// CHECK-NEXT: "kind": "FunctionDecl",
1681// CHECK-NEXT: "name": "operator new",
1682// CHECK-NEXT: "type": {
1683// CHECK-NEXT: "qualType": "void *(unsigned long)"
1684// CHECK-NEXT: }
1685// CHECK-NEXT: }
1686// CHECK-NEXT: },
1687// CHECK-NEXT: {
1688// CHECK-NEXT: "id": "0x{{.*}}",
1689// CHECK-NEXT: "kind": "CXXNewExpr",
1690// CHECK-NEXT: "range": {
1691// CHECK-NEXT: "begin": {
1692// CHECK-NEXT: "col": 3,
1693// CHECK-NEXT: "file": "{{.*}}",
1694// CHECK-NEXT: "line": 66
1695// CHECK-NEXT: },
1696// CHECK-NEXT: "end": {
1697// CHECK-NEXT: "col": 11,
1698// CHECK-NEXT: "file": "{{.*}}",
1699// CHECK-NEXT: "line": 66
1700// CHECK-NEXT: }
1701// CHECK-NEXT: },
1702// CHECK-NEXT: "type": {
1703// CHECK-NEXT: "qualType": "int *"
1704// CHECK-NEXT: },
1705// CHECK-NEXT: "valueCategory": "rvalue",
1706// CHECK-NEXT: "operatorNewDecl": {
1707// CHECK-NEXT: "id": "0x{{.*}}",
1708// CHECK-NEXT: "kind": "FunctionDecl",
1709// CHECK-NEXT: "name": "operator new",
1710// CHECK-NEXT: "type": {
1711// CHECK-NEXT: "qualType": "void *(unsigned long)"
1712// CHECK-NEXT: }
1713// CHECK-NEXT: }
1714// CHECK-NEXT: },
1715// CHECK-NEXT: {
1716// CHECK-NEXT: "id": "0x{{.*}}",
1717// CHECK-NEXT: "kind": "CXXNewExpr",
1718// CHECK-NEXT: "range": {
1719// CHECK-NEXT: "begin": {
1720// CHECK-NEXT: "col": 3,
1721// CHECK-NEXT: "file": "{{.*}}",
1722// CHECK-NEXT: "line": 67
1723// CHECK-NEXT: },
1724// CHECK-NEXT: "end": {
1725// CHECK-NEXT: "col": 13,
1726// CHECK-NEXT: "file": "{{.*}}",
1727// CHECK-NEXT: "line": 67
1728// CHECK-NEXT: }
1729// CHECK-NEXT: },
1730// CHECK-NEXT: "type": {
1731// CHECK-NEXT: "qualType": "int *"
1732// CHECK-NEXT: },
1733// CHECK-NEXT: "valueCategory": "rvalue",
1734// CHECK-NEXT: "initStyle": "list",
1735// CHECK-NEXT: "operatorNewDecl": {
1736// CHECK-NEXT: "id": "0x{{.*}}",
1737// CHECK-NEXT: "kind": "FunctionDecl",
1738// CHECK-NEXT: "name": "operator new",
1739// CHECK-NEXT: "type": {
1740// CHECK-NEXT: "qualType": "void *(unsigned long)"
1741// CHECK-NEXT: }
1742// CHECK-NEXT: },
1743// CHECK-NEXT: "inner": [
1744// CHECK-NEXT: {
1745// CHECK-NEXT: "id": "0x{{.*}}",
1746// CHECK-NEXT: "kind": "InitListExpr",
1747// CHECK-NEXT: "range": {
1748// CHECK-NEXT: "begin": {
1749// CHECK-NEXT: "col": 10,
1750// CHECK-NEXT: "file": "{{.*}}",
1751// CHECK-NEXT: "line": 67
1752// CHECK-NEXT: },
1753// CHECK-NEXT: "end": {
1754// CHECK-NEXT: "col": 13,
1755// CHECK-NEXT: "file": "{{.*}}",
1756// CHECK-NEXT: "line": 67
1757// CHECK-NEXT: }
1758// CHECK-NEXT: },
1759// CHECK-NEXT: "type": {
1760// CHECK-NEXT: "qualType": "int"
1761// CHECK-NEXT: },
1762// CHECK-NEXT: "valueCategory": "rvalue",
1763// CHECK-NEXT: "inner": [
1764// CHECK-NEXT: {
1765// CHECK-NEXT: "id": "0x{{.*}}",
1766// CHECK-NEXT: "kind": "IntegerLiteral",
1767// CHECK-NEXT: "range": {
1768// CHECK-NEXT: "begin": {
1769// CHECK-NEXT: "col": 11,
1770// CHECK-NEXT: "file": "{{.*}}",
1771// CHECK-NEXT: "line": 67
1772// CHECK-NEXT: },
1773// CHECK-NEXT: "end": {
1774// CHECK-NEXT: "col": 11,
1775// CHECK-NEXT: "file": "{{.*}}",
1776// CHECK-NEXT: "line": 67
1777// CHECK-NEXT: }
1778// CHECK-NEXT: },
1779// CHECK-NEXT: "type": {
1780// CHECK-NEXT: "qualType": "int"
1781// CHECK-NEXT: },
1782// CHECK-NEXT: "valueCategory": "rvalue",
1783// CHECK-NEXT: "value": "12"
1784// CHECK-NEXT: }
1785// CHECK-NEXT: ]
1786// CHECK-NEXT: }
1787// CHECK-NEXT: ]
1788// CHECK-NEXT: },
1789// CHECK-NEXT: {
1790// CHECK-NEXT: "id": "0x{{.*}}",
1791// CHECK-NEXT: "kind": "CXXNewExpr",
1792// CHECK-NEXT: "range": {
1793// CHECK-NEXT: "begin": {
1794// CHECK-NEXT: "col": 3,
1795// CHECK-NEXT: "file": "{{.*}}",
1796// CHECK-NEXT: "line": 68
1797// CHECK-NEXT: },
1798// CHECK-NEXT: "end": {
1799// CHECK-NEXT: "col": 12,
1800// CHECK-NEXT: "file": "{{.*}}",
1801// CHECK-NEXT: "line": 68
1802// CHECK-NEXT: }
1803// CHECK-NEXT: },
1804// CHECK-NEXT: "type": {
1805// CHECK-NEXT: "qualType": "int *"
1806// CHECK-NEXT: },
1807// CHECK-NEXT: "valueCategory": "rvalue",
1808// CHECK-NEXT: "isArray": true,
1809// CHECK-NEXT: "operatorNewDecl": {
1810// CHECK-NEXT: "id": "0x{{.*}}",
1811// CHECK-NEXT: "kind": "FunctionDecl",
1812// CHECK-NEXT: "name": "operator new[]",
1813// CHECK-NEXT: "type": {
1814// CHECK-NEXT: "qualType": "void *(unsigned long)"
1815// CHECK-NEXT: }
1816// CHECK-NEXT: },
1817// CHECK-NEXT: "inner": [
1818// CHECK-NEXT: {
1819// CHECK-NEXT: "id": "0x{{.*}}",
1820// CHECK-NEXT: "kind": "ImplicitCastExpr",
1821// CHECK-NEXT: "range": {
1822// CHECK-NEXT: "begin": {
1823// CHECK-NEXT: "col": 11,
1824// CHECK-NEXT: "file": "{{.*}}",
1825// CHECK-NEXT: "line": 68
1826// CHECK-NEXT: },
1827// CHECK-NEXT: "end": {
1828// CHECK-NEXT: "col": 11,
1829// CHECK-NEXT: "file": "{{.*}}",
1830// CHECK-NEXT: "line": 68
1831// CHECK-NEXT: }
1832// CHECK-NEXT: },
1833// CHECK-NEXT: "type": {
1834// CHECK-NEXT: "qualType": "unsigned long"
1835// CHECK-NEXT: },
1836// CHECK-NEXT: "valueCategory": "rvalue",
1837// CHECK-NEXT: "castKind": "IntegralCast",
1838// CHECK-NEXT: "inner": [
1839// CHECK-NEXT: {
1840// CHECK-NEXT: "id": "0x{{.*}}",
1841// CHECK-NEXT: "kind": "IntegerLiteral",
1842// CHECK-NEXT: "range": {
1843// CHECK-NEXT: "begin": {
1844// CHECK-NEXT: "col": 11,
1845// CHECK-NEXT: "file": "{{.*}}",
1846// CHECK-NEXT: "line": 68
1847// CHECK-NEXT: },
1848// CHECK-NEXT: "end": {
1849// CHECK-NEXT: "col": 11,
1850// CHECK-NEXT: "file": "{{.*}}",
1851// CHECK-NEXT: "line": 68
1852// CHECK-NEXT: }
1853// CHECK-NEXT: },
1854// CHECK-NEXT: "type": {
1855// CHECK-NEXT: "qualType": "int"
1856// CHECK-NEXT: },
1857// CHECK-NEXT: "valueCategory": "rvalue",
1858// CHECK-NEXT: "value": "2"
1859// CHECK-NEXT: }
1860// CHECK-NEXT: ]
1861// CHECK-NEXT: }
1862// CHECK-NEXT: ]
1863// CHECK-NEXT: },
1864// CHECK-NEXT: {
1865// CHECK-NEXT: "id": "0x{{.*}}",
1866// CHECK-NEXT: "kind": "CXXNewExpr",
1867// CHECK-NEXT: "range": {
1868// CHECK-NEXT: "begin": {
1869// CHECK-NEXT: "col": 3,
1870// CHECK-NEXT: "file": "{{.*}}",
1871// CHECK-NEXT: "line": 69
1872// CHECK-NEXT: },
1873// CHECK-NEXT: "end": {
1874// CHECK-NEXT: "col": 18,
1875// CHECK-NEXT: "file": "{{.*}}",
1876// CHECK-NEXT: "line": 69
1877// CHECK-NEXT: }
1878// CHECK-NEXT: },
1879// CHECK-NEXT: "type": {
1880// CHECK-NEXT: "qualType": "int *"
1881// CHECK-NEXT: },
1882// CHECK-NEXT: "valueCategory": "rvalue",
1883// CHECK-NEXT: "isArray": true,
1884// CHECK-NEXT: "initStyle": "list",
1885// CHECK-NEXT: "operatorNewDecl": {
1886// CHECK-NEXT: "id": "0x{{.*}}",
1887// CHECK-NEXT: "kind": "FunctionDecl",
1888// CHECK-NEXT: "name": "operator new[]",
1889// CHECK-NEXT: "type": {
1890// CHECK-NEXT: "qualType": "void *(unsigned long)"
1891// CHECK-NEXT: }
1892// CHECK-NEXT: },
1893// CHECK-NEXT: "inner": [
1894// CHECK-NEXT: {
1895// CHECK-NEXT: "id": "0x{{.*}}",
1896// CHECK-NEXT: "kind": "ImplicitCastExpr",
1897// CHECK-NEXT: "range": {
1898// CHECK-NEXT: "begin": {
1899// CHECK-NEXT: "col": 11,
1900// CHECK-NEXT: "file": "{{.*}}",
1901// CHECK-NEXT: "line": 69
1902// CHECK-NEXT: },
1903// CHECK-NEXT: "end": {
1904// CHECK-NEXT: "col": 11,
1905// CHECK-NEXT: "file": "{{.*}}",
1906// CHECK-NEXT: "line": 69
1907// CHECK-NEXT: }
1908// CHECK-NEXT: },
1909// CHECK-NEXT: "type": {
1910// CHECK-NEXT: "qualType": "unsigned long"
1911// CHECK-NEXT: },
1912// CHECK-NEXT: "valueCategory": "rvalue",
1913// CHECK-NEXT: "castKind": "IntegralCast",
1914// CHECK-NEXT: "inner": [
1915// CHECK-NEXT: {
1916// CHECK-NEXT: "id": "0x{{.*}}",
1917// CHECK-NEXT: "kind": "IntegerLiteral",
1918// CHECK-NEXT: "range": {
1919// CHECK-NEXT: "begin": {
1920// CHECK-NEXT: "col": 11,
1921// CHECK-NEXT: "file": "{{.*}}",
1922// CHECK-NEXT: "line": 69
1923// CHECK-NEXT: },
1924// CHECK-NEXT: "end": {
1925// CHECK-NEXT: "col": 11,
1926// CHECK-NEXT: "file": "{{.*}}",
1927// CHECK-NEXT: "line": 69
1928// CHECK-NEXT: }
1929// CHECK-NEXT: },
1930// CHECK-NEXT: "type": {
1931// CHECK-NEXT: "qualType": "int"
1932// CHECK-NEXT: },
1933// CHECK-NEXT: "valueCategory": "rvalue",
1934// CHECK-NEXT: "value": "2"
1935// CHECK-NEXT: }
1936// CHECK-NEXT: ]
1937// CHECK-NEXT: },
1938// CHECK-NEXT: {
1939// CHECK-NEXT: "id": "0x{{.*}}",
1940// CHECK-NEXT: "kind": "InitListExpr",
1941// CHECK-NEXT: "range": {
1942// CHECK-NEXT: "begin": {
1943// CHECK-NEXT: "col": 13,
1944// CHECK-NEXT: "file": "{{.*}}",
1945// CHECK-NEXT: "line": 69
1946// CHECK-NEXT: },
1947// CHECK-NEXT: "end": {
1948// CHECK-NEXT: "col": 18,
1949// CHECK-NEXT: "file": "{{.*}}",
1950// CHECK-NEXT: "line": 69
1951// CHECK-NEXT: }
1952// CHECK-NEXT: },
1953// CHECK-NEXT: "type": {
1954// CHECK-NEXT: "qualType": "int [2]"
1955// CHECK-NEXT: },
1956// CHECK-NEXT: "valueCategory": "rvalue",
1957// CHECK-NEXT: "inner": [
1958// CHECK-NEXT: {
1959// CHECK-NEXT: "id": "0x{{.*}}",
1960// CHECK-NEXT: "kind": "IntegerLiteral",
1961// CHECK-NEXT: "range": {
1962// CHECK-NEXT: "begin": {
1963// CHECK-NEXT: "col": 14,
1964// CHECK-NEXT: "file": "{{.*}}",
1965// CHECK-NEXT: "line": 69
1966// CHECK-NEXT: },
1967// CHECK-NEXT: "end": {
1968// CHECK-NEXT: "col": 14,
1969// CHECK-NEXT: "file": "{{.*}}",
1970// CHECK-NEXT: "line": 69
1971// CHECK-NEXT: }
1972// CHECK-NEXT: },
1973// CHECK-NEXT: "type": {
1974// CHECK-NEXT: "qualType": "int"
1975// CHECK-NEXT: },
1976// CHECK-NEXT: "valueCategory": "rvalue",
1977// CHECK-NEXT: "value": "1"
1978// CHECK-NEXT: },
1979// CHECK-NEXT: {
1980// CHECK-NEXT: "id": "0x{{.*}}",
1981// CHECK-NEXT: "kind": "IntegerLiteral",
1982// CHECK-NEXT: "range": {
1983// CHECK-NEXT: "begin": {
1984// CHECK-NEXT: "col": 17,
1985// CHECK-NEXT: "file": "{{.*}}",
1986// CHECK-NEXT: "line": 69
1987// CHECK-NEXT: },
1988// CHECK-NEXT: "end": {
1989// CHECK-NEXT: "col": 17,
1990// CHECK-NEXT: "file": "{{.*}}",
1991// CHECK-NEXT: "line": 69
1992// CHECK-NEXT: }
1993// CHECK-NEXT: },
1994// CHECK-NEXT: "type": {
1995// CHECK-NEXT: "qualType": "int"
1996// CHECK-NEXT: },
1997// CHECK-NEXT: "valueCategory": "rvalue",
1998// CHECK-NEXT: "value": "2"
1999// CHECK-NEXT: }
2000// CHECK-NEXT: ]
2001// CHECK-NEXT: }
2002// CHECK-NEXT: ]
2003// CHECK-NEXT: },
2004// CHECK-NEXT: {
2005// CHECK-NEXT: "id": "0x{{.*}}",
2006// CHECK-NEXT: "kind": "CXXNewExpr",
2007// CHECK-NEXT: "range": {
2008// CHECK-NEXT: "begin": {
2009// CHECK-NEXT: "col": 3,
2010// CHECK-NEXT: "file": "{{.*}}",
2011// CHECK-NEXT: "line": 70
2012// CHECK-NEXT: },
2013// CHECK-NEXT: "end": {
2014// CHECK-NEXT: "col": 11,
2015// CHECK-NEXT: "file": "{{.*}}",
2016// CHECK-NEXT: "line": 70
2017// CHECK-NEXT: }
2018// CHECK-NEXT: },
2019// CHECK-NEXT: "type": {
2020// CHECK-NEXT: "qualType": "int *"
2021// CHECK-NEXT: },
2022// CHECK-NEXT: "valueCategory": "rvalue",
2023// CHECK-NEXT: "isPlacement": true,
2024// CHECK-NEXT: "operatorNewDecl": {
2025// CHECK-NEXT: "id": "0x{{.*}}",
2026// CHECK-NEXT: "kind": "FunctionDecl",
2027// CHECK-NEXT: "name": "operator new",
2028// CHECK-NEXT: "type": {
2029// CHECK-NEXT: "qualType": "void *(std::size_t, void *)"
2030// CHECK-NEXT: }
2031// CHECK-NEXT: },
2032// CHECK-NEXT: "inner": [
2033// CHECK-NEXT: {
2034// CHECK-NEXT: "id": "0x{{.*}}",
2035// CHECK-NEXT: "kind": "ImplicitCastExpr",
2036// CHECK-NEXT: "range": {
2037// CHECK-NEXT: "begin": {
2038// CHECK-NEXT: "col": 8,
2039// CHECK-NEXT: "file": "{{.*}}",
2040// CHECK-NEXT: "line": 70
2041// CHECK-NEXT: },
2042// CHECK-NEXT: "end": {
2043// CHECK-NEXT: "col": 8,
2044// CHECK-NEXT: "file": "{{.*}}",
2045// CHECK-NEXT: "line": 70
2046// CHECK-NEXT: }
2047// CHECK-NEXT: },
2048// CHECK-NEXT: "type": {
2049// CHECK-NEXT: "qualType": "void *"
2050// CHECK-NEXT: },
2051// CHECK-NEXT: "valueCategory": "rvalue",
2052// CHECK-NEXT: "castKind": "BitCast",
2053// CHECK-NEXT: "inner": [
2054// CHECK-NEXT: {
2055// CHECK-NEXT: "id": "0x{{.*}}",
2056// CHECK-NEXT: "kind": "ImplicitCastExpr",
2057// CHECK-NEXT: "range": {
2058// CHECK-NEXT: "begin": {
2059// CHECK-NEXT: "col": 8,
2060// CHECK-NEXT: "file": "{{.*}}",
2061// CHECK-NEXT: "line": 70
2062// CHECK-NEXT: },
2063// CHECK-NEXT: "end": {
2064// CHECK-NEXT: "col": 8,
2065// CHECK-NEXT: "file": "{{.*}}",
2066// CHECK-NEXT: "line": 70
2067// CHECK-NEXT: }
2068// CHECK-NEXT: },
2069// CHECK-NEXT: "type": {
2070// CHECK-NEXT: "qualType": "int *"
2071// CHECK-NEXT: },
2072// CHECK-NEXT: "valueCategory": "rvalue",
2073// CHECK-NEXT: "castKind": "LValueToRValue",
2074// CHECK-NEXT: "inner": [
2075// CHECK-NEXT: {
2076// CHECK-NEXT: "id": "0x{{.*}}",
2077// CHECK-NEXT: "kind": "DeclRefExpr",
2078// CHECK-NEXT: "range": {
2079// CHECK-NEXT: "begin": {
2080// CHECK-NEXT: "col": 8,
2081// CHECK-NEXT: "file": "{{.*}}",
2082// CHECK-NEXT: "line": 70
2083// CHECK-NEXT: },
2084// CHECK-NEXT: "end": {
2085// CHECK-NEXT: "col": 8,
2086// CHECK-NEXT: "file": "{{.*}}",
2087// CHECK-NEXT: "line": 70
2088// CHECK-NEXT: }
2089// CHECK-NEXT: },
2090// CHECK-NEXT: "type": {
2091// CHECK-NEXT: "qualType": "int *"
2092// CHECK-NEXT: },
2093// CHECK-NEXT: "valueCategory": "lvalue",
2094// CHECK-NEXT: "referencedDecl": {
2095// CHECK-NEXT: "id": "0x{{.*}}",
2096// CHECK-NEXT: "kind": "ParmVarDecl",
2097// CHECK-NEXT: "name": "p",
2098// CHECK-NEXT: "type": {
2099// CHECK-NEXT: "qualType": "int *"
2100// CHECK-NEXT: }
2101// CHECK-NEXT: }
2102// CHECK-NEXT: }
2103// CHECK-NEXT: ]
2104// CHECK-NEXT: }
2105// CHECK-NEXT: ]
2106// CHECK-NEXT: }
2107// CHECK-NEXT: ]
2108// CHECK-NEXT: },
2109// CHECK-NEXT: {
2110// CHECK-NEXT: "id": "0x{{.*}}",
2111// CHECK-NEXT: "kind": "CXXNewExpr",
2112// CHECK-NEXT: "range": {
2113// CHECK-NEXT: "begin": {
2114// CHECK-NEXT: "col": 3,
2115// CHECK-NEXT: "file": "{{.*}}",
2116// CHECK-NEXT: "line": 71
2117// CHECK-NEXT: },
2118// CHECK-NEXT: "end": {
2119// CHECK-NEXT: "col": 17,
2120// CHECK-NEXT: "file": "{{.*}}",
2121// CHECK-NEXT: "line": 71
2122// CHECK-NEXT: }
2123// CHECK-NEXT: },
2124// CHECK-NEXT: "type": {
2125// CHECK-NEXT: "qualType": "int *"
2126// CHECK-NEXT: },
2127// CHECK-NEXT: "valueCategory": "rvalue",
2128// CHECK-NEXT: "isPlacement": true,
2129// CHECK-NEXT: "initStyle": "list",
2130// CHECK-NEXT: "operatorNewDecl": {
2131// CHECK-NEXT: "id": "0x{{.*}}",
2132// CHECK-NEXT: "kind": "FunctionDecl",
2133// CHECK-NEXT: "name": "operator new",
2134// CHECK-NEXT: "type": {
2135// CHECK-NEXT: "qualType": "void *(std::size_t, void *)"
2136// CHECK-NEXT: }
2137// CHECK-NEXT: },
2138// CHECK-NEXT: "inner": [
2139// CHECK-NEXT: {
2140// CHECK-NEXT: "id": "0x{{.*}}",
2141// CHECK-NEXT: "kind": "InitListExpr",
2142// CHECK-NEXT: "range": {
2143// CHECK-NEXT: "begin": {
2144// CHECK-NEXT: "col": 14,
2145// CHECK-NEXT: "file": "{{.*}}",
2146// CHECK-NEXT: "line": 71
2147// CHECK-NEXT: },
2148// CHECK-NEXT: "end": {
2149// CHECK-NEXT: "col": 17,
2150// CHECK-NEXT: "file": "{{.*}}",
2151// CHECK-NEXT: "line": 71
2152// CHECK-NEXT: }
2153// CHECK-NEXT: },
2154// CHECK-NEXT: "type": {
2155// CHECK-NEXT: "qualType": "int"
2156// CHECK-NEXT: },
2157// CHECK-NEXT: "valueCategory": "rvalue",
2158// CHECK-NEXT: "inner": [
2159// CHECK-NEXT: {
2160// CHECK-NEXT: "id": "0x{{.*}}",
2161// CHECK-NEXT: "kind": "IntegerLiteral",
2162// CHECK-NEXT: "range": {
2163// CHECK-NEXT: "begin": {
2164// CHECK-NEXT: "col": 15,
2165// CHECK-NEXT: "file": "{{.*}}",
2166// CHECK-NEXT: "line": 71
2167// CHECK-NEXT: },
2168// CHECK-NEXT: "end": {
2169// CHECK-NEXT: "col": 15,
2170// CHECK-NEXT: "file": "{{.*}}",
2171// CHECK-NEXT: "line": 71
2172// CHECK-NEXT: }
2173// CHECK-NEXT: },
2174// CHECK-NEXT: "type": {
2175// CHECK-NEXT: "qualType": "int"
2176// CHECK-NEXT: },
2177// CHECK-NEXT: "valueCategory": "rvalue",
2178// CHECK-NEXT: "value": "12"
2179// CHECK-NEXT: }
2180// CHECK-NEXT: ]
2181// CHECK-NEXT: },
2182// CHECK-NEXT: {
2183// CHECK-NEXT: "id": "0x{{.*}}",
2184// CHECK-NEXT: "kind": "ImplicitCastExpr",
2185// CHECK-NEXT: "range": {
2186// CHECK-NEXT: "begin": {
2187// CHECK-NEXT: "col": 8,
2188// CHECK-NEXT: "file": "{{.*}}",
2189// CHECK-NEXT: "line": 71
2190// CHECK-NEXT: },
2191// CHECK-NEXT: "end": {
2192// CHECK-NEXT: "col": 8,
2193// CHECK-NEXT: "file": "{{.*}}",
2194// CHECK-NEXT: "line": 71
2195// CHECK-NEXT: }
2196// CHECK-NEXT: },
2197// CHECK-NEXT: "type": {
2198// CHECK-NEXT: "qualType": "void *"
2199// CHECK-NEXT: },
2200// CHECK-NEXT: "valueCategory": "rvalue",
2201// CHECK-NEXT: "castKind": "BitCast",
2202// CHECK-NEXT: "inner": [
2203// CHECK-NEXT: {
2204// CHECK-NEXT: "id": "0x{{.*}}",
2205// CHECK-NEXT: "kind": "ImplicitCastExpr",
2206// CHECK-NEXT: "range": {
2207// CHECK-NEXT: "begin": {
2208// CHECK-NEXT: "col": 8,
2209// CHECK-NEXT: "file": "{{.*}}",
2210// CHECK-NEXT: "line": 71
2211// CHECK-NEXT: },
2212// CHECK-NEXT: "end": {
2213// CHECK-NEXT: "col": 8,
2214// CHECK-NEXT: "file": "{{.*}}",
2215// CHECK-NEXT: "line": 71
2216// CHECK-NEXT: }
2217// CHECK-NEXT: },
2218// CHECK-NEXT: "type": {
2219// CHECK-NEXT: "qualType": "int *"
2220// CHECK-NEXT: },
2221// CHECK-NEXT: "valueCategory": "rvalue",
2222// CHECK-NEXT: "castKind": "LValueToRValue",
2223// CHECK-NEXT: "inner": [
2224// CHECK-NEXT: {
2225// CHECK-NEXT: "id": "0x{{.*}}",
2226// CHECK-NEXT: "kind": "DeclRefExpr",
2227// CHECK-NEXT: "range": {
2228// CHECK-NEXT: "begin": {
2229// CHECK-NEXT: "col": 8,
2230// CHECK-NEXT: "file": "{{.*}}",
2231// CHECK-NEXT: "line": 71
2232// CHECK-NEXT: },
2233// CHECK-NEXT: "end": {
2234// CHECK-NEXT: "col": 8,
2235// CHECK-NEXT: "file": "{{.*}}",
2236// CHECK-NEXT: "line": 71
2237// CHECK-NEXT: }
2238// CHECK-NEXT: },
2239// CHECK-NEXT: "type": {
2240// CHECK-NEXT: "qualType": "int *"
2241// CHECK-NEXT: },
2242// CHECK-NEXT: "valueCategory": "lvalue",
2243// CHECK-NEXT: "referencedDecl": {
2244// CHECK-NEXT: "id": "0x{{.*}}",
2245// CHECK-NEXT: "kind": "ParmVarDecl",
2246// CHECK-NEXT: "name": "p",
2247// CHECK-NEXT: "type": {
2248// CHECK-NEXT: "qualType": "int *"
2249// CHECK-NEXT: }
2250// CHECK-NEXT: }
2251// CHECK-NEXT: }
2252// CHECK-NEXT: ]
2253// CHECK-NEXT: }
2254// CHECK-NEXT: ]
2255// CHECK-NEXT: }
2256// CHECK-NEXT: ]
2257// CHECK-NEXT: },
2258// CHECK-NEXT: {
2259// CHECK-NEXT: "id": "0x{{.*}}",
2260// CHECK-NEXT: "kind": "CXXDeleteExpr",
2261// CHECK-NEXT: "range": {
2262// CHECK-NEXT: "begin": {
2263// CHECK-NEXT: "col": 3,
2264// CHECK-NEXT: "file": "{{.*}}",
2265// CHECK-NEXT: "line": 73
2266// CHECK-NEXT: },
2267// CHECK-NEXT: "end": {
2268// CHECK-NEXT: "col": 12,
2269// CHECK-NEXT: "file": "{{.*}}",
2270// CHECK-NEXT: "line": 73
2271// CHECK-NEXT: }
2272// CHECK-NEXT: },
2273// CHECK-NEXT: "type": {
2274// CHECK-NEXT: "qualType": "void"
2275// CHECK-NEXT: },
2276// CHECK-NEXT: "valueCategory": "rvalue",
2277// CHECK-NEXT: "isGlobal": true,
2278// CHECK-NEXT: "operatorDeleteDecl": {
2279// CHECK-NEXT: "id": "0x{{.*}}",
2280// CHECK-NEXT: "kind": "FunctionDecl",
2281// CHECK-NEXT: "name": "operator delete",
2282// CHECK-NEXT: "type": {
2283// CHECK-NEXT: "qualType": "void (void *) noexcept"
2284// CHECK-NEXT: }
2285// CHECK-NEXT: },
2286// CHECK-NEXT: "inner": [
2287// CHECK-NEXT: {
2288// CHECK-NEXT: "id": "0x{{.*}}",
2289// CHECK-NEXT: "kind": "ImplicitCastExpr",
2290// CHECK-NEXT: "range": {
2291// CHECK-NEXT: "begin": {
2292// CHECK-NEXT: "col": 12,
2293// CHECK-NEXT: "file": "{{.*}}",
2294// CHECK-NEXT: "line": 73
2295// CHECK-NEXT: },
2296// CHECK-NEXT: "end": {
2297// CHECK-NEXT: "col": 12,
2298// CHECK-NEXT: "file": "{{.*}}",
2299// CHECK-NEXT: "line": 73
2300// CHECK-NEXT: }
2301// CHECK-NEXT: },
2302// CHECK-NEXT: "type": {
2303// CHECK-NEXT: "qualType": "int *"
2304// CHECK-NEXT: },
2305// CHECK-NEXT: "valueCategory": "rvalue",
2306// CHECK-NEXT: "castKind": "LValueToRValue",
2307// CHECK-NEXT: "inner": [
2308// CHECK-NEXT: {
2309// CHECK-NEXT: "id": "0x{{.*}}",
2310// CHECK-NEXT: "kind": "DeclRefExpr",
2311// CHECK-NEXT: "range": {
2312// CHECK-NEXT: "begin": {
2313// CHECK-NEXT: "col": 12,
2314// CHECK-NEXT: "file": "{{.*}}",
2315// CHECK-NEXT: "line": 73
2316// CHECK-NEXT: },
2317// CHECK-NEXT: "end": {
2318// CHECK-NEXT: "col": 12,
2319// CHECK-NEXT: "file": "{{.*}}",
2320// CHECK-NEXT: "line": 73
2321// CHECK-NEXT: }
2322// CHECK-NEXT: },
2323// CHECK-NEXT: "type": {
2324// CHECK-NEXT: "qualType": "int *"
2325// CHECK-NEXT: },
2326// CHECK-NEXT: "valueCategory": "lvalue",
2327// CHECK-NEXT: "referencedDecl": {
2328// CHECK-NEXT: "id": "0x{{.*}}",
2329// CHECK-NEXT: "kind": "ParmVarDecl",
2330// CHECK-NEXT: "name": "p",
2331// CHECK-NEXT: "type": {
2332// CHECK-NEXT: "qualType": "int *"
2333// CHECK-NEXT: }
2334// CHECK-NEXT: }
2335// CHECK-NEXT: }
2336// CHECK-NEXT: ]
2337// CHECK-NEXT: }
2338// CHECK-NEXT: ]
2339// CHECK-NEXT: },
2340// CHECK-NEXT: {
2341// CHECK-NEXT: "id": "0x{{.*}}",
2342// CHECK-NEXT: "kind": "CXXDeleteExpr",
2343// CHECK-NEXT: "range": {
2344// CHECK-NEXT: "begin": {
2345// CHECK-NEXT: "col": 3,
2346// CHECK-NEXT: "file": "{{.*}}",
2347// CHECK-NEXT: "line": 74
2348// CHECK-NEXT: },
2349// CHECK-NEXT: "end": {
2350// CHECK-NEXT: "col": 13,
2351// CHECK-NEXT: "file": "{{.*}}",
2352// CHECK-NEXT: "line": 74
2353// CHECK-NEXT: }
2354// CHECK-NEXT: },
2355// CHECK-NEXT: "type": {
2356// CHECK-NEXT: "qualType": "void"
2357// CHECK-NEXT: },
2358// CHECK-NEXT: "valueCategory": "rvalue",
2359// CHECK-NEXT: "isArray": true,
2360// CHECK-NEXT: "isArrayAsWritten": true,
2361// CHECK-NEXT: "operatorDeleteDecl": {
2362// CHECK-NEXT: "id": "0x{{.*}}",
2363// CHECK-NEXT: "kind": "FunctionDecl",
2364// CHECK-NEXT: "name": "operator delete[]",
2365// CHECK-NEXT: "type": {
2366// CHECK-NEXT: "qualType": "void (void *) noexcept"
2367// CHECK-NEXT: }
2368// CHECK-NEXT: },
2369// CHECK-NEXT: "inner": [
2370// CHECK-NEXT: {
2371// CHECK-NEXT: "id": "0x{{.*}}",
2372// CHECK-NEXT: "kind": "ImplicitCastExpr",
2373// CHECK-NEXT: "range": {
2374// CHECK-NEXT: "begin": {
2375// CHECK-NEXT: "col": 13,
2376// CHECK-NEXT: "file": "{{.*}}",
2377// CHECK-NEXT: "line": 74
2378// CHECK-NEXT: },
2379// CHECK-NEXT: "end": {
2380// CHECK-NEXT: "col": 13,
2381// CHECK-NEXT: "file": "{{.*}}",
2382// CHECK-NEXT: "line": 74
2383// CHECK-NEXT: }
2384// CHECK-NEXT: },
2385// CHECK-NEXT: "type": {
2386// CHECK-NEXT: "qualType": "int *"
2387// CHECK-NEXT: },
2388// CHECK-NEXT: "valueCategory": "rvalue",
2389// CHECK-NEXT: "castKind": "LValueToRValue",
2390// CHECK-NEXT: "inner": [
2391// CHECK-NEXT: {
2392// CHECK-NEXT: "id": "0x{{.*}}",
2393// CHECK-NEXT: "kind": "DeclRefExpr",
2394// CHECK-NEXT: "range": {
2395// CHECK-NEXT: "begin": {
2396// CHECK-NEXT: "col": 13,
2397// CHECK-NEXT: "file": "{{.*}}",
2398// CHECK-NEXT: "line": 74
2399// CHECK-NEXT: },
2400// CHECK-NEXT: "end": {
2401// CHECK-NEXT: "col": 13,
2402// CHECK-NEXT: "file": "{{.*}}",
2403// CHECK-NEXT: "line": 74
2404// CHECK-NEXT: }
2405// CHECK-NEXT: },
2406// CHECK-NEXT: "type": {
2407// CHECK-NEXT: "qualType": "int *"
2408// CHECK-NEXT: },
2409// CHECK-NEXT: "valueCategory": "lvalue",
2410// CHECK-NEXT: "referencedDecl": {
2411// CHECK-NEXT: "id": "0x{{.*}}",
2412// CHECK-NEXT: "kind": "ParmVarDecl",
2413// CHECK-NEXT: "name": "p",
2414// CHECK-NEXT: "type": {
2415// CHECK-NEXT: "qualType": "int *"
2416// CHECK-NEXT: }
2417// CHECK-NEXT: }
2418// CHECK-NEXT: }
2419// CHECK-NEXT: ]
2420// CHECK-NEXT: }
2421// CHECK-NEXT: ]
2422// CHECK-NEXT: }
2423// CHECK-NEXT: ]
2424// CHECK-NEXT: }
2425// CHECK-NEXT: ]
2426// CHECK-NEXT: }
2427// CHECK-NEXT: ]
2428// CHECK-NEXT: }
2429
2430
2431// CHECK: "kind": "FunctionDecl",
2432// CHECK-NEXT: "loc": {
2433// CHECK-NEXT: "col": 6,
2434// CHECK-NEXT: "file": "{{.*}}",
2435// CHECK-NEXT: "line": 77
2436// CHECK-NEXT: },
2437// CHECK-NEXT: "range": {
2438// CHECK-NEXT: "begin": {
2439// CHECK-NEXT: "col": 1,
2440// CHECK-NEXT: "file": "{{.*}}",
2441// CHECK-NEXT: "line": 77
2442// CHECK-NEXT: },
2443// CHECK-NEXT: "end": {
2444// CHECK-NEXT: "col": 1,
2445// CHECK-NEXT: "file": "{{.*}}",
2446// CHECK-NEXT: "line": 90
2447// CHECK-NEXT: }
2448// CHECK-NEXT: },
2449// CHECK-NEXT: "name": "TestPostfixExpressions",
2450// CHECK-NEXT: "type": {
2451// CHECK-NEXT: "qualType": "void (S, S *, U<int> *)"
2452// CHECK-NEXT: },
2453// CHECK-NEXT: "inner": [
2454// CHECK-NEXT: {
2455// CHECK-NEXT: "id": "0x{{.*}}",
2456// CHECK-NEXT: "kind": "ParmVarDecl",
2457// CHECK-NEXT: "loc": {
2458// CHECK-NEXT: "col": 31,
2459// CHECK-NEXT: "file": "{{.*}}",
2460// CHECK-NEXT: "line": 77
2461// CHECK-NEXT: },
2462// CHECK-NEXT: "range": {
2463// CHECK-NEXT: "begin": {
2464// CHECK-NEXT: "col": 29,
2465// CHECK-NEXT: "file": "{{.*}}",
2466// CHECK-NEXT: "line": 77
2467// CHECK-NEXT: },
2468// CHECK-NEXT: "end": {
2469// CHECK-NEXT: "col": 31,
2470// CHECK-NEXT: "file": "{{.*}}",
2471// CHECK-NEXT: "line": 77
2472// CHECK-NEXT: }
2473// CHECK-NEXT: },
2474// CHECK-NEXT: "isUsed": true,
2475// CHECK-NEXT: "name": "a",
2476// CHECK-NEXT: "type": {
2477// CHECK-NEXT: "qualType": "S"
2478// CHECK-NEXT: }
2479// CHECK-NEXT: },
2480// CHECK-NEXT: {
2481// CHECK-NEXT: "id": "0x{{.*}}",
2482// CHECK-NEXT: "kind": "ParmVarDecl",
2483// CHECK-NEXT: "loc": {
2484// CHECK-NEXT: "col": 37,
2485// CHECK-NEXT: "file": "{{.*}}",
2486// CHECK-NEXT: "line": 77
2487// CHECK-NEXT: },
2488// CHECK-NEXT: "range": {
2489// CHECK-NEXT: "begin": {
2490// CHECK-NEXT: "col": 34,
2491// CHECK-NEXT: "file": "{{.*}}",
2492// CHECK-NEXT: "line": 77
2493// CHECK-NEXT: },
2494// CHECK-NEXT: "end": {
2495// CHECK-NEXT: "col": 37,
2496// CHECK-NEXT: "file": "{{.*}}",
2497// CHECK-NEXT: "line": 77
2498// CHECK-NEXT: }
2499// CHECK-NEXT: },
2500// CHECK-NEXT: "isUsed": true,
2501// CHECK-NEXT: "name": "p",
2502// CHECK-NEXT: "type": {
2503// CHECK-NEXT: "qualType": "S *"
2504// CHECK-NEXT: }
2505// CHECK-NEXT: },
2506// CHECK-NEXT: {
2507// CHECK-NEXT: "id": "0x{{.*}}",
2508// CHECK-NEXT: "kind": "ParmVarDecl",
2509// CHECK-NEXT: "loc": {
2510// CHECK-NEXT: "col": 48,
2511// CHECK-NEXT: "file": "{{.*}}",
2512// CHECK-NEXT: "line": 77
2513// CHECK-NEXT: },
2514// CHECK-NEXT: "range": {
2515// CHECK-NEXT: "begin": {
2516// CHECK-NEXT: "col": 40,
2517// CHECK-NEXT: "file": "{{.*}}",
2518// CHECK-NEXT: "line": 77
2519// CHECK-NEXT: },
2520// CHECK-NEXT: "end": {
2521// CHECK-NEXT: "col": 48,
2522// CHECK-NEXT: "file": "{{.*}}",
2523// CHECK-NEXT: "line": 77
2524// CHECK-NEXT: }
2525// CHECK-NEXT: },
2526// CHECK-NEXT: "isUsed": true,
2527// CHECK-NEXT: "name": "r",
2528// CHECK-NEXT: "type": {
2529// CHECK-NEXT: "qualType": "U<int> *"
2530// CHECK-NEXT: }
2531// CHECK-NEXT: },
2532// CHECK-NEXT: {
2533// CHECK-NEXT: "id": "0x{{.*}}",
2534// CHECK-NEXT: "kind": "CompoundStmt",
2535// CHECK-NEXT: "range": {
2536// CHECK-NEXT: "begin": {
2537// CHECK-NEXT: "col": 51,
2538// CHECK-NEXT: "file": "{{.*}}",
2539// CHECK-NEXT: "line": 77
2540// CHECK-NEXT: },
2541// CHECK-NEXT: "end": {
2542// CHECK-NEXT: "col": 1,
2543// CHECK-NEXT: "file": "{{.*}}",
2544// CHECK-NEXT: "line": 90
2545// CHECK-NEXT: }
2546// CHECK-NEXT: },
2547// CHECK-NEXT: "inner": [
2548// CHECK-NEXT: {
2549// CHECK-NEXT: "id": "0x{{.*}}",
2550// CHECK-NEXT: "kind": "CXXMemberCallExpr",
2551// CHECK-NEXT: "range": {
2552// CHECK-NEXT: "begin": {
2553// CHECK-NEXT: "col": 3,
2554// CHECK-NEXT: "file": "{{.*}}",
2555// CHECK-NEXT: "line": 78
2556// CHECK-NEXT: },
2557// CHECK-NEXT: "end": {
2558// CHECK-NEXT: "col": 11,
2559// CHECK-NEXT: "file": "{{.*}}",
2560// CHECK-NEXT: "line": 78
2561// CHECK-NEXT: }
2562// CHECK-NEXT: },
2563// CHECK-NEXT: "type": {
2564// CHECK-NEXT: "qualType": "void"
2565// CHECK-NEXT: },
2566// CHECK-NEXT: "valueCategory": "rvalue",
2567// CHECK-NEXT: "inner": [
2568// CHECK-NEXT: {
2569// CHECK-NEXT: "id": "0x{{.*}}",
2570// CHECK-NEXT: "kind": "MemberExpr",
2571// CHECK-NEXT: "range": {
2572// CHECK-NEXT: "begin": {
2573// CHECK-NEXT: "col": 3,
2574// CHECK-NEXT: "file": "{{.*}}",
2575// CHECK-NEXT: "line": 78
2576// CHECK-NEXT: },
2577// CHECK-NEXT: "end": {
2578// CHECK-NEXT: "col": 5,
2579// CHECK-NEXT: "file": "{{.*}}",
2580// CHECK-NEXT: "line": 78
2581// CHECK-NEXT: }
2582// CHECK-NEXT: },
2583// CHECK-NEXT: "type": {
2584// CHECK-NEXT: "qualType": "<bound member function type>"
2585// CHECK-NEXT: },
2586// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballmane7b3b802019-05-27 14:25:04 +00002587// CHECK-NEXT: "name": "func",
Aaron Ballman80d5d162019-05-27 14:12:48 +00002588// CHECK-NEXT: "isArrow": false,
2589// CHECK-NEXT: "referencedMemberDecl": "0x{{.*}}",
2590// CHECK-NEXT: "inner": [
2591// CHECK-NEXT: {
2592// CHECK-NEXT: "id": "0x{{.*}}",
2593// CHECK-NEXT: "kind": "DeclRefExpr",
2594// CHECK-NEXT: "range": {
2595// CHECK-NEXT: "begin": {
2596// CHECK-NEXT: "col": 3,
2597// CHECK-NEXT: "file": "{{.*}}",
2598// CHECK-NEXT: "line": 78
2599// CHECK-NEXT: },
2600// CHECK-NEXT: "end": {
2601// CHECK-NEXT: "col": 3,
2602// CHECK-NEXT: "file": "{{.*}}",
2603// CHECK-NEXT: "line": 78
2604// CHECK-NEXT: }
2605// CHECK-NEXT: },
2606// CHECK-NEXT: "type": {
2607// CHECK-NEXT: "qualType": "S"
2608// CHECK-NEXT: },
2609// CHECK-NEXT: "valueCategory": "lvalue",
2610// CHECK-NEXT: "referencedDecl": {
2611// CHECK-NEXT: "id": "0x{{.*}}",
2612// CHECK-NEXT: "kind": "ParmVarDecl",
2613// CHECK-NEXT: "name": "a",
2614// CHECK-NEXT: "type": {
2615// CHECK-NEXT: "qualType": "S"
2616// CHECK-NEXT: }
2617// CHECK-NEXT: }
2618// CHECK-NEXT: }
2619// CHECK-NEXT: ]
2620// CHECK-NEXT: },
2621// CHECK-NEXT: {
2622// CHECK-NEXT: "id": "0x{{.*}}",
2623// CHECK-NEXT: "kind": "IntegerLiteral",
2624// CHECK-NEXT: "range": {
2625// CHECK-NEXT: "begin": {
2626// CHECK-NEXT: "col": 10,
2627// CHECK-NEXT: "file": "{{.*}}",
2628// CHECK-NEXT: "line": 78
2629// CHECK-NEXT: },
2630// CHECK-NEXT: "end": {
2631// CHECK-NEXT: "col": 10,
2632// CHECK-NEXT: "file": "{{.*}}",
2633// CHECK-NEXT: "line": 78
2634// CHECK-NEXT: }
2635// CHECK-NEXT: },
2636// CHECK-NEXT: "type": {
2637// CHECK-NEXT: "qualType": "int"
2638// CHECK-NEXT: },
2639// CHECK-NEXT: "valueCategory": "rvalue",
2640// CHECK-NEXT: "value": "0"
2641// CHECK-NEXT: }
2642// CHECK-NEXT: ]
2643// CHECK-NEXT: },
2644// CHECK-NEXT: {
2645// CHECK-NEXT: "id": "0x{{.*}}",
2646// CHECK-NEXT: "kind": "CXXMemberCallExpr",
2647// CHECK-NEXT: "range": {
2648// CHECK-NEXT: "begin": {
2649// CHECK-NEXT: "col": 3,
2650// CHECK-NEXT: "file": "{{.*}}",
2651// CHECK-NEXT: "line": 79
2652// CHECK-NEXT: },
2653// CHECK-NEXT: "end": {
2654// CHECK-NEXT: "col": 12,
2655// CHECK-NEXT: "file": "{{.*}}",
2656// CHECK-NEXT: "line": 79
2657// CHECK-NEXT: }
2658// CHECK-NEXT: },
2659// CHECK-NEXT: "type": {
2660// CHECK-NEXT: "qualType": "void"
2661// CHECK-NEXT: },
2662// CHECK-NEXT: "valueCategory": "rvalue",
2663// CHECK-NEXT: "inner": [
2664// CHECK-NEXT: {
2665// CHECK-NEXT: "id": "0x{{.*}}",
2666// CHECK-NEXT: "kind": "MemberExpr",
2667// CHECK-NEXT: "range": {
2668// CHECK-NEXT: "begin": {
2669// CHECK-NEXT: "col": 3,
2670// CHECK-NEXT: "file": "{{.*}}",
2671// CHECK-NEXT: "line": 79
2672// CHECK-NEXT: },
2673// CHECK-NEXT: "end": {
2674// CHECK-NEXT: "col": 6,
2675// CHECK-NEXT: "file": "{{.*}}",
2676// CHECK-NEXT: "line": 79
2677// CHECK-NEXT: }
2678// CHECK-NEXT: },
2679// CHECK-NEXT: "type": {
2680// CHECK-NEXT: "qualType": "<bound member function type>"
2681// CHECK-NEXT: },
2682// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballmane7b3b802019-05-27 14:25:04 +00002683// CHECK-NEXT: "name": "func",
Aaron Ballman80d5d162019-05-27 14:12:48 +00002684// CHECK-NEXT: "isArrow": true,
2685// CHECK-NEXT: "referencedMemberDecl": "0x{{.*}}",
2686// CHECK-NEXT: "inner": [
2687// CHECK-NEXT: {
2688// CHECK-NEXT: "id": "0x{{.*}}",
2689// CHECK-NEXT: "kind": "ImplicitCastExpr",
2690// CHECK-NEXT: "range": {
2691// CHECK-NEXT: "begin": {
2692// CHECK-NEXT: "col": 3,
2693// CHECK-NEXT: "file": "{{.*}}",
2694// CHECK-NEXT: "line": 79
2695// CHECK-NEXT: },
2696// CHECK-NEXT: "end": {
2697// CHECK-NEXT: "col": 3,
2698// CHECK-NEXT: "file": "{{.*}}",
2699// CHECK-NEXT: "line": 79
2700// CHECK-NEXT: }
2701// CHECK-NEXT: },
2702// CHECK-NEXT: "type": {
2703// CHECK-NEXT: "qualType": "S *"
2704// CHECK-NEXT: },
2705// CHECK-NEXT: "valueCategory": "rvalue",
2706// CHECK-NEXT: "castKind": "LValueToRValue",
2707// CHECK-NEXT: "inner": [
2708// CHECK-NEXT: {
2709// CHECK-NEXT: "id": "0x{{.*}}",
2710// CHECK-NEXT: "kind": "DeclRefExpr",
2711// CHECK-NEXT: "range": {
2712// CHECK-NEXT: "begin": {
2713// CHECK-NEXT: "col": 3,
2714// CHECK-NEXT: "file": "{{.*}}",
2715// CHECK-NEXT: "line": 79
2716// CHECK-NEXT: },
2717// CHECK-NEXT: "end": {
2718// CHECK-NEXT: "col": 3,
2719// CHECK-NEXT: "file": "{{.*}}",
2720// CHECK-NEXT: "line": 79
2721// CHECK-NEXT: }
2722// CHECK-NEXT: },
2723// CHECK-NEXT: "type": {
2724// CHECK-NEXT: "qualType": "S *"
2725// CHECK-NEXT: },
2726// CHECK-NEXT: "valueCategory": "lvalue",
2727// CHECK-NEXT: "referencedDecl": {
2728// CHECK-NEXT: "id": "0x{{.*}}",
2729// CHECK-NEXT: "kind": "ParmVarDecl",
2730// CHECK-NEXT: "name": "p",
2731// CHECK-NEXT: "type": {
2732// CHECK-NEXT: "qualType": "S *"
2733// CHECK-NEXT: }
2734// CHECK-NEXT: }
2735// CHECK-NEXT: }
2736// CHECK-NEXT: ]
2737// CHECK-NEXT: }
2738// CHECK-NEXT: ]
2739// CHECK-NEXT: },
2740// CHECK-NEXT: {
2741// CHECK-NEXT: "id": "0x{{.*}}",
2742// CHECK-NEXT: "kind": "IntegerLiteral",
2743// CHECK-NEXT: "range": {
2744// CHECK-NEXT: "begin": {
2745// CHECK-NEXT: "col": 11,
2746// CHECK-NEXT: "file": "{{.*}}",
2747// CHECK-NEXT: "line": 79
2748// CHECK-NEXT: },
2749// CHECK-NEXT: "end": {
2750// CHECK-NEXT: "col": 11,
2751// CHECK-NEXT: "file": "{{.*}}",
2752// CHECK-NEXT: "line": 79
2753// CHECK-NEXT: }
2754// CHECK-NEXT: },
2755// CHECK-NEXT: "type": {
2756// CHECK-NEXT: "qualType": "int"
2757// CHECK-NEXT: },
2758// CHECK-NEXT: "valueCategory": "rvalue",
2759// CHECK-NEXT: "value": "0"
2760// CHECK-NEXT: }
2761// CHECK-NEXT: ]
2762// CHECK-NEXT: },
2763// CHECK-NEXT: {
2764// CHECK-NEXT: "id": "0x{{.*}}",
2765// CHECK-NEXT: "kind": "CXXMemberCallExpr",
2766// CHECK-NEXT: "range": {
2767// CHECK-NEXT: "begin": {
2768// CHECK-NEXT: "col": 3,
2769// CHECK-NEXT: "file": "{{.*}}",
2770// CHECK-NEXT: "line": 80
2771// CHECK-NEXT: },
2772// CHECK-NEXT: "end": {
2773// CHECK-NEXT: "col": 24,
2774// CHECK-NEXT: "file": "{{.*}}",
2775// CHECK-NEXT: "line": 80
2776// CHECK-NEXT: }
2777// CHECK-NEXT: },
2778// CHECK-NEXT: "type": {
2779// CHECK-NEXT: "desugaredQualType": "int",
2780// CHECK-NEXT: "qualType": "int"
2781// CHECK-NEXT: },
2782// CHECK-NEXT: "valueCategory": "rvalue",
2783// CHECK-NEXT: "inner": [
2784// CHECK-NEXT: {
2785// CHECK-NEXT: "id": "0x{{.*}}",
2786// CHECK-NEXT: "kind": "MemberExpr",
2787// CHECK-NEXT: "range": {
2788// CHECK-NEXT: "begin": {
2789// CHECK-NEXT: "col": 3,
2790// CHECK-NEXT: "file": "{{.*}}",
2791// CHECK-NEXT: "line": 80
2792// CHECK-NEXT: },
2793// CHECK-NEXT: "end": {
2794// CHECK-NEXT: "col": 22,
2795// CHECK-NEXT: "file": "{{.*}}",
2796// CHECK-NEXT: "line": 80
2797// CHECK-NEXT: }
2798// CHECK-NEXT: },
2799// CHECK-NEXT: "type": {
2800// CHECK-NEXT: "qualType": "<bound member function type>"
2801// CHECK-NEXT: },
2802// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballmane7b3b802019-05-27 14:25:04 +00002803// CHECK-NEXT: "name": "foo",
Aaron Ballman80d5d162019-05-27 14:12:48 +00002804// CHECK-NEXT: "isArrow": true,
2805// CHECK-NEXT: "referencedMemberDecl": "0x{{.*}}",
2806// CHECK-NEXT: "inner": [
2807// CHECK-NEXT: {
2808// CHECK-NEXT: "id": "0x{{.*}}",
2809// CHECK-NEXT: "kind": "ImplicitCastExpr",
2810// CHECK-NEXT: "range": {
2811// CHECK-NEXT: "begin": {
2812// CHECK-NEXT: "col": 3,
2813// CHECK-NEXT: "file": "{{.*}}",
2814// CHECK-NEXT: "line": 80
2815// CHECK-NEXT: },
2816// CHECK-NEXT: "end": {
2817// CHECK-NEXT: "col": 3,
2818// CHECK-NEXT: "file": "{{.*}}",
2819// CHECK-NEXT: "line": 80
2820// CHECK-NEXT: }
2821// CHECK-NEXT: },
2822// CHECK-NEXT: "type": {
2823// CHECK-NEXT: "qualType": "S *"
2824// CHECK-NEXT: },
2825// CHECK-NEXT: "valueCategory": "rvalue",
2826// CHECK-NEXT: "castKind": "LValueToRValue",
2827// CHECK-NEXT: "inner": [
2828// CHECK-NEXT: {
2829// CHECK-NEXT: "id": "0x{{.*}}",
2830// CHECK-NEXT: "kind": "DeclRefExpr",
2831// CHECK-NEXT: "range": {
2832// CHECK-NEXT: "begin": {
2833// CHECK-NEXT: "col": 3,
2834// CHECK-NEXT: "file": "{{.*}}",
2835// CHECK-NEXT: "line": 80
2836// CHECK-NEXT: },
2837// CHECK-NEXT: "end": {
2838// CHECK-NEXT: "col": 3,
2839// CHECK-NEXT: "file": "{{.*}}",
2840// CHECK-NEXT: "line": 80
2841// CHECK-NEXT: }
2842// CHECK-NEXT: },
2843// CHECK-NEXT: "type": {
2844// CHECK-NEXT: "qualType": "S *"
2845// CHECK-NEXT: },
2846// CHECK-NEXT: "valueCategory": "lvalue",
2847// CHECK-NEXT: "referencedDecl": {
2848// CHECK-NEXT: "id": "0x{{.*}}",
2849// CHECK-NEXT: "kind": "ParmVarDecl",
2850// CHECK-NEXT: "name": "p",
2851// CHECK-NEXT: "type": {
2852// CHECK-NEXT: "qualType": "S *"
2853// CHECK-NEXT: }
2854// CHECK-NEXT: }
2855// CHECK-NEXT: }
2856// CHECK-NEXT: ]
2857// CHECK-NEXT: }
2858// CHECK-NEXT: ]
2859// CHECK-NEXT: }
2860// CHECK-NEXT: ]
2861// CHECK-NEXT: },
2862// CHECK-NEXT: {
2863// CHECK-NEXT: "id": "0x{{.*}}",
2864// CHECK-NEXT: "kind": "CXXMemberCallExpr",
2865// CHECK-NEXT: "range": {
2866// CHECK-NEXT: "begin": {
2867// CHECK-NEXT: "col": 3,
2868// CHECK-NEXT: "file": "{{.*}}",
2869// CHECK-NEXT: "line": 81
2870// CHECK-NEXT: },
2871// CHECK-NEXT: "end": {
2872// CHECK-NEXT: "col": 25,
2873// CHECK-NEXT: "file": "{{.*}}",
2874// CHECK-NEXT: "line": 81
2875// CHECK-NEXT: }
2876// CHECK-NEXT: },
2877// CHECK-NEXT: "type": {
2878// CHECK-NEXT: "desugaredQualType": "float",
2879// CHECK-NEXT: "qualType": "float"
2880// CHECK-NEXT: },
2881// CHECK-NEXT: "valueCategory": "rvalue",
2882// CHECK-NEXT: "inner": [
2883// CHECK-NEXT: {
2884// CHECK-NEXT: "id": "0x{{.*}}",
2885// CHECK-NEXT: "kind": "MemberExpr",
2886// CHECK-NEXT: "range": {
2887// CHECK-NEXT: "begin": {
2888// CHECK-NEXT: "col": 3,
2889// CHECK-NEXT: "file": "{{.*}}",
2890// CHECK-NEXT: "line": 81
2891// CHECK-NEXT: },
2892// CHECK-NEXT: "end": {
2893// CHECK-NEXT: "col": 23,
2894// CHECK-NEXT: "file": "{{.*}}",
2895// CHECK-NEXT: "line": 81
2896// CHECK-NEXT: }
2897// CHECK-NEXT: },
2898// CHECK-NEXT: "type": {
2899// CHECK-NEXT: "qualType": "<bound member function type>"
2900// CHECK-NEXT: },
2901// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballmane7b3b802019-05-27 14:25:04 +00002902// CHECK-NEXT: "name": "foo",
Aaron Ballman80d5d162019-05-27 14:12:48 +00002903// CHECK-NEXT: "isArrow": false,
2904// CHECK-NEXT: "referencedMemberDecl": "0x{{.*}}",
2905// CHECK-NEXT: "inner": [
2906// CHECK-NEXT: {
2907// CHECK-NEXT: "id": "0x{{.*}}",
2908// CHECK-NEXT: "kind": "DeclRefExpr",
2909// CHECK-NEXT: "range": {
2910// CHECK-NEXT: "begin": {
2911// CHECK-NEXT: "col": 3,
2912// CHECK-NEXT: "file": "{{.*}}",
2913// CHECK-NEXT: "line": 81
2914// CHECK-NEXT: },
2915// CHECK-NEXT: "end": {
2916// CHECK-NEXT: "col": 3,
2917// CHECK-NEXT: "file": "{{.*}}",
2918// CHECK-NEXT: "line": 81
2919// CHECK-NEXT: }
2920// CHECK-NEXT: },
2921// CHECK-NEXT: "type": {
2922// CHECK-NEXT: "qualType": "S"
2923// CHECK-NEXT: },
2924// CHECK-NEXT: "valueCategory": "lvalue",
2925// CHECK-NEXT: "referencedDecl": {
2926// CHECK-NEXT: "id": "0x{{.*}}",
2927// CHECK-NEXT: "kind": "ParmVarDecl",
2928// CHECK-NEXT: "name": "a",
2929// CHECK-NEXT: "type": {
2930// CHECK-NEXT: "qualType": "S"
2931// CHECK-NEXT: }
2932// CHECK-NEXT: }
2933// CHECK-NEXT: }
2934// CHECK-NEXT: ]
2935// CHECK-NEXT: }
2936// CHECK-NEXT: ]
2937// CHECK-NEXT: },
2938// CHECK-NEXT: {
2939// CHECK-NEXT: "id": "0x{{.*}}",
2940// CHECK-NEXT: "kind": "CXXMemberCallExpr",
2941// CHECK-NEXT: "range": {
2942// CHECK-NEXT: "begin": {
2943// CHECK-NEXT: "col": 3,
2944// CHECK-NEXT: "file": "{{.*}}",
2945// CHECK-NEXT: "line": 82
2946// CHECK-NEXT: },
2947// CHECK-NEXT: "end": {
2948// CHECK-NEXT: "col": 9,
2949// CHECK-NEXT: "file": "{{.*}}",
2950// CHECK-NEXT: "line": 82
2951// CHECK-NEXT: }
2952// CHECK-NEXT: },
2953// CHECK-NEXT: "type": {
2954// CHECK-NEXT: "qualType": "void"
2955// CHECK-NEXT: },
2956// CHECK-NEXT: "valueCategory": "rvalue",
2957// CHECK-NEXT: "inner": [
2958// CHECK-NEXT: {
2959// CHECK-NEXT: "id": "0x{{.*}}",
2960// CHECK-NEXT: "kind": "MemberExpr",
2961// CHECK-NEXT: "range": {
2962// CHECK-NEXT: "begin": {
2963// CHECK-NEXT: "col": 3,
2964// CHECK-NEXT: "file": "{{.*}}",
2965// CHECK-NEXT: "line": 82
2966// CHECK-NEXT: },
2967// CHECK-NEXT: "end": {
2968// CHECK-NEXT: "col": 7,
2969// CHECK-NEXT: "file": "{{.*}}",
2970// CHECK-NEXT: "line": 82
2971// CHECK-NEXT: }
2972// CHECK-NEXT: },
2973// CHECK-NEXT: "type": {
2974// CHECK-NEXT: "qualType": "<bound member function type>"
2975// CHECK-NEXT: },
2976// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballmane7b3b802019-05-27 14:25:04 +00002977// CHECK-NEXT: "name": "~S",
Aaron Ballman80d5d162019-05-27 14:12:48 +00002978// CHECK-NEXT: "isArrow": true,
2979// CHECK-NEXT: "referencedMemberDecl": "0x{{.*}}",
2980// CHECK-NEXT: "inner": [
2981// CHECK-NEXT: {
2982// CHECK-NEXT: "id": "0x{{.*}}",
2983// CHECK-NEXT: "kind": "ImplicitCastExpr",
2984// CHECK-NEXT: "range": {
2985// CHECK-NEXT: "begin": {
2986// CHECK-NEXT: "col": 3,
2987// CHECK-NEXT: "file": "{{.*}}",
2988// CHECK-NEXT: "line": 82
2989// CHECK-NEXT: },
2990// CHECK-NEXT: "end": {
2991// CHECK-NEXT: "col": 3,
2992// CHECK-NEXT: "file": "{{.*}}",
2993// CHECK-NEXT: "line": 82
2994// CHECK-NEXT: }
2995// CHECK-NEXT: },
2996// CHECK-NEXT: "type": {
2997// CHECK-NEXT: "qualType": "S *"
2998// CHECK-NEXT: },
2999// CHECK-NEXT: "valueCategory": "rvalue",
3000// CHECK-NEXT: "castKind": "LValueToRValue",
3001// CHECK-NEXT: "inner": [
3002// CHECK-NEXT: {
3003// CHECK-NEXT: "id": "0x{{.*}}",
3004// CHECK-NEXT: "kind": "DeclRefExpr",
3005// CHECK-NEXT: "range": {
3006// CHECK-NEXT: "begin": {
3007// CHECK-NEXT: "col": 3,
3008// CHECK-NEXT: "file": "{{.*}}",
3009// CHECK-NEXT: "line": 82
3010// CHECK-NEXT: },
3011// CHECK-NEXT: "end": {
3012// CHECK-NEXT: "col": 3,
3013// CHECK-NEXT: "file": "{{.*}}",
3014// CHECK-NEXT: "line": 82
3015// CHECK-NEXT: }
3016// CHECK-NEXT: },
3017// CHECK-NEXT: "type": {
3018// CHECK-NEXT: "qualType": "S *"
3019// CHECK-NEXT: },
3020// CHECK-NEXT: "valueCategory": "lvalue",
3021// CHECK-NEXT: "referencedDecl": {
3022// CHECK-NEXT: "id": "0x{{.*}}",
3023// CHECK-NEXT: "kind": "ParmVarDecl",
3024// CHECK-NEXT: "name": "p",
3025// CHECK-NEXT: "type": {
3026// CHECK-NEXT: "qualType": "S *"
3027// CHECK-NEXT: }
3028// CHECK-NEXT: }
3029// CHECK-NEXT: }
3030// CHECK-NEXT: ]
3031// CHECK-NEXT: }
3032// CHECK-NEXT: ]
3033// CHECK-NEXT: }
3034// CHECK-NEXT: ]
3035// CHECK-NEXT: },
3036// CHECK-NEXT: {
3037// CHECK-NEXT: "id": "0x{{.*}}",
3038// CHECK-NEXT: "kind": "CXXMemberCallExpr",
3039// CHECK-NEXT: "range": {
3040// CHECK-NEXT: "begin": {
3041// CHECK-NEXT: "col": 3,
3042// CHECK-NEXT: "file": "{{.*}}",
3043// CHECK-NEXT: "line": 83
3044// CHECK-NEXT: },
3045// CHECK-NEXT: "end": {
3046// CHECK-NEXT: "col": 8,
3047// CHECK-NEXT: "file": "{{.*}}",
3048// CHECK-NEXT: "line": 83
3049// CHECK-NEXT: }
3050// CHECK-NEXT: },
3051// CHECK-NEXT: "type": {
3052// CHECK-NEXT: "qualType": "void"
3053// CHECK-NEXT: },
3054// CHECK-NEXT: "valueCategory": "rvalue",
3055// CHECK-NEXT: "inner": [
3056// CHECK-NEXT: {
3057// CHECK-NEXT: "id": "0x{{.*}}",
3058// CHECK-NEXT: "kind": "MemberExpr",
3059// CHECK-NEXT: "range": {
3060// CHECK-NEXT: "begin": {
3061// CHECK-NEXT: "col": 3,
3062// CHECK-NEXT: "file": "{{.*}}",
3063// CHECK-NEXT: "line": 83
3064// CHECK-NEXT: },
3065// CHECK-NEXT: "end": {
3066// CHECK-NEXT: "col": 6,
3067// CHECK-NEXT: "file": "{{.*}}",
3068// CHECK-NEXT: "line": 83
3069// CHECK-NEXT: }
3070// CHECK-NEXT: },
3071// CHECK-NEXT: "type": {
3072// CHECK-NEXT: "qualType": "<bound member function type>"
3073// CHECK-NEXT: },
3074// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballmane7b3b802019-05-27 14:25:04 +00003075// CHECK-NEXT: "name": "~S",
Aaron Ballman80d5d162019-05-27 14:12:48 +00003076// CHECK-NEXT: "isArrow": false,
3077// CHECK-NEXT: "referencedMemberDecl": "0x{{.*}}",
3078// CHECK-NEXT: "inner": [
3079// CHECK-NEXT: {
3080// CHECK-NEXT: "id": "0x{{.*}}",
3081// CHECK-NEXT: "kind": "DeclRefExpr",
3082// CHECK-NEXT: "range": {
3083// CHECK-NEXT: "begin": {
3084// CHECK-NEXT: "col": 3,
3085// CHECK-NEXT: "file": "{{.*}}",
3086// CHECK-NEXT: "line": 83
3087// CHECK-NEXT: },
3088// CHECK-NEXT: "end": {
3089// CHECK-NEXT: "col": 3,
3090// CHECK-NEXT: "file": "{{.*}}",
3091// CHECK-NEXT: "line": 83
3092// CHECK-NEXT: }
3093// CHECK-NEXT: },
3094// CHECK-NEXT: "type": {
3095// CHECK-NEXT: "qualType": "S"
3096// CHECK-NEXT: },
3097// CHECK-NEXT: "valueCategory": "lvalue",
3098// CHECK-NEXT: "referencedDecl": {
3099// CHECK-NEXT: "id": "0x{{.*}}",
3100// CHECK-NEXT: "kind": "ParmVarDecl",
3101// CHECK-NEXT: "name": "a",
3102// CHECK-NEXT: "type": {
3103// CHECK-NEXT: "qualType": "S"
3104// CHECK-NEXT: }
3105// CHECK-NEXT: }
3106// CHECK-NEXT: }
3107// CHECK-NEXT: ]
3108// CHECK-NEXT: }
3109// CHECK-NEXT: ]
3110// CHECK-NEXT: },
3111// CHECK-NEXT: {
3112// CHECK-NEXT: "id": "0x{{.*}}",
3113// CHECK-NEXT: "kind": "CXXMemberCallExpr",
3114// CHECK-NEXT: "range": {
3115// CHECK-NEXT: "begin": {
3116// CHECK-NEXT: "col": 3,
3117// CHECK-NEXT: "file": "{{.*}}",
3118// CHECK-NEXT: "line": 84
3119// CHECK-NEXT: },
3120// CHECK-NEXT: "end": {
3121// CHECK-NEXT: "col": 18,
3122// CHECK-NEXT: "file": "{{.*}}",
3123// CHECK-NEXT: "line": 84
3124// CHECK-NEXT: }
3125// CHECK-NEXT: },
3126// CHECK-NEXT: "type": {
3127// CHECK-NEXT: "qualType": "void"
3128// CHECK-NEXT: },
3129// CHECK-NEXT: "valueCategory": "rvalue",
3130// CHECK-NEXT: "inner": [
3131// CHECK-NEXT: {
3132// CHECK-NEXT: "id": "0x{{.*}}",
3133// CHECK-NEXT: "kind": "MemberExpr",
3134// CHECK-NEXT: "range": {
3135// CHECK-NEXT: "begin": {
3136// CHECK-NEXT: "col": 3,
3137// CHECK-NEXT: "file": "{{.*}}",
3138// CHECK-NEXT: "line": 84
3139// CHECK-NEXT: },
3140// CHECK-NEXT: "end": {
3141// CHECK-NEXT: "col": 5,
3142// CHECK-NEXT: "file": "{{.*}}",
3143// CHECK-NEXT: "line": 84
3144// CHECK-NEXT: }
3145// CHECK-NEXT: },
3146// CHECK-NEXT: "type": {
3147// CHECK-NEXT: "qualType": "<bound member function type>"
3148// CHECK-NEXT: },
3149// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballmane7b3b802019-05-27 14:25:04 +00003150// CHECK-NEXT: "name": "~S",
Aaron Ballman80d5d162019-05-27 14:12:48 +00003151// CHECK-NEXT: "isArrow": false,
3152// CHECK-NEXT: "referencedMemberDecl": "0x{{.*}}",
3153// CHECK-NEXT: "inner": [
3154// CHECK-NEXT: {
3155// CHECK-NEXT: "id": "0x{{.*}}",
3156// CHECK-NEXT: "kind": "DeclRefExpr",
3157// CHECK-NEXT: "range": {
3158// CHECK-NEXT: "begin": {
3159// CHECK-NEXT: "col": 3,
3160// CHECK-NEXT: "file": "{{.*}}",
3161// CHECK-NEXT: "line": 84
3162// CHECK-NEXT: },
3163// CHECK-NEXT: "end": {
3164// CHECK-NEXT: "col": 3,
3165// CHECK-NEXT: "file": "{{.*}}",
3166// CHECK-NEXT: "line": 84
3167// CHECK-NEXT: }
3168// CHECK-NEXT: },
3169// CHECK-NEXT: "type": {
3170// CHECK-NEXT: "qualType": "S"
3171// CHECK-NEXT: },
3172// CHECK-NEXT: "valueCategory": "lvalue",
3173// CHECK-NEXT: "referencedDecl": {
3174// CHECK-NEXT: "id": "0x{{.*}}",
3175// CHECK-NEXT: "kind": "ParmVarDecl",
3176// CHECK-NEXT: "name": "a",
3177// CHECK-NEXT: "type": {
3178// CHECK-NEXT: "qualType": "S"
3179// CHECK-NEXT: }
3180// CHECK-NEXT: }
3181// CHECK-NEXT: }
3182// CHECK-NEXT: ]
3183// CHECK-NEXT: }
3184// CHECK-NEXT: ]
3185// CHECK-NEXT: },
3186// CHECK-NEXT: {
3187// CHECK-NEXT: "id": "0x{{.*}}",
3188// CHECK-NEXT: "kind": "CXXMemberCallExpr",
3189// CHECK-NEXT: "range": {
3190// CHECK-NEXT: "begin": {
3191// CHECK-NEXT: "col": 3,
3192// CHECK-NEXT: "file": "{{.*}}",
3193// CHECK-NEXT: "line": 85
3194// CHECK-NEXT: },
3195// CHECK-NEXT: "end": {
3196// CHECK-NEXT: "col": 14,
3197// CHECK-NEXT: "file": "{{.*}}",
3198// CHECK-NEXT: "line": 85
3199// CHECK-NEXT: }
3200// CHECK-NEXT: },
3201// CHECK-NEXT: "type": {
3202// CHECK-NEXT: "qualType": "void"
3203// CHECK-NEXT: },
3204// CHECK-NEXT: "valueCategory": "rvalue",
3205// CHECK-NEXT: "inner": [
3206// CHECK-NEXT: {
3207// CHECK-NEXT: "id": "0x{{.*}}",
3208// CHECK-NEXT: "kind": "MemberExpr",
3209// CHECK-NEXT: "range": {
3210// CHECK-NEXT: "begin": {
3211// CHECK-NEXT: "col": 3,
3212// CHECK-NEXT: "file": "{{.*}}",
3213// CHECK-NEXT: "line": 85
3214// CHECK-NEXT: },
3215// CHECK-NEXT: "end": {
3216// CHECK-NEXT: "col": 12,
3217// CHECK-NEXT: "file": "{{.*}}",
3218// CHECK-NEXT: "line": 85
3219// CHECK-NEXT: }
3220// CHECK-NEXT: },
3221// CHECK-NEXT: "type": {
3222// CHECK-NEXT: "qualType": "<bound member function type>"
3223// CHECK-NEXT: },
3224// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballmane7b3b802019-05-27 14:25:04 +00003225// CHECK-NEXT: "name": "~S",
Aaron Ballman80d5d162019-05-27 14:12:48 +00003226// CHECK-NEXT: "isArrow": true,
3227// CHECK-NEXT: "referencedMemberDecl": "0x{{.*}}",
3228// CHECK-NEXT: "inner": [
3229// CHECK-NEXT: {
3230// CHECK-NEXT: "id": "0x{{.*}}",
3231// CHECK-NEXT: "kind": "ImplicitCastExpr",
3232// CHECK-NEXT: "range": {
3233// CHECK-NEXT: "begin": {
3234// CHECK-NEXT: "col": 3,
3235// CHECK-NEXT: "file": "{{.*}}",
3236// CHECK-NEXT: "line": 85
3237// CHECK-NEXT: },
3238// CHECK-NEXT: "end": {
3239// CHECK-NEXT: "col": 3,
3240// CHECK-NEXT: "file": "{{.*}}",
3241// CHECK-NEXT: "line": 85
3242// CHECK-NEXT: }
3243// CHECK-NEXT: },
3244// CHECK-NEXT: "type": {
3245// CHECK-NEXT: "qualType": "S *"
3246// CHECK-NEXT: },
3247// CHECK-NEXT: "valueCategory": "rvalue",
3248// CHECK-NEXT: "castKind": "LValueToRValue",
3249// CHECK-NEXT: "inner": [
3250// CHECK-NEXT: {
3251// CHECK-NEXT: "id": "0x{{.*}}",
3252// CHECK-NEXT: "kind": "DeclRefExpr",
3253// CHECK-NEXT: "range": {
3254// CHECK-NEXT: "begin": {
3255// CHECK-NEXT: "col": 3,
3256// CHECK-NEXT: "file": "{{.*}}",
3257// CHECK-NEXT: "line": 85
3258// CHECK-NEXT: },
3259// CHECK-NEXT: "end": {
3260// CHECK-NEXT: "col": 3,
3261// CHECK-NEXT: "file": "{{.*}}",
3262// CHECK-NEXT: "line": 85
3263// CHECK-NEXT: }
3264// CHECK-NEXT: },
3265// CHECK-NEXT: "type": {
3266// CHECK-NEXT: "qualType": "S *"
3267// CHECK-NEXT: },
3268// CHECK-NEXT: "valueCategory": "lvalue",
3269// CHECK-NEXT: "referencedDecl": {
3270// CHECK-NEXT: "id": "0x{{.*}}",
3271// CHECK-NEXT: "kind": "ParmVarDecl",
3272// CHECK-NEXT: "name": "p",
3273// CHECK-NEXT: "type": {
3274// CHECK-NEXT: "qualType": "S *"
3275// CHECK-NEXT: }
3276// CHECK-NEXT: }
3277// CHECK-NEXT: }
3278// CHECK-NEXT: ]
3279// CHECK-NEXT: }
3280// CHECK-NEXT: ]
3281// CHECK-NEXT: }
3282// CHECK-NEXT: ]
3283// CHECK-NEXT: },
3284// CHECK-NEXT: {
3285// CHECK-NEXT: "id": "0x{{.*}}",
3286// CHECK-NEXT: "kind": "CXXMemberCallExpr",
3287// CHECK-NEXT: "range": {
3288// CHECK-NEXT: "begin": {
3289// CHECK-NEXT: "col": 3,
3290// CHECK-NEXT: "file": "{{.*}}",
3291// CHECK-NEXT: "line": 86
3292// CHECK-NEXT: },
3293// CHECK-NEXT: "end": {
3294// CHECK-NEXT: "col": 26,
3295// CHECK-NEXT: "file": "{{.*}}",
3296// CHECK-NEXT: "line": 86
3297// CHECK-NEXT: }
3298// CHECK-NEXT: },
3299// CHECK-NEXT: "type": {
3300// CHECK-NEXT: "qualType": "void"
3301// CHECK-NEXT: },
3302// CHECK-NEXT: "valueCategory": "rvalue",
3303// CHECK-NEXT: "inner": [
3304// CHECK-NEXT: {
3305// CHECK-NEXT: "id": "0x{{.*}}",
3306// CHECK-NEXT: "kind": "MemberExpr",
3307// CHECK-NEXT: "range": {
3308// CHECK-NEXT: "begin": {
3309// CHECK-NEXT: "col": 3,
3310// CHECK-NEXT: "file": "{{.*}}",
3311// CHECK-NEXT: "line": 86
3312// CHECK-NEXT: },
3313// CHECK-NEXT: "end": {
3314// CHECK-NEXT: "col": 24,
3315// CHECK-NEXT: "file": "{{.*}}",
3316// CHECK-NEXT: "line": 86
3317// CHECK-NEXT: }
3318// CHECK-NEXT: },
3319// CHECK-NEXT: "type": {
3320// CHECK-NEXT: "qualType": "<bound member function type>"
3321// CHECK-NEXT: },
3322// CHECK-NEXT: "valueCategory": "rvalue",
Aaron Ballmane7b3b802019-05-27 14:25:04 +00003323// CHECK-NEXT: "name": "~U",
Aaron Ballman80d5d162019-05-27 14:12:48 +00003324// CHECK-NEXT: "isArrow": true,
3325// CHECK-NEXT: "referencedMemberDecl": "0x{{.*}}",
3326// CHECK-NEXT: "inner": [
3327// CHECK-NEXT: {
3328// CHECK-NEXT: "id": "0x{{.*}}",
3329// CHECK-NEXT: "kind": "ImplicitCastExpr",
3330// CHECK-NEXT: "range": {
3331// CHECK-NEXT: "begin": {
3332// CHECK-NEXT: "col": 3,
3333// CHECK-NEXT: "file": "{{.*}}",
3334// CHECK-NEXT: "line": 86
3335// CHECK-NEXT: },
3336// CHECK-NEXT: "end": {
3337// CHECK-NEXT: "col": 3,
3338// CHECK-NEXT: "file": "{{.*}}",
3339// CHECK-NEXT: "line": 86
3340// CHECK-NEXT: }
3341// CHECK-NEXT: },
3342// CHECK-NEXT: "type": {
3343// CHECK-NEXT: "qualType": "U<int> *"
3344// CHECK-NEXT: },
3345// CHECK-NEXT: "valueCategory": "rvalue",
3346// CHECK-NEXT: "castKind": "LValueToRValue",
3347// CHECK-NEXT: "inner": [
3348// CHECK-NEXT: {
3349// CHECK-NEXT: "id": "0x{{.*}}",
3350// CHECK-NEXT: "kind": "DeclRefExpr",
3351// CHECK-NEXT: "range": {
3352// CHECK-NEXT: "begin": {
3353// CHECK-NEXT: "col": 3,
3354// CHECK-NEXT: "file": "{{.*}}",
3355// CHECK-NEXT: "line": 86
3356// CHECK-NEXT: },
3357// CHECK-NEXT: "end": {
3358// CHECK-NEXT: "col": 3,
3359// CHECK-NEXT: "file": "{{.*}}",
3360// CHECK-NEXT: "line": 86
3361// CHECK-NEXT: }
3362// CHECK-NEXT: },
3363// CHECK-NEXT: "type": {
3364// CHECK-NEXT: "qualType": "U<int> *"
3365// CHECK-NEXT: },
3366// CHECK-NEXT: "valueCategory": "lvalue",
3367// CHECK-NEXT: "referencedDecl": {
3368// CHECK-NEXT: "id": "0x{{.*}}",
3369// CHECK-NEXT: "kind": "ParmVarDecl",
3370// CHECK-NEXT: "name": "r",
3371// CHECK-NEXT: "type": {
3372// CHECK-NEXT: "qualType": "U<int> *"
3373// CHECK-NEXT: }
3374// CHECK-NEXT: }
3375// CHECK-NEXT: }
3376// CHECK-NEXT: ]
3377// CHECK-NEXT: }
3378// CHECK-NEXT: ]
3379// CHECK-NEXT: }
3380// CHECK-NEXT: ]
3381// CHECK-NEXT: },
3382// CHECK-NEXT: {
3383// CHECK-NEXT: "id": "0x{{.*}}",
3384// CHECK-NEXT: "kind": "CXXTypeidExpr",
3385// CHECK-NEXT: "range": {
3386// CHECK-NEXT: "begin": {
3387// CHECK-NEXT: "col": 3,
3388// CHECK-NEXT: "file": "{{.*}}",
3389// CHECK-NEXT: "line": 87
3390// CHECK-NEXT: },
3391// CHECK-NEXT: "end": {
3392// CHECK-NEXT: "col": 11,
3393// CHECK-NEXT: "file": "{{.*}}",
3394// CHECK-NEXT: "line": 87
3395// CHECK-NEXT: }
3396// CHECK-NEXT: },
3397// CHECK-NEXT: "type": {
3398// CHECK-NEXT: "qualType": "const std::type_info"
3399// CHECK-NEXT: },
3400// CHECK-NEXT: "valueCategory": "lvalue",
3401// CHECK-NEXT: "inner": [
3402// CHECK-NEXT: {
3403// CHECK-NEXT: "id": "0x{{.*}}",
3404// CHECK-NEXT: "kind": "DeclRefExpr",
3405// CHECK-NEXT: "range": {
3406// CHECK-NEXT: "begin": {
3407// CHECK-NEXT: "col": 10,
3408// CHECK-NEXT: "file": "{{.*}}",
3409// CHECK-NEXT: "line": 87
3410// CHECK-NEXT: },
3411// CHECK-NEXT: "end": {
3412// CHECK-NEXT: "col": 10,
3413// CHECK-NEXT: "file": "{{.*}}",
3414// CHECK-NEXT: "line": 87
3415// CHECK-NEXT: }
3416// CHECK-NEXT: },
3417// CHECK-NEXT: "type": {
3418// CHECK-NEXT: "qualType": "S"
3419// CHECK-NEXT: },
3420// CHECK-NEXT: "valueCategory": "lvalue",
3421// CHECK-NEXT: "referencedDecl": {
3422// CHECK-NEXT: "id": "0x{{.*}}",
3423// CHECK-NEXT: "kind": "ParmVarDecl",
3424// CHECK-NEXT: "name": "a",
3425// CHECK-NEXT: "type": {
3426// CHECK-NEXT: "qualType": "S"
3427// CHECK-NEXT: }
3428// CHECK-NEXT: }
3429// CHECK-NEXT: }
3430// CHECK-NEXT: ]
3431// CHECK-NEXT: },
3432// CHECK-NEXT: {
3433// CHECK-NEXT: "id": "0x{{.*}}",
3434// CHECK-NEXT: "kind": "CXXTypeidExpr",
3435// CHECK-NEXT: "range": {
3436// CHECK-NEXT: "begin": {
3437// CHECK-NEXT: "col": 3,
3438// CHECK-NEXT: "file": "{{.*}}",
3439// CHECK-NEXT: "line": 88
3440// CHECK-NEXT: },
3441// CHECK-NEXT: "end": {
3442// CHECK-NEXT: "col": 11,
3443// CHECK-NEXT: "file": "{{.*}}",
3444// CHECK-NEXT: "line": 88
3445// CHECK-NEXT: }
3446// CHECK-NEXT: },
3447// CHECK-NEXT: "type": {
3448// CHECK-NEXT: "qualType": "const std::type_info"
3449// CHECK-NEXT: },
Aaron Ballmane091ab12019-05-27 14:34:31 +00003450// CHECK-NEXT: "valueCategory": "lvalue",
3451// CHECK-NEXT: "typeArg": {
3452// CHECK-NEXT: "qualType": "S"
3453// CHECK-NEXT: }
Aaron Ballman80d5d162019-05-27 14:12:48 +00003454// CHECK-NEXT: },
3455// CHECK-NEXT: {
3456// CHECK-NEXT: "id": "0x{{.*}}",
3457// CHECK-NEXT: "kind": "CXXTypeidExpr",
3458// CHECK-NEXT: "range": {
3459// CHECK-NEXT: "begin": {
3460// CHECK-NEXT: "col": 3,
3461// CHECK-NEXT: "file": "{{.*}}",
3462// CHECK-NEXT: "line": 89
3463// CHECK-NEXT: },
3464// CHECK-NEXT: "end": {
3465// CHECK-NEXT: "col": 26,
3466// CHECK-NEXT: "file": "{{.*}}",
3467// CHECK-NEXT: "line": 89
3468// CHECK-NEXT: }
3469// CHECK-NEXT: },
3470// CHECK-NEXT: "type": {
3471// CHECK-NEXT: "qualType": "const std::type_info"
3472// CHECK-NEXT: },
Aaron Ballmane091ab12019-05-27 14:34:31 +00003473// CHECK-NEXT: "valueCategory": "lvalue",
3474// CHECK-NEXT: "typeArg": {
3475// CHECK-NEXT: "qualType": "const volatile S"
3476// CHECK-NEXT: },
3477// CHECK-NEXT: "adjustedTypeArg": {
3478// CHECK-NEXT: "qualType": "S"
3479// CHECK-NEXT: }
Aaron Ballman80d5d162019-05-27 14:12:48 +00003480// CHECK-NEXT: }
3481// CHECK-NEXT: ]
3482// CHECK-NEXT: }
3483// CHECK-NEXT: ]
3484// CHECK-NEXT: }
3485
3486
3487// CHECK: "kind": "FunctionTemplateDecl",
3488// CHECK-NEXT: "loc": {
3489// CHECK-NEXT: "col": 6,
3490// CHECK-NEXT: "file": "{{.*}}",
3491// CHECK-NEXT: "line": 93
3492// CHECK-NEXT: },
3493// CHECK-NEXT: "range": {
3494// CHECK-NEXT: "begin": {
3495// CHECK-NEXT: "col": 1,
3496// CHECK-NEXT: "file": "{{.*}}",
3497// CHECK-NEXT: "line": 92
3498// CHECK-NEXT: },
3499// CHECK-NEXT: "end": {
3500// CHECK-NEXT: "col": 1,
3501// CHECK-NEXT: "file": "{{.*}}",
3502// CHECK-NEXT: "line": 122
3503// CHECK-NEXT: }
3504// CHECK-NEXT: },
3505// CHECK-NEXT: "name": "TestPrimaryExpressions",
3506// CHECK-NEXT: "templateParams": [
3507// CHECK-NEXT: {
3508// CHECK-NEXT: "id": "0x{{.*}}",
3509// CHECK-NEXT: "kind": "TemplateTypeParmDecl",
3510// CHECK-NEXT: "loc": {
3511// CHECK-NEXT: "col": 23,
3512// CHECK-NEXT: "file": "{{.*}}",
3513// CHECK-NEXT: "line": 92
3514// CHECK-NEXT: },
3515// CHECK-NEXT: "range": {
3516// CHECK-NEXT: "begin": {
3517// CHECK-NEXT: "col": 11,
3518// CHECK-NEXT: "file": "{{.*}}",
3519// CHECK-NEXT: "line": 92
3520// CHECK-NEXT: },
3521// CHECK-NEXT: "end": {
3522// CHECK-NEXT: "col": 23,
3523// CHECK-NEXT: "file": "{{.*}}",
3524// CHECK-NEXT: "line": 92
3525// CHECK-NEXT: }
3526// CHECK-NEXT: },
3527// CHECK-NEXT: "isReferenced": true,
3528// CHECK-NEXT: "name": "Ts",
3529// CHECK-NEXT: "tagUsed": "typename",
3530// CHECK-NEXT: "depth": 0,
3531// CHECK-NEXT: "index": 0,
3532// CHECK-NEXT: "isParameterPack": true
3533// CHECK-NEXT: }
3534// CHECK-NEXT: ],
3535// CHECK-NEXT: "inner": [
3536// CHECK-NEXT: {
3537// CHECK-NEXT: "id": "0x{{.*}}",
3538// CHECK-NEXT: "kind": "FunctionDecl",
3539// CHECK-NEXT: "loc": {
3540// CHECK-NEXT: "col": 6,
3541// CHECK-NEXT: "file": "{{.*}}",
3542// CHECK-NEXT: "line": 93
3543// CHECK-NEXT: },
3544// CHECK-NEXT: "range": {
3545// CHECK-NEXT: "begin": {
3546// CHECK-NEXT: "col": 1,
3547// CHECK-NEXT: "file": "{{.*}}",
3548// CHECK-NEXT: "line": 93
3549// CHECK-NEXT: },
3550// CHECK-NEXT: "end": {
3551// CHECK-NEXT: "col": 1,
3552// CHECK-NEXT: "file": "{{.*}}",
3553// CHECK-NEXT: "line": 122
3554// CHECK-NEXT: }
3555// CHECK-NEXT: },
3556// CHECK-NEXT: "name": "TestPrimaryExpressions",
3557// CHECK-NEXT: "type": {
3558// CHECK-NEXT: "qualType": "void (Ts...)"
3559// CHECK-NEXT: },
3560// CHECK-NEXT: "inner": [
3561// CHECK-NEXT: {
3562// CHECK-NEXT: "id": "0x{{.*}}",
3563// CHECK-NEXT: "kind": "ParmVarDecl",
3564// CHECK-NEXT: "loc": {
3565// CHECK-NEXT: "col": 35,
3566// CHECK-NEXT: "file": "{{.*}}",
3567// CHECK-NEXT: "line": 93
3568// CHECK-NEXT: },
3569// CHECK-NEXT: "range": {
3570// CHECK-NEXT: "begin": {
3571// CHECK-NEXT: "col": 29,
3572// CHECK-NEXT: "file": "{{.*}}",
3573// CHECK-NEXT: "line": 93
3574// CHECK-NEXT: },
3575// CHECK-NEXT: "end": {
3576// CHECK-NEXT: "col": 35,
3577// CHECK-NEXT: "file": "{{.*}}",
3578// CHECK-NEXT: "line": 93
3579// CHECK-NEXT: }
3580// CHECK-NEXT: },
3581// CHECK-NEXT: "isReferenced": true,
3582// CHECK-NEXT: "name": "a",
3583// CHECK-NEXT: "type": {
3584// CHECK-NEXT: "qualType": "Ts..."
3585// CHECK-NEXT: },
3586// CHECK-NEXT: "isParameterPack": true
3587// CHECK-NEXT: },
3588// CHECK-NEXT: {
3589// CHECK-NEXT: "id": "0x{{.*}}",
3590// CHECK-NEXT: "kind": "CompoundStmt",
3591// CHECK-NEXT: "range": {
3592// CHECK-NEXT: "begin": {
3593// CHECK-NEXT: "col": 38,
3594// CHECK-NEXT: "file": "{{.*}}",
3595// CHECK-NEXT: "line": 93
3596// CHECK-NEXT: },
3597// CHECK-NEXT: "end": {
3598// CHECK-NEXT: "col": 1,
3599// CHECK-NEXT: "file": "{{.*}}",
3600// CHECK-NEXT: "line": 122
3601// CHECK-NEXT: }
3602// CHECK-NEXT: },
3603// CHECK-NEXT: "inner": [
3604// CHECK-NEXT: {
3605// CHECK-NEXT: "id": "0x{{.*}}",
3606// CHECK-NEXT: "kind": "DeclStmt",
3607// CHECK-NEXT: "range": {
3608// CHECK-NEXT: "begin": {
3609// CHECK-NEXT: "col": 3,
3610// CHECK-NEXT: "file": "{{.*}}",
3611// CHECK-NEXT: "line": 94
3612// CHECK-NEXT: },
3613// CHECK-NEXT: "end": {
3614// CHECK-NEXT: "col": 4,
3615// CHECK-NEXT: "file": "{{.*}}",
3616// CHECK-NEXT: "line": 101
3617// CHECK-NEXT: }
3618// CHECK-NEXT: },
3619// CHECK-NEXT: "inner": [
3620// CHECK-NEXT: {
3621// CHECK-NEXT: "id": "0x{{.*}}",
3622// CHECK-NEXT: "kind": "CXXRecordDecl",
3623// CHECK-NEXT: "loc": {
3624// CHECK-NEXT: "col": 10,
3625// CHECK-NEXT: "file": "{{.*}}",
3626// CHECK-NEXT: "line": 94
3627// CHECK-NEXT: },
3628// CHECK-NEXT: "range": {
3629// CHECK-NEXT: "begin": {
3630// CHECK-NEXT: "col": 3,
3631// CHECK-NEXT: "file": "{{.*}}",
3632// CHECK-NEXT: "line": 94
3633// CHECK-NEXT: },
3634// CHECK-NEXT: "end": {
3635// CHECK-NEXT: "col": 3,
3636// CHECK-NEXT: "file": "{{.*}}",
3637// CHECK-NEXT: "line": 101
3638// CHECK-NEXT: }
3639// CHECK-NEXT: },
3640// CHECK-NEXT: "name": "V",
3641// CHECK-NEXT: "tagUsed": "struct",
3642// CHECK-NEXT: "completeDefinition": true,
3643// CHECK-NEXT: "definitionData": {
3644// CHECK-NEXT: "canConstDefaultInit": true,
3645// CHECK-NEXT: "copyAssign": {
3646// CHECK-NEXT: "hasConstParam": true,
3647// CHECK-NEXT: "implicitHasConstParam": true,
3648// CHECK-NEXT: "needsImplicit": true,
3649// CHECK-NEXT: "trivial": true
3650// CHECK-NEXT: },
3651// CHECK-NEXT: "copyCtor": {
3652// CHECK-NEXT: "hasConstParam": true,
3653// CHECK-NEXT: "implicitHasConstParam": true,
3654// CHECK-NEXT: "needsImplicit": true,
3655// CHECK-NEXT: "simple": true,
3656// CHECK-NEXT: "trivial": true
3657// CHECK-NEXT: },
3658// CHECK-NEXT: "defaultCtor": {
3659// CHECK-NEXT: "defaultedIsConstexpr": true,
3660// CHECK-NEXT: "exists": true,
3661// CHECK-NEXT: "isConstexpr": true,
3662// CHECK-NEXT: "needsImplicit": true,
3663// CHECK-NEXT: "trivial": true
3664// CHECK-NEXT: },
3665// CHECK-NEXT: "dtor": {
3666// CHECK-NEXT: "irrelevant": true,
3667// CHECK-NEXT: "needsImplicit": true,
3668// CHECK-NEXT: "simple": true,
3669// CHECK-NEXT: "trivial": true
3670// CHECK-NEXT: },
3671// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true,
3672// CHECK-NEXT: "isAggregate": true,
3673// CHECK-NEXT: "isEmpty": true,
3674// CHECK-NEXT: "isLiteral": true,
3675// CHECK-NEXT: "isPOD": true,
3676// CHECK-NEXT: "isStandardLayout": true,
3677// CHECK-NEXT: "isTrivial": true,
3678// CHECK-NEXT: "isTriviallyCopyable": true,
3679// CHECK-NEXT: "moveAssign": {
3680// CHECK-NEXT: "exists": true,
3681// CHECK-NEXT: "needsImplicit": true,
3682// CHECK-NEXT: "simple": true,
3683// CHECK-NEXT: "trivial": true
3684// CHECK-NEXT: },
3685// CHECK-NEXT: "moveCtor": {
3686// CHECK-NEXT: "exists": true,
3687// CHECK-NEXT: "needsImplicit": true,
3688// CHECK-NEXT: "simple": true,
3689// CHECK-NEXT: "trivial": true
3690// CHECK-NEXT: }
3691// CHECK-NEXT: },
3692// CHECK-NEXT: "inner": [
3693// CHECK-NEXT: {
3694// CHECK-NEXT: "id": "0x{{.*}}",
3695// CHECK-NEXT: "kind": "CXXRecordDecl",
3696// CHECK-NEXT: "loc": {
3697// CHECK-NEXT: "col": 10,
3698// CHECK-NEXT: "file": "{{.*}}",
3699// CHECK-NEXT: "line": 94
3700// CHECK-NEXT: },
3701// CHECK-NEXT: "range": {
3702// CHECK-NEXT: "begin": {
3703// CHECK-NEXT: "col": 3,
3704// CHECK-NEXT: "file": "{{.*}}",
3705// CHECK-NEXT: "line": 94
3706// CHECK-NEXT: },
3707// CHECK-NEXT: "end": {
3708// CHECK-NEXT: "col": 10,
3709// CHECK-NEXT: "file": "{{.*}}",
3710// CHECK-NEXT: "line": 94
3711// CHECK-NEXT: }
3712// CHECK-NEXT: },
3713// CHECK-NEXT: "isImplicit": true,
3714// CHECK-NEXT: "name": "V",
3715// CHECK-NEXT: "tagUsed": "struct"
3716// CHECK-NEXT: },
3717// CHECK-NEXT: {
3718// CHECK-NEXT: "id": "0x{{.*}}",
3719// CHECK-NEXT: "kind": "CXXMethodDecl",
3720// CHECK-NEXT: "loc": {
3721// CHECK-NEXT: "col": 10,
3722// CHECK-NEXT: "file": "{{.*}}",
3723// CHECK-NEXT: "line": 95
3724// CHECK-NEXT: },
3725// CHECK-NEXT: "range": {
3726// CHECK-NEXT: "begin": {
3727// CHECK-NEXT: "col": 5,
3728// CHECK-NEXT: "file": "{{.*}}",
3729// CHECK-NEXT: "line": 95
3730// CHECK-NEXT: },
3731// CHECK-NEXT: "end": {
3732// CHECK-NEXT: "col": 5,
3733// CHECK-NEXT: "file": "{{.*}}",
3734// CHECK-NEXT: "line": 100
3735// CHECK-NEXT: }
3736// CHECK-NEXT: },
3737// CHECK-NEXT: "name": "f",
3738// CHECK-NEXT: "type": {
3739// CHECK-NEXT: "qualType": "void ()"
3740// CHECK-NEXT: },
3741// CHECK-NEXT: "inner": [
3742// CHECK-NEXT: {
3743// CHECK-NEXT: "id": "0x{{.*}}",
3744// CHECK-NEXT: "kind": "CompoundStmt",
3745// CHECK-NEXT: "range": {
3746// CHECK-NEXT: "begin": {
3747// CHECK-NEXT: "col": 14,
3748// CHECK-NEXT: "file": "{{.*}}",
3749// CHECK-NEXT: "line": 95
3750// CHECK-NEXT: },
3751// CHECK-NEXT: "end": {
3752// CHECK-NEXT: "col": 5,
3753// CHECK-NEXT: "file": "{{.*}}",
3754// CHECK-NEXT: "line": 100
3755// CHECK-NEXT: }
3756// CHECK-NEXT: },
3757// CHECK-NEXT: "inner": [
3758// CHECK-NEXT: {
3759// CHECK-NEXT: "id": "0x{{.*}}",
3760// CHECK-NEXT: "kind": "CXXThisExpr",
3761// CHECK-NEXT: "range": {
3762// CHECK-NEXT: "begin": {
3763// CHECK-NEXT: "col": 7,
3764// CHECK-NEXT: "file": "{{.*}}",
3765// CHECK-NEXT: "line": 96
3766// CHECK-NEXT: },
3767// CHECK-NEXT: "end": {
3768// CHECK-NEXT: "col": 7,
3769// CHECK-NEXT: "file": "{{.*}}",
3770// CHECK-NEXT: "line": 96
3771// CHECK-NEXT: }
3772// CHECK-NEXT: },
3773// CHECK-NEXT: "type": {
3774// CHECK-NEXT: "qualType": "V *"
3775// CHECK-NEXT: },
3776// CHECK-NEXT: "valueCategory": "rvalue"
3777// CHECK-NEXT: },
3778// CHECK-NEXT: {
3779// CHECK-NEXT: "id": "0x{{.*}}",
3780// CHECK-NEXT: "kind": "LambdaExpr",
3781// CHECK-NEXT: "range": {
3782// CHECK-NEXT: "begin": {
3783// CHECK-NEXT: "col": 7,
3784// CHECK-NEXT: "file": "{{.*}}",
3785// CHECK-NEXT: "line": 98
3786// CHECK-NEXT: },
3787// CHECK-NEXT: "end": {
3788// CHECK-NEXT: "col": 14,
3789// CHECK-NEXT: "file": "{{.*}}",
3790// CHECK-NEXT: "line": 98
3791// CHECK-NEXT: }
3792// CHECK-NEXT: },
3793// CHECK-NEXT: "type": {
3794// CHECK-NEXT: "qualType": "(lambda at {{.*}}:98:7)"
3795// CHECK-NEXT: },
3796// CHECK-NEXT: "valueCategory": "rvalue",
3797// CHECK-NEXT: "inner": [
3798// CHECK-NEXT: {
3799// CHECK-NEXT: "id": "0x{{.*}}",
3800// CHECK-NEXT: "kind": "CXXRecordDecl",
3801// CHECK-NEXT: "loc": {
3802// CHECK-NEXT: "col": 7,
3803// CHECK-NEXT: "file": "{{.*}}",
3804// CHECK-NEXT: "line": 98
3805// CHECK-NEXT: },
3806// CHECK-NEXT: "range": {
3807// CHECK-NEXT: "begin": {
3808// CHECK-NEXT: "col": 7,
3809// CHECK-NEXT: "file": "{{.*}}",
3810// CHECK-NEXT: "line": 98
3811// CHECK-NEXT: },
3812// CHECK-NEXT: "end": {
3813// CHECK-NEXT: "col": 7,
3814// CHECK-NEXT: "file": "{{.*}}",
3815// CHECK-NEXT: "line": 98
3816// CHECK-NEXT: }
3817// CHECK-NEXT: },
3818// CHECK-NEXT: "isImplicit": true,
3819// CHECK-NEXT: "tagUsed": "class",
3820// CHECK-NEXT: "completeDefinition": true,
3821// CHECK-NEXT: "definitionData": {
3822// CHECK-NEXT: "canConstDefaultInit": true,
3823// CHECK-NEXT: "copyAssign": {
3824// CHECK-NEXT: "hasConstParam": true,
3825// CHECK-NEXT: "implicitHasConstParam": true,
3826// CHECK-NEXT: "needsImplicit": true,
3827// CHECK-NEXT: "trivial": true
3828// CHECK-NEXT: },
3829// CHECK-NEXT: "copyCtor": {
3830// CHECK-NEXT: "hasConstParam": true,
3831// CHECK-NEXT: "implicitHasConstParam": true,
3832// CHECK-NEXT: "needsImplicit": true,
3833// CHECK-NEXT: "simple": true,
3834// CHECK-NEXT: "trivial": true
3835// CHECK-NEXT: },
3836// CHECK-NEXT: "defaultCtor": {},
3837// CHECK-NEXT: "dtor": {
3838// CHECK-NEXT: "irrelevant": true,
3839// CHECK-NEXT: "needsImplicit": true,
3840// CHECK-NEXT: "simple": true,
3841// CHECK-NEXT: "trivial": true
3842// CHECK-NEXT: },
3843// CHECK-NEXT: "isLambda": true,
3844// CHECK-NEXT: "isStandardLayout": true,
3845// CHECK-NEXT: "isTriviallyCopyable": true,
3846// CHECK-NEXT: "moveAssign": {},
3847// CHECK-NEXT: "moveCtor": {
3848// CHECK-NEXT: "exists": true,
3849// CHECK-NEXT: "needsImplicit": true,
3850// CHECK-NEXT: "simple": true,
3851// CHECK-NEXT: "trivial": true
3852// CHECK-NEXT: }
3853// CHECK-NEXT: },
3854// CHECK-NEXT: "inner": [
3855// CHECK-NEXT: {
3856// CHECK-NEXT: "id": "0x{{.*}}",
Aaron Ballman80d5d162019-05-27 14:12:48 +00003857// CHECK-NEXT: "kind": "CXXMethodDecl",
3858// CHECK-NEXT: "loc": {
3859// CHECK-NEXT: "col": 7,
3860// CHECK-NEXT: "file": "{{.*}}",
3861// CHECK-NEXT: "line": 98
3862// CHECK-NEXT: },
3863// CHECK-NEXT: "range": {
3864// CHECK-NEXT: "begin": {
3865// CHECK-NEXT: "col": 12,
3866// CHECK-NEXT: "file": "{{.*}}",
3867// CHECK-NEXT: "line": 98
3868// CHECK-NEXT: },
3869// CHECK-NEXT: "end": {
3870// CHECK-NEXT: "col": 14,
3871// CHECK-NEXT: "file": "{{.*}}",
3872// CHECK-NEXT: "line": 98
3873// CHECK-NEXT: }
3874// CHECK-NEXT: },
3875// CHECK-NEXT: "name": "operator()",
3876// CHECK-NEXT: "type": {
3877// CHECK-NEXT: "qualType": "auto () const -> auto"
3878// CHECK-NEXT: },
3879// CHECK-NEXT: "inline": true,
3880// CHECK-NEXT: "inner": [
3881// CHECK-NEXT: {
3882// CHECK-NEXT: "id": "0x{{.*}}",
3883// CHECK-NEXT: "kind": "CompoundStmt",
3884// CHECK-NEXT: "range": {
3885// CHECK-NEXT: "begin": {
3886// CHECK-NEXT: "col": 13,
3887// CHECK-NEXT: "file": "{{.*}}",
3888// CHECK-NEXT: "line": 98
3889// CHECK-NEXT: },
3890// CHECK-NEXT: "end": {
3891// CHECK-NEXT: "col": 14,
3892// CHECK-NEXT: "file": "{{.*}}",
3893// CHECK-NEXT: "line": 98
3894// CHECK-NEXT: }
3895// CHECK-NEXT: }
3896// CHECK-NEXT: }
3897// CHECK-NEXT: ]
Richard Smithd103bc32019-05-28 23:20:52 +00003898// CHECK-NEXT: },
3899// CHECK-NEXT: {
3900// CHECK-NEXT: "id": "0x{{.*}}",
3901// CHECK-NEXT: "kind": "FieldDecl",
3902// CHECK-NEXT: "loc": {
3903// CHECK-NEXT: "col": 8,
3904// CHECK-NEXT: "file": "{{.*}}",
3905// CHECK-NEXT: "line": 98
3906// CHECK-NEXT: },
3907// CHECK-NEXT: "range": {
3908// CHECK-NEXT: "begin": {
3909// CHECK-NEXT: "col": 8,
3910// CHECK-NEXT: "file": "{{.*}}",
3911// CHECK-NEXT: "line": 98
3912// CHECK-NEXT: },
3913// CHECK-NEXT: "end": {
3914// CHECK-NEXT: "col": 8,
3915// CHECK-NEXT: "file": "{{.*}}",
3916// CHECK-NEXT: "line": 98
3917// CHECK-NEXT: }
3918// CHECK-NEXT: },
3919// CHECK-NEXT: "isImplicit": true,
3920// CHECK-NEXT: "type": {
3921// CHECK-NEXT: "qualType": "V *"
3922// CHECK-NEXT: }
Aaron Ballman80d5d162019-05-27 14:12:48 +00003923// CHECK-NEXT: }
3924// CHECK-NEXT: ]
3925// CHECK-NEXT: },
3926// CHECK-NEXT: {
3927// CHECK-NEXT: "id": "0x{{.*}}",
3928// CHECK-NEXT: "kind": "CXXThisExpr",
3929// CHECK-NEXT: "range": {
3930// CHECK-NEXT: "begin": {
3931// CHECK-NEXT: "col": 8,
3932// CHECK-NEXT: "file": "{{.*}}",
3933// CHECK-NEXT: "line": 98
3934// CHECK-NEXT: },
3935// CHECK-NEXT: "end": {
3936// CHECK-NEXT: "col": 8,
3937// CHECK-NEXT: "file": "{{.*}}",
3938// CHECK-NEXT: "line": 98
3939// CHECK-NEXT: }
3940// CHECK-NEXT: },
3941// CHECK-NEXT: "type": {
3942// CHECK-NEXT: "qualType": "V *"
3943// CHECK-NEXT: },
Richard Smithb5a45bb2019-05-31 01:17:04 +00003944// CHECK-NEXT: "valueCategory": "rvalue"
Aaron Ballman80d5d162019-05-27 14:12:48 +00003945// CHECK-NEXT: },
3946// CHECK-NEXT: {
3947// CHECK-NEXT: "id": "0x{{.*}}",
3948// CHECK-NEXT: "kind": "CompoundStmt",
3949// CHECK-NEXT: "range": {
3950// CHECK-NEXT: "begin": {
3951// CHECK-NEXT: "col": 13,
3952// CHECK-NEXT: "file": "{{.*}}",
3953// CHECK-NEXT: "line": 98
3954// CHECK-NEXT: },
3955// CHECK-NEXT: "end": {
3956// CHECK-NEXT: "col": 14,
3957// CHECK-NEXT: "file": "{{.*}}",
3958// CHECK-NEXT: "line": 98
3959// CHECK-NEXT: }
3960// CHECK-NEXT: }
3961// CHECK-NEXT: }
3962// CHECK-NEXT: ]
3963// CHECK-NEXT: },
3964// CHECK-NEXT: {
3965// CHECK-NEXT: "id": "0x{{.*}}",
3966// CHECK-NEXT: "kind": "LambdaExpr",
3967// CHECK-NEXT: "range": {
3968// CHECK-NEXT: "begin": {
3969// CHECK-NEXT: "col": 7,
3970// CHECK-NEXT: "file": "{{.*}}",
3971// CHECK-NEXT: "line": 99
3972// CHECK-NEXT: },
3973// CHECK-NEXT: "end": {
3974// CHECK-NEXT: "col": 15,
3975// CHECK-NEXT: "file": "{{.*}}",
3976// CHECK-NEXT: "line": 99
3977// CHECK-NEXT: }
3978// CHECK-NEXT: },
3979// CHECK-NEXT: "type": {
3980// CHECK-NEXT: "qualType": "(lambda at {{.*}}:99:7)"
3981// CHECK-NEXT: },
3982// CHECK-NEXT: "valueCategory": "rvalue",
3983// CHECK-NEXT: "inner": [
3984// CHECK-NEXT: {
3985// CHECK-NEXT: "id": "0x{{.*}}",
3986// CHECK-NEXT: "kind": "CXXRecordDecl",
3987// CHECK-NEXT: "loc": {
3988// CHECK-NEXT: "col": 7,
3989// CHECK-NEXT: "file": "{{.*}}",
3990// CHECK-NEXT: "line": 99
3991// CHECK-NEXT: },
3992// CHECK-NEXT: "range": {
3993// CHECK-NEXT: "begin": {
3994// CHECK-NEXT: "col": 7,
3995// CHECK-NEXT: "file": "{{.*}}",
3996// CHECK-NEXT: "line": 99
3997// CHECK-NEXT: },
3998// CHECK-NEXT: "end": {
3999// CHECK-NEXT: "col": 7,
4000// CHECK-NEXT: "file": "{{.*}}",
4001// CHECK-NEXT: "line": 99
4002// CHECK-NEXT: }
4003// CHECK-NEXT: },
4004// CHECK-NEXT: "isImplicit": true,
4005// CHECK-NEXT: "tagUsed": "class",
4006// CHECK-NEXT: "completeDefinition": true,
4007// CHECK-NEXT: "definitionData": {
4008// CHECK-NEXT: "canConstDefaultInit": true,
4009// CHECK-NEXT: "copyAssign": {
4010// CHECK-NEXT: "hasConstParam": true,
4011// CHECK-NEXT: "implicitHasConstParam": true,
4012// CHECK-NEXT: "needsImplicit": true,
4013// CHECK-NEXT: "trivial": true
4014// CHECK-NEXT: },
4015// CHECK-NEXT: "copyCtor": {
4016// CHECK-NEXT: "hasConstParam": true,
4017// CHECK-NEXT: "implicitHasConstParam": true,
4018// CHECK-NEXT: "needsImplicit": true,
4019// CHECK-NEXT: "simple": true,
4020// CHECK-NEXT: "trivial": true
4021// CHECK-NEXT: },
4022// CHECK-NEXT: "defaultCtor": {
4023// CHECK-NEXT: "defaultedIsConstexpr": true
4024// CHECK-NEXT: },
4025// CHECK-NEXT: "dtor": {
4026// CHECK-NEXT: "irrelevant": true,
4027// CHECK-NEXT: "needsImplicit": true,
4028// CHECK-NEXT: "simple": true,
4029// CHECK-NEXT: "trivial": true
4030// CHECK-NEXT: },
4031// CHECK-NEXT: "isLambda": true,
4032// CHECK-NEXT: "isStandardLayout": true,
4033// CHECK-NEXT: "isTriviallyCopyable": true,
4034// CHECK-NEXT: "moveAssign": {},
4035// CHECK-NEXT: "moveCtor": {
4036// CHECK-NEXT: "exists": true,
4037// CHECK-NEXT: "needsImplicit": true,
4038// CHECK-NEXT: "simple": true,
4039// CHECK-NEXT: "trivial": true
4040// CHECK-NEXT: }
4041// CHECK-NEXT: },
4042// CHECK-NEXT: "inner": [
4043// CHECK-NEXT: {
4044// CHECK-NEXT: "id": "0x{{.*}}",
Aaron Ballman80d5d162019-05-27 14:12:48 +00004045// CHECK-NEXT: "kind": "CXXMethodDecl",
4046// CHECK-NEXT: "loc": {
4047// CHECK-NEXT: "col": 7,
4048// CHECK-NEXT: "file": "{{.*}}",
4049// CHECK-NEXT: "line": 99
4050// CHECK-NEXT: },
4051// CHECK-NEXT: "range": {
4052// CHECK-NEXT: "begin": {
4053// CHECK-NEXT: "col": 13,
4054// CHECK-NEXT: "file": "{{.*}}",
4055// CHECK-NEXT: "line": 99
4056// CHECK-NEXT: },
4057// CHECK-NEXT: "end": {
4058// CHECK-NEXT: "col": 15,
4059// CHECK-NEXT: "file": "{{.*}}",
4060// CHECK-NEXT: "line": 99
4061// CHECK-NEXT: }
4062// CHECK-NEXT: },
4063// CHECK-NEXT: "name": "operator()",
4064// CHECK-NEXT: "type": {
4065// CHECK-NEXT: "qualType": "auto () const -> auto"
4066// CHECK-NEXT: },
4067// CHECK-NEXT: "inline": true,
4068// CHECK-NEXT: "inner": [
4069// CHECK-NEXT: {
4070// CHECK-NEXT: "id": "0x{{.*}}",
4071// CHECK-NEXT: "kind": "CompoundStmt",
4072// CHECK-NEXT: "range": {
4073// CHECK-NEXT: "begin": {
4074// CHECK-NEXT: "col": 14,
4075// CHECK-NEXT: "file": "{{.*}}",
4076// CHECK-NEXT: "line": 99
4077// CHECK-NEXT: },
4078// CHECK-NEXT: "end": {
4079// CHECK-NEXT: "col": 15,
4080// CHECK-NEXT: "file": "{{.*}}",
4081// CHECK-NEXT: "line": 99
4082// CHECK-NEXT: }
4083// CHECK-NEXT: }
4084// CHECK-NEXT: }
4085// CHECK-NEXT: ]
Richard Smithd103bc32019-05-28 23:20:52 +00004086// CHECK-NEXT: },
4087// CHECK-NEXT: {
4088// CHECK-NEXT: "id": "0x{{.*}}",
4089// CHECK-NEXT: "kind": "FieldDecl",
4090// CHECK-NEXT: "loc": {
4091// CHECK-NEXT: "col": 8,
4092// CHECK-NEXT: "file": "{{.*}}",
4093// CHECK-NEXT: "line": 99
4094// CHECK-NEXT: },
4095// CHECK-NEXT: "range": {
4096// CHECK-NEXT: "begin": {
4097// CHECK-NEXT: "col": 8,
4098// CHECK-NEXT: "file": "{{.*}}",
4099// CHECK-NEXT: "line": 99
4100// CHECK-NEXT: },
4101// CHECK-NEXT: "end": {
4102// CHECK-NEXT: "col": 8,
4103// CHECK-NEXT: "file": "{{.*}}",
4104// CHECK-NEXT: "line": 99
4105// CHECK-NEXT: }
4106// CHECK-NEXT: },
4107// CHECK-NEXT: "isImplicit": true,
4108// CHECK-NEXT: "type": {
4109// CHECK-NEXT: "qualType": "V"
4110// CHECK-NEXT: }
Aaron Ballman80d5d162019-05-27 14:12:48 +00004111// CHECK-NEXT: }
4112// CHECK-NEXT: ]
4113// CHECK-NEXT: },
4114// CHECK-NEXT: {
4115// CHECK-NEXT: "id": "0x{{.*}}",
4116// CHECK-NEXT: "kind": "ParenListExpr",
4117// CHECK-NEXT: "range": {
4118// CHECK-NEXT: "begin": {
4119// CHECK-NEXT: "col": 8,
4120// CHECK-NEXT: "file": "{{.*}}",
4121// CHECK-NEXT: "line": 99
4122// CHECK-NEXT: },
4123// CHECK-NEXT: "end": {
4124// CHECK-NEXT: "col": 8,
4125// CHECK-NEXT: "file": "{{.*}}",
4126// CHECK-NEXT: "line": 99
4127// CHECK-NEXT: }
4128// CHECK-NEXT: },
4129// CHECK-NEXT: "type": {
4130// CHECK-NEXT: "qualType": "NULL TYPE"
4131// CHECK-NEXT: },
4132// CHECK-NEXT: "valueCategory": "rvalue",
4133// CHECK-NEXT: "inner": [
4134// CHECK-NEXT: {
4135// CHECK-NEXT: "id": "0x{{.*}}",
4136// CHECK-NEXT: "kind": "UnaryOperator",
4137// CHECK-NEXT: "range": {
4138// CHECK-NEXT: "begin": {
4139// CHECK-NEXT: "col": 8,
4140// CHECK-NEXT: "file": "{{.*}}",
4141// CHECK-NEXT: "line": 99
4142// CHECK-NEXT: },
4143// CHECK-NEXT: "end": {
4144// CHECK-NEXT: "col": 8,
4145// CHECK-NEXT: "file": "{{.*}}",
4146// CHECK-NEXT: "line": 99
4147// CHECK-NEXT: }
4148// CHECK-NEXT: },
4149// CHECK-NEXT: "type": {
4150// CHECK-NEXT: "qualType": "<dependent type>"
4151// CHECK-NEXT: },
4152// CHECK-NEXT: "valueCategory": "rvalue",
4153// CHECK-NEXT: "isPostfix": false,
4154// CHECK-NEXT: "opcode": "*",
4155// CHECK-NEXT: "canOverflow": false,
4156// CHECK-NEXT: "inner": [
4157// CHECK-NEXT: {
4158// CHECK-NEXT: "id": "0x{{.*}}",
4159// CHECK-NEXT: "kind": "CXXThisExpr",
4160// CHECK-NEXT: "range": {
4161// CHECK-NEXT: "begin": {
4162// CHECK-NEXT: "col": 8,
4163// CHECK-NEXT: "file": "{{.*}}",
4164// CHECK-NEXT: "line": 99
4165// CHECK-NEXT: },
4166// CHECK-NEXT: "end": {
4167// CHECK-NEXT: "col": 8,
4168// CHECK-NEXT: "file": "{{.*}}",
4169// CHECK-NEXT: "line": 99
4170// CHECK-NEXT: }
4171// CHECK-NEXT: },
4172// CHECK-NEXT: "type": {
4173// CHECK-NEXT: "qualType": "V *"
4174// CHECK-NEXT: },
Richard Smithb5a45bb2019-05-31 01:17:04 +00004175// CHECK-NEXT: "valueCategory": "rvalue"
Aaron Ballman80d5d162019-05-27 14:12:48 +00004176// CHECK-NEXT: }
4177// CHECK-NEXT: ]
4178// CHECK-NEXT: }
4179// CHECK-NEXT: ]
4180// CHECK-NEXT: },
4181// CHECK-NEXT: {
4182// CHECK-NEXT: "id": "0x{{.*}}",
4183// CHECK-NEXT: "kind": "CompoundStmt",
4184// CHECK-NEXT: "range": {
4185// CHECK-NEXT: "begin": {
4186// CHECK-NEXT: "col": 14,
4187// CHECK-NEXT: "file": "{{.*}}",
4188// CHECK-NEXT: "line": 99
4189// CHECK-NEXT: },
4190// CHECK-NEXT: "end": {
4191// CHECK-NEXT: "col": 15,
4192// CHECK-NEXT: "file": "{{.*}}",
4193// CHECK-NEXT: "line": 99
4194// CHECK-NEXT: }
4195// CHECK-NEXT: }
4196// CHECK-NEXT: }
4197// CHECK-NEXT: ]
4198// CHECK-NEXT: }
4199// CHECK-NEXT: ]
4200// CHECK-NEXT: }
4201// CHECK-NEXT: ]
4202// CHECK-NEXT: }
4203// CHECK-NEXT: ]
4204// CHECK-NEXT: }
4205// CHECK-NEXT: ]
4206// CHECK-NEXT: },
4207// CHECK-NEXT: {
4208// CHECK-NEXT: "id": "0x{{.*}}",
4209// CHECK-NEXT: "kind": "DeclStmt",
4210// CHECK-NEXT: "range": {
4211// CHECK-NEXT: "begin": {
4212// CHECK-NEXT: "col": 3,
4213// CHECK-NEXT: "file": "{{.*}}",
4214// CHECK-NEXT: "line": 103
4215// CHECK-NEXT: },
4216// CHECK-NEXT: "end": {
4217// CHECK-NEXT: "col": 11,
4218// CHECK-NEXT: "file": "{{.*}}",
4219// CHECK-NEXT: "line": 103
4220// CHECK-NEXT: }
4221// CHECK-NEXT: },
4222// CHECK-NEXT: "inner": [
4223// CHECK-NEXT: {
4224// CHECK-NEXT: "id": "0x{{.*}}",
4225// CHECK-NEXT: "kind": "VarDecl",
4226// CHECK-NEXT: "loc": {
4227// CHECK-NEXT: "col": 7,
4228// CHECK-NEXT: "file": "{{.*}}",
4229// CHECK-NEXT: "line": 103
4230// CHECK-NEXT: },
4231// CHECK-NEXT: "range": {
4232// CHECK-NEXT: "begin": {
4233// CHECK-NEXT: "col": 3,
4234// CHECK-NEXT: "file": "{{.*}}",
4235// CHECK-NEXT: "line": 103
4236// CHECK-NEXT: },
4237// CHECK-NEXT: "end": {
4238// CHECK-NEXT: "col": 7,
4239// CHECK-NEXT: "file": "{{.*}}",
4240// CHECK-NEXT: "line": 103
4241// CHECK-NEXT: }
4242// CHECK-NEXT: },
4243// CHECK-NEXT: "isReferenced": true,
4244// CHECK-NEXT: "name": "b",
4245// CHECK-NEXT: "type": {
4246// CHECK-NEXT: "qualType": "int"
4247// CHECK-NEXT: }
4248// CHECK-NEXT: },
4249// CHECK-NEXT: {
4250// CHECK-NEXT: "id": "0x{{.*}}",
4251// CHECK-NEXT: "kind": "VarDecl",
4252// CHECK-NEXT: "loc": {
4253// CHECK-NEXT: "col": 10,
4254// CHECK-NEXT: "file": "{{.*}}",
4255// CHECK-NEXT: "line": 103
4256// CHECK-NEXT: },
4257// CHECK-NEXT: "range": {
4258// CHECK-NEXT: "begin": {
4259// CHECK-NEXT: "col": 3,
4260// CHECK-NEXT: "file": "{{.*}}",
4261// CHECK-NEXT: "line": 103
4262// CHECK-NEXT: },
4263// CHECK-NEXT: "end": {
4264// CHECK-NEXT: "col": 10,
4265// CHECK-NEXT: "file": "{{.*}}",
4266// CHECK-NEXT: "line": 103
4267// CHECK-NEXT: }
4268// CHECK-NEXT: },
4269// CHECK-NEXT: "isReferenced": true,
4270// CHECK-NEXT: "name": "c",
4271// CHECK-NEXT: "type": {
4272// CHECK-NEXT: "qualType": "int"
4273// CHECK-NEXT: }
4274// CHECK-NEXT: }
4275// CHECK-NEXT: ]
4276// CHECK-NEXT: },
4277// CHECK-NEXT: {
4278// CHECK-NEXT: "id": "0x{{.*}}",
4279// CHECK-NEXT: "kind": "LambdaExpr",
4280// CHECK-NEXT: "range": {
4281// CHECK-NEXT: "begin": {
4282// CHECK-NEXT: "col": 3,
4283// CHECK-NEXT: "file": "{{.*}}",
4284// CHECK-NEXT: "line": 105
4285// CHECK-NEXT: },
4286// CHECK-NEXT: "end": {
4287// CHECK-NEXT: "col": 8,
4288// CHECK-NEXT: "file": "{{.*}}",
4289// CHECK-NEXT: "line": 105
4290// CHECK-NEXT: }
4291// CHECK-NEXT: },
4292// CHECK-NEXT: "type": {
4293// CHECK-NEXT: "qualType": "(lambda at {{.*}}:105:3)"
4294// CHECK-NEXT: },
4295// CHECK-NEXT: "valueCategory": "rvalue",
4296// CHECK-NEXT: "inner": [
4297// CHECK-NEXT: {
4298// CHECK-NEXT: "id": "0x{{.*}}",
4299// CHECK-NEXT: "kind": "CXXRecordDecl",
4300// CHECK-NEXT: "loc": {
4301// CHECK-NEXT: "col": 3,
4302// CHECK-NEXT: "file": "{{.*}}",
4303// CHECK-NEXT: "line": 105
4304// CHECK-NEXT: },
4305// CHECK-NEXT: "range": {
4306// CHECK-NEXT: "begin": {
4307// CHECK-NEXT: "col": 3,
4308// CHECK-NEXT: "file": "{{.*}}",
4309// CHECK-NEXT: "line": 105
4310// CHECK-NEXT: },
4311// CHECK-NEXT: "end": {
4312// CHECK-NEXT: "col": 3,
4313// CHECK-NEXT: "file": "{{.*}}",
4314// CHECK-NEXT: "line": 105
4315// CHECK-NEXT: }
4316// CHECK-NEXT: },
4317// CHECK-NEXT: "isImplicit": true,
4318// CHECK-NEXT: "tagUsed": "class",
4319// CHECK-NEXT: "completeDefinition": true,
4320// CHECK-NEXT: "definitionData": {
4321// CHECK-NEXT: "canConstDefaultInit": true,
4322// CHECK-NEXT: "copyAssign": {
4323// CHECK-NEXT: "hasConstParam": true,
4324// CHECK-NEXT: "implicitHasConstParam": true,
4325// CHECK-NEXT: "needsImplicit": true,
4326// CHECK-NEXT: "trivial": true
4327// CHECK-NEXT: },
4328// CHECK-NEXT: "copyCtor": {
4329// CHECK-NEXT: "hasConstParam": true,
4330// CHECK-NEXT: "implicitHasConstParam": true,
4331// CHECK-NEXT: "needsImplicit": true,
4332// CHECK-NEXT: "simple": true,
4333// CHECK-NEXT: "trivial": true
4334// CHECK-NEXT: },
4335// CHECK-NEXT: "defaultCtor": {
4336// CHECK-NEXT: "defaultedIsConstexpr": true
4337// CHECK-NEXT: },
4338// CHECK-NEXT: "dtor": {
4339// CHECK-NEXT: "irrelevant": true,
4340// CHECK-NEXT: "needsImplicit": true,
4341// CHECK-NEXT: "simple": true,
4342// CHECK-NEXT: "trivial": true
4343// CHECK-NEXT: },
4344// CHECK-NEXT: "isEmpty": true,
4345// CHECK-NEXT: "isLambda": true,
4346// CHECK-NEXT: "isLiteral": true,
4347// CHECK-NEXT: "isStandardLayout": true,
4348// CHECK-NEXT: "isTriviallyCopyable": true,
4349// CHECK-NEXT: "moveAssign": {},
4350// CHECK-NEXT: "moveCtor": {
4351// CHECK-NEXT: "exists": true,
4352// CHECK-NEXT: "needsImplicit": true,
4353// CHECK-NEXT: "simple": true,
4354// CHECK-NEXT: "trivial": true
4355// CHECK-NEXT: }
4356// CHECK-NEXT: },
4357// CHECK-NEXT: "inner": [
4358// CHECK-NEXT: {
4359// CHECK-NEXT: "id": "0x{{.*}}",
4360// CHECK-NEXT: "kind": "CXXMethodDecl",
4361// CHECK-NEXT: "loc": {
4362// CHECK-NEXT: "col": 3,
4363// CHECK-NEXT: "file": "{{.*}}",
4364// CHECK-NEXT: "line": 105
4365// CHECK-NEXT: },
4366// CHECK-NEXT: "range": {
4367// CHECK-NEXT: "begin": {
4368// CHECK-NEXT: "col": 6,
4369// CHECK-NEXT: "file": "{{.*}}",
4370// CHECK-NEXT: "line": 105
4371// CHECK-NEXT: },
4372// CHECK-NEXT: "end": {
4373// CHECK-NEXT: "col": 8,
4374// CHECK-NEXT: "file": "{{.*}}",
4375// CHECK-NEXT: "line": 105
4376// CHECK-NEXT: }
4377// CHECK-NEXT: },
4378// CHECK-NEXT: "name": "operator()",
4379// CHECK-NEXT: "type": {
4380// CHECK-NEXT: "qualType": "auto () const"
4381// CHECK-NEXT: },
4382// CHECK-NEXT: "inline": true,
4383// CHECK-NEXT: "inner": [
4384// CHECK-NEXT: {
4385// CHECK-NEXT: "id": "0x{{.*}}",
4386// CHECK-NEXT: "kind": "CompoundStmt",
4387// CHECK-NEXT: "range": {
4388// CHECK-NEXT: "begin": {
4389// CHECK-NEXT: "col": 7,
4390// CHECK-NEXT: "file": "{{.*}}",
4391// CHECK-NEXT: "line": 105
4392// CHECK-NEXT: },
4393// CHECK-NEXT: "end": {
4394// CHECK-NEXT: "col": 8,
4395// CHECK-NEXT: "file": "{{.*}}",
4396// CHECK-NEXT: "line": 105
4397// CHECK-NEXT: }
4398// CHECK-NEXT: }
4399// CHECK-NEXT: }
4400// CHECK-NEXT: ]
4401// CHECK-NEXT: },
4402// CHECK-NEXT: {
4403// CHECK-NEXT: "id": "0x{{.*}}",
4404// CHECK-NEXT: "kind": "CXXConversionDecl",
4405// CHECK-NEXT: "loc": {
4406// CHECK-NEXT: "col": 3,
4407// CHECK-NEXT: "file": "{{.*}}",
4408// CHECK-NEXT: "line": 105
4409// CHECK-NEXT: },
4410// CHECK-NEXT: "range": {
4411// CHECK-NEXT: "begin": {
4412// CHECK-NEXT: "col": 3,
4413// CHECK-NEXT: "file": "{{.*}}",
4414// CHECK-NEXT: "line": 105
4415// CHECK-NEXT: },
4416// CHECK-NEXT: "end": {
4417// CHECK-NEXT: "col": 8,
4418// CHECK-NEXT: "file": "{{.*}}",
4419// CHECK-NEXT: "line": 105
4420// CHECK-NEXT: }
4421// CHECK-NEXT: },
4422// CHECK-NEXT: "isImplicit": true,
4423// CHECK-NEXT: "name": "operator auto (*)()",
4424// CHECK-NEXT: "type": {
4425// CHECK-NEXT: "qualType": "auto (*() const noexcept)()"
4426// CHECK-NEXT: },
4427// CHECK-NEXT: "inline": true,
4428// CHECK-NEXT: "constexpr": true
4429// CHECK-NEXT: },
4430// CHECK-NEXT: {
4431// CHECK-NEXT: "id": "0x{{.*}}",
4432// CHECK-NEXT: "kind": "CXXMethodDecl",
4433// CHECK-NEXT: "loc": {
4434// CHECK-NEXT: "col": 3,
4435// CHECK-NEXT: "file": "{{.*}}",
4436// CHECK-NEXT: "line": 105
4437// CHECK-NEXT: },
4438// CHECK-NEXT: "range": {
4439// CHECK-NEXT: "begin": {
4440// CHECK-NEXT: "col": 3,
4441// CHECK-NEXT: "file": "{{.*}}",
4442// CHECK-NEXT: "line": 105
4443// CHECK-NEXT: },
4444// CHECK-NEXT: "end": {
4445// CHECK-NEXT: "col": 8,
4446// CHECK-NEXT: "file": "{{.*}}",
4447// CHECK-NEXT: "line": 105
4448// CHECK-NEXT: }
4449// CHECK-NEXT: },
4450// CHECK-NEXT: "isImplicit": true,
4451// CHECK-NEXT: "name": "__invoke",
4452// CHECK-NEXT: "type": {
4453// CHECK-NEXT: "qualType": "auto ()"
4454// CHECK-NEXT: },
4455// CHECK-NEXT: "storageClass": "static",
4456// CHECK-NEXT: "inline": true
4457// CHECK-NEXT: }
4458// CHECK-NEXT: ]
4459// CHECK-NEXT: },
4460// CHECK-NEXT: {
4461// CHECK-NEXT: "id": "0x{{.*}}",
4462// CHECK-NEXT: "kind": "CompoundStmt",
4463// CHECK-NEXT: "range": {
4464// CHECK-NEXT: "begin": {
4465// CHECK-NEXT: "col": 7,
4466// CHECK-NEXT: "file": "{{.*}}",
4467// CHECK-NEXT: "line": 105
4468// CHECK-NEXT: },
4469// CHECK-NEXT: "end": {
4470// CHECK-NEXT: "col": 8,
4471// CHECK-NEXT: "file": "{{.*}}",
4472// CHECK-NEXT: "line": 105
4473// CHECK-NEXT: }
4474// CHECK-NEXT: }
4475// CHECK-NEXT: }
4476// CHECK-NEXT: ]
4477// CHECK-NEXT: },
4478// CHECK-NEXT: {
4479// CHECK-NEXT: "id": "0x{{.*}}",
4480// CHECK-NEXT: "kind": "LambdaExpr",
4481// CHECK-NEXT: "range": {
4482// CHECK-NEXT: "begin": {
4483// CHECK-NEXT: "col": 3,
4484// CHECK-NEXT: "file": "{{.*}}",
4485// CHECK-NEXT: "line": 106
4486// CHECK-NEXT: },
4487// CHECK-NEXT: "end": {
4488// CHECK-NEXT: "col": 18,
4489// CHECK-NEXT: "file": "{{.*}}",
4490// CHECK-NEXT: "line": 106
4491// CHECK-NEXT: }
4492// CHECK-NEXT: },
4493// CHECK-NEXT: "type": {
4494// CHECK-NEXT: "qualType": "(lambda at {{.*}}:106:3)"
4495// CHECK-NEXT: },
4496// CHECK-NEXT: "valueCategory": "rvalue",
4497// CHECK-NEXT: "inner": [
4498// CHECK-NEXT: {
4499// CHECK-NEXT: "id": "0x{{.*}}",
4500// CHECK-NEXT: "kind": "CXXRecordDecl",
4501// CHECK-NEXT: "loc": {
4502// CHECK-NEXT: "col": 3,
4503// CHECK-NEXT: "file": "{{.*}}",
4504// CHECK-NEXT: "line": 106
4505// CHECK-NEXT: },
4506// CHECK-NEXT: "range": {
4507// CHECK-NEXT: "begin": {
4508// CHECK-NEXT: "col": 3,
4509// CHECK-NEXT: "file": "{{.*}}",
4510// CHECK-NEXT: "line": 106
4511// CHECK-NEXT: },
4512// CHECK-NEXT: "end": {
4513// CHECK-NEXT: "col": 3,
4514// CHECK-NEXT: "file": "{{.*}}",
4515// CHECK-NEXT: "line": 106
4516// CHECK-NEXT: }
4517// CHECK-NEXT: },
4518// CHECK-NEXT: "isImplicit": true,
4519// CHECK-NEXT: "tagUsed": "class",
4520// CHECK-NEXT: "completeDefinition": true,
4521// CHECK-NEXT: "definitionData": {
4522// CHECK-NEXT: "canConstDefaultInit": true,
4523// CHECK-NEXT: "copyAssign": {
4524// CHECK-NEXT: "hasConstParam": true,
4525// CHECK-NEXT: "implicitHasConstParam": true,
4526// CHECK-NEXT: "needsImplicit": true,
4527// CHECK-NEXT: "trivial": true
4528// CHECK-NEXT: },
4529// CHECK-NEXT: "copyCtor": {
4530// CHECK-NEXT: "hasConstParam": true,
4531// CHECK-NEXT: "implicitHasConstParam": true,
4532// CHECK-NEXT: "needsImplicit": true,
4533// CHECK-NEXT: "simple": true,
4534// CHECK-NEXT: "trivial": true
4535// CHECK-NEXT: },
4536// CHECK-NEXT: "defaultCtor": {
4537// CHECK-NEXT: "defaultedIsConstexpr": true
4538// CHECK-NEXT: },
4539// CHECK-NEXT: "dtor": {
4540// CHECK-NEXT: "irrelevant": true,
4541// CHECK-NEXT: "needsImplicit": true,
4542// CHECK-NEXT: "simple": true,
4543// CHECK-NEXT: "trivial": true
4544// CHECK-NEXT: },
4545// CHECK-NEXT: "isEmpty": true,
4546// CHECK-NEXT: "isLambda": true,
4547// CHECK-NEXT: "isLiteral": true,
4548// CHECK-NEXT: "isStandardLayout": true,
4549// CHECK-NEXT: "isTriviallyCopyable": true,
4550// CHECK-NEXT: "moveAssign": {},
4551// CHECK-NEXT: "moveCtor": {
4552// CHECK-NEXT: "exists": true,
4553// CHECK-NEXT: "needsImplicit": true,
4554// CHECK-NEXT: "simple": true,
4555// CHECK-NEXT: "trivial": true
4556// CHECK-NEXT: }
4557// CHECK-NEXT: },
4558// CHECK-NEXT: "inner": [
4559// CHECK-NEXT: {
4560// CHECK-NEXT: "id": "0x{{.*}}",
4561// CHECK-NEXT: "kind": "CXXMethodDecl",
4562// CHECK-NEXT: "loc": {
4563// CHECK-NEXT: "col": 3,
4564// CHECK-NEXT: "file": "{{.*}}",
4565// CHECK-NEXT: "line": 106
4566// CHECK-NEXT: },
4567// CHECK-NEXT: "range": {
4568// CHECK-NEXT: "begin": {
4569// CHECK-NEXT: "col": 16,
4570// CHECK-NEXT: "file": "{{.*}}",
4571// CHECK-NEXT: "line": 106
4572// CHECK-NEXT: },
4573// CHECK-NEXT: "end": {
4574// CHECK-NEXT: "col": 18,
4575// CHECK-NEXT: "file": "{{.*}}",
4576// CHECK-NEXT: "line": 106
4577// CHECK-NEXT: }
4578// CHECK-NEXT: },
4579// CHECK-NEXT: "name": "operator()",
4580// CHECK-NEXT: "type": {
4581// CHECK-NEXT: "qualType": "auto (int, ...) const"
4582// CHECK-NEXT: },
4583// CHECK-NEXT: "inline": true,
Aaron Ballman1b0ae8f2019-05-27 14:29:10 +00004584// CHECK-NEXT: "variadic": true,
Aaron Ballman80d5d162019-05-27 14:12:48 +00004585// CHECK-NEXT: "inner": [
4586// CHECK-NEXT: {
4587// CHECK-NEXT: "id": "0x{{.*}}",
4588// CHECK-NEXT: "kind": "ParmVarDecl",
4589// CHECK-NEXT: "loc": {
4590// CHECK-NEXT: "col": 10,
4591// CHECK-NEXT: "file": "{{.*}}",
4592// CHECK-NEXT: "line": 106
4593// CHECK-NEXT: },
4594// CHECK-NEXT: "range": {
4595// CHECK-NEXT: "begin": {
4596// CHECK-NEXT: "col": 6,
4597// CHECK-NEXT: "file": "{{.*}}",
4598// CHECK-NEXT: "line": 106
4599// CHECK-NEXT: },
4600// CHECK-NEXT: "end": {
4601// CHECK-NEXT: "col": 10,
4602// CHECK-NEXT: "file": "{{.*}}",
4603// CHECK-NEXT: "line": 106
4604// CHECK-NEXT: }
4605// CHECK-NEXT: },
4606// CHECK-NEXT: "name": "a",
4607// CHECK-NEXT: "type": {
4608// CHECK-NEXT: "qualType": "int"
4609// CHECK-NEXT: }
4610// CHECK-NEXT: },
4611// CHECK-NEXT: {
4612// CHECK-NEXT: "id": "0x{{.*}}",
4613// CHECK-NEXT: "kind": "CompoundStmt",
4614// CHECK-NEXT: "range": {
4615// CHECK-NEXT: "begin": {
4616// CHECK-NEXT: "col": 17,
4617// CHECK-NEXT: "file": "{{.*}}",
4618// CHECK-NEXT: "line": 106
4619// CHECK-NEXT: },
4620// CHECK-NEXT: "end": {
4621// CHECK-NEXT: "col": 18,
4622// CHECK-NEXT: "file": "{{.*}}",
4623// CHECK-NEXT: "line": 106
4624// CHECK-NEXT: }
4625// CHECK-NEXT: }
4626// CHECK-NEXT: }
4627// CHECK-NEXT: ]
4628// CHECK-NEXT: },
4629// CHECK-NEXT: {
4630// CHECK-NEXT: "id": "0x{{.*}}",
4631// CHECK-NEXT: "kind": "CXXConversionDecl",
4632// CHECK-NEXT: "loc": {
4633// CHECK-NEXT: "col": 3,
4634// CHECK-NEXT: "file": "{{.*}}",
4635// CHECK-NEXT: "line": 106
4636// CHECK-NEXT: },
4637// CHECK-NEXT: "range": {
4638// CHECK-NEXT: "begin": {
4639// CHECK-NEXT: "col": 3,
4640// CHECK-NEXT: "file": "{{.*}}",
4641// CHECK-NEXT: "line": 106
4642// CHECK-NEXT: },
4643// CHECK-NEXT: "end": {
4644// CHECK-NEXT: "col": 18,
4645// CHECK-NEXT: "file": "{{.*}}",
4646// CHECK-NEXT: "line": 106
4647// CHECK-NEXT: }
4648// CHECK-NEXT: },
4649// CHECK-NEXT: "isImplicit": true,
4650// CHECK-NEXT: "name": "operator auto (*)(int, ...)",
4651// CHECK-NEXT: "type": {
4652// CHECK-NEXT: "qualType": "auto (*() const noexcept)(int, ...)"
4653// CHECK-NEXT: },
4654// CHECK-NEXT: "inline": true,
4655// CHECK-NEXT: "constexpr": true
4656// CHECK-NEXT: },
4657// CHECK-NEXT: {
4658// CHECK-NEXT: "id": "0x{{.*}}",
4659// CHECK-NEXT: "kind": "CXXMethodDecl",
4660// CHECK-NEXT: "loc": {
4661// CHECK-NEXT: "col": 3,
4662// CHECK-NEXT: "file": "{{.*}}",
4663// CHECK-NEXT: "line": 106
4664// CHECK-NEXT: },
4665// CHECK-NEXT: "range": {
4666// CHECK-NEXT: "begin": {
4667// CHECK-NEXT: "col": 3,
4668// CHECK-NEXT: "file": "{{.*}}",
4669// CHECK-NEXT: "line": 106
4670// CHECK-NEXT: },
4671// CHECK-NEXT: "end": {
4672// CHECK-NEXT: "col": 18,
4673// CHECK-NEXT: "file": "{{.*}}",
4674// CHECK-NEXT: "line": 106
4675// CHECK-NEXT: }
4676// CHECK-NEXT: },
4677// CHECK-NEXT: "isImplicit": true,
4678// CHECK-NEXT: "name": "__invoke",
4679// CHECK-NEXT: "type": {
4680// CHECK-NEXT: "qualType": "auto (int, ...)"
4681// CHECK-NEXT: },
4682// CHECK-NEXT: "storageClass": "static",
4683// CHECK-NEXT: "inline": true,
Aaron Ballman1b0ae8f2019-05-27 14:29:10 +00004684// CHECK-NEXT: "variadic": true,
Aaron Ballman80d5d162019-05-27 14:12:48 +00004685// CHECK-NEXT: "inner": [
4686// CHECK-NEXT: {
4687// CHECK-NEXT: "id": "0x{{.*}}",
4688// CHECK-NEXT: "kind": "ParmVarDecl",
4689// CHECK-NEXT: "loc": {
4690// CHECK-NEXT: "col": 10,
4691// CHECK-NEXT: "file": "{{.*}}",
4692// CHECK-NEXT: "line": 106
4693// CHECK-NEXT: },
4694// CHECK-NEXT: "range": {
4695// CHECK-NEXT: "begin": {
4696// CHECK-NEXT: "col": 6,
4697// CHECK-NEXT: "file": "{{.*}}",
4698// CHECK-NEXT: "line": 106
4699// CHECK-NEXT: },
4700// CHECK-NEXT: "end": {
4701// CHECK-NEXT: "col": 10,
4702// CHECK-NEXT: "file": "{{.*}}",
4703// CHECK-NEXT: "line": 106
4704// CHECK-NEXT: }
4705// CHECK-NEXT: },
4706// CHECK-NEXT: "name": "a",
4707// CHECK-NEXT: "type": {
4708// CHECK-NEXT: "qualType": "int"
4709// CHECK-NEXT: }
4710// CHECK-NEXT: }
4711// CHECK-NEXT: ]
4712// CHECK-NEXT: }
4713// CHECK-NEXT: ]
4714// CHECK-NEXT: },
4715// CHECK-NEXT: {
4716// CHECK-NEXT: "id": "0x{{.*}}",
4717// CHECK-NEXT: "kind": "CompoundStmt",
4718// CHECK-NEXT: "range": {
4719// CHECK-NEXT: "begin": {
4720// CHECK-NEXT: "col": 17,
4721// CHECK-NEXT: "file": "{{.*}}",
4722// CHECK-NEXT: "line": 106
4723// CHECK-NEXT: },
4724// CHECK-NEXT: "end": {
4725// CHECK-NEXT: "col": 18,
4726// CHECK-NEXT: "file": "{{.*}}",
4727// CHECK-NEXT: "line": 106
4728// CHECK-NEXT: }
4729// CHECK-NEXT: }
4730// CHECK-NEXT: }
4731// CHECK-NEXT: ]
4732// CHECK-NEXT: },
4733// CHECK-NEXT: {
4734// CHECK-NEXT: "id": "0x{{.*}}",
4735// CHECK-NEXT: "kind": "LambdaExpr",
4736// CHECK-NEXT: "range": {
4737// CHECK-NEXT: "begin": {
4738// CHECK-NEXT: "col": 3,
4739// CHECK-NEXT: "file": "{{.*}}",
4740// CHECK-NEXT: "line": 107
4741// CHECK-NEXT: },
4742// CHECK-NEXT: "end": {
4743// CHECK-NEXT: "col": 10,
4744// CHECK-NEXT: "file": "{{.*}}",
4745// CHECK-NEXT: "line": 107
4746// CHECK-NEXT: }
4747// CHECK-NEXT: },
4748// CHECK-NEXT: "type": {
4749// CHECK-NEXT: "qualType": "(lambda at {{.*}}:107:3)"
4750// CHECK-NEXT: },
4751// CHECK-NEXT: "valueCategory": "rvalue",
4752// CHECK-NEXT: "inner": [
4753// CHECK-NEXT: {
4754// CHECK-NEXT: "id": "0x{{.*}}",
4755// CHECK-NEXT: "kind": "CXXRecordDecl",
4756// CHECK-NEXT: "loc": {
4757// CHECK-NEXT: "col": 3,
4758// CHECK-NEXT: "file": "{{.*}}",
4759// CHECK-NEXT: "line": 107
4760// CHECK-NEXT: },
4761// CHECK-NEXT: "range": {
4762// CHECK-NEXT: "begin": {
4763// CHECK-NEXT: "col": 3,
4764// CHECK-NEXT: "file": "{{.*}}",
4765// CHECK-NEXT: "line": 107
4766// CHECK-NEXT: },
4767// CHECK-NEXT: "end": {
4768// CHECK-NEXT: "col": 3,
4769// CHECK-NEXT: "file": "{{.*}}",
4770// CHECK-NEXT: "line": 107
4771// CHECK-NEXT: }
4772// CHECK-NEXT: },
4773// CHECK-NEXT: "isImplicit": true,
4774// CHECK-NEXT: "tagUsed": "class",
4775// CHECK-NEXT: "completeDefinition": true,
4776// CHECK-NEXT: "definitionData": {
4777// CHECK-NEXT: "canConstDefaultInit": true,
4778// CHECK-NEXT: "copyAssign": {
4779// CHECK-NEXT: "hasConstParam": true,
4780// CHECK-NEXT: "implicitHasConstParam": true,
4781// CHECK-NEXT: "needsImplicit": true,
4782// CHECK-NEXT: "trivial": true
4783// CHECK-NEXT: },
4784// CHECK-NEXT: "copyCtor": {
4785// CHECK-NEXT: "hasConstParam": true,
4786// CHECK-NEXT: "implicitHasConstParam": true,
4787// CHECK-NEXT: "needsImplicit": true,
4788// CHECK-NEXT: "simple": true,
4789// CHECK-NEXT: "trivial": true
4790// CHECK-NEXT: },
4791// CHECK-NEXT: "defaultCtor": {},
4792// CHECK-NEXT: "dtor": {
4793// CHECK-NEXT: "irrelevant": true,
4794// CHECK-NEXT: "needsImplicit": true,
4795// CHECK-NEXT: "simple": true,
4796// CHECK-NEXT: "trivial": true
4797// CHECK-NEXT: },
4798// CHECK-NEXT: "isLambda": true,
4799// CHECK-NEXT: "isStandardLayout": true,
4800// CHECK-NEXT: "isTriviallyCopyable": true,
4801// CHECK-NEXT: "moveAssign": {},
4802// CHECK-NEXT: "moveCtor": {
4803// CHECK-NEXT: "exists": true,
4804// CHECK-NEXT: "needsImplicit": true,
4805// CHECK-NEXT: "simple": true,
4806// CHECK-NEXT: "trivial": true
4807// CHECK-NEXT: }
4808// CHECK-NEXT: },
4809// CHECK-NEXT: "inner": [
4810// CHECK-NEXT: {
4811// CHECK-NEXT: "id": "0x{{.*}}",
Aaron Ballman80d5d162019-05-27 14:12:48 +00004812// CHECK-NEXT: "kind": "CXXMethodDecl",
4813// CHECK-NEXT: "loc": {
4814// CHECK-NEXT: "col": 3,
4815// CHECK-NEXT: "file": "{{.*}}",
4816// CHECK-NEXT: "line": 107
4817// CHECK-NEXT: },
4818// CHECK-NEXT: "range": {
4819// CHECK-NEXT: "begin": {
4820// CHECK-NEXT: "col": 8,
4821// CHECK-NEXT: "file": "{{.*}}",
4822// CHECK-NEXT: "line": 107
4823// CHECK-NEXT: },
4824// CHECK-NEXT: "end": {
4825// CHECK-NEXT: "col": 10,
4826// CHECK-NEXT: "file": "{{.*}}",
4827// CHECK-NEXT: "line": 107
4828// CHECK-NEXT: }
4829// CHECK-NEXT: },
4830// CHECK-NEXT: "name": "operator()",
4831// CHECK-NEXT: "type": {
4832// CHECK-NEXT: "qualType": "auto () const -> auto"
4833// CHECK-NEXT: },
4834// CHECK-NEXT: "inline": true,
4835// CHECK-NEXT: "inner": [
4836// CHECK-NEXT: {
4837// CHECK-NEXT: "id": "0x{{.*}}",
4838// CHECK-NEXT: "kind": "CompoundStmt",
4839// CHECK-NEXT: "range": {
4840// CHECK-NEXT: "begin": {
4841// CHECK-NEXT: "col": 9,
4842// CHECK-NEXT: "file": "{{.*}}",
4843// CHECK-NEXT: "line": 107
4844// CHECK-NEXT: },
4845// CHECK-NEXT: "end": {
4846// CHECK-NEXT: "col": 10,
4847// CHECK-NEXT: "file": "{{.*}}",
4848// CHECK-NEXT: "line": 107
4849// CHECK-NEXT: }
4850// CHECK-NEXT: }
4851// CHECK-NEXT: }
4852// CHECK-NEXT: ]
Richard Smithd103bc32019-05-28 23:20:52 +00004853// CHECK-NEXT: },
4854// CHECK-NEXT: {
4855// CHECK-NEXT: "id": "0x{{.*}}",
4856// CHECK-NEXT: "kind": "FieldDecl",
4857// CHECK-NEXT: "loc": {
4858// CHECK-NEXT: "col": 4,
4859// CHECK-NEXT: "file": "{{.*}}",
4860// CHECK-NEXT: "line": 107
4861// CHECK-NEXT: },
4862// CHECK-NEXT: "range": {
4863// CHECK-NEXT: "begin": {
4864// CHECK-NEXT: "col": 4,
4865// CHECK-NEXT: "file": "{{.*}}",
4866// CHECK-NEXT: "line": 107
4867// CHECK-NEXT: },
4868// CHECK-NEXT: "end": {
4869// CHECK-NEXT: "col": 4,
4870// CHECK-NEXT: "file": "{{.*}}",
4871// CHECK-NEXT: "line": 107
4872// CHECK-NEXT: }
4873// CHECK-NEXT: },
4874// CHECK-NEXT: "isImplicit": true,
4875// CHECK-NEXT: "type": {
4876// CHECK-NEXT: "qualType": "Ts..."
4877// CHECK-NEXT: }
Aaron Ballman80d5d162019-05-27 14:12:48 +00004878// CHECK-NEXT: }
4879// CHECK-NEXT: ]
4880// CHECK-NEXT: },
4881// CHECK-NEXT: {
4882// CHECK-NEXT: "id": "0x{{.*}}",
4883// CHECK-NEXT: "kind": "ParenListExpr",
4884// CHECK-NEXT: "range": {
4885// CHECK-NEXT: "begin": {
4886// CHECK-NEXT: "col": 4,
4887// CHECK-NEXT: "file": "{{.*}}",
4888// CHECK-NEXT: "line": 107
4889// CHECK-NEXT: },
4890// CHECK-NEXT: "end": {
4891// CHECK-NEXT: "col": 4,
4892// CHECK-NEXT: "file": "{{.*}}",
4893// CHECK-NEXT: "line": 107
4894// CHECK-NEXT: }
4895// CHECK-NEXT: },
4896// CHECK-NEXT: "type": {
4897// CHECK-NEXT: "qualType": "NULL TYPE"
4898// CHECK-NEXT: },
4899// CHECK-NEXT: "valueCategory": "rvalue",
4900// CHECK-NEXT: "inner": [
4901// CHECK-NEXT: {
4902// CHECK-NEXT: "id": "0x{{.*}}",
4903// CHECK-NEXT: "kind": "DeclRefExpr",
4904// CHECK-NEXT: "range": {
4905// CHECK-NEXT: "begin": {
4906// CHECK-NEXT: "col": 4,
4907// CHECK-NEXT: "file": "{{.*}}",
4908// CHECK-NEXT: "line": 107
4909// CHECK-NEXT: },
4910// CHECK-NEXT: "end": {
4911// CHECK-NEXT: "col": 4,
4912// CHECK-NEXT: "file": "{{.*}}",
4913// CHECK-NEXT: "line": 107
4914// CHECK-NEXT: }
4915// CHECK-NEXT: },
4916// CHECK-NEXT: "type": {
4917// CHECK-NEXT: "qualType": "Ts..."
4918// CHECK-NEXT: },
4919// CHECK-NEXT: "valueCategory": "lvalue",
4920// CHECK-NEXT: "referencedDecl": {
4921// CHECK-NEXT: "id": "0x{{.*}}",
4922// CHECK-NEXT: "kind": "ParmVarDecl",
4923// CHECK-NEXT: "name": "a",
4924// CHECK-NEXT: "type": {
4925// CHECK-NEXT: "qualType": "Ts..."
4926// CHECK-NEXT: }
4927// CHECK-NEXT: }
4928// CHECK-NEXT: }
4929// CHECK-NEXT: ]
4930// CHECK-NEXT: },
4931// CHECK-NEXT: {
4932// CHECK-NEXT: "id": "0x{{.*}}",
4933// CHECK-NEXT: "kind": "CompoundStmt",
4934// CHECK-NEXT: "range": {
4935// CHECK-NEXT: "begin": {
4936// CHECK-NEXT: "col": 9,
4937// CHECK-NEXT: "file": "{{.*}}",
4938// CHECK-NEXT: "line": 107
4939// CHECK-NEXT: },
4940// CHECK-NEXT: "end": {
4941// CHECK-NEXT: "col": 10,
4942// CHECK-NEXT: "file": "{{.*}}",
4943// CHECK-NEXT: "line": 107
4944// CHECK-NEXT: }
4945// CHECK-NEXT: }
4946// CHECK-NEXT: }
4947// CHECK-NEXT: ]
4948// CHECK-NEXT: },
4949// CHECK-NEXT: {
4950// CHECK-NEXT: "id": "0x{{.*}}",
4951// CHECK-NEXT: "kind": "LambdaExpr",
4952// CHECK-NEXT: "range": {
4953// CHECK-NEXT: "begin": {
4954// CHECK-NEXT: "col": 3,
4955// CHECK-NEXT: "file": "{{.*}}",
4956// CHECK-NEXT: "line": 108
4957// CHECK-NEXT: },
4958// CHECK-NEXT: "end": {
4959// CHECK-NEXT: "col": 7,
4960// CHECK-NEXT: "file": "{{.*}}",
4961// CHECK-NEXT: "line": 108
4962// CHECK-NEXT: }
4963// CHECK-NEXT: },
4964// CHECK-NEXT: "type": {
4965// CHECK-NEXT: "qualType": "(lambda at {{.*}}:108:3)"
4966// CHECK-NEXT: },
4967// CHECK-NEXT: "valueCategory": "rvalue",
4968// CHECK-NEXT: "inner": [
4969// CHECK-NEXT: {
4970// CHECK-NEXT: "id": "0x{{.*}}",
4971// CHECK-NEXT: "kind": "CXXRecordDecl",
4972// CHECK-NEXT: "loc": {
4973// CHECK-NEXT: "col": 3,
4974// CHECK-NEXT: "file": "{{.*}}",
4975// CHECK-NEXT: "line": 108
4976// CHECK-NEXT: },
4977// CHECK-NEXT: "range": {
4978// CHECK-NEXT: "begin": {
4979// CHECK-NEXT: "col": 3,
4980// CHECK-NEXT: "file": "{{.*}}",
4981// CHECK-NEXT: "line": 108
4982// CHECK-NEXT: },
4983// CHECK-NEXT: "end": {
4984// CHECK-NEXT: "col": 3,
4985// CHECK-NEXT: "file": "{{.*}}",
4986// CHECK-NEXT: "line": 108
4987// CHECK-NEXT: }
4988// CHECK-NEXT: },
4989// CHECK-NEXT: "isImplicit": true,
4990// CHECK-NEXT: "tagUsed": "class",
4991// CHECK-NEXT: "completeDefinition": true,
4992// CHECK-NEXT: "definitionData": {
4993// CHECK-NEXT: "canConstDefaultInit": true,
4994// CHECK-NEXT: "copyAssign": {
4995// CHECK-NEXT: "hasConstParam": true,
4996// CHECK-NEXT: "implicitHasConstParam": true,
4997// CHECK-NEXT: "needsImplicit": true,
4998// CHECK-NEXT: "trivial": true
4999// CHECK-NEXT: },
5000// CHECK-NEXT: "copyCtor": {
5001// CHECK-NEXT: "hasConstParam": true,
5002// CHECK-NEXT: "implicitHasConstParam": true,
5003// CHECK-NEXT: "needsImplicit": true,
5004// CHECK-NEXT: "simple": true,
5005// CHECK-NEXT: "trivial": true
5006// CHECK-NEXT: },
5007// CHECK-NEXT: "defaultCtor": {
5008// CHECK-NEXT: "defaultedIsConstexpr": true
5009// CHECK-NEXT: },
5010// CHECK-NEXT: "dtor": {
5011// CHECK-NEXT: "irrelevant": true,
5012// CHECK-NEXT: "needsImplicit": true,
5013// CHECK-NEXT: "simple": true,
5014// CHECK-NEXT: "trivial": true
5015// CHECK-NEXT: },
5016// CHECK-NEXT: "isEmpty": true,
5017// CHECK-NEXT: "isLambda": true,
5018// CHECK-NEXT: "isLiteral": true,
5019// CHECK-NEXT: "isStandardLayout": true,
5020// CHECK-NEXT: "isTriviallyCopyable": true,
5021// CHECK-NEXT: "moveAssign": {},
5022// CHECK-NEXT: "moveCtor": {
5023// CHECK-NEXT: "exists": true,
5024// CHECK-NEXT: "needsImplicit": true,
5025// CHECK-NEXT: "simple": true,
5026// CHECK-NEXT: "trivial": true
5027// CHECK-NEXT: }
5028// CHECK-NEXT: },
5029// CHECK-NEXT: "inner": [
5030// CHECK-NEXT: {
5031// CHECK-NEXT: "id": "0x{{.*}}",
5032// CHECK-NEXT: "kind": "CXXMethodDecl",
5033// CHECK-NEXT: "loc": {
5034// CHECK-NEXT: "col": 3,
5035// CHECK-NEXT: "file": "{{.*}}",
5036// CHECK-NEXT: "line": 108
5037// CHECK-NEXT: },
5038// CHECK-NEXT: "range": {
5039// CHECK-NEXT: "begin": {
5040// CHECK-NEXT: "col": 5,
5041// CHECK-NEXT: "file": "{{.*}}",
5042// CHECK-NEXT: "line": 108
5043// CHECK-NEXT: },
5044// CHECK-NEXT: "end": {
5045// CHECK-NEXT: "col": 7,
5046// CHECK-NEXT: "file": "{{.*}}",
5047// CHECK-NEXT: "line": 108
5048// CHECK-NEXT: }
5049// CHECK-NEXT: },
5050// CHECK-NEXT: "name": "operator()",
5051// CHECK-NEXT: "type": {
5052// CHECK-NEXT: "qualType": "auto () const -> auto"
5053// CHECK-NEXT: },
5054// CHECK-NEXT: "inline": true,
5055// CHECK-NEXT: "inner": [
5056// CHECK-NEXT: {
5057// CHECK-NEXT: "id": "0x{{.*}}",
5058// CHECK-NEXT: "kind": "CompoundStmt",
5059// CHECK-NEXT: "range": {
5060// CHECK-NEXT: "begin": {
5061// CHECK-NEXT: "col": 6,
5062// CHECK-NEXT: "file": "{{.*}}",
5063// CHECK-NEXT: "line": 108
5064// CHECK-NEXT: },
5065// CHECK-NEXT: "end": {
5066// CHECK-NEXT: "col": 7,
5067// CHECK-NEXT: "file": "{{.*}}",
5068// CHECK-NEXT: "line": 108
5069// CHECK-NEXT: }
5070// CHECK-NEXT: }
5071// CHECK-NEXT: }
5072// CHECK-NEXT: ]
5073// CHECK-NEXT: }
5074// CHECK-NEXT: ]
5075// CHECK-NEXT: },
5076// CHECK-NEXT: {
5077// CHECK-NEXT: "id": "0x{{.*}}",
5078// CHECK-NEXT: "kind": "CompoundStmt",
5079// CHECK-NEXT: "range": {
5080// CHECK-NEXT: "begin": {
5081// CHECK-NEXT: "col": 6,
5082// CHECK-NEXT: "file": "{{.*}}",
5083// CHECK-NEXT: "line": 108
5084// CHECK-NEXT: },
5085// CHECK-NEXT: "end": {
5086// CHECK-NEXT: "col": 7,
5087// CHECK-NEXT: "file": "{{.*}}",
5088// CHECK-NEXT: "line": 108
5089// CHECK-NEXT: }
5090// CHECK-NEXT: }
5091// CHECK-NEXT: }
5092// CHECK-NEXT: ]
5093// CHECK-NEXT: },
5094// CHECK-NEXT: {
5095// CHECK-NEXT: "id": "0x{{.*}}",
5096// CHECK-NEXT: "kind": "LambdaExpr",
5097// CHECK-NEXT: "range": {
5098// CHECK-NEXT: "begin": {
5099// CHECK-NEXT: "col": 3,
5100// CHECK-NEXT: "file": "{{.*}}",
5101// CHECK-NEXT: "line": 109
5102// CHECK-NEXT: },
5103// CHECK-NEXT: "end": {
5104// CHECK-NEXT: "col": 19,
5105// CHECK-NEXT: "file": "{{.*}}",
5106// CHECK-NEXT: "line": 109
5107// CHECK-NEXT: }
5108// CHECK-NEXT: },
5109// CHECK-NEXT: "type": {
5110// CHECK-NEXT: "qualType": "(lambda at {{.*}}:109:3)"
5111// CHECK-NEXT: },
5112// CHECK-NEXT: "valueCategory": "rvalue",
5113// CHECK-NEXT: "inner": [
5114// CHECK-NEXT: {
5115// CHECK-NEXT: "id": "0x{{.*}}",
5116// CHECK-NEXT: "kind": "CXXRecordDecl",
5117// CHECK-NEXT: "loc": {
5118// CHECK-NEXT: "col": 3,
5119// CHECK-NEXT: "file": "{{.*}}",
5120// CHECK-NEXT: "line": 109
5121// CHECK-NEXT: },
5122// CHECK-NEXT: "range": {
5123// CHECK-NEXT: "begin": {
5124// CHECK-NEXT: "col": 3,
5125// CHECK-NEXT: "file": "{{.*}}",
5126// CHECK-NEXT: "line": 109
5127// CHECK-NEXT: },
5128// CHECK-NEXT: "end": {
5129// CHECK-NEXT: "col": 3,
5130// CHECK-NEXT: "file": "{{.*}}",
5131// CHECK-NEXT: "line": 109
5132// CHECK-NEXT: }
5133// CHECK-NEXT: },
5134// CHECK-NEXT: "isImplicit": true,
5135// CHECK-NEXT: "tagUsed": "class",
5136// CHECK-NEXT: "completeDefinition": true,
5137// CHECK-NEXT: "definitionData": {
5138// CHECK-NEXT: "canConstDefaultInit": true,
5139// CHECK-NEXT: "copyAssign": {
5140// CHECK-NEXT: "hasConstParam": true,
5141// CHECK-NEXT: "implicitHasConstParam": true,
5142// CHECK-NEXT: "needsImplicit": true,
5143// CHECK-NEXT: "trivial": true
5144// CHECK-NEXT: },
5145// CHECK-NEXT: "copyCtor": {
5146// CHECK-NEXT: "hasConstParam": true,
5147// CHECK-NEXT: "implicitHasConstParam": true,
5148// CHECK-NEXT: "needsImplicit": true,
5149// CHECK-NEXT: "simple": true,
5150// CHECK-NEXT: "trivial": true
5151// CHECK-NEXT: },
5152// CHECK-NEXT: "defaultCtor": {
5153// CHECK-NEXT: "defaultedIsConstexpr": true
5154// CHECK-NEXT: },
5155// CHECK-NEXT: "dtor": {
5156// CHECK-NEXT: "irrelevant": true,
5157// CHECK-NEXT: "needsImplicit": true,
5158// CHECK-NEXT: "simple": true,
5159// CHECK-NEXT: "trivial": true
5160// CHECK-NEXT: },
5161// CHECK-NEXT: "isEmpty": true,
5162// CHECK-NEXT: "isLambda": true,
5163// CHECK-NEXT: "isLiteral": true,
5164// CHECK-NEXT: "isStandardLayout": true,
5165// CHECK-NEXT: "isTriviallyCopyable": true,
5166// CHECK-NEXT: "moveAssign": {},
5167// CHECK-NEXT: "moveCtor": {
5168// CHECK-NEXT: "exists": true,
5169// CHECK-NEXT: "needsImplicit": true,
5170// CHECK-NEXT: "simple": true,
5171// CHECK-NEXT: "trivial": true
5172// CHECK-NEXT: }
5173// CHECK-NEXT: },
5174// CHECK-NEXT: "inner": [
5175// CHECK-NEXT: {
5176// CHECK-NEXT: "id": "0x{{.*}}",
5177// CHECK-NEXT: "kind": "CXXMethodDecl",
5178// CHECK-NEXT: "loc": {
5179// CHECK-NEXT: "col": 3,
5180// CHECK-NEXT: "file": "{{.*}}",
5181// CHECK-NEXT: "line": 109
5182// CHECK-NEXT: },
5183// CHECK-NEXT: "range": {
5184// CHECK-NEXT: "begin": {
5185// CHECK-NEXT: "col": 5,
5186// CHECK-NEXT: "file": "{{.*}}",
5187// CHECK-NEXT: "line": 109
5188// CHECK-NEXT: },
5189// CHECK-NEXT: "end": {
5190// CHECK-NEXT: "col": 19,
5191// CHECK-NEXT: "file": "{{.*}}",
5192// CHECK-NEXT: "line": 109
5193// CHECK-NEXT: }
5194// CHECK-NEXT: },
5195// CHECK-NEXT: "name": "operator()",
5196// CHECK-NEXT: "type": {
5197// CHECK-NEXT: "qualType": "auto () const -> auto"
5198// CHECK-NEXT: },
5199// CHECK-NEXT: "inline": true,
5200// CHECK-NEXT: "inner": [
5201// CHECK-NEXT: {
5202// CHECK-NEXT: "id": "0x{{.*}}",
5203// CHECK-NEXT: "kind": "CompoundStmt",
5204// CHECK-NEXT: "range": {
5205// CHECK-NEXT: "begin": {
5206// CHECK-NEXT: "col": 7,
5207// CHECK-NEXT: "file": "{{.*}}",
5208// CHECK-NEXT: "line": 109
5209// CHECK-NEXT: },
5210// CHECK-NEXT: "end": {
5211// CHECK-NEXT: "col": 19,
5212// CHECK-NEXT: "file": "{{.*}}",
5213// CHECK-NEXT: "line": 109
5214// CHECK-NEXT: }
5215// CHECK-NEXT: },
5216// CHECK-NEXT: "inner": [
5217// CHECK-NEXT: {
5218// CHECK-NEXT: "id": "0x{{.*}}",
5219// CHECK-NEXT: "kind": "ReturnStmt",
5220// CHECK-NEXT: "range": {
5221// CHECK-NEXT: "begin": {
5222// CHECK-NEXT: "col": 9,
5223// CHECK-NEXT: "file": "{{.*}}",
5224// CHECK-NEXT: "line": 109
5225// CHECK-NEXT: },
5226// CHECK-NEXT: "end": {
5227// CHECK-NEXT: "col": 16,
5228// CHECK-NEXT: "file": "{{.*}}",
5229// CHECK-NEXT: "line": 109
5230// CHECK-NEXT: }
5231// CHECK-NEXT: },
5232// CHECK-NEXT: "inner": [
5233// CHECK-NEXT: {
5234// CHECK-NEXT: "id": "0x{{.*}}",
5235// CHECK-NEXT: "kind": "DeclRefExpr",
5236// CHECK-NEXT: "range": {
5237// CHECK-NEXT: "begin": {
5238// CHECK-NEXT: "col": 16,
5239// CHECK-NEXT: "file": "{{.*}}",
5240// CHECK-NEXT: "line": 109
5241// CHECK-NEXT: },
5242// CHECK-NEXT: "end": {
5243// CHECK-NEXT: "col": 16,
5244// CHECK-NEXT: "file": "{{.*}}",
5245// CHECK-NEXT: "line": 109
5246// CHECK-NEXT: }
5247// CHECK-NEXT: },
5248// CHECK-NEXT: "type": {
5249// CHECK-NEXT: "qualType": "const int"
5250// CHECK-NEXT: },
5251// CHECK-NEXT: "valueCategory": "lvalue",
5252// CHECK-NEXT: "referencedDecl": {
5253// CHECK-NEXT: "id": "0x{{.*}}",
5254// CHECK-NEXT: "kind": "VarDecl",
5255// CHECK-NEXT: "name": "b",
5256// CHECK-NEXT: "type": {
5257// CHECK-NEXT: "qualType": "int"
5258// CHECK-NEXT: }
5259// CHECK-NEXT: }
5260// CHECK-NEXT: }
5261// CHECK-NEXT: ]
5262// CHECK-NEXT: }
5263// CHECK-NEXT: ]
5264// CHECK-NEXT: }
5265// CHECK-NEXT: ]
5266// CHECK-NEXT: }
5267// CHECK-NEXT: ]
5268// CHECK-NEXT: },
5269// CHECK-NEXT: {
5270// CHECK-NEXT: "id": "0x{{.*}}",
5271// CHECK-NEXT: "kind": "CompoundStmt",
5272// CHECK-NEXT: "range": {
5273// CHECK-NEXT: "begin": {
5274// CHECK-NEXT: "col": 7,
5275// CHECK-NEXT: "file": "{{.*}}",
5276// CHECK-NEXT: "line": 109
5277// CHECK-NEXT: },
5278// CHECK-NEXT: "end": {
5279// CHECK-NEXT: "col": 19,
5280// CHECK-NEXT: "file": "{{.*}}",
5281// CHECK-NEXT: "line": 109
5282// CHECK-NEXT: }
5283// CHECK-NEXT: },
5284// CHECK-NEXT: "inner": [
5285// CHECK-NEXT: {
5286// CHECK-NEXT: "id": "0x{{.*}}",
5287// CHECK-NEXT: "kind": "ReturnStmt",
5288// CHECK-NEXT: "range": {
5289// CHECK-NEXT: "begin": {
5290// CHECK-NEXT: "col": 9,
5291// CHECK-NEXT: "file": "{{.*}}",
5292// CHECK-NEXT: "line": 109
5293// CHECK-NEXT: },
5294// CHECK-NEXT: "end": {
5295// CHECK-NEXT: "col": 16,
5296// CHECK-NEXT: "file": "{{.*}}",
5297// CHECK-NEXT: "line": 109
5298// CHECK-NEXT: }
5299// CHECK-NEXT: },
5300// CHECK-NEXT: "inner": [
5301// CHECK-NEXT: {
5302// CHECK-NEXT: "id": "0x{{.*}}",
5303// CHECK-NEXT: "kind": "DeclRefExpr",
5304// CHECK-NEXT: "range": {
5305// CHECK-NEXT: "begin": {
5306// CHECK-NEXT: "col": 16,
5307// CHECK-NEXT: "file": "{{.*}}",
5308// CHECK-NEXT: "line": 109
5309// CHECK-NEXT: },
5310// CHECK-NEXT: "end": {
5311// CHECK-NEXT: "col": 16,
5312// CHECK-NEXT: "file": "{{.*}}",
5313// CHECK-NEXT: "line": 109
5314// CHECK-NEXT: }
5315// CHECK-NEXT: },
5316// CHECK-NEXT: "type": {
5317// CHECK-NEXT: "qualType": "const int"
5318// CHECK-NEXT: },
5319// CHECK-NEXT: "valueCategory": "lvalue",
5320// CHECK-NEXT: "referencedDecl": {
5321// CHECK-NEXT: "id": "0x{{.*}}",
5322// CHECK-NEXT: "kind": "VarDecl",
5323// CHECK-NEXT: "name": "b",
5324// CHECK-NEXT: "type": {
5325// CHECK-NEXT: "qualType": "int"
5326// CHECK-NEXT: }
5327// CHECK-NEXT: }
5328// CHECK-NEXT: }
5329// CHECK-NEXT: ]
5330// CHECK-NEXT: }
5331// CHECK-NEXT: ]
5332// CHECK-NEXT: }
5333// CHECK-NEXT: ]
5334// CHECK-NEXT: },
5335// CHECK-NEXT: {
5336// CHECK-NEXT: "id": "0x{{.*}}",
5337// CHECK-NEXT: "kind": "LambdaExpr",
5338// CHECK-NEXT: "range": {
5339// CHECK-NEXT: "begin": {
5340// CHECK-NEXT: "col": 3,
5341// CHECK-NEXT: "file": "{{.*}}",
5342// CHECK-NEXT: "line": 110
5343// CHECK-NEXT: },
5344// CHECK-NEXT: "end": {
5345// CHECK-NEXT: "col": 7,
5346// CHECK-NEXT: "file": "{{.*}}",
5347// CHECK-NEXT: "line": 110
5348// CHECK-NEXT: }
5349// CHECK-NEXT: },
5350// CHECK-NEXT: "type": {
5351// CHECK-NEXT: "qualType": "(lambda at {{.*}}:110:3)"
5352// CHECK-NEXT: },
5353// CHECK-NEXT: "valueCategory": "rvalue",
5354// CHECK-NEXT: "inner": [
5355// CHECK-NEXT: {
5356// CHECK-NEXT: "id": "0x{{.*}}",
5357// CHECK-NEXT: "kind": "CXXRecordDecl",
5358// CHECK-NEXT: "loc": {
5359// CHECK-NEXT: "col": 3,
5360// CHECK-NEXT: "file": "{{.*}}",
5361// CHECK-NEXT: "line": 110
5362// CHECK-NEXT: },
5363// CHECK-NEXT: "range": {
5364// CHECK-NEXT: "begin": {
5365// CHECK-NEXT: "col": 3,
5366// CHECK-NEXT: "file": "{{.*}}",
5367// CHECK-NEXT: "line": 110
5368// CHECK-NEXT: },
5369// CHECK-NEXT: "end": {
5370// CHECK-NEXT: "col": 3,
5371// CHECK-NEXT: "file": "{{.*}}",
5372// CHECK-NEXT: "line": 110
5373// CHECK-NEXT: }
5374// CHECK-NEXT: },
5375// CHECK-NEXT: "isImplicit": true,
5376// CHECK-NEXT: "tagUsed": "class",
5377// CHECK-NEXT: "completeDefinition": true,
5378// CHECK-NEXT: "definitionData": {
5379// CHECK-NEXT: "canConstDefaultInit": true,
5380// CHECK-NEXT: "copyAssign": {
5381// CHECK-NEXT: "hasConstParam": true,
5382// CHECK-NEXT: "implicitHasConstParam": true,
5383// CHECK-NEXT: "needsImplicit": true,
5384// CHECK-NEXT: "trivial": true
5385// CHECK-NEXT: },
5386// CHECK-NEXT: "copyCtor": {
5387// CHECK-NEXT: "hasConstParam": true,
5388// CHECK-NEXT: "implicitHasConstParam": true,
5389// CHECK-NEXT: "needsImplicit": true,
5390// CHECK-NEXT: "simple": true,
5391// CHECK-NEXT: "trivial": true
5392// CHECK-NEXT: },
5393// CHECK-NEXT: "defaultCtor": {
5394// CHECK-NEXT: "defaultedIsConstexpr": true
5395// CHECK-NEXT: },
5396// CHECK-NEXT: "dtor": {
5397// CHECK-NEXT: "irrelevant": true,
5398// CHECK-NEXT: "needsImplicit": true,
5399// CHECK-NEXT: "simple": true,
5400// CHECK-NEXT: "trivial": true
5401// CHECK-NEXT: },
5402// CHECK-NEXT: "isEmpty": true,
5403// CHECK-NEXT: "isLambda": true,
5404// CHECK-NEXT: "isLiteral": true,
5405// CHECK-NEXT: "isStandardLayout": true,
5406// CHECK-NEXT: "isTriviallyCopyable": true,
5407// CHECK-NEXT: "moveAssign": {},
5408// CHECK-NEXT: "moveCtor": {
5409// CHECK-NEXT: "exists": true,
5410// CHECK-NEXT: "needsImplicit": true,
5411// CHECK-NEXT: "simple": true,
5412// CHECK-NEXT: "trivial": true
5413// CHECK-NEXT: }
5414// CHECK-NEXT: },
5415// CHECK-NEXT: "inner": [
5416// CHECK-NEXT: {
5417// CHECK-NEXT: "id": "0x{{.*}}",
5418// CHECK-NEXT: "kind": "CXXMethodDecl",
5419// CHECK-NEXT: "loc": {
5420// CHECK-NEXT: "col": 3,
5421// CHECK-NEXT: "file": "{{.*}}",
5422// CHECK-NEXT: "line": 110
5423// CHECK-NEXT: },
5424// CHECK-NEXT: "range": {
5425// CHECK-NEXT: "begin": {
5426// CHECK-NEXT: "col": 5,
5427// CHECK-NEXT: "file": "{{.*}}",
5428// CHECK-NEXT: "line": 110
5429// CHECK-NEXT: },
5430// CHECK-NEXT: "end": {
5431// CHECK-NEXT: "col": 7,
5432// CHECK-NEXT: "file": "{{.*}}",
5433// CHECK-NEXT: "line": 110
5434// CHECK-NEXT: }
5435// CHECK-NEXT: },
5436// CHECK-NEXT: "name": "operator()",
5437// CHECK-NEXT: "type": {
5438// CHECK-NEXT: "qualType": "auto () const -> auto"
5439// CHECK-NEXT: },
5440// CHECK-NEXT: "inline": true,
5441// CHECK-NEXT: "inner": [
5442// CHECK-NEXT: {
5443// CHECK-NEXT: "id": "0x{{.*}}",
5444// CHECK-NEXT: "kind": "CompoundStmt",
5445// CHECK-NEXT: "range": {
5446// CHECK-NEXT: "begin": {
5447// CHECK-NEXT: "col": 6,
5448// CHECK-NEXT: "file": "{{.*}}",
5449// CHECK-NEXT: "line": 110
5450// CHECK-NEXT: },
5451// CHECK-NEXT: "end": {
5452// CHECK-NEXT: "col": 7,
5453// CHECK-NEXT: "file": "{{.*}}",
5454// CHECK-NEXT: "line": 110
5455// CHECK-NEXT: }
5456// CHECK-NEXT: }
5457// CHECK-NEXT: }
5458// CHECK-NEXT: ]
5459// CHECK-NEXT: }
5460// CHECK-NEXT: ]
5461// CHECK-NEXT: },
5462// CHECK-NEXT: {
5463// CHECK-NEXT: "id": "0x{{.*}}",
5464// CHECK-NEXT: "kind": "CompoundStmt",
5465// CHECK-NEXT: "range": {
5466// CHECK-NEXT: "begin": {
5467// CHECK-NEXT: "col": 6,
5468// CHECK-NEXT: "file": "{{.*}}",
5469// CHECK-NEXT: "line": 110
5470// CHECK-NEXT: },
5471// CHECK-NEXT: "end": {
5472// CHECK-NEXT: "col": 7,
5473// CHECK-NEXT: "file": "{{.*}}",
5474// CHECK-NEXT: "line": 110
5475// CHECK-NEXT: }
5476// CHECK-NEXT: }
5477// CHECK-NEXT: }
5478// CHECK-NEXT: ]
5479// CHECK-NEXT: },
5480// CHECK-NEXT: {
5481// CHECK-NEXT: "id": "0x{{.*}}",
5482// CHECK-NEXT: "kind": "LambdaExpr",
5483// CHECK-NEXT: "range": {
5484// CHECK-NEXT: "begin": {
5485// CHECK-NEXT: "col": 3,
5486// CHECK-NEXT: "file": "{{.*}}",
5487// CHECK-NEXT: "line": 111
5488// CHECK-NEXT: },
5489// CHECK-NEXT: "end": {
5490// CHECK-NEXT: "col": 19,
5491// CHECK-NEXT: "file": "{{.*}}",
5492// CHECK-NEXT: "line": 111
5493// CHECK-NEXT: }
5494// CHECK-NEXT: },
5495// CHECK-NEXT: "type": {
5496// CHECK-NEXT: "qualType": "(lambda at {{.*}}:111:3)"
5497// CHECK-NEXT: },
5498// CHECK-NEXT: "valueCategory": "rvalue",
5499// CHECK-NEXT: "inner": [
5500// CHECK-NEXT: {
5501// CHECK-NEXT: "id": "0x{{.*}}",
5502// CHECK-NEXT: "kind": "CXXRecordDecl",
5503// CHECK-NEXT: "loc": {
5504// CHECK-NEXT: "col": 3,
5505// CHECK-NEXT: "file": "{{.*}}",
5506// CHECK-NEXT: "line": 111
5507// CHECK-NEXT: },
5508// CHECK-NEXT: "range": {
5509// CHECK-NEXT: "begin": {
5510// CHECK-NEXT: "col": 3,
5511// CHECK-NEXT: "file": "{{.*}}",
5512// CHECK-NEXT: "line": 111
5513// CHECK-NEXT: },
5514// CHECK-NEXT: "end": {
5515// CHECK-NEXT: "col": 3,
5516// CHECK-NEXT: "file": "{{.*}}",
5517// CHECK-NEXT: "line": 111
5518// CHECK-NEXT: }
5519// CHECK-NEXT: },
5520// CHECK-NEXT: "isImplicit": true,
5521// CHECK-NEXT: "tagUsed": "class",
5522// CHECK-NEXT: "completeDefinition": true,
5523// CHECK-NEXT: "definitionData": {
5524// CHECK-NEXT: "canConstDefaultInit": true,
5525// CHECK-NEXT: "copyAssign": {
5526// CHECK-NEXT: "hasConstParam": true,
5527// CHECK-NEXT: "implicitHasConstParam": true,
5528// CHECK-NEXT: "needsImplicit": true,
5529// CHECK-NEXT: "trivial": true
5530// CHECK-NEXT: },
5531// CHECK-NEXT: "copyCtor": {
5532// CHECK-NEXT: "hasConstParam": true,
5533// CHECK-NEXT: "implicitHasConstParam": true,
5534// CHECK-NEXT: "needsImplicit": true,
5535// CHECK-NEXT: "simple": true,
5536// CHECK-NEXT: "trivial": true
5537// CHECK-NEXT: },
5538// CHECK-NEXT: "defaultCtor": {
5539// CHECK-NEXT: "defaultedIsConstexpr": true
5540// CHECK-NEXT: },
5541// CHECK-NEXT: "dtor": {
5542// CHECK-NEXT: "irrelevant": true,
5543// CHECK-NEXT: "needsImplicit": true,
5544// CHECK-NEXT: "simple": true,
5545// CHECK-NEXT: "trivial": true
5546// CHECK-NEXT: },
5547// CHECK-NEXT: "isEmpty": true,
5548// CHECK-NEXT: "isLambda": true,
5549// CHECK-NEXT: "isLiteral": true,
5550// CHECK-NEXT: "isStandardLayout": true,
5551// CHECK-NEXT: "isTriviallyCopyable": true,
5552// CHECK-NEXT: "moveAssign": {},
5553// CHECK-NEXT: "moveCtor": {
5554// CHECK-NEXT: "exists": true,
5555// CHECK-NEXT: "needsImplicit": true,
5556// CHECK-NEXT: "simple": true,
5557// CHECK-NEXT: "trivial": true
5558// CHECK-NEXT: }
5559// CHECK-NEXT: },
5560// CHECK-NEXT: "inner": [
5561// CHECK-NEXT: {
5562// CHECK-NEXT: "id": "0x{{.*}}",
5563// CHECK-NEXT: "kind": "CXXMethodDecl",
5564// CHECK-NEXT: "loc": {
5565// CHECK-NEXT: "col": 3,
5566// CHECK-NEXT: "file": "{{.*}}",
5567// CHECK-NEXT: "line": 111
5568// CHECK-NEXT: },
5569// CHECK-NEXT: "range": {
5570// CHECK-NEXT: "begin": {
5571// CHECK-NEXT: "col": 5,
5572// CHECK-NEXT: "file": "{{.*}}",
5573// CHECK-NEXT: "line": 111
5574// CHECK-NEXT: },
5575// CHECK-NEXT: "end": {
5576// CHECK-NEXT: "col": 19,
5577// CHECK-NEXT: "file": "{{.*}}",
5578// CHECK-NEXT: "line": 111
5579// CHECK-NEXT: }
5580// CHECK-NEXT: },
5581// CHECK-NEXT: "name": "operator()",
5582// CHECK-NEXT: "type": {
5583// CHECK-NEXT: "qualType": "auto () const -> auto"
5584// CHECK-NEXT: },
5585// CHECK-NEXT: "inline": true,
5586// CHECK-NEXT: "inner": [
5587// CHECK-NEXT: {
5588// CHECK-NEXT: "id": "0x{{.*}}",
5589// CHECK-NEXT: "kind": "CompoundStmt",
5590// CHECK-NEXT: "range": {
5591// CHECK-NEXT: "begin": {
5592// CHECK-NEXT: "col": 7,
5593// CHECK-NEXT: "file": "{{.*}}",
5594// CHECK-NEXT: "line": 111
5595// CHECK-NEXT: },
5596// CHECK-NEXT: "end": {
5597// CHECK-NEXT: "col": 19,
5598// CHECK-NEXT: "file": "{{.*}}",
5599// CHECK-NEXT: "line": 111
5600// CHECK-NEXT: }
5601// CHECK-NEXT: },
5602// CHECK-NEXT: "inner": [
5603// CHECK-NEXT: {
5604// CHECK-NEXT: "id": "0x{{.*}}",
5605// CHECK-NEXT: "kind": "ReturnStmt",
5606// CHECK-NEXT: "range": {
5607// CHECK-NEXT: "begin": {
5608// CHECK-NEXT: "col": 9,
5609// CHECK-NEXT: "file": "{{.*}}",
5610// CHECK-NEXT: "line": 111
5611// CHECK-NEXT: },
5612// CHECK-NEXT: "end": {
5613// CHECK-NEXT: "col": 16,
5614// CHECK-NEXT: "file": "{{.*}}",
5615// CHECK-NEXT: "line": 111
5616// CHECK-NEXT: }
5617// CHECK-NEXT: },
5618// CHECK-NEXT: "inner": [
5619// CHECK-NEXT: {
5620// CHECK-NEXT: "id": "0x{{.*}}",
5621// CHECK-NEXT: "kind": "DeclRefExpr",
5622// CHECK-NEXT: "range": {
5623// CHECK-NEXT: "begin": {
5624// CHECK-NEXT: "col": 16,
5625// CHECK-NEXT: "file": "{{.*}}",
5626// CHECK-NEXT: "line": 111
5627// CHECK-NEXT: },
5628// CHECK-NEXT: "end": {
5629// CHECK-NEXT: "col": 16,
5630// CHECK-NEXT: "file": "{{.*}}",
5631// CHECK-NEXT: "line": 111
5632// CHECK-NEXT: }
5633// CHECK-NEXT: },
5634// CHECK-NEXT: "type": {
5635// CHECK-NEXT: "qualType": "int"
5636// CHECK-NEXT: },
5637// CHECK-NEXT: "valueCategory": "lvalue",
5638// CHECK-NEXT: "referencedDecl": {
5639// CHECK-NEXT: "id": "0x{{.*}}",
5640// CHECK-NEXT: "kind": "VarDecl",
5641// CHECK-NEXT: "name": "c",
5642// CHECK-NEXT: "type": {
5643// CHECK-NEXT: "qualType": "int"
5644// CHECK-NEXT: }
5645// CHECK-NEXT: }
5646// CHECK-NEXT: }
5647// CHECK-NEXT: ]
5648// CHECK-NEXT: }
5649// CHECK-NEXT: ]
5650// CHECK-NEXT: }
5651// CHECK-NEXT: ]
5652// CHECK-NEXT: }
5653// CHECK-NEXT: ]
5654// CHECK-NEXT: },
5655// CHECK-NEXT: {
5656// CHECK-NEXT: "id": "0x{{.*}}",
5657// CHECK-NEXT: "kind": "CompoundStmt",
5658// CHECK-NEXT: "range": {
5659// CHECK-NEXT: "begin": {
5660// CHECK-NEXT: "col": 7,
5661// CHECK-NEXT: "file": "{{.*}}",
5662// CHECK-NEXT: "line": 111
5663// CHECK-NEXT: },
5664// CHECK-NEXT: "end": {
5665// CHECK-NEXT: "col": 19,
5666// CHECK-NEXT: "file": "{{.*}}",
5667// CHECK-NEXT: "line": 111
5668// CHECK-NEXT: }
5669// CHECK-NEXT: },
5670// CHECK-NEXT: "inner": [
5671// CHECK-NEXT: {
5672// CHECK-NEXT: "id": "0x{{.*}}",
5673// CHECK-NEXT: "kind": "ReturnStmt",
5674// CHECK-NEXT: "range": {
5675// CHECK-NEXT: "begin": {
5676// CHECK-NEXT: "col": 9,
5677// CHECK-NEXT: "file": "{{.*}}",
5678// CHECK-NEXT: "line": 111
5679// CHECK-NEXT: },
5680// CHECK-NEXT: "end": {
5681// CHECK-NEXT: "col": 16,
5682// CHECK-NEXT: "file": "{{.*}}",
5683// CHECK-NEXT: "line": 111
5684// CHECK-NEXT: }
5685// CHECK-NEXT: },
5686// CHECK-NEXT: "inner": [
5687// CHECK-NEXT: {
5688// CHECK-NEXT: "id": "0x{{.*}}",
5689// CHECK-NEXT: "kind": "DeclRefExpr",
5690// CHECK-NEXT: "range": {
5691// CHECK-NEXT: "begin": {
5692// CHECK-NEXT: "col": 16,
5693// CHECK-NEXT: "file": "{{.*}}",
5694// CHECK-NEXT: "line": 111
5695// CHECK-NEXT: },
5696// CHECK-NEXT: "end": {
5697// CHECK-NEXT: "col": 16,
5698// CHECK-NEXT: "file": "{{.*}}",
5699// CHECK-NEXT: "line": 111
5700// CHECK-NEXT: }
5701// CHECK-NEXT: },
5702// CHECK-NEXT: "type": {
5703// CHECK-NEXT: "qualType": "int"
5704// CHECK-NEXT: },
5705// CHECK-NEXT: "valueCategory": "lvalue",
5706// CHECK-NEXT: "referencedDecl": {
5707// CHECK-NEXT: "id": "0x{{.*}}",
5708// CHECK-NEXT: "kind": "VarDecl",
5709// CHECK-NEXT: "name": "c",
5710// CHECK-NEXT: "type": {
5711// CHECK-NEXT: "qualType": "int"
5712// CHECK-NEXT: }
5713// CHECK-NEXT: }
5714// CHECK-NEXT: }
5715// CHECK-NEXT: ]
5716// CHECK-NEXT: }
5717// CHECK-NEXT: ]
5718// CHECK-NEXT: }
5719// CHECK-NEXT: ]
5720// CHECK-NEXT: },
5721// CHECK-NEXT: {
5722// CHECK-NEXT: "id": "0x{{.*}}",
5723// CHECK-NEXT: "kind": "LambdaExpr",
5724// CHECK-NEXT: "range": {
5725// CHECK-NEXT: "begin": {
5726// CHECK-NEXT: "col": 3,
5727// CHECK-NEXT: "file": "{{.*}}",
5728// CHECK-NEXT: "line": 112
5729// CHECK-NEXT: },
5730// CHECK-NEXT: "end": {
5731// CHECK-NEXT: "col": 26,
5732// CHECK-NEXT: "file": "{{.*}}",
5733// CHECK-NEXT: "line": 112
5734// CHECK-NEXT: }
5735// CHECK-NEXT: },
5736// CHECK-NEXT: "type": {
5737// CHECK-NEXT: "qualType": "(lambda at {{.*}}:112:3)"
5738// CHECK-NEXT: },
5739// CHECK-NEXT: "valueCategory": "rvalue",
5740// CHECK-NEXT: "inner": [
5741// CHECK-NEXT: {
5742// CHECK-NEXT: "id": "0x{{.*}}",
5743// CHECK-NEXT: "kind": "CXXRecordDecl",
5744// CHECK-NEXT: "loc": {
5745// CHECK-NEXT: "col": 3,
5746// CHECK-NEXT: "file": "{{.*}}",
5747// CHECK-NEXT: "line": 112
5748// CHECK-NEXT: },
5749// CHECK-NEXT: "range": {
5750// CHECK-NEXT: "begin": {
5751// CHECK-NEXT: "col": 3,
5752// CHECK-NEXT: "file": "{{.*}}",
5753// CHECK-NEXT: "line": 112
5754// CHECK-NEXT: },
5755// CHECK-NEXT: "end": {
5756// CHECK-NEXT: "col": 3,
5757// CHECK-NEXT: "file": "{{.*}}",
5758// CHECK-NEXT: "line": 112
5759// CHECK-NEXT: }
5760// CHECK-NEXT: },
5761// CHECK-NEXT: "isImplicit": true,
5762// CHECK-NEXT: "tagUsed": "class",
5763// CHECK-NEXT: "completeDefinition": true,
5764// CHECK-NEXT: "definitionData": {
5765// CHECK-NEXT: "canConstDefaultInit": true,
5766// CHECK-NEXT: "copyAssign": {
5767// CHECK-NEXT: "hasConstParam": true,
5768// CHECK-NEXT: "implicitHasConstParam": true,
5769// CHECK-NEXT: "needsImplicit": true,
5770// CHECK-NEXT: "trivial": true
5771// CHECK-NEXT: },
5772// CHECK-NEXT: "copyCtor": {
5773// CHECK-NEXT: "hasConstParam": true,
5774// CHECK-NEXT: "implicitHasConstParam": true,
5775// CHECK-NEXT: "needsImplicit": true,
5776// CHECK-NEXT: "simple": true,
5777// CHECK-NEXT: "trivial": true
5778// CHECK-NEXT: },
5779// CHECK-NEXT: "defaultCtor": {},
5780// CHECK-NEXT: "dtor": {
5781// CHECK-NEXT: "irrelevant": true,
5782// CHECK-NEXT: "needsImplicit": true,
5783// CHECK-NEXT: "simple": true,
5784// CHECK-NEXT: "trivial": true
5785// CHECK-NEXT: },
5786// CHECK-NEXT: "isLambda": true,
5787// CHECK-NEXT: "isLiteral": true,
5788// CHECK-NEXT: "isTriviallyCopyable": true,
5789// CHECK-NEXT: "moveAssign": {},
5790// CHECK-NEXT: "moveCtor": {
5791// CHECK-NEXT: "exists": true,
5792// CHECK-NEXT: "needsImplicit": true,
5793// CHECK-NEXT: "simple": true,
5794// CHECK-NEXT: "trivial": true
5795// CHECK-NEXT: }
5796// CHECK-NEXT: },
5797// CHECK-NEXT: "inner": [
5798// CHECK-NEXT: {
5799// CHECK-NEXT: "id": "0x{{.*}}",
Aaron Ballman80d5d162019-05-27 14:12:48 +00005800// CHECK-NEXT: "kind": "CXXMethodDecl",
5801// CHECK-NEXT: "loc": {
5802// CHECK-NEXT: "col": 3,
5803// CHECK-NEXT: "file": "{{.*}}",
5804// CHECK-NEXT: "line": 112
5805// CHECK-NEXT: },
5806// CHECK-NEXT: "range": {
5807// CHECK-NEXT: "begin": {
5808// CHECK-NEXT: "col": 9,
5809// CHECK-NEXT: "file": "{{.*}}",
5810// CHECK-NEXT: "line": 112
5811// CHECK-NEXT: },
5812// CHECK-NEXT: "end": {
5813// CHECK-NEXT: "col": 26,
5814// CHECK-NEXT: "file": "{{.*}}",
5815// CHECK-NEXT: "line": 112
5816// CHECK-NEXT: }
5817// CHECK-NEXT: },
5818// CHECK-NEXT: "name": "operator()",
5819// CHECK-NEXT: "type": {
5820// CHECK-NEXT: "qualType": "auto () const -> auto"
5821// CHECK-NEXT: },
5822// CHECK-NEXT: "inline": true,
5823// CHECK-NEXT: "inner": [
5824// CHECK-NEXT: {
5825// CHECK-NEXT: "id": "0x{{.*}}",
5826// CHECK-NEXT: "kind": "CompoundStmt",
5827// CHECK-NEXT: "range": {
5828// CHECK-NEXT: "begin": {
5829// CHECK-NEXT: "col": 10,
5830// CHECK-NEXT: "file": "{{.*}}",
5831// CHECK-NEXT: "line": 112
5832// CHECK-NEXT: },
5833// CHECK-NEXT: "end": {
5834// CHECK-NEXT: "col": 26,
5835// CHECK-NEXT: "file": "{{.*}}",
5836// CHECK-NEXT: "line": 112
5837// CHECK-NEXT: }
5838// CHECK-NEXT: },
5839// CHECK-NEXT: "inner": [
5840// CHECK-NEXT: {
5841// CHECK-NEXT: "id": "0x{{.*}}",
5842// CHECK-NEXT: "kind": "ReturnStmt",
5843// CHECK-NEXT: "range": {
5844// CHECK-NEXT: "begin": {
5845// CHECK-NEXT: "col": 12,
5846// CHECK-NEXT: "file": "{{.*}}",
5847// CHECK-NEXT: "line": 112
5848// CHECK-NEXT: },
5849// CHECK-NEXT: "end": {
5850// CHECK-NEXT: "col": 23,
5851// CHECK-NEXT: "file": "{{.*}}",
5852// CHECK-NEXT: "line": 112
5853// CHECK-NEXT: }
5854// CHECK-NEXT: },
5855// CHECK-NEXT: "inner": [
5856// CHECK-NEXT: {
5857// CHECK-NEXT: "id": "0x{{.*}}",
5858// CHECK-NEXT: "kind": "BinaryOperator",
5859// CHECK-NEXT: "range": {
5860// CHECK-NEXT: "begin": {
5861// CHECK-NEXT: "col": 19,
5862// CHECK-NEXT: "file": "{{.*}}",
5863// CHECK-NEXT: "line": 112
5864// CHECK-NEXT: },
5865// CHECK-NEXT: "end": {
5866// CHECK-NEXT: "col": 23,
5867// CHECK-NEXT: "file": "{{.*}}",
5868// CHECK-NEXT: "line": 112
5869// CHECK-NEXT: }
5870// CHECK-NEXT: },
5871// CHECK-NEXT: "type": {
5872// CHECK-NEXT: "qualType": "int"
5873// CHECK-NEXT: },
5874// CHECK-NEXT: "valueCategory": "rvalue",
5875// CHECK-NEXT: "opcode": "+",
5876// CHECK-NEXT: "inner": [
5877// CHECK-NEXT: {
5878// CHECK-NEXT: "id": "0x{{.*}}",
5879// CHECK-NEXT: "kind": "ImplicitCastExpr",
5880// CHECK-NEXT: "range": {
5881// CHECK-NEXT: "begin": {
5882// CHECK-NEXT: "col": 19,
5883// CHECK-NEXT: "file": "{{.*}}",
5884// CHECK-NEXT: "line": 112
5885// CHECK-NEXT: },
5886// CHECK-NEXT: "end": {
5887// CHECK-NEXT: "col": 19,
5888// CHECK-NEXT: "file": "{{.*}}",
5889// CHECK-NEXT: "line": 112
5890// CHECK-NEXT: }
5891// CHECK-NEXT: },
5892// CHECK-NEXT: "type": {
5893// CHECK-NEXT: "qualType": "int"
5894// CHECK-NEXT: },
5895// CHECK-NEXT: "valueCategory": "rvalue",
5896// CHECK-NEXT: "castKind": "LValueToRValue",
5897// CHECK-NEXT: "inner": [
5898// CHECK-NEXT: {
5899// CHECK-NEXT: "id": "0x{{.*}}",
5900// CHECK-NEXT: "kind": "DeclRefExpr",
5901// CHECK-NEXT: "range": {
5902// CHECK-NEXT: "begin": {
5903// CHECK-NEXT: "col": 19,
5904// CHECK-NEXT: "file": "{{.*}}",
5905// CHECK-NEXT: "line": 112
5906// CHECK-NEXT: },
5907// CHECK-NEXT: "end": {
5908// CHECK-NEXT: "col": 19,
5909// CHECK-NEXT: "file": "{{.*}}",
5910// CHECK-NEXT: "line": 112
5911// CHECK-NEXT: }
5912// CHECK-NEXT: },
5913// CHECK-NEXT: "type": {
5914// CHECK-NEXT: "qualType": "const int"
5915// CHECK-NEXT: },
5916// CHECK-NEXT: "valueCategory": "lvalue",
5917// CHECK-NEXT: "referencedDecl": {
5918// CHECK-NEXT: "id": "0x{{.*}}",
5919// CHECK-NEXT: "kind": "VarDecl",
5920// CHECK-NEXT: "name": "b",
5921// CHECK-NEXT: "type": {
5922// CHECK-NEXT: "qualType": "int"
5923// CHECK-NEXT: }
5924// CHECK-NEXT: }
5925// CHECK-NEXT: }
5926// CHECK-NEXT: ]
5927// CHECK-NEXT: },
5928// CHECK-NEXT: {
5929// CHECK-NEXT: "id": "0x{{.*}}",
5930// CHECK-NEXT: "kind": "ImplicitCastExpr",
5931// CHECK-NEXT: "range": {
5932// CHECK-NEXT: "begin": {
5933// CHECK-NEXT: "col": 23,
5934// CHECK-NEXT: "file": "{{.*}}",
5935// CHECK-NEXT: "line": 112
5936// CHECK-NEXT: },
5937// CHECK-NEXT: "end": {
5938// CHECK-NEXT: "col": 23,
5939// CHECK-NEXT: "file": "{{.*}}",
5940// CHECK-NEXT: "line": 112
5941// CHECK-NEXT: }
5942// CHECK-NEXT: },
5943// CHECK-NEXT: "type": {
5944// CHECK-NEXT: "qualType": "int"
5945// CHECK-NEXT: },
5946// CHECK-NEXT: "valueCategory": "rvalue",
5947// CHECK-NEXT: "castKind": "LValueToRValue",
5948// CHECK-NEXT: "inner": [
5949// CHECK-NEXT: {
5950// CHECK-NEXT: "id": "0x{{.*}}",
5951// CHECK-NEXT: "kind": "DeclRefExpr",
5952// CHECK-NEXT: "range": {
5953// CHECK-NEXT: "begin": {
5954// CHECK-NEXT: "col": 23,
5955// CHECK-NEXT: "file": "{{.*}}",
5956// CHECK-NEXT: "line": 112
5957// CHECK-NEXT: },
5958// CHECK-NEXT: "end": {
5959// CHECK-NEXT: "col": 23,
5960// CHECK-NEXT: "file": "{{.*}}",
5961// CHECK-NEXT: "line": 112
5962// CHECK-NEXT: }
5963// CHECK-NEXT: },
5964// CHECK-NEXT: "type": {
5965// CHECK-NEXT: "qualType": "int"
5966// CHECK-NEXT: },
5967// CHECK-NEXT: "valueCategory": "lvalue",
5968// CHECK-NEXT: "referencedDecl": {
5969// CHECK-NEXT: "id": "0x{{.*}}",
5970// CHECK-NEXT: "kind": "VarDecl",
5971// CHECK-NEXT: "name": "c",
5972// CHECK-NEXT: "type": {
5973// CHECK-NEXT: "qualType": "int"
5974// CHECK-NEXT: }
5975// CHECK-NEXT: }
5976// CHECK-NEXT: }
5977// CHECK-NEXT: ]
5978// CHECK-NEXT: }
5979// CHECK-NEXT: ]
5980// CHECK-NEXT: }
5981// CHECK-NEXT: ]
5982// CHECK-NEXT: }
5983// CHECK-NEXT: ]
5984// CHECK-NEXT: }
5985// CHECK-NEXT: ]
Richard Smithd103bc32019-05-28 23:20:52 +00005986// CHECK-NEXT: },
5987// CHECK-NEXT: {
5988// CHECK-NEXT: "id": "0x{{.*}}",
5989// CHECK-NEXT: "kind": "FieldDecl",
5990// CHECK-NEXT: "loc": {
5991// CHECK-NEXT: "col": 4,
5992// CHECK-NEXT: "file": "{{.*}}",
5993// CHECK-NEXT: "line": 112
5994// CHECK-NEXT: },
5995// CHECK-NEXT: "range": {
5996// CHECK-NEXT: "begin": {
5997// CHECK-NEXT: "col": 4,
5998// CHECK-NEXT: "file": "{{.*}}",
5999// CHECK-NEXT: "line": 112
6000// CHECK-NEXT: },
6001// CHECK-NEXT: "end": {
6002// CHECK-NEXT: "col": 4,
6003// CHECK-NEXT: "file": "{{.*}}",
6004// CHECK-NEXT: "line": 112
6005// CHECK-NEXT: }
6006// CHECK-NEXT: },
6007// CHECK-NEXT: "isImplicit": true,
6008// CHECK-NEXT: "type": {
6009// CHECK-NEXT: "qualType": "int"
6010// CHECK-NEXT: }
6011// CHECK-NEXT: },
6012// CHECK-NEXT: {
6013// CHECK-NEXT: "id": "0x{{.*}}",
6014// CHECK-NEXT: "kind": "FieldDecl",
6015// CHECK-NEXT: "loc": {
6016// CHECK-NEXT: "col": 8,
6017// CHECK-NEXT: "file": "{{.*}}",
6018// CHECK-NEXT: "line": 112
6019// CHECK-NEXT: },
6020// CHECK-NEXT: "range": {
6021// CHECK-NEXT: "begin": {
6022// CHECK-NEXT: "col": 8,
6023// CHECK-NEXT: "file": "{{.*}}",
6024// CHECK-NEXT: "line": 112
6025// CHECK-NEXT: },
6026// CHECK-NEXT: "end": {
6027// CHECK-NEXT: "col": 8,
6028// CHECK-NEXT: "file": "{{.*}}",
6029// CHECK-NEXT: "line": 112
6030// CHECK-NEXT: }
6031// CHECK-NEXT: },
6032// CHECK-NEXT: "isImplicit": true,
6033// CHECK-NEXT: "type": {
6034// CHECK-NEXT: "qualType": "int &"
6035// CHECK-NEXT: }
Aaron Ballman80d5d162019-05-27 14:12:48 +00006036// CHECK-NEXT: }
6037// CHECK-NEXT: ]
6038// CHECK-NEXT: },
6039// CHECK-NEXT: {
6040// CHECK-NEXT: "id": "0x{{.*}}",
6041// CHECK-NEXT: "kind": "ImplicitCastExpr",
6042// CHECK-NEXT: "range": {
6043// CHECK-NEXT: "begin": {
6044// CHECK-NEXT: "col": 4,
6045// CHECK-NEXT: "file": "{{.*}}",
6046// CHECK-NEXT: "line": 112
6047// CHECK-NEXT: },
6048// CHECK-NEXT: "end": {
6049// CHECK-NEXT: "col": 4,
6050// CHECK-NEXT: "file": "{{.*}}",
6051// CHECK-NEXT: "line": 112
6052// CHECK-NEXT: }
6053// CHECK-NEXT: },
6054// CHECK-NEXT: "type": {
6055// CHECK-NEXT: "qualType": "int"
6056// CHECK-NEXT: },
6057// CHECK-NEXT: "valueCategory": "rvalue",
6058// CHECK-NEXT: "castKind": "LValueToRValue",
6059// CHECK-NEXT: "inner": [
6060// CHECK-NEXT: {
6061// CHECK-NEXT: "id": "0x{{.*}}",
6062// CHECK-NEXT: "kind": "DeclRefExpr",
6063// CHECK-NEXT: "range": {
6064// CHECK-NEXT: "begin": {
6065// CHECK-NEXT: "col": 4,
6066// CHECK-NEXT: "file": "{{.*}}",
6067// CHECK-NEXT: "line": 112
6068// CHECK-NEXT: },
6069// CHECK-NEXT: "end": {
6070// CHECK-NEXT: "col": 4,
6071// CHECK-NEXT: "file": "{{.*}}",
6072// CHECK-NEXT: "line": 112
6073// CHECK-NEXT: }
6074// CHECK-NEXT: },
6075// CHECK-NEXT: "type": {
6076// CHECK-NEXT: "qualType": "int"
6077// CHECK-NEXT: },
6078// CHECK-NEXT: "valueCategory": "lvalue",
6079// CHECK-NEXT: "referencedDecl": {
6080// CHECK-NEXT: "id": "0x{{.*}}",
6081// CHECK-NEXT: "kind": "VarDecl",
6082// CHECK-NEXT: "name": "b",
6083// CHECK-NEXT: "type": {
6084// CHECK-NEXT: "qualType": "int"
6085// CHECK-NEXT: }
6086// CHECK-NEXT: }
6087// CHECK-NEXT: }
6088// CHECK-NEXT: ]
6089// CHECK-NEXT: },
6090// CHECK-NEXT: {
6091// CHECK-NEXT: "id": "0x{{.*}}",
6092// CHECK-NEXT: "kind": "DeclRefExpr",
6093// CHECK-NEXT: "range": {
6094// CHECK-NEXT: "begin": {
6095// CHECK-NEXT: "col": 8,
6096// CHECK-NEXT: "file": "{{.*}}",
6097// CHECK-NEXT: "line": 112
6098// CHECK-NEXT: },
6099// CHECK-NEXT: "end": {
6100// CHECK-NEXT: "col": 8,
6101// CHECK-NEXT: "file": "{{.*}}",
6102// CHECK-NEXT: "line": 112
6103// CHECK-NEXT: }
6104// CHECK-NEXT: },
6105// CHECK-NEXT: "type": {
6106// CHECK-NEXT: "qualType": "int"
6107// CHECK-NEXT: },
6108// CHECK-NEXT: "valueCategory": "lvalue",
6109// CHECK-NEXT: "referencedDecl": {
6110// CHECK-NEXT: "id": "0x{{.*}}",
6111// CHECK-NEXT: "kind": "VarDecl",
6112// CHECK-NEXT: "name": "c",
6113// CHECK-NEXT: "type": {
6114// CHECK-NEXT: "qualType": "int"
6115// CHECK-NEXT: }
6116// CHECK-NEXT: }
6117// CHECK-NEXT: },
6118// CHECK-NEXT: {
6119// CHECK-NEXT: "id": "0x{{.*}}",
6120// CHECK-NEXT: "kind": "CompoundStmt",
6121// CHECK-NEXT: "range": {
6122// CHECK-NEXT: "begin": {
6123// CHECK-NEXT: "col": 10,
6124// CHECK-NEXT: "file": "{{.*}}",
6125// CHECK-NEXT: "line": 112
6126// CHECK-NEXT: },
6127// CHECK-NEXT: "end": {
6128// CHECK-NEXT: "col": 26,
6129// CHECK-NEXT: "file": "{{.*}}",
6130// CHECK-NEXT: "line": 112
6131// CHECK-NEXT: }
6132// CHECK-NEXT: },
6133// CHECK-NEXT: "inner": [
6134// CHECK-NEXT: {
6135// CHECK-NEXT: "id": "0x{{.*}}",
6136// CHECK-NEXT: "kind": "ReturnStmt",
6137// CHECK-NEXT: "range": {
6138// CHECK-NEXT: "begin": {
6139// CHECK-NEXT: "col": 12,
6140// CHECK-NEXT: "file": "{{.*}}",
6141// CHECK-NEXT: "line": 112
6142// CHECK-NEXT: },
6143// CHECK-NEXT: "end": {
6144// CHECK-NEXT: "col": 23,
6145// CHECK-NEXT: "file": "{{.*}}",
6146// CHECK-NEXT: "line": 112
6147// CHECK-NEXT: }
6148// CHECK-NEXT: },
6149// CHECK-NEXT: "inner": [
6150// CHECK-NEXT: {
6151// CHECK-NEXT: "id": "0x{{.*}}",
6152// CHECK-NEXT: "kind": "BinaryOperator",
6153// CHECK-NEXT: "range": {
6154// CHECK-NEXT: "begin": {
6155// CHECK-NEXT: "col": 19,
6156// CHECK-NEXT: "file": "{{.*}}",
6157// CHECK-NEXT: "line": 112
6158// CHECK-NEXT: },
6159// CHECK-NEXT: "end": {
6160// CHECK-NEXT: "col": 23,
6161// CHECK-NEXT: "file": "{{.*}}",
6162// CHECK-NEXT: "line": 112
6163// CHECK-NEXT: }
6164// CHECK-NEXT: },
6165// CHECK-NEXT: "type": {
6166// CHECK-NEXT: "qualType": "int"
6167// CHECK-NEXT: },
6168// CHECK-NEXT: "valueCategory": "rvalue",
6169// CHECK-NEXT: "opcode": "+",
6170// CHECK-NEXT: "inner": [
6171// CHECK-NEXT: {
6172// CHECK-NEXT: "id": "0x{{.*}}",
6173// CHECK-NEXT: "kind": "ImplicitCastExpr",
6174// CHECK-NEXT: "range": {
6175// CHECK-NEXT: "begin": {
6176// CHECK-NEXT: "col": 19,
6177// CHECK-NEXT: "file": "{{.*}}",
6178// CHECK-NEXT: "line": 112
6179// CHECK-NEXT: },
6180// CHECK-NEXT: "end": {
6181// CHECK-NEXT: "col": 19,
6182// CHECK-NEXT: "file": "{{.*}}",
6183// CHECK-NEXT: "line": 112
6184// CHECK-NEXT: }
6185// CHECK-NEXT: },
6186// CHECK-NEXT: "type": {
6187// CHECK-NEXT: "qualType": "int"
6188// CHECK-NEXT: },
6189// CHECK-NEXT: "valueCategory": "rvalue",
6190// CHECK-NEXT: "castKind": "LValueToRValue",
6191// CHECK-NEXT: "inner": [
6192// CHECK-NEXT: {
6193// CHECK-NEXT: "id": "0x{{.*}}",
6194// CHECK-NEXT: "kind": "DeclRefExpr",
6195// CHECK-NEXT: "range": {
6196// CHECK-NEXT: "begin": {
6197// CHECK-NEXT: "col": 19,
6198// CHECK-NEXT: "file": "{{.*}}",
6199// CHECK-NEXT: "line": 112
6200// CHECK-NEXT: },
6201// CHECK-NEXT: "end": {
6202// CHECK-NEXT: "col": 19,
6203// CHECK-NEXT: "file": "{{.*}}",
6204// CHECK-NEXT: "line": 112
6205// CHECK-NEXT: }
6206// CHECK-NEXT: },
6207// CHECK-NEXT: "type": {
6208// CHECK-NEXT: "qualType": "const int"
6209// CHECK-NEXT: },
6210// CHECK-NEXT: "valueCategory": "lvalue",
6211// CHECK-NEXT: "referencedDecl": {
6212// CHECK-NEXT: "id": "0x{{.*}}",
6213// CHECK-NEXT: "kind": "VarDecl",
6214// CHECK-NEXT: "name": "b",
6215// CHECK-NEXT: "type": {
6216// CHECK-NEXT: "qualType": "int"
6217// CHECK-NEXT: }
6218// CHECK-NEXT: }
6219// CHECK-NEXT: }
6220// CHECK-NEXT: ]
6221// CHECK-NEXT: },
6222// CHECK-NEXT: {
6223// CHECK-NEXT: "id": "0x{{.*}}",
6224// CHECK-NEXT: "kind": "ImplicitCastExpr",
6225// CHECK-NEXT: "range": {
6226// CHECK-NEXT: "begin": {
6227// CHECK-NEXT: "col": 23,
6228// CHECK-NEXT: "file": "{{.*}}",
6229// CHECK-NEXT: "line": 112
6230// CHECK-NEXT: },
6231// CHECK-NEXT: "end": {
6232// CHECK-NEXT: "col": 23,
6233// CHECK-NEXT: "file": "{{.*}}",
6234// CHECK-NEXT: "line": 112
6235// CHECK-NEXT: }
6236// CHECK-NEXT: },
6237// CHECK-NEXT: "type": {
6238// CHECK-NEXT: "qualType": "int"
6239// CHECK-NEXT: },
6240// CHECK-NEXT: "valueCategory": "rvalue",
6241// CHECK-NEXT: "castKind": "LValueToRValue",
6242// CHECK-NEXT: "inner": [
6243// CHECK-NEXT: {
6244// CHECK-NEXT: "id": "0x{{.*}}",
6245// CHECK-NEXT: "kind": "DeclRefExpr",
6246// CHECK-NEXT: "range": {
6247// CHECK-NEXT: "begin": {
6248// CHECK-NEXT: "col": 23,
6249// CHECK-NEXT: "file": "{{.*}}",
6250// CHECK-NEXT: "line": 112
6251// CHECK-NEXT: },
6252// CHECK-NEXT: "end": {
6253// CHECK-NEXT: "col": 23,
6254// CHECK-NEXT: "file": "{{.*}}",
6255// CHECK-NEXT: "line": 112
6256// CHECK-NEXT: }
6257// CHECK-NEXT: },
6258// CHECK-NEXT: "type": {
6259// CHECK-NEXT: "qualType": "int"
6260// CHECK-NEXT: },
6261// CHECK-NEXT: "valueCategory": "lvalue",
6262// CHECK-NEXT: "referencedDecl": {
6263// CHECK-NEXT: "id": "0x{{.*}}",
6264// CHECK-NEXT: "kind": "VarDecl",
6265// CHECK-NEXT: "name": "c",
6266// CHECK-NEXT: "type": {
6267// CHECK-NEXT: "qualType": "int"
6268// CHECK-NEXT: }
6269// CHECK-NEXT: }
6270// CHECK-NEXT: }
6271// CHECK-NEXT: ]
6272// CHECK-NEXT: }
6273// CHECK-NEXT: ]
6274// CHECK-NEXT: }
6275// CHECK-NEXT: ]
6276// CHECK-NEXT: }
6277// CHECK-NEXT: ]
6278// CHECK-NEXT: }
6279// CHECK-NEXT: ]
6280// CHECK-NEXT: },
6281// CHECK-NEXT: {
6282// CHECK-NEXT: "id": "0x{{.*}}",
6283// CHECK-NEXT: "kind": "LambdaExpr",
6284// CHECK-NEXT: "range": {
6285// CHECK-NEXT: "begin": {
6286// CHECK-NEXT: "col": 3,
6287// CHECK-NEXT: "file": "{{.*}}",
6288// CHECK-NEXT: "line": 113
6289// CHECK-NEXT: },
6290// CHECK-NEXT: "end": {
6291// CHECK-NEXT: "col": 18,
6292// CHECK-NEXT: "file": "{{.*}}",
6293// CHECK-NEXT: "line": 113
6294// CHECK-NEXT: }
6295// CHECK-NEXT: },
6296// CHECK-NEXT: "type": {
6297// CHECK-NEXT: "qualType": "(lambda at {{.*}}:113:3)"
6298// CHECK-NEXT: },
6299// CHECK-NEXT: "valueCategory": "rvalue",
6300// CHECK-NEXT: "inner": [
6301// CHECK-NEXT: {
6302// CHECK-NEXT: "id": "0x{{.*}}",
6303// CHECK-NEXT: "kind": "CXXRecordDecl",
6304// CHECK-NEXT: "loc": {
6305// CHECK-NEXT: "col": 3,
6306// CHECK-NEXT: "file": "{{.*}}",
6307// CHECK-NEXT: "line": 113
6308// CHECK-NEXT: },
6309// CHECK-NEXT: "range": {
6310// CHECK-NEXT: "begin": {
6311// CHECK-NEXT: "col": 3,
6312// CHECK-NEXT: "file": "{{.*}}",
6313// CHECK-NEXT: "line": 113
6314// CHECK-NEXT: },
6315// CHECK-NEXT: "end": {
6316// CHECK-NEXT: "col": 3,
6317// CHECK-NEXT: "file": "{{.*}}",
6318// CHECK-NEXT: "line": 113
6319// CHECK-NEXT: }
6320// CHECK-NEXT: },
6321// CHECK-NEXT: "isImplicit": true,
6322// CHECK-NEXT: "tagUsed": "class",
6323// CHECK-NEXT: "completeDefinition": true,
6324// CHECK-NEXT: "definitionData": {
6325// CHECK-NEXT: "canConstDefaultInit": true,
6326// CHECK-NEXT: "copyAssign": {
6327// CHECK-NEXT: "hasConstParam": true,
6328// CHECK-NEXT: "implicitHasConstParam": true,
6329// CHECK-NEXT: "needsImplicit": true,
6330// CHECK-NEXT: "trivial": true
6331// CHECK-NEXT: },
6332// CHECK-NEXT: "copyCtor": {
6333// CHECK-NEXT: "hasConstParam": true,
6334// CHECK-NEXT: "implicitHasConstParam": true,
6335// CHECK-NEXT: "needsImplicit": true,
6336// CHECK-NEXT: "simple": true,
6337// CHECK-NEXT: "trivial": true
6338// CHECK-NEXT: },
6339// CHECK-NEXT: "defaultCtor": {},
6340// CHECK-NEXT: "dtor": {
6341// CHECK-NEXT: "irrelevant": true,
6342// CHECK-NEXT: "needsImplicit": true,
6343// CHECK-NEXT: "simple": true,
6344// CHECK-NEXT: "trivial": true
6345// CHECK-NEXT: },
6346// CHECK-NEXT: "isLambda": true,
6347// CHECK-NEXT: "isStandardLayout": true,
6348// CHECK-NEXT: "isTriviallyCopyable": true,
6349// CHECK-NEXT: "moveAssign": {},
6350// CHECK-NEXT: "moveCtor": {
6351// CHECK-NEXT: "exists": true,
6352// CHECK-NEXT: "needsImplicit": true,
6353// CHECK-NEXT: "simple": true,
6354// CHECK-NEXT: "trivial": true
6355// CHECK-NEXT: }
6356// CHECK-NEXT: },
6357// CHECK-NEXT: "inner": [
6358// CHECK-NEXT: {
6359// CHECK-NEXT: "id": "0x{{.*}}",
Richard Smithd103bc32019-05-28 23:20:52 +00006360// CHECK-NEXT: "kind": "CXXMethodDecl",
6361// CHECK-NEXT: "loc": {
6362// CHECK-NEXT: "col": 3,
6363// CHECK-NEXT: "file": "{{.*}}",
6364// CHECK-NEXT: "line": 113
6365// CHECK-NEXT: },
6366// CHECK-NEXT: "range": {
6367// CHECK-NEXT: "begin": {
6368// CHECK-NEXT: "col": 16,
6369// CHECK-NEXT: "file": "{{.*}}",
6370// CHECK-NEXT: "line": 113
6371// CHECK-NEXT: },
6372// CHECK-NEXT: "end": {
6373// CHECK-NEXT: "col": 18,
6374// CHECK-NEXT: "file": "{{.*}}",
6375// CHECK-NEXT: "line": 113
6376// CHECK-NEXT: }
6377// CHECK-NEXT: },
6378// CHECK-NEXT: "name": "operator()",
6379// CHECK-NEXT: "type": {
6380// CHECK-NEXT: "qualType": "auto () const -> auto"
6381// CHECK-NEXT: },
6382// CHECK-NEXT: "inline": true,
6383// CHECK-NEXT: "inner": [
6384// CHECK-NEXT: {
6385// CHECK-NEXT: "id": "0x{{.*}}",
6386// CHECK-NEXT: "kind": "CompoundStmt",
6387// CHECK-NEXT: "range": {
6388// CHECK-NEXT: "begin": {
6389// CHECK-NEXT: "col": 17,
6390// CHECK-NEXT: "file": "{{.*}}",
6391// CHECK-NEXT: "line": 113
6392// CHECK-NEXT: },
6393// CHECK-NEXT: "end": {
6394// CHECK-NEXT: "col": 18,
6395// CHECK-NEXT: "file": "{{.*}}",
6396// CHECK-NEXT: "line": 113
6397// CHECK-NEXT: }
6398// CHECK-NEXT: }
6399// CHECK-NEXT: }
6400// CHECK-NEXT: ]
6401// CHECK-NEXT: },
6402// CHECK-NEXT: {
6403// CHECK-NEXT: "id": "0x{{.*}}",
Aaron Ballman80d5d162019-05-27 14:12:48 +00006404// CHECK-NEXT: "kind": "FieldDecl",
6405// CHECK-NEXT: "loc": {
6406// CHECK-NEXT: "col": 4,
6407// CHECK-NEXT: "file": "{{.*}}",
6408// CHECK-NEXT: "line": 113
6409// CHECK-NEXT: },
6410// CHECK-NEXT: "range": {
6411// CHECK-NEXT: "begin": {
6412// CHECK-NEXT: "col": 4,
6413// CHECK-NEXT: "file": "{{.*}}",
6414// CHECK-NEXT: "line": 113
6415// CHECK-NEXT: },
6416// CHECK-NEXT: "end": {
6417// CHECK-NEXT: "col": 4,
6418// CHECK-NEXT: "file": "{{.*}}",
6419// CHECK-NEXT: "line": 113
6420// CHECK-NEXT: }
6421// CHECK-NEXT: },
6422// CHECK-NEXT: "isImplicit": true,
6423// CHECK-NEXT: "type": {
6424// CHECK-NEXT: "qualType": "Ts..."
6425// CHECK-NEXT: }
6426// CHECK-NEXT: },
6427// CHECK-NEXT: {
6428// CHECK-NEXT: "id": "0x{{.*}}",
6429// CHECK-NEXT: "kind": "FieldDecl",
6430// CHECK-NEXT: "loc": {
6431// CHECK-NEXT: "col": 10,
6432// CHECK-NEXT: "file": "{{.*}}",
6433// CHECK-NEXT: "line": 113
6434// CHECK-NEXT: },
6435// CHECK-NEXT: "range": {
6436// CHECK-NEXT: "begin": {
6437// CHECK-NEXT: "col": 10,
6438// CHECK-NEXT: "file": "{{.*}}",
6439// CHECK-NEXT: "line": 113
6440// CHECK-NEXT: },
6441// CHECK-NEXT: "end": {
6442// CHECK-NEXT: "col": 10,
6443// CHECK-NEXT: "file": "{{.*}}",
6444// CHECK-NEXT: "line": 113
6445// CHECK-NEXT: }
6446// CHECK-NEXT: },
6447// CHECK-NEXT: "isImplicit": true,
6448// CHECK-NEXT: "type": {
6449// CHECK-NEXT: "desugaredQualType": "int",
6450// CHECK-NEXT: "qualType": "int"
6451// CHECK-NEXT: }
Aaron Ballman80d5d162019-05-27 14:12:48 +00006452// CHECK-NEXT: }
6453// CHECK-NEXT: ]
6454// CHECK-NEXT: },
6455// CHECK-NEXT: {
6456// CHECK-NEXT: "id": "0x{{.*}}",
6457// CHECK-NEXT: "kind": "ParenListExpr",
6458// CHECK-NEXT: "range": {
6459// CHECK-NEXT: "begin": {
6460// CHECK-NEXT: "col": 4,
6461// CHECK-NEXT: "file": "{{.*}}",
6462// CHECK-NEXT: "line": 113
6463// CHECK-NEXT: },
6464// CHECK-NEXT: "end": {
6465// CHECK-NEXT: "col": 4,
6466// CHECK-NEXT: "file": "{{.*}}",
6467// CHECK-NEXT: "line": 113
6468// CHECK-NEXT: }
6469// CHECK-NEXT: },
6470// CHECK-NEXT: "type": {
6471// CHECK-NEXT: "qualType": "NULL TYPE"
6472// CHECK-NEXT: },
6473// CHECK-NEXT: "valueCategory": "rvalue",
6474// CHECK-NEXT: "inner": [
6475// CHECK-NEXT: {
6476// CHECK-NEXT: "id": "0x{{.*}}",
6477// CHECK-NEXT: "kind": "DeclRefExpr",
6478// CHECK-NEXT: "range": {
6479// CHECK-NEXT: "begin": {
6480// CHECK-NEXT: "col": 4,
6481// CHECK-NEXT: "file": "{{.*}}",
6482// CHECK-NEXT: "line": 113
6483// CHECK-NEXT: },
6484// CHECK-NEXT: "end": {
6485// CHECK-NEXT: "col": 4,
6486// CHECK-NEXT: "file": "{{.*}}",
6487// CHECK-NEXT: "line": 113
6488// CHECK-NEXT: }
6489// CHECK-NEXT: },
6490// CHECK-NEXT: "type": {
6491// CHECK-NEXT: "qualType": "Ts..."
6492// CHECK-NEXT: },
6493// CHECK-NEXT: "valueCategory": "lvalue",
6494// CHECK-NEXT: "referencedDecl": {
6495// CHECK-NEXT: "id": "0x{{.*}}",
6496// CHECK-NEXT: "kind": "ParmVarDecl",
6497// CHECK-NEXT: "name": "a",
6498// CHECK-NEXT: "type": {
6499// CHECK-NEXT: "qualType": "Ts..."
6500// CHECK-NEXT: }
6501// CHECK-NEXT: }
6502// CHECK-NEXT: }
6503// CHECK-NEXT: ]
6504// CHECK-NEXT: },
6505// CHECK-NEXT: {
6506// CHECK-NEXT: "id": "0x{{.*}}",
6507// CHECK-NEXT: "kind": "IntegerLiteral",
6508// CHECK-NEXT: "range": {
6509// CHECK-NEXT: "begin": {
6510// CHECK-NEXT: "col": 14,
6511// CHECK-NEXT: "file": "{{.*}}",
6512// CHECK-NEXT: "line": 113
6513// CHECK-NEXT: },
6514// CHECK-NEXT: "end": {
6515// CHECK-NEXT: "col": 14,
6516// CHECK-NEXT: "file": "{{.*}}",
6517// CHECK-NEXT: "line": 113
6518// CHECK-NEXT: }
6519// CHECK-NEXT: },
6520// CHECK-NEXT: "type": {
6521// CHECK-NEXT: "qualType": "int"
6522// CHECK-NEXT: },
6523// CHECK-NEXT: "valueCategory": "rvalue",
6524// CHECK-NEXT: "value": "12"
6525// CHECK-NEXT: },
6526// CHECK-NEXT: {
6527// CHECK-NEXT: "id": "0x{{.*}}",
6528// CHECK-NEXT: "kind": "CompoundStmt",
6529// CHECK-NEXT: "range": {
6530// CHECK-NEXT: "begin": {
6531// CHECK-NEXT: "col": 17,
6532// CHECK-NEXT: "file": "{{.*}}",
6533// CHECK-NEXT: "line": 113
6534// CHECK-NEXT: },
6535// CHECK-NEXT: "end": {
6536// CHECK-NEXT: "col": 18,
6537// CHECK-NEXT: "file": "{{.*}}",
6538// CHECK-NEXT: "line": 113
6539// CHECK-NEXT: }
6540// CHECK-NEXT: }
6541// CHECK-NEXT: }
6542// CHECK-NEXT: ]
6543// CHECK-NEXT: },
6544// CHECK-NEXT: {
6545// CHECK-NEXT: "id": "0x{{.*}}",
6546// CHECK-NEXT: "kind": "LambdaExpr",
6547// CHECK-NEXT: "range": {
6548// CHECK-NEXT: "begin": {
6549// CHECK-NEXT: "col": 3,
6550// CHECK-NEXT: "file": "{{.*}}",
6551// CHECK-NEXT: "line": 114
6552// CHECK-NEXT: },
6553// CHECK-NEXT: "end": {
6554// CHECK-NEXT: "col": 19,
6555// CHECK-NEXT: "file": "{{.*}}",
6556// CHECK-NEXT: "line": 114
6557// CHECK-NEXT: }
6558// CHECK-NEXT: },
6559// CHECK-NEXT: "type": {
6560// CHECK-NEXT: "qualType": "(lambda at {{.*}}:114:3)"
6561// CHECK-NEXT: },
6562// CHECK-NEXT: "valueCategory": "rvalue",
6563// CHECK-NEXT: "inner": [
6564// CHECK-NEXT: {
6565// CHECK-NEXT: "id": "0x{{.*}}",
6566// CHECK-NEXT: "kind": "CXXRecordDecl",
6567// CHECK-NEXT: "loc": {
6568// CHECK-NEXT: "col": 3,
6569// CHECK-NEXT: "file": "{{.*}}",
6570// CHECK-NEXT: "line": 114
6571// CHECK-NEXT: },
6572// CHECK-NEXT: "range": {
6573// CHECK-NEXT: "begin": {
6574// CHECK-NEXT: "col": 3,
6575// CHECK-NEXT: "file": "{{.*}}",
6576// CHECK-NEXT: "line": 114
6577// CHECK-NEXT: },
6578// CHECK-NEXT: "end": {
6579// CHECK-NEXT: "col": 3,
6580// CHECK-NEXT: "file": "{{.*}}",
6581// CHECK-NEXT: "line": 114
6582// CHECK-NEXT: }
6583// CHECK-NEXT: },
6584// CHECK-NEXT: "isImplicit": true,
6585// CHECK-NEXT: "tagUsed": "class",
6586// CHECK-NEXT: "completeDefinition": true,
6587// CHECK-NEXT: "definitionData": {
6588// CHECK-NEXT: "canConstDefaultInit": true,
6589// CHECK-NEXT: "copyAssign": {
6590// CHECK-NEXT: "hasConstParam": true,
6591// CHECK-NEXT: "implicitHasConstParam": true,
6592// CHECK-NEXT: "needsImplicit": true,
6593// CHECK-NEXT: "trivial": true
6594// CHECK-NEXT: },
6595// CHECK-NEXT: "copyCtor": {
6596// CHECK-NEXT: "hasConstParam": true,
6597// CHECK-NEXT: "implicitHasConstParam": true,
6598// CHECK-NEXT: "needsImplicit": true,
6599// CHECK-NEXT: "simple": true,
6600// CHECK-NEXT: "trivial": true
6601// CHECK-NEXT: },
6602// CHECK-NEXT: "defaultCtor": {
6603// CHECK-NEXT: "defaultedIsConstexpr": true
6604// CHECK-NEXT: },
6605// CHECK-NEXT: "dtor": {
6606// CHECK-NEXT: "irrelevant": true,
6607// CHECK-NEXT: "needsImplicit": true,
6608// CHECK-NEXT: "simple": true,
6609// CHECK-NEXT: "trivial": true
6610// CHECK-NEXT: },
6611// CHECK-NEXT: "isEmpty": true,
6612// CHECK-NEXT: "isLambda": true,
6613// CHECK-NEXT: "isLiteral": true,
6614// CHECK-NEXT: "isStandardLayout": true,
6615// CHECK-NEXT: "isTriviallyCopyable": true,
6616// CHECK-NEXT: "moveAssign": {},
6617// CHECK-NEXT: "moveCtor": {
6618// CHECK-NEXT: "exists": true,
6619// CHECK-NEXT: "needsImplicit": true,
6620// CHECK-NEXT: "simple": true,
6621// CHECK-NEXT: "trivial": true
6622// CHECK-NEXT: }
6623// CHECK-NEXT: },
6624// CHECK-NEXT: "inner": [
6625// CHECK-NEXT: {
6626// CHECK-NEXT: "id": "0x{{.*}}",
6627// CHECK-NEXT: "kind": "CXXMethodDecl",
6628// CHECK-NEXT: "loc": {
6629// CHECK-NEXT: "col": 3,
6630// CHECK-NEXT: "file": "{{.*}}",
6631// CHECK-NEXT: "line": 114
6632// CHECK-NEXT: },
6633// CHECK-NEXT: "range": {
6634// CHECK-NEXT: "begin": {
6635// CHECK-NEXT: "col": 8,
6636// CHECK-NEXT: "file": "{{.*}}",
6637// CHECK-NEXT: "line": 114
6638// CHECK-NEXT: },
6639// CHECK-NEXT: "end": {
6640// CHECK-NEXT: "col": 19,
6641// CHECK-NEXT: "file": "{{.*}}",
6642// CHECK-NEXT: "line": 114
6643// CHECK-NEXT: }
6644// CHECK-NEXT: },
6645// CHECK-NEXT: "name": "operator()",
6646// CHECK-NEXT: "type": {
6647// CHECK-NEXT: "qualType": "auto () const"
6648// CHECK-NEXT: },
6649// CHECK-NEXT: "inline": true,
6650// CHECK-NEXT: "constexpr": true,
6651// CHECK-NEXT: "inner": [
6652// CHECK-NEXT: {
6653// CHECK-NEXT: "id": "0x{{.*}}",
6654// CHECK-NEXT: "kind": "CompoundStmt",
6655// CHECK-NEXT: "range": {
6656// CHECK-NEXT: "begin": {
6657// CHECK-NEXT: "col": 18,
6658// CHECK-NEXT: "file": "{{.*}}",
6659// CHECK-NEXT: "line": 114
6660// CHECK-NEXT: },
6661// CHECK-NEXT: "end": {
6662// CHECK-NEXT: "col": 19,
6663// CHECK-NEXT: "file": "{{.*}}",
6664// CHECK-NEXT: "line": 114
6665// CHECK-NEXT: }
6666// CHECK-NEXT: }
6667// CHECK-NEXT: }
6668// CHECK-NEXT: ]
6669// CHECK-NEXT: },
6670// CHECK-NEXT: {
6671// CHECK-NEXT: "id": "0x{{.*}}",
6672// CHECK-NEXT: "kind": "CXXConversionDecl",
6673// CHECK-NEXT: "loc": {
6674// CHECK-NEXT: "col": 3,
6675// CHECK-NEXT: "file": "{{.*}}",
6676// CHECK-NEXT: "line": 114
6677// CHECK-NEXT: },
6678// CHECK-NEXT: "range": {
6679// CHECK-NEXT: "begin": {
6680// CHECK-NEXT: "col": 3,
6681// CHECK-NEXT: "file": "{{.*}}",
6682// CHECK-NEXT: "line": 114
6683// CHECK-NEXT: },
6684// CHECK-NEXT: "end": {
6685// CHECK-NEXT: "col": 19,
6686// CHECK-NEXT: "file": "{{.*}}",
6687// CHECK-NEXT: "line": 114
6688// CHECK-NEXT: }
6689// CHECK-NEXT: },
6690// CHECK-NEXT: "isImplicit": true,
6691// CHECK-NEXT: "name": "operator auto (*)()",
6692// CHECK-NEXT: "type": {
6693// CHECK-NEXT: "qualType": "auto (*() const noexcept)()"
6694// CHECK-NEXT: },
6695// CHECK-NEXT: "inline": true,
6696// CHECK-NEXT: "constexpr": true
6697// CHECK-NEXT: },
6698// CHECK-NEXT: {
6699// CHECK-NEXT: "id": "0x{{.*}}",
6700// CHECK-NEXT: "kind": "CXXMethodDecl",
6701// CHECK-NEXT: "loc": {
6702// CHECK-NEXT: "col": 3,
6703// CHECK-NEXT: "file": "{{.*}}",
6704// CHECK-NEXT: "line": 114
6705// CHECK-NEXT: },
6706// CHECK-NEXT: "range": {
6707// CHECK-NEXT: "begin": {
6708// CHECK-NEXT: "col": 3,
6709// CHECK-NEXT: "file": "{{.*}}",
6710// CHECK-NEXT: "line": 114
6711// CHECK-NEXT: },
6712// CHECK-NEXT: "end": {
6713// CHECK-NEXT: "col": 19,
6714// CHECK-NEXT: "file": "{{.*}}",
6715// CHECK-NEXT: "line": 114
6716// CHECK-NEXT: }
6717// CHECK-NEXT: },
6718// CHECK-NEXT: "isImplicit": true,
6719// CHECK-NEXT: "name": "__invoke",
6720// CHECK-NEXT: "type": {
6721// CHECK-NEXT: "qualType": "auto ()"
6722// CHECK-NEXT: },
6723// CHECK-NEXT: "storageClass": "static",
6724// CHECK-NEXT: "inline": true
6725// CHECK-NEXT: }
6726// CHECK-NEXT: ]
6727// CHECK-NEXT: },
6728// CHECK-NEXT: {
6729// CHECK-NEXT: "id": "0x{{.*}}",
6730// CHECK-NEXT: "kind": "CompoundStmt",
6731// CHECK-NEXT: "range": {
6732// CHECK-NEXT: "begin": {
6733// CHECK-NEXT: "col": 18,
6734// CHECK-NEXT: "file": "{{.*}}",
6735// CHECK-NEXT: "line": 114
6736// CHECK-NEXT: },
6737// CHECK-NEXT: "end": {
6738// CHECK-NEXT: "col": 19,
6739// CHECK-NEXT: "file": "{{.*}}",
6740// CHECK-NEXT: "line": 114
6741// CHECK-NEXT: }
6742// CHECK-NEXT: }
6743// CHECK-NEXT: }
6744// CHECK-NEXT: ]
6745// CHECK-NEXT: },
6746// CHECK-NEXT: {
6747// CHECK-NEXT: "id": "0x{{.*}}",
6748// CHECK-NEXT: "kind": "LambdaExpr",
6749// CHECK-NEXT: "range": {
6750// CHECK-NEXT: "begin": {
6751// CHECK-NEXT: "col": 3,
6752// CHECK-NEXT: "file": "{{.*}}",
6753// CHECK-NEXT: "line": 115
6754// CHECK-NEXT: },
6755// CHECK-NEXT: "end": {
6756// CHECK-NEXT: "col": 17,
6757// CHECK-NEXT: "file": "{{.*}}",
6758// CHECK-NEXT: "line": 115
6759// CHECK-NEXT: }
6760// CHECK-NEXT: },
6761// CHECK-NEXT: "type": {
6762// CHECK-NEXT: "qualType": "(lambda at {{.*}}:115:3)"
6763// CHECK-NEXT: },
6764// CHECK-NEXT: "valueCategory": "rvalue",
6765// CHECK-NEXT: "inner": [
6766// CHECK-NEXT: {
6767// CHECK-NEXT: "id": "0x{{.*}}",
6768// CHECK-NEXT: "kind": "CXXRecordDecl",
6769// CHECK-NEXT: "loc": {
6770// CHECK-NEXT: "col": 3,
6771// CHECK-NEXT: "file": "{{.*}}",
6772// CHECK-NEXT: "line": 115
6773// CHECK-NEXT: },
6774// CHECK-NEXT: "range": {
6775// CHECK-NEXT: "begin": {
6776// CHECK-NEXT: "col": 3,
6777// CHECK-NEXT: "file": "{{.*}}",
6778// CHECK-NEXT: "line": 115
6779// CHECK-NEXT: },
6780// CHECK-NEXT: "end": {
6781// CHECK-NEXT: "col": 3,
6782// CHECK-NEXT: "file": "{{.*}}",
6783// CHECK-NEXT: "line": 115
6784// CHECK-NEXT: }
6785// CHECK-NEXT: },
6786// CHECK-NEXT: "isImplicit": true,
6787// CHECK-NEXT: "tagUsed": "class",
6788// CHECK-NEXT: "completeDefinition": true,
6789// CHECK-NEXT: "definitionData": {
6790// CHECK-NEXT: "canConstDefaultInit": true,
6791// CHECK-NEXT: "copyAssign": {
6792// CHECK-NEXT: "hasConstParam": true,
6793// CHECK-NEXT: "implicitHasConstParam": true,
6794// CHECK-NEXT: "needsImplicit": true,
6795// CHECK-NEXT: "trivial": true
6796// CHECK-NEXT: },
6797// CHECK-NEXT: "copyCtor": {
6798// CHECK-NEXT: "hasConstParam": true,
6799// CHECK-NEXT: "implicitHasConstParam": true,
6800// CHECK-NEXT: "needsImplicit": true,
6801// CHECK-NEXT: "simple": true,
6802// CHECK-NEXT: "trivial": true
6803// CHECK-NEXT: },
6804// CHECK-NEXT: "defaultCtor": {
6805// CHECK-NEXT: "defaultedIsConstexpr": true
6806// CHECK-NEXT: },
6807// CHECK-NEXT: "dtor": {
6808// CHECK-NEXT: "irrelevant": true,
6809// CHECK-NEXT: "needsImplicit": true,
6810// CHECK-NEXT: "simple": true,
6811// CHECK-NEXT: "trivial": true
6812// CHECK-NEXT: },
6813// CHECK-NEXT: "isEmpty": true,
6814// CHECK-NEXT: "isLambda": true,
6815// CHECK-NEXT: "isLiteral": true,
6816// CHECK-NEXT: "isStandardLayout": true,
6817// CHECK-NEXT: "isTriviallyCopyable": true,
6818// CHECK-NEXT: "moveAssign": {},
6819// CHECK-NEXT: "moveCtor": {
6820// CHECK-NEXT: "exists": true,
6821// CHECK-NEXT: "needsImplicit": true,
6822// CHECK-NEXT: "simple": true,
6823// CHECK-NEXT: "trivial": true
6824// CHECK-NEXT: }
6825// CHECK-NEXT: },
6826// CHECK-NEXT: "inner": [
6827// CHECK-NEXT: {
6828// CHECK-NEXT: "id": "0x{{.*}}",
6829// CHECK-NEXT: "kind": "CXXMethodDecl",
6830// CHECK-NEXT: "loc": {
6831// CHECK-NEXT: "col": 3,
6832// CHECK-NEXT: "file": "{{.*}}",
6833// CHECK-NEXT: "line": 115
6834// CHECK-NEXT: },
6835// CHECK-NEXT: "range": {
6836// CHECK-NEXT: "begin": {
6837// CHECK-NEXT: "col": 8,
6838// CHECK-NEXT: "file": "{{.*}}",
6839// CHECK-NEXT: "line": 115
6840// CHECK-NEXT: },
6841// CHECK-NEXT: "end": {
6842// CHECK-NEXT: "col": 17,
6843// CHECK-NEXT: "file": "{{.*}}",
6844// CHECK-NEXT: "line": 115
6845// CHECK-NEXT: }
6846// CHECK-NEXT: },
6847// CHECK-NEXT: "name": "operator()",
6848// CHECK-NEXT: "type": {
6849// CHECK-NEXT: "qualType": "auto ()"
6850// CHECK-NEXT: },
6851// CHECK-NEXT: "inline": true,
6852// CHECK-NEXT: "inner": [
6853// CHECK-NEXT: {
6854// CHECK-NEXT: "id": "0x{{.*}}",
6855// CHECK-NEXT: "kind": "CompoundStmt",
6856// CHECK-NEXT: "range": {
6857// CHECK-NEXT: "begin": {
6858// CHECK-NEXT: "col": 16,
6859// CHECK-NEXT: "file": "{{.*}}",
6860// CHECK-NEXT: "line": 115
6861// CHECK-NEXT: },
6862// CHECK-NEXT: "end": {
6863// CHECK-NEXT: "col": 17,
6864// CHECK-NEXT: "file": "{{.*}}",
6865// CHECK-NEXT: "line": 115
6866// CHECK-NEXT: }
6867// CHECK-NEXT: }
6868// CHECK-NEXT: }
6869// CHECK-NEXT: ]
6870// CHECK-NEXT: },
6871// CHECK-NEXT: {
6872// CHECK-NEXT: "id": "0x{{.*}}",
6873// CHECK-NEXT: "kind": "CXXConversionDecl",
6874// CHECK-NEXT: "loc": {
6875// CHECK-NEXT: "col": 3,
6876// CHECK-NEXT: "file": "{{.*}}",
6877// CHECK-NEXT: "line": 115
6878// CHECK-NEXT: },
6879// CHECK-NEXT: "range": {
6880// CHECK-NEXT: "begin": {
6881// CHECK-NEXT: "col": 3,
6882// CHECK-NEXT: "file": "{{.*}}",
6883// CHECK-NEXT: "line": 115
6884// CHECK-NEXT: },
6885// CHECK-NEXT: "end": {
6886// CHECK-NEXT: "col": 17,
6887// CHECK-NEXT: "file": "{{.*}}",
6888// CHECK-NEXT: "line": 115
6889// CHECK-NEXT: }
6890// CHECK-NEXT: },
6891// CHECK-NEXT: "isImplicit": true,
6892// CHECK-NEXT: "name": "operator auto (*)()",
6893// CHECK-NEXT: "type": {
6894// CHECK-NEXT: "qualType": "auto (*() const noexcept)()"
6895// CHECK-NEXT: },
6896// CHECK-NEXT: "inline": true,
6897// CHECK-NEXT: "constexpr": true
6898// CHECK-NEXT: },
6899// CHECK-NEXT: {
6900// CHECK-NEXT: "id": "0x{{.*}}",
6901// CHECK-NEXT: "kind": "CXXMethodDecl",
6902// CHECK-NEXT: "loc": {
6903// CHECK-NEXT: "col": 3,
6904// CHECK-NEXT: "file": "{{.*}}",
6905// CHECK-NEXT: "line": 115
6906// CHECK-NEXT: },
6907// CHECK-NEXT: "range": {
6908// CHECK-NEXT: "begin": {
6909// CHECK-NEXT: "col": 3,
6910// CHECK-NEXT: "file": "{{.*}}",
6911// CHECK-NEXT: "line": 115
6912// CHECK-NEXT: },
6913// CHECK-NEXT: "end": {
6914// CHECK-NEXT: "col": 17,
6915// CHECK-NEXT: "file": "{{.*}}",
6916// CHECK-NEXT: "line": 115
6917// CHECK-NEXT: }
6918// CHECK-NEXT: },
6919// CHECK-NEXT: "isImplicit": true,
6920// CHECK-NEXT: "name": "__invoke",
6921// CHECK-NEXT: "type": {
6922// CHECK-NEXT: "qualType": "auto ()"
6923// CHECK-NEXT: },
6924// CHECK-NEXT: "storageClass": "static",
6925// CHECK-NEXT: "inline": true
6926// CHECK-NEXT: }
6927// CHECK-NEXT: ]
6928// CHECK-NEXT: },
6929// CHECK-NEXT: {
6930// CHECK-NEXT: "id": "0x{{.*}}",
6931// CHECK-NEXT: "kind": "CompoundStmt",
6932// CHECK-NEXT: "range": {
6933// CHECK-NEXT: "begin": {
6934// CHECK-NEXT: "col": 16,
6935// CHECK-NEXT: "file": "{{.*}}",
6936// CHECK-NEXT: "line": 115
6937// CHECK-NEXT: },
6938// CHECK-NEXT: "end": {
6939// CHECK-NEXT: "col": 17,
6940// CHECK-NEXT: "file": "{{.*}}",
6941// CHECK-NEXT: "line": 115
6942// CHECK-NEXT: }
6943// CHECK-NEXT: }
6944// CHECK-NEXT: }
6945// CHECK-NEXT: ]
6946// CHECK-NEXT: },
6947// CHECK-NEXT: {
6948// CHECK-NEXT: "id": "0x{{.*}}",
6949// CHECK-NEXT: "kind": "LambdaExpr",
6950// CHECK-NEXT: "range": {
6951// CHECK-NEXT: "begin": {
6952// CHECK-NEXT: "col": 3,
6953// CHECK-NEXT: "file": "{{.*}}",
6954// CHECK-NEXT: "line": 116
6955// CHECK-NEXT: },
6956// CHECK-NEXT: "end": {
6957// CHECK-NEXT: "col": 18,
6958// CHECK-NEXT: "file": "{{.*}}",
6959// CHECK-NEXT: "line": 116
6960// CHECK-NEXT: }
6961// CHECK-NEXT: },
6962// CHECK-NEXT: "type": {
6963// CHECK-NEXT: "qualType": "(lambda at {{.*}}:116:3)"
6964// CHECK-NEXT: },
6965// CHECK-NEXT: "valueCategory": "rvalue",
6966// CHECK-NEXT: "inner": [
6967// CHECK-NEXT: {
6968// CHECK-NEXT: "id": "0x{{.*}}",
6969// CHECK-NEXT: "kind": "CXXRecordDecl",
6970// CHECK-NEXT: "loc": {
6971// CHECK-NEXT: "col": 3,
6972// CHECK-NEXT: "file": "{{.*}}",
6973// CHECK-NEXT: "line": 116
6974// CHECK-NEXT: },
6975// CHECK-NEXT: "range": {
6976// CHECK-NEXT: "begin": {
6977// CHECK-NEXT: "col": 3,
6978// CHECK-NEXT: "file": "{{.*}}",
6979// CHECK-NEXT: "line": 116
6980// CHECK-NEXT: },
6981// CHECK-NEXT: "end": {
6982// CHECK-NEXT: "col": 3,
6983// CHECK-NEXT: "file": "{{.*}}",
6984// CHECK-NEXT: "line": 116
6985// CHECK-NEXT: }
6986// CHECK-NEXT: },
6987// CHECK-NEXT: "isImplicit": true,
6988// CHECK-NEXT: "tagUsed": "class",
6989// CHECK-NEXT: "completeDefinition": true,
6990// CHECK-NEXT: "definitionData": {
6991// CHECK-NEXT: "canConstDefaultInit": true,
6992// CHECK-NEXT: "copyAssign": {
6993// CHECK-NEXT: "hasConstParam": true,
6994// CHECK-NEXT: "implicitHasConstParam": true,
6995// CHECK-NEXT: "needsImplicit": true,
6996// CHECK-NEXT: "trivial": true
6997// CHECK-NEXT: },
6998// CHECK-NEXT: "copyCtor": {
6999// CHECK-NEXT: "hasConstParam": true,
7000// CHECK-NEXT: "implicitHasConstParam": true,
7001// CHECK-NEXT: "needsImplicit": true,
7002// CHECK-NEXT: "simple": true,
7003// CHECK-NEXT: "trivial": true
7004// CHECK-NEXT: },
7005// CHECK-NEXT: "defaultCtor": {
7006// CHECK-NEXT: "defaultedIsConstexpr": true
7007// CHECK-NEXT: },
7008// CHECK-NEXT: "dtor": {
7009// CHECK-NEXT: "irrelevant": true,
7010// CHECK-NEXT: "needsImplicit": true,
7011// CHECK-NEXT: "simple": true,
7012// CHECK-NEXT: "trivial": true
7013// CHECK-NEXT: },
7014// CHECK-NEXT: "isEmpty": true,
7015// CHECK-NEXT: "isLambda": true,
7016// CHECK-NEXT: "isLiteral": true,
7017// CHECK-NEXT: "isStandardLayout": true,
7018// CHECK-NEXT: "isTriviallyCopyable": true,
7019// CHECK-NEXT: "moveAssign": {},
7020// CHECK-NEXT: "moveCtor": {
7021// CHECK-NEXT: "exists": true,
7022// CHECK-NEXT: "needsImplicit": true,
7023// CHECK-NEXT: "simple": true,
7024// CHECK-NEXT: "trivial": true
7025// CHECK-NEXT: }
7026// CHECK-NEXT: },
7027// CHECK-NEXT: "inner": [
7028// CHECK-NEXT: {
7029// CHECK-NEXT: "id": "0x{{.*}}",
7030// CHECK-NEXT: "kind": "CXXMethodDecl",
7031// CHECK-NEXT: "loc": {
7032// CHECK-NEXT: "col": 3,
7033// CHECK-NEXT: "file": "{{.*}}",
7034// CHECK-NEXT: "line": 116
7035// CHECK-NEXT: },
7036// CHECK-NEXT: "range": {
7037// CHECK-NEXT: "begin": {
7038// CHECK-NEXT: "col": 8,
7039// CHECK-NEXT: "file": "{{.*}}",
7040// CHECK-NEXT: "line": 116
7041// CHECK-NEXT: },
7042// CHECK-NEXT: "end": {
7043// CHECK-NEXT: "col": 18,
7044// CHECK-NEXT: "file": "{{.*}}",
7045// CHECK-NEXT: "line": 116
7046// CHECK-NEXT: }
7047// CHECK-NEXT: },
7048// CHECK-NEXT: "name": "operator()",
7049// CHECK-NEXT: "type": {
7050// CHECK-NEXT: "qualType": "auto () const noexcept"
7051// CHECK-NEXT: },
7052// CHECK-NEXT: "inline": true,
7053// CHECK-NEXT: "inner": [
7054// CHECK-NEXT: {
7055// CHECK-NEXT: "id": "0x{{.*}}",
7056// CHECK-NEXT: "kind": "CompoundStmt",
7057// CHECK-NEXT: "range": {
7058// CHECK-NEXT: "begin": {
7059// CHECK-NEXT: "col": 17,
7060// CHECK-NEXT: "file": "{{.*}}",
7061// CHECK-NEXT: "line": 116
7062// CHECK-NEXT: },
7063// CHECK-NEXT: "end": {
7064// CHECK-NEXT: "col": 18,
7065// CHECK-NEXT: "file": "{{.*}}",
7066// CHECK-NEXT: "line": 116
7067// CHECK-NEXT: }
7068// CHECK-NEXT: }
7069// CHECK-NEXT: }
7070// CHECK-NEXT: ]
7071// CHECK-NEXT: },
7072// CHECK-NEXT: {
7073// CHECK-NEXT: "id": "0x{{.*}}",
7074// CHECK-NEXT: "kind": "CXXConversionDecl",
7075// CHECK-NEXT: "loc": {
7076// CHECK-NEXT: "col": 3,
7077// CHECK-NEXT: "file": "{{.*}}",
7078// CHECK-NEXT: "line": 116
7079// CHECK-NEXT: },
7080// CHECK-NEXT: "range": {
7081// CHECK-NEXT: "begin": {
7082// CHECK-NEXT: "col": 3,
7083// CHECK-NEXT: "file": "{{.*}}",
7084// CHECK-NEXT: "line": 116
7085// CHECK-NEXT: },
7086// CHECK-NEXT: "end": {
7087// CHECK-NEXT: "col": 18,
7088// CHECK-NEXT: "file": "{{.*}}",
7089// CHECK-NEXT: "line": 116
7090// CHECK-NEXT: }
7091// CHECK-NEXT: },
7092// CHECK-NEXT: "isImplicit": true,
7093// CHECK-NEXT: "name": "operator auto (*)() noexcept",
7094// CHECK-NEXT: "type": {
7095// CHECK-NEXT: "qualType": "auto (*() const noexcept)() noexcept"
7096// CHECK-NEXT: },
7097// CHECK-NEXT: "inline": true,
7098// CHECK-NEXT: "constexpr": true
7099// CHECK-NEXT: },
7100// CHECK-NEXT: {
7101// CHECK-NEXT: "id": "0x{{.*}}",
7102// CHECK-NEXT: "kind": "CXXMethodDecl",
7103// CHECK-NEXT: "loc": {
7104// CHECK-NEXT: "col": 3,
7105// CHECK-NEXT: "file": "{{.*}}",
7106// CHECK-NEXT: "line": 116
7107// CHECK-NEXT: },
7108// CHECK-NEXT: "range": {
7109// CHECK-NEXT: "begin": {
7110// CHECK-NEXT: "col": 3,
7111// CHECK-NEXT: "file": "{{.*}}",
7112// CHECK-NEXT: "line": 116
7113// CHECK-NEXT: },
7114// CHECK-NEXT: "end": {
7115// CHECK-NEXT: "col": 18,
7116// CHECK-NEXT: "file": "{{.*}}",
7117// CHECK-NEXT: "line": 116
7118// CHECK-NEXT: }
7119// CHECK-NEXT: },
7120// CHECK-NEXT: "isImplicit": true,
7121// CHECK-NEXT: "name": "__invoke",
7122// CHECK-NEXT: "type": {
7123// CHECK-NEXT: "qualType": "auto () noexcept"
7124// CHECK-NEXT: },
7125// CHECK-NEXT: "storageClass": "static",
7126// CHECK-NEXT: "inline": true
7127// CHECK-NEXT: }
7128// CHECK-NEXT: ]
7129// CHECK-NEXT: },
7130// CHECK-NEXT: {
7131// CHECK-NEXT: "id": "0x{{.*}}",
7132// CHECK-NEXT: "kind": "CompoundStmt",
7133// CHECK-NEXT: "range": {
7134// CHECK-NEXT: "begin": {
7135// CHECK-NEXT: "col": 17,
7136// CHECK-NEXT: "file": "{{.*}}",
7137// CHECK-NEXT: "line": 116
7138// CHECK-NEXT: },
7139// CHECK-NEXT: "end": {
7140// CHECK-NEXT: "col": 18,
7141// CHECK-NEXT: "file": "{{.*}}",
7142// CHECK-NEXT: "line": 116
7143// CHECK-NEXT: }
7144// CHECK-NEXT: }
7145// CHECK-NEXT: }
7146// CHECK-NEXT: ]
7147// CHECK-NEXT: },
7148// CHECK-NEXT: {
7149// CHECK-NEXT: "id": "0x{{.*}}",
7150// CHECK-NEXT: "kind": "LambdaExpr",
7151// CHECK-NEXT: "range": {
7152// CHECK-NEXT: "begin": {
7153// CHECK-NEXT: "col": 3,
7154// CHECK-NEXT: "file": "{{.*}}",
7155// CHECK-NEXT: "line": 117
7156// CHECK-NEXT: },
7157// CHECK-NEXT: "end": {
7158// CHECK-NEXT: "col": 27,
7159// CHECK-NEXT: "file": "{{.*}}",
7160// CHECK-NEXT: "line": 117
7161// CHECK-NEXT: }
7162// CHECK-NEXT: },
7163// CHECK-NEXT: "type": {
7164// CHECK-NEXT: "qualType": "(lambda at {{.*}}:117:3)"
7165// CHECK-NEXT: },
7166// CHECK-NEXT: "valueCategory": "rvalue",
7167// CHECK-NEXT: "inner": [
7168// CHECK-NEXT: {
7169// CHECK-NEXT: "id": "0x{{.*}}",
7170// CHECK-NEXT: "kind": "CXXRecordDecl",
7171// CHECK-NEXT: "loc": {
7172// CHECK-NEXT: "col": 3,
7173// CHECK-NEXT: "file": "{{.*}}",
7174// CHECK-NEXT: "line": 117
7175// CHECK-NEXT: },
7176// CHECK-NEXT: "range": {
7177// CHECK-NEXT: "begin": {
7178// CHECK-NEXT: "col": 3,
7179// CHECK-NEXT: "file": "{{.*}}",
7180// CHECK-NEXT: "line": 117
7181// CHECK-NEXT: },
7182// CHECK-NEXT: "end": {
7183// CHECK-NEXT: "col": 3,
7184// CHECK-NEXT: "file": "{{.*}}",
7185// CHECK-NEXT: "line": 117
7186// CHECK-NEXT: }
7187// CHECK-NEXT: },
7188// CHECK-NEXT: "isImplicit": true,
7189// CHECK-NEXT: "tagUsed": "class",
7190// CHECK-NEXT: "completeDefinition": true,
7191// CHECK-NEXT: "definitionData": {
7192// CHECK-NEXT: "canConstDefaultInit": true,
7193// CHECK-NEXT: "copyAssign": {
7194// CHECK-NEXT: "hasConstParam": true,
7195// CHECK-NEXT: "implicitHasConstParam": true,
7196// CHECK-NEXT: "needsImplicit": true,
7197// CHECK-NEXT: "trivial": true
7198// CHECK-NEXT: },
7199// CHECK-NEXT: "copyCtor": {
7200// CHECK-NEXT: "hasConstParam": true,
7201// CHECK-NEXT: "implicitHasConstParam": true,
7202// CHECK-NEXT: "needsImplicit": true,
7203// CHECK-NEXT: "simple": true,
7204// CHECK-NEXT: "trivial": true
7205// CHECK-NEXT: },
7206// CHECK-NEXT: "defaultCtor": {
7207// CHECK-NEXT: "defaultedIsConstexpr": true
7208// CHECK-NEXT: },
7209// CHECK-NEXT: "dtor": {
7210// CHECK-NEXT: "irrelevant": true,
7211// CHECK-NEXT: "needsImplicit": true,
7212// CHECK-NEXT: "simple": true,
7213// CHECK-NEXT: "trivial": true
7214// CHECK-NEXT: },
7215// CHECK-NEXT: "isEmpty": true,
7216// CHECK-NEXT: "isLambda": true,
7217// CHECK-NEXT: "isLiteral": true,
7218// CHECK-NEXT: "isStandardLayout": true,
7219// CHECK-NEXT: "isTriviallyCopyable": true,
7220// CHECK-NEXT: "moveAssign": {},
7221// CHECK-NEXT: "moveCtor": {
7222// CHECK-NEXT: "exists": true,
7223// CHECK-NEXT: "needsImplicit": true,
7224// CHECK-NEXT: "simple": true,
7225// CHECK-NEXT: "trivial": true
7226// CHECK-NEXT: }
7227// CHECK-NEXT: },
7228// CHECK-NEXT: "inner": [
7229// CHECK-NEXT: {
7230// CHECK-NEXT: "id": "0x{{.*}}",
7231// CHECK-NEXT: "kind": "CXXMethodDecl",
7232// CHECK-NEXT: "loc": {
7233// CHECK-NEXT: "col": 3,
7234// CHECK-NEXT: "file": "{{.*}}",
7235// CHECK-NEXT: "line": 117
7236// CHECK-NEXT: },
7237// CHECK-NEXT: "range": {
7238// CHECK-NEXT: "begin": {
7239// CHECK-NEXT: "col": 11,
7240// CHECK-NEXT: "file": "{{.*}}",
7241// CHECK-NEXT: "line": 117
7242// CHECK-NEXT: },
7243// CHECK-NEXT: "end": {
7244// CHECK-NEXT: "col": 27,
7245// CHECK-NEXT: "file": "{{.*}}",
7246// CHECK-NEXT: "line": 117
7247// CHECK-NEXT: }
7248// CHECK-NEXT: },
7249// CHECK-NEXT: "name": "operator()",
7250// CHECK-NEXT: "type": {
7251// CHECK-NEXT: "qualType": "auto () const -> int"
7252// CHECK-NEXT: },
7253// CHECK-NEXT: "inline": true,
7254// CHECK-NEXT: "inner": [
7255// CHECK-NEXT: {
7256// CHECK-NEXT: "id": "0x{{.*}}",
7257// CHECK-NEXT: "kind": "CompoundStmt",
7258// CHECK-NEXT: "range": {
7259// CHECK-NEXT: "begin": {
7260// CHECK-NEXT: "col": 15,
7261// CHECK-NEXT: "file": "{{.*}}",
7262// CHECK-NEXT: "line": 117
7263// CHECK-NEXT: },
7264// CHECK-NEXT: "end": {
7265// CHECK-NEXT: "col": 27,
7266// CHECK-NEXT: "file": "{{.*}}",
7267// CHECK-NEXT: "line": 117
7268// CHECK-NEXT: }
7269// CHECK-NEXT: },
7270// CHECK-NEXT: "inner": [
7271// CHECK-NEXT: {
7272// CHECK-NEXT: "id": "0x{{.*}}",
7273// CHECK-NEXT: "kind": "ReturnStmt",
7274// CHECK-NEXT: "range": {
7275// CHECK-NEXT: "begin": {
7276// CHECK-NEXT: "col": 17,
7277// CHECK-NEXT: "file": "{{.*}}",
7278// CHECK-NEXT: "line": 117
7279// CHECK-NEXT: },
7280// CHECK-NEXT: "end": {
7281// CHECK-NEXT: "col": 24,
7282// CHECK-NEXT: "file": "{{.*}}",
7283// CHECK-NEXT: "line": 117
7284// CHECK-NEXT: }
7285// CHECK-NEXT: },
7286// CHECK-NEXT: "inner": [
7287// CHECK-NEXT: {
7288// CHECK-NEXT: "id": "0x{{.*}}",
7289// CHECK-NEXT: "kind": "IntegerLiteral",
7290// CHECK-NEXT: "range": {
7291// CHECK-NEXT: "begin": {
7292// CHECK-NEXT: "col": 24,
7293// CHECK-NEXT: "file": "{{.*}}",
7294// CHECK-NEXT: "line": 117
7295// CHECK-NEXT: },
7296// CHECK-NEXT: "end": {
7297// CHECK-NEXT: "col": 24,
7298// CHECK-NEXT: "file": "{{.*}}",
7299// CHECK-NEXT: "line": 117
7300// CHECK-NEXT: }
7301// CHECK-NEXT: },
7302// CHECK-NEXT: "type": {
7303// CHECK-NEXT: "qualType": "int"
7304// CHECK-NEXT: },
7305// CHECK-NEXT: "valueCategory": "rvalue",
7306// CHECK-NEXT: "value": "0"
7307// CHECK-NEXT: }
7308// CHECK-NEXT: ]
7309// CHECK-NEXT: }
7310// CHECK-NEXT: ]
7311// CHECK-NEXT: }
7312// CHECK-NEXT: ]
7313// CHECK-NEXT: },
7314// CHECK-NEXT: {
7315// CHECK-NEXT: "id": "0x{{.*}}",
7316// CHECK-NEXT: "kind": "CXXConversionDecl",
7317// CHECK-NEXT: "loc": {
7318// CHECK-NEXT: "col": 3,
7319// CHECK-NEXT: "file": "{{.*}}",
7320// CHECK-NEXT: "line": 117
7321// CHECK-NEXT: },
7322// CHECK-NEXT: "range": {
7323// CHECK-NEXT: "begin": {
7324// CHECK-NEXT: "col": 3,
7325// CHECK-NEXT: "file": "{{.*}}",
7326// CHECK-NEXT: "line": 117
7327// CHECK-NEXT: },
7328// CHECK-NEXT: "end": {
7329// CHECK-NEXT: "col": 27,
7330// CHECK-NEXT: "file": "{{.*}}",
7331// CHECK-NEXT: "line": 117
7332// CHECK-NEXT: }
7333// CHECK-NEXT: },
7334// CHECK-NEXT: "isImplicit": true,
7335// CHECK-NEXT: "name": "operator int (*)()",
7336// CHECK-NEXT: "type": {
7337// CHECK-NEXT: "qualType": "auto (*() const noexcept)() -> int"
7338// CHECK-NEXT: },
7339// CHECK-NEXT: "inline": true,
7340// CHECK-NEXT: "constexpr": true
7341// CHECK-NEXT: },
7342// CHECK-NEXT: {
7343// CHECK-NEXT: "id": "0x{{.*}}",
7344// CHECK-NEXT: "kind": "CXXMethodDecl",
7345// CHECK-NEXT: "loc": {
7346// CHECK-NEXT: "col": 3,
7347// CHECK-NEXT: "file": "{{.*}}",
7348// CHECK-NEXT: "line": 117
7349// CHECK-NEXT: },
7350// CHECK-NEXT: "range": {
7351// CHECK-NEXT: "begin": {
7352// CHECK-NEXT: "col": 3,
7353// CHECK-NEXT: "file": "{{.*}}",
7354// CHECK-NEXT: "line": 117
7355// CHECK-NEXT: },
7356// CHECK-NEXT: "end": {
7357// CHECK-NEXT: "col": 27,
7358// CHECK-NEXT: "file": "{{.*}}",
7359// CHECK-NEXT: "line": 117
7360// CHECK-NEXT: }
7361// CHECK-NEXT: },
7362// CHECK-NEXT: "isImplicit": true,
7363// CHECK-NEXT: "name": "__invoke",
7364// CHECK-NEXT: "type": {
7365// CHECK-NEXT: "qualType": "auto () -> int"
7366// CHECK-NEXT: },
7367// CHECK-NEXT: "storageClass": "static",
7368// CHECK-NEXT: "inline": true
7369// CHECK-NEXT: }
7370// CHECK-NEXT: ]
7371// CHECK-NEXT: },
7372// CHECK-NEXT: {
7373// CHECK-NEXT: "id": "0x{{.*}}",
7374// CHECK-NEXT: "kind": "CompoundStmt",
7375// CHECK-NEXT: "range": {
7376// CHECK-NEXT: "begin": {
7377// CHECK-NEXT: "col": 15,
7378// CHECK-NEXT: "file": "{{.*}}",
7379// CHECK-NEXT: "line": 117
7380// CHECK-NEXT: },
7381// CHECK-NEXT: "end": {
7382// CHECK-NEXT: "col": 27,
7383// CHECK-NEXT: "file": "{{.*}}",
7384// CHECK-NEXT: "line": 117
7385// CHECK-NEXT: }
7386// CHECK-NEXT: },
7387// CHECK-NEXT: "inner": [
7388// CHECK-NEXT: {
7389// CHECK-NEXT: "id": "0x{{.*}}",
7390// CHECK-NEXT: "kind": "ReturnStmt",
7391// CHECK-NEXT: "range": {
7392// CHECK-NEXT: "begin": {
7393// CHECK-NEXT: "col": 17,
7394// CHECK-NEXT: "file": "{{.*}}",
7395// CHECK-NEXT: "line": 117
7396// CHECK-NEXT: },
7397// CHECK-NEXT: "end": {
7398// CHECK-NEXT: "col": 24,
7399// CHECK-NEXT: "file": "{{.*}}",
7400// CHECK-NEXT: "line": 117
7401// CHECK-NEXT: }
7402// CHECK-NEXT: },
7403// CHECK-NEXT: "inner": [
7404// CHECK-NEXT: {
7405// CHECK-NEXT: "id": "0x{{.*}}",
7406// CHECK-NEXT: "kind": "IntegerLiteral",
7407// CHECK-NEXT: "range": {
7408// CHECK-NEXT: "begin": {
7409// CHECK-NEXT: "col": 24,
7410// CHECK-NEXT: "file": "{{.*}}",
7411// CHECK-NEXT: "line": 117
7412// CHECK-NEXT: },
7413// CHECK-NEXT: "end": {
7414// CHECK-NEXT: "col": 24,
7415// CHECK-NEXT: "file": "{{.*}}",
7416// CHECK-NEXT: "line": 117
7417// CHECK-NEXT: }
7418// CHECK-NEXT: },
7419// CHECK-NEXT: "type": {
7420// CHECK-NEXT: "qualType": "int"
7421// CHECK-NEXT: },
7422// CHECK-NEXT: "valueCategory": "rvalue",
7423// CHECK-NEXT: "value": "0"
7424// CHECK-NEXT: }
7425// CHECK-NEXT: ]
7426// CHECK-NEXT: }
7427// CHECK-NEXT: ]
7428// CHECK-NEXT: }
7429// CHECK-NEXT: ]
7430// CHECK-NEXT: },
7431// CHECK-NEXT: {
7432// CHECK-NEXT: "id": "0x{{.*}}",
7433// CHECK-NEXT: "kind": "CXXFoldExpr",
7434// CHECK-NEXT: "range": {
7435// CHECK-NEXT: "begin": {
7436// CHECK-NEXT: "col": 3,
7437// CHECK-NEXT: "file": "{{.*}}",
7438// CHECK-NEXT: "line": 119
7439// CHECK-NEXT: },
7440// CHECK-NEXT: "end": {
7441// CHECK-NEXT: "col": 11,
7442// CHECK-NEXT: "file": "{{.*}}",
7443// CHECK-NEXT: "line": 119
7444// CHECK-NEXT: }
7445// CHECK-NEXT: },
7446// CHECK-NEXT: "type": {
7447// CHECK-NEXT: "qualType": "<dependent type>"
7448// CHECK-NEXT: },
7449// CHECK-NEXT: "valueCategory": "rvalue",
7450// CHECK-NEXT: "inner": [
7451// CHECK-NEXT: {
7452// CHECK-NEXT: "id": "0x{{.*}}",
7453// CHECK-NEXT: "kind": "DeclRefExpr",
7454// CHECK-NEXT: "range": {
7455// CHECK-NEXT: "begin": {
7456// CHECK-NEXT: "col": 4,
7457// CHECK-NEXT: "file": "{{.*}}",
7458// CHECK-NEXT: "line": 119
7459// CHECK-NEXT: },
7460// CHECK-NEXT: "end": {
7461// CHECK-NEXT: "col": 4,
7462// CHECK-NEXT: "file": "{{.*}}",
7463// CHECK-NEXT: "line": 119
7464// CHECK-NEXT: }
7465// CHECK-NEXT: },
7466// CHECK-NEXT: "type": {
7467// CHECK-NEXT: "qualType": "Ts..."
7468// CHECK-NEXT: },
7469// CHECK-NEXT: "valueCategory": "lvalue",
7470// CHECK-NEXT: "referencedDecl": {
7471// CHECK-NEXT: "id": "0x{{.*}}",
7472// CHECK-NEXT: "kind": "ParmVarDecl",
7473// CHECK-NEXT: "name": "a",
7474// CHECK-NEXT: "type": {
7475// CHECK-NEXT: "qualType": "Ts..."
7476// CHECK-NEXT: }
7477// CHECK-NEXT: }
7478// CHECK-NEXT: },
7479// CHECK-NEXT: {}
7480// CHECK-NEXT: ]
7481// CHECK-NEXT: },
7482// CHECK-NEXT: {
7483// CHECK-NEXT: "id": "0x{{.*}}",
7484// CHECK-NEXT: "kind": "CXXFoldExpr",
7485// CHECK-NEXT: "range": {
7486// CHECK-NEXT: "begin": {
7487// CHECK-NEXT: "col": 3,
7488// CHECK-NEXT: "file": "{{.*}}",
7489// CHECK-NEXT: "line": 120
7490// CHECK-NEXT: },
7491// CHECK-NEXT: "end": {
7492// CHECK-NEXT: "col": 11,
7493// CHECK-NEXT: "file": "{{.*}}",
7494// CHECK-NEXT: "line": 120
7495// CHECK-NEXT: }
7496// CHECK-NEXT: },
7497// CHECK-NEXT: "type": {
7498// CHECK-NEXT: "qualType": "<dependent type>"
7499// CHECK-NEXT: },
7500// CHECK-NEXT: "valueCategory": "rvalue",
7501// CHECK-NEXT: "inner": [
7502// CHECK-NEXT: {},
7503// CHECK-NEXT: {
7504// CHECK-NEXT: "id": "0x{{.*}}",
7505// CHECK-NEXT: "kind": "DeclRefExpr",
7506// CHECK-NEXT: "range": {
7507// CHECK-NEXT: "begin": {
7508// CHECK-NEXT: "col": 10,
7509// CHECK-NEXT: "file": "{{.*}}",
7510// CHECK-NEXT: "line": 120
7511// CHECK-NEXT: },
7512// CHECK-NEXT: "end": {
7513// CHECK-NEXT: "col": 10,
7514// CHECK-NEXT: "file": "{{.*}}",
7515// CHECK-NEXT: "line": 120
7516// CHECK-NEXT: }
7517// CHECK-NEXT: },
7518// CHECK-NEXT: "type": {
7519// CHECK-NEXT: "qualType": "Ts..."
7520// CHECK-NEXT: },
7521// CHECK-NEXT: "valueCategory": "lvalue",
7522// CHECK-NEXT: "referencedDecl": {
7523// CHECK-NEXT: "id": "0x{{.*}}",
7524// CHECK-NEXT: "kind": "ParmVarDecl",
7525// CHECK-NEXT: "name": "a",
7526// CHECK-NEXT: "type": {
7527// CHECK-NEXT: "qualType": "Ts..."
7528// CHECK-NEXT: }
7529// CHECK-NEXT: }
7530// CHECK-NEXT: }
7531// CHECK-NEXT: ]
7532// CHECK-NEXT: },
7533// CHECK-NEXT: {
7534// CHECK-NEXT: "id": "0x{{.*}}",
7535// CHECK-NEXT: "kind": "CXXFoldExpr",
7536// CHECK-NEXT: "range": {
7537// CHECK-NEXT: "begin": {
7538// CHECK-NEXT: "col": 3,
7539// CHECK-NEXT: "file": "{{.*}}",
7540// CHECK-NEXT: "line": 121
7541// CHECK-NEXT: },
7542// CHECK-NEXT: "end": {
7543// CHECK-NEXT: "col": 15,
7544// CHECK-NEXT: "file": "{{.*}}",
7545// CHECK-NEXT: "line": 121
7546// CHECK-NEXT: }
7547// CHECK-NEXT: },
7548// CHECK-NEXT: "type": {
7549// CHECK-NEXT: "qualType": "<dependent type>"
7550// CHECK-NEXT: },
7551// CHECK-NEXT: "valueCategory": "rvalue",
7552// CHECK-NEXT: "inner": [
7553// CHECK-NEXT: {
7554// CHECK-NEXT: "id": "0x{{.*}}",
7555// CHECK-NEXT: "kind": "DeclRefExpr",
7556// CHECK-NEXT: "range": {
7557// CHECK-NEXT: "begin": {
7558// CHECK-NEXT: "col": 4,
7559// CHECK-NEXT: "file": "{{.*}}",
7560// CHECK-NEXT: "line": 121
7561// CHECK-NEXT: },
7562// CHECK-NEXT: "end": {
7563// CHECK-NEXT: "col": 4,
7564// CHECK-NEXT: "file": "{{.*}}",
7565// CHECK-NEXT: "line": 121
7566// CHECK-NEXT: }
7567// CHECK-NEXT: },
7568// CHECK-NEXT: "type": {
7569// CHECK-NEXT: "qualType": "Ts..."
7570// CHECK-NEXT: },
7571// CHECK-NEXT: "valueCategory": "lvalue",
7572// CHECK-NEXT: "referencedDecl": {
7573// CHECK-NEXT: "id": "0x{{.*}}",
7574// CHECK-NEXT: "kind": "ParmVarDecl",
7575// CHECK-NEXT: "name": "a",
7576// CHECK-NEXT: "type": {
7577// CHECK-NEXT: "qualType": "Ts..."
7578// CHECK-NEXT: }
7579// CHECK-NEXT: }
7580// CHECK-NEXT: },
7581// CHECK-NEXT: {
7582// CHECK-NEXT: "id": "0x{{.*}}",
7583// CHECK-NEXT: "kind": "DeclRefExpr",
7584// CHECK-NEXT: "range": {
7585// CHECK-NEXT: "begin": {
7586// CHECK-NEXT: "col": 14,
7587// CHECK-NEXT: "file": "{{.*}}",
7588// CHECK-NEXT: "line": 121
7589// CHECK-NEXT: },
7590// CHECK-NEXT: "end": {
7591// CHECK-NEXT: "col": 14,
7592// CHECK-NEXT: "file": "{{.*}}",
7593// CHECK-NEXT: "line": 121
7594// CHECK-NEXT: }
7595// CHECK-NEXT: },
7596// CHECK-NEXT: "type": {
7597// CHECK-NEXT: "qualType": "int"
7598// CHECK-NEXT: },
7599// CHECK-NEXT: "valueCategory": "lvalue",
7600// CHECK-NEXT: "referencedDecl": {
7601// CHECK-NEXT: "id": "0x{{.*}}",
7602// CHECK-NEXT: "kind": "VarDecl",
7603// CHECK-NEXT: "name": "b",
7604// CHECK-NEXT: "type": {
7605// CHECK-NEXT: "qualType": "int"
7606// CHECK-NEXT: }
7607// CHECK-NEXT: }
7608// CHECK-NEXT: }
7609// CHECK-NEXT: ]
7610// CHECK-NEXT: }
7611// CHECK-NEXT: ]
7612// CHECK-NEXT: }
7613// CHECK-NEXT: ]
7614// CHECK-NEXT: }
7615// CHECK-NEXT: ]
7616// CHECK-NEXT: }
7617
7618
7619// CHECK: "kind": "FunctionDecl",
7620// CHECK-NEXT: "loc": {
7621// CHECK-NEXT: "col": 6,
7622// CHECK-NEXT: "file": "{{.*}}",
7623// CHECK-NEXT: "line": 130
7624// CHECK-NEXT: },
7625// CHECK-NEXT: "range": {
7626// CHECK-NEXT: "begin": {
7627// CHECK-NEXT: "col": 1,
7628// CHECK-NEXT: "file": "{{.*}}",
7629// CHECK-NEXT: "line": 130
7630// CHECK-NEXT: },
7631// CHECK-NEXT: "end": {
7632// CHECK-NEXT: "col": 1,
7633// CHECK-NEXT: "file": "{{.*}}",
7634// CHECK-NEXT: "line": 134
7635// CHECK-NEXT: }
7636// CHECK-NEXT: },
7637// CHECK-NEXT: "name": "TestADLCall",
7638// CHECK-NEXT: "type": {
7639// CHECK-NEXT: "qualType": "void ()"
7640// CHECK-NEXT: },
7641// CHECK-NEXT: "inner": [
7642// CHECK-NEXT: {
7643// CHECK-NEXT: "id": "0x{{.*}}",
7644// CHECK-NEXT: "kind": "CompoundStmt",
7645// CHECK-NEXT: "range": {
7646// CHECK-NEXT: "begin": {
7647// CHECK-NEXT: "col": 20,
7648// CHECK-NEXT: "file": "{{.*}}",
7649// CHECK-NEXT: "line": 130
7650// CHECK-NEXT: },
7651// CHECK-NEXT: "end": {
7652// CHECK-NEXT: "col": 1,
7653// CHECK-NEXT: "file": "{{.*}}",
7654// CHECK-NEXT: "line": 134
7655// CHECK-NEXT: }
7656// CHECK-NEXT: },
7657// CHECK-NEXT: "inner": [
7658// CHECK-NEXT: {
7659// CHECK-NEXT: "id": "0x{{.*}}",
7660// CHECK-NEXT: "kind": "DeclStmt",
7661// CHECK-NEXT: "range": {
7662// CHECK-NEXT: "begin": {
7663// CHECK-NEXT: "col": 3,
7664// CHECK-NEXT: "file": "{{.*}}",
7665// CHECK-NEXT: "line": 131
7666// CHECK-NEXT: },
7667// CHECK-NEXT: "end": {
7668// CHECK-NEXT: "col": 10,
7669// CHECK-NEXT: "file": "{{.*}}",
7670// CHECK-NEXT: "line": 131
7671// CHECK-NEXT: }
7672// CHECK-NEXT: },
7673// CHECK-NEXT: "inner": [
7674// CHECK-NEXT: {
7675// CHECK-NEXT: "id": "0x{{.*}}",
7676// CHECK-NEXT: "kind": "VarDecl",
7677// CHECK-NEXT: "loc": {
7678// CHECK-NEXT: "col": 9,
7679// CHECK-NEXT: "file": "{{.*}}",
7680// CHECK-NEXT: "line": 131
7681// CHECK-NEXT: },
7682// CHECK-NEXT: "range": {
7683// CHECK-NEXT: "begin": {
7684// CHECK-NEXT: "col": 3,
7685// CHECK-NEXT: "file": "{{.*}}",
7686// CHECK-NEXT: "line": 131
7687// CHECK-NEXT: },
7688// CHECK-NEXT: "end": {
7689// CHECK-NEXT: "col": 9,
7690// CHECK-NEXT: "file": "{{.*}}",
7691// CHECK-NEXT: "line": 131
7692// CHECK-NEXT: }
7693// CHECK-NEXT: },
7694// CHECK-NEXT: "isUsed": true,
7695// CHECK-NEXT: "name": "x",
7696// CHECK-NEXT: "type": {
7697// CHECK-NEXT: "desugaredQualType": "NS::X",
7698// CHECK-NEXT: "qualType": "NS::X"
7699// CHECK-NEXT: },
7700// CHECK-NEXT: "init": "call",
7701// CHECK-NEXT: "inner": [
7702// CHECK-NEXT: {
7703// CHECK-NEXT: "id": "0x{{.*}}",
7704// CHECK-NEXT: "kind": "CXXConstructExpr",
7705// CHECK-NEXT: "range": {
7706// CHECK-NEXT: "begin": {
7707// CHECK-NEXT: "col": 9,
7708// CHECK-NEXT: "file": "{{.*}}",
7709// CHECK-NEXT: "line": 131
7710// CHECK-NEXT: },
7711// CHECK-NEXT: "end": {
7712// CHECK-NEXT: "col": 9,
7713// CHECK-NEXT: "file": "{{.*}}",
7714// CHECK-NEXT: "line": 131
7715// CHECK-NEXT: }
7716// CHECK-NEXT: },
7717// CHECK-NEXT: "type": {
7718// CHECK-NEXT: "desugaredQualType": "NS::X",
7719// CHECK-NEXT: "qualType": "NS::X"
7720// CHECK-NEXT: },
7721// CHECK-NEXT: "valueCategory": "rvalue"
7722// CHECK-NEXT: }
7723// CHECK-NEXT: ]
7724// CHECK-NEXT: }
7725// CHECK-NEXT: ]
7726// CHECK-NEXT: },
7727// CHECK-NEXT: {
7728// CHECK-NEXT: "id": "0x{{.*}}",
7729// CHECK-NEXT: "kind": "CallExpr",
7730// CHECK-NEXT: "range": {
7731// CHECK-NEXT: "begin": {
7732// CHECK-NEXT: "col": 3,
7733// CHECK-NEXT: "file": "{{.*}}",
7734// CHECK-NEXT: "line": 132
7735// CHECK-NEXT: },
7736// CHECK-NEXT: "end": {
7737// CHECK-NEXT: "col": 6,
7738// CHECK-NEXT: "file": "{{.*}}",
7739// CHECK-NEXT: "line": 132
7740// CHECK-NEXT: }
7741// CHECK-NEXT: },
7742// CHECK-NEXT: "type": {
7743// CHECK-NEXT: "qualType": "void"
7744// CHECK-NEXT: },
7745// CHECK-NEXT: "valueCategory": "rvalue",
7746// CHECK-NEXT: "adl": true,
7747// CHECK-NEXT: "inner": [
7748// CHECK-NEXT: {
7749// CHECK-NEXT: "id": "0x{{.*}}",
7750// CHECK-NEXT: "kind": "ImplicitCastExpr",
7751// CHECK-NEXT: "range": {
7752// CHECK-NEXT: "begin": {
7753// CHECK-NEXT: "col": 3,
7754// CHECK-NEXT: "file": "{{.*}}",
7755// CHECK-NEXT: "line": 132
7756// CHECK-NEXT: },
7757// CHECK-NEXT: "end": {
7758// CHECK-NEXT: "col": 3,
7759// CHECK-NEXT: "file": "{{.*}}",
7760// CHECK-NEXT: "line": 132
7761// CHECK-NEXT: }
7762// CHECK-NEXT: },
7763// CHECK-NEXT: "type": {
7764// CHECK-NEXT: "qualType": "void (*)(NS::X)"
7765// CHECK-NEXT: },
7766// CHECK-NEXT: "valueCategory": "rvalue",
7767// CHECK-NEXT: "castKind": "FunctionToPointerDecay",
7768// CHECK-NEXT: "inner": [
7769// CHECK-NEXT: {
7770// CHECK-NEXT: "id": "0x{{.*}}",
7771// CHECK-NEXT: "kind": "DeclRefExpr",
7772// CHECK-NEXT: "range": {
7773// CHECK-NEXT: "begin": {
7774// CHECK-NEXT: "col": 3,
7775// CHECK-NEXT: "file": "{{.*}}",
7776// CHECK-NEXT: "line": 132
7777// CHECK-NEXT: },
7778// CHECK-NEXT: "end": {
7779// CHECK-NEXT: "col": 3,
7780// CHECK-NEXT: "file": "{{.*}}",
7781// CHECK-NEXT: "line": 132
7782// CHECK-NEXT: }
7783// CHECK-NEXT: },
7784// CHECK-NEXT: "type": {
7785// CHECK-NEXT: "qualType": "void (NS::X)"
7786// CHECK-NEXT: },
7787// CHECK-NEXT: "valueCategory": "lvalue",
7788// CHECK-NEXT: "referencedDecl": {
7789// CHECK-NEXT: "id": "0x{{.*}}",
7790// CHECK-NEXT: "kind": "FunctionDecl",
7791// CHECK-NEXT: "name": "f",
7792// CHECK-NEXT: "type": {
7793// CHECK-NEXT: "qualType": "void (NS::X)"
7794// CHECK-NEXT: }
7795// CHECK-NEXT: }
7796// CHECK-NEXT: }
7797// CHECK-NEXT: ]
7798// CHECK-NEXT: },
7799// CHECK-NEXT: {
7800// CHECK-NEXT: "id": "0x{{.*}}",
7801// CHECK-NEXT: "kind": "CXXConstructExpr",
7802// CHECK-NEXT: "range": {
7803// CHECK-NEXT: "begin": {
7804// CHECK-NEXT: "col": 5,
7805// CHECK-NEXT: "file": "{{.*}}",
7806// CHECK-NEXT: "line": 132
7807// CHECK-NEXT: },
7808// CHECK-NEXT: "end": {
7809// CHECK-NEXT: "col": 5,
7810// CHECK-NEXT: "file": "{{.*}}",
7811// CHECK-NEXT: "line": 132
7812// CHECK-NEXT: }
7813// CHECK-NEXT: },
7814// CHECK-NEXT: "type": {
7815// CHECK-NEXT: "qualType": "NS::X"
7816// CHECK-NEXT: },
7817// CHECK-NEXT: "valueCategory": "rvalue",
7818// CHECK-NEXT: "inner": [
7819// CHECK-NEXT: {
7820// CHECK-NEXT: "id": "0x{{.*}}",
7821// CHECK-NEXT: "kind": "ImplicitCastExpr",
7822// CHECK-NEXT: "range": {
7823// CHECK-NEXT: "begin": {
7824// CHECK-NEXT: "col": 5,
7825// CHECK-NEXT: "file": "{{.*}}",
7826// CHECK-NEXT: "line": 132
7827// CHECK-NEXT: },
7828// CHECK-NEXT: "end": {
7829// CHECK-NEXT: "col": 5,
7830// CHECK-NEXT: "file": "{{.*}}",
7831// CHECK-NEXT: "line": 132
7832// CHECK-NEXT: }
7833// CHECK-NEXT: },
7834// CHECK-NEXT: "type": {
7835// CHECK-NEXT: "desugaredQualType": "const NS::X",
7836// CHECK-NEXT: "qualType": "const NS::X"
7837// CHECK-NEXT: },
7838// CHECK-NEXT: "valueCategory": "lvalue",
7839// CHECK-NEXT: "castKind": "NoOp",
7840// CHECK-NEXT: "inner": [
7841// CHECK-NEXT: {
7842// CHECK-NEXT: "id": "0x{{.*}}",
7843// CHECK-NEXT: "kind": "DeclRefExpr",
7844// CHECK-NEXT: "range": {
7845// CHECK-NEXT: "begin": {
7846// CHECK-NEXT: "col": 5,
7847// CHECK-NEXT: "file": "{{.*}}",
7848// CHECK-NEXT: "line": 132
7849// CHECK-NEXT: },
7850// CHECK-NEXT: "end": {
7851// CHECK-NEXT: "col": 5,
7852// CHECK-NEXT: "file": "{{.*}}",
7853// CHECK-NEXT: "line": 132
7854// CHECK-NEXT: }
7855// CHECK-NEXT: },
7856// CHECK-NEXT: "type": {
7857// CHECK-NEXT: "desugaredQualType": "NS::X",
7858// CHECK-NEXT: "qualType": "NS::X"
7859// CHECK-NEXT: },
7860// CHECK-NEXT: "valueCategory": "lvalue",
7861// CHECK-NEXT: "referencedDecl": {
7862// CHECK-NEXT: "id": "0x{{.*}}",
7863// CHECK-NEXT: "kind": "VarDecl",
7864// CHECK-NEXT: "name": "x",
7865// CHECK-NEXT: "type": {
7866// CHECK-NEXT: "desugaredQualType": "NS::X",
7867// CHECK-NEXT: "qualType": "NS::X"
7868// CHECK-NEXT: }
7869// CHECK-NEXT: }
7870// CHECK-NEXT: }
7871// CHECK-NEXT: ]
7872// CHECK-NEXT: }
7873// CHECK-NEXT: ]
7874// CHECK-NEXT: }
7875// CHECK-NEXT: ]
7876// CHECK-NEXT: },
7877// CHECK-NEXT: {
7878// CHECK-NEXT: "id": "0x{{.*}}",
7879// CHECK-NEXT: "kind": "CallExpr",
7880// CHECK-NEXT: "range": {
7881// CHECK-NEXT: "begin": {
7882// CHECK-NEXT: "col": 3,
7883// CHECK-NEXT: "file": "{{.*}}",
7884// CHECK-NEXT: "line": 133
7885// CHECK-NEXT: },
7886// CHECK-NEXT: "end": {
7887// CHECK-NEXT: "col": 6,
7888// CHECK-NEXT: "file": "{{.*}}",
7889// CHECK-NEXT: "line": 133
7890// CHECK-NEXT: }
7891// CHECK-NEXT: },
7892// CHECK-NEXT: "type": {
7893// CHECK-NEXT: "qualType": "void"
7894// CHECK-NEXT: },
7895// CHECK-NEXT: "valueCategory": "rvalue",
7896// CHECK-NEXT: "adl": true,
7897// CHECK-NEXT: "inner": [
7898// CHECK-NEXT: {
7899// CHECK-NEXT: "id": "0x{{.*}}",
7900// CHECK-NEXT: "kind": "ImplicitCastExpr",
7901// CHECK-NEXT: "range": {
7902// CHECK-NEXT: "begin": {
7903// CHECK-NEXT: "col": 3,
7904// CHECK-NEXT: "file": "{{.*}}",
7905// CHECK-NEXT: "line": 133
7906// CHECK-NEXT: },
7907// CHECK-NEXT: "end": {
7908// CHECK-NEXT: "col": 3,
7909// CHECK-NEXT: "file": "{{.*}}",
7910// CHECK-NEXT: "line": 133
7911// CHECK-NEXT: }
7912// CHECK-NEXT: },
7913// CHECK-NEXT: "type": {
7914// CHECK-NEXT: "qualType": "void (*)(...)"
7915// CHECK-NEXT: },
7916// CHECK-NEXT: "valueCategory": "rvalue",
7917// CHECK-NEXT: "castKind": "FunctionToPointerDecay",
7918// CHECK-NEXT: "inner": [
7919// CHECK-NEXT: {
7920// CHECK-NEXT: "id": "0x{{.*}}",
7921// CHECK-NEXT: "kind": "DeclRefExpr",
7922// CHECK-NEXT: "range": {
7923// CHECK-NEXT: "begin": {
7924// CHECK-NEXT: "col": 3,
7925// CHECK-NEXT: "file": "{{.*}}",
7926// CHECK-NEXT: "line": 133
7927// CHECK-NEXT: },
7928// CHECK-NEXT: "end": {
7929// CHECK-NEXT: "col": 3,
7930// CHECK-NEXT: "file": "{{.*}}",
7931// CHECK-NEXT: "line": 133
7932// CHECK-NEXT: }
7933// CHECK-NEXT: },
7934// CHECK-NEXT: "type": {
7935// CHECK-NEXT: "qualType": "void (...)"
7936// CHECK-NEXT: },
7937// CHECK-NEXT: "valueCategory": "lvalue",
7938// CHECK-NEXT: "referencedDecl": {
7939// CHECK-NEXT: "id": "0x{{.*}}",
7940// CHECK-NEXT: "kind": "FunctionDecl",
7941// CHECK-NEXT: "name": "y",
7942// CHECK-NEXT: "type": {
7943// CHECK-NEXT: "qualType": "void (...)"
7944// CHECK-NEXT: }
7945// CHECK-NEXT: }
7946// CHECK-NEXT: }
7947// CHECK-NEXT: ]
7948// CHECK-NEXT: },
7949// CHECK-NEXT: {
7950// CHECK-NEXT: "id": "0x{{.*}}",
7951// CHECK-NEXT: "kind": "CXXConstructExpr",
7952// CHECK-NEXT: "range": {
7953// CHECK-NEXT: "begin": {
7954// CHECK-NEXT: "col": 5,
7955// CHECK-NEXT: "file": "{{.*}}",
7956// CHECK-NEXT: "line": 133
7957// CHECK-NEXT: },
7958// CHECK-NEXT: "end": {
7959// CHECK-NEXT: "col": 5,
7960// CHECK-NEXT: "file": "{{.*}}",
7961// CHECK-NEXT: "line": 133
7962// CHECK-NEXT: }
7963// CHECK-NEXT: },
7964// CHECK-NEXT: "type": {
7965// CHECK-NEXT: "desugaredQualType": "NS::X",
7966// CHECK-NEXT: "qualType": "NS::X"
7967// CHECK-NEXT: },
7968// CHECK-NEXT: "valueCategory": "rvalue",
7969// CHECK-NEXT: "inner": [
7970// CHECK-NEXT: {
7971// CHECK-NEXT: "id": "0x{{.*}}",
7972// CHECK-NEXT: "kind": "ImplicitCastExpr",
7973// CHECK-NEXT: "range": {
7974// CHECK-NEXT: "begin": {
7975// CHECK-NEXT: "col": 5,
7976// CHECK-NEXT: "file": "{{.*}}",
7977// CHECK-NEXT: "line": 133
7978// CHECK-NEXT: },
7979// CHECK-NEXT: "end": {
7980// CHECK-NEXT: "col": 5,
7981// CHECK-NEXT: "file": "{{.*}}",
7982// CHECK-NEXT: "line": 133
7983// CHECK-NEXT: }
7984// CHECK-NEXT: },
7985// CHECK-NEXT: "type": {
7986// CHECK-NEXT: "desugaredQualType": "const NS::X",
7987// CHECK-NEXT: "qualType": "const NS::X"
7988// CHECK-NEXT: },
7989// CHECK-NEXT: "valueCategory": "lvalue",
7990// CHECK-NEXT: "castKind": "NoOp",
7991// CHECK-NEXT: "inner": [
7992// CHECK-NEXT: {
7993// CHECK-NEXT: "id": "0x{{.*}}",
7994// CHECK-NEXT: "kind": "DeclRefExpr",
7995// CHECK-NEXT: "range": {
7996// CHECK-NEXT: "begin": {
7997// CHECK-NEXT: "col": 5,
7998// CHECK-NEXT: "file": "{{.*}}",
7999// CHECK-NEXT: "line": 133
8000// CHECK-NEXT: },
8001// CHECK-NEXT: "end": {
8002// CHECK-NEXT: "col": 5,
8003// CHECK-NEXT: "file": "{{.*}}",
8004// CHECK-NEXT: "line": 133
8005// CHECK-NEXT: }
8006// CHECK-NEXT: },
8007// CHECK-NEXT: "type": {
8008// CHECK-NEXT: "desugaredQualType": "NS::X",
8009// CHECK-NEXT: "qualType": "NS::X"
8010// CHECK-NEXT: },
8011// CHECK-NEXT: "valueCategory": "lvalue",
8012// CHECK-NEXT: "referencedDecl": {
8013// CHECK-NEXT: "id": "0x{{.*}}",
8014// CHECK-NEXT: "kind": "VarDecl",
8015// CHECK-NEXT: "name": "x",
8016// CHECK-NEXT: "type": {
8017// CHECK-NEXT: "desugaredQualType": "NS::X",
8018// CHECK-NEXT: "qualType": "NS::X"
8019// CHECK-NEXT: }
8020// CHECK-NEXT: }
8021// CHECK-NEXT: }
8022// CHECK-NEXT: ]
8023// CHECK-NEXT: }
8024// CHECK-NEXT: ]
8025// CHECK-NEXT: }
8026// CHECK-NEXT: ]
8027// CHECK-NEXT: }
8028// CHECK-NEXT: ]
8029// CHECK-NEXT: }
8030// CHECK-NEXT: ]
8031// CHECK-NEXT: }
8032
8033
8034// CHECK: "kind": "FunctionDecl",
8035// CHECK-NEXT: "loc": {
8036// CHECK-NEXT: "col": 6,
8037// CHECK-NEXT: "file": "{{.*}}",
8038// CHECK-NEXT: "line": 136
8039// CHECK-NEXT: },
8040// CHECK-NEXT: "range": {
8041// CHECK-NEXT: "begin": {
8042// CHECK-NEXT: "col": 1,
8043// CHECK-NEXT: "file": "{{.*}}",
8044// CHECK-NEXT: "line": 136
8045// CHECK-NEXT: },
8046// CHECK-NEXT: "end": {
8047// CHECK-NEXT: "col": 1,
8048// CHECK-NEXT: "file": "{{.*}}",
8049// CHECK-NEXT: "line": 139
8050// CHECK-NEXT: }
8051// CHECK-NEXT: },
8052// CHECK-NEXT: "name": "TestNonADLCall",
8053// CHECK-NEXT: "type": {
8054// CHECK-NEXT: "qualType": "void ()"
8055// CHECK-NEXT: },
8056// CHECK-NEXT: "inner": [
8057// CHECK-NEXT: {
8058// CHECK-NEXT: "id": "0x{{.*}}",
8059// CHECK-NEXT: "kind": "CompoundStmt",
8060// CHECK-NEXT: "range": {
8061// CHECK-NEXT: "begin": {
8062// CHECK-NEXT: "col": 23,
8063// CHECK-NEXT: "file": "{{.*}}",
8064// CHECK-NEXT: "line": 136
8065// CHECK-NEXT: },
8066// CHECK-NEXT: "end": {
8067// CHECK-NEXT: "col": 1,
8068// CHECK-NEXT: "file": "{{.*}}",
8069// CHECK-NEXT: "line": 139
8070// CHECK-NEXT: }
8071// CHECK-NEXT: },
8072// CHECK-NEXT: "inner": [
8073// CHECK-NEXT: {
8074// CHECK-NEXT: "id": "0x{{.*}}",
8075// CHECK-NEXT: "kind": "DeclStmt",
8076// CHECK-NEXT: "range": {
8077// CHECK-NEXT: "begin": {
8078// CHECK-NEXT: "col": 3,
8079// CHECK-NEXT: "file": "{{.*}}",
8080// CHECK-NEXT: "line": 137
8081// CHECK-NEXT: },
8082// CHECK-NEXT: "end": {
8083// CHECK-NEXT: "col": 10,
8084// CHECK-NEXT: "file": "{{.*}}",
8085// CHECK-NEXT: "line": 137
8086// CHECK-NEXT: }
8087// CHECK-NEXT: },
8088// CHECK-NEXT: "inner": [
8089// CHECK-NEXT: {
8090// CHECK-NEXT: "id": "0x{{.*}}",
8091// CHECK-NEXT: "kind": "VarDecl",
8092// CHECK-NEXT: "loc": {
8093// CHECK-NEXT: "col": 9,
8094// CHECK-NEXT: "file": "{{.*}}",
8095// CHECK-NEXT: "line": 137
8096// CHECK-NEXT: },
8097// CHECK-NEXT: "range": {
8098// CHECK-NEXT: "begin": {
8099// CHECK-NEXT: "col": 3,
8100// CHECK-NEXT: "file": "{{.*}}",
8101// CHECK-NEXT: "line": 137
8102// CHECK-NEXT: },
8103// CHECK-NEXT: "end": {
8104// CHECK-NEXT: "col": 9,
8105// CHECK-NEXT: "file": "{{.*}}",
8106// CHECK-NEXT: "line": 137
8107// CHECK-NEXT: }
8108// CHECK-NEXT: },
8109// CHECK-NEXT: "isUsed": true,
8110// CHECK-NEXT: "name": "x",
8111// CHECK-NEXT: "type": {
8112// CHECK-NEXT: "desugaredQualType": "NS::X",
8113// CHECK-NEXT: "qualType": "NS::X"
8114// CHECK-NEXT: },
8115// CHECK-NEXT: "init": "call",
8116// CHECK-NEXT: "inner": [
8117// CHECK-NEXT: {
8118// CHECK-NEXT: "id": "0x{{.*}}",
8119// CHECK-NEXT: "kind": "CXXConstructExpr",
8120// CHECK-NEXT: "range": {
8121// CHECK-NEXT: "begin": {
8122// CHECK-NEXT: "col": 9,
8123// CHECK-NEXT: "file": "{{.*}}",
8124// CHECK-NEXT: "line": 137
8125// CHECK-NEXT: },
8126// CHECK-NEXT: "end": {
8127// CHECK-NEXT: "col": 9,
8128// CHECK-NEXT: "file": "{{.*}}",
8129// CHECK-NEXT: "line": 137
8130// CHECK-NEXT: }
8131// CHECK-NEXT: },
8132// CHECK-NEXT: "type": {
8133// CHECK-NEXT: "desugaredQualType": "NS::X",
8134// CHECK-NEXT: "qualType": "NS::X"
8135// CHECK-NEXT: },
8136// CHECK-NEXT: "valueCategory": "rvalue"
8137// CHECK-NEXT: }
8138// CHECK-NEXT: ]
8139// CHECK-NEXT: }
8140// CHECK-NEXT: ]
8141// CHECK-NEXT: },
8142// CHECK-NEXT: {
8143// CHECK-NEXT: "id": "0x{{.*}}",
8144// CHECK-NEXT: "kind": "CallExpr",
8145// CHECK-NEXT: "range": {
8146// CHECK-NEXT: "begin": {
8147// CHECK-NEXT: "col": 3,
8148// CHECK-NEXT: "file": "{{.*}}",
8149// CHECK-NEXT: "line": 138
8150// CHECK-NEXT: },
8151// CHECK-NEXT: "end": {
8152// CHECK-NEXT: "col": 10,
8153// CHECK-NEXT: "file": "{{.*}}",
8154// CHECK-NEXT: "line": 138
8155// CHECK-NEXT: }
8156// CHECK-NEXT: },
8157// CHECK-NEXT: "type": {
8158// CHECK-NEXT: "qualType": "void"
8159// CHECK-NEXT: },
8160// CHECK-NEXT: "valueCategory": "rvalue",
8161// CHECK-NEXT: "inner": [
8162// CHECK-NEXT: {
8163// CHECK-NEXT: "id": "0x{{.*}}",
8164// CHECK-NEXT: "kind": "ImplicitCastExpr",
8165// CHECK-NEXT: "range": {
8166// CHECK-NEXT: "begin": {
8167// CHECK-NEXT: "col": 3,
8168// CHECK-NEXT: "file": "{{.*}}",
8169// CHECK-NEXT: "line": 138
8170// CHECK-NEXT: },
8171// CHECK-NEXT: "end": {
8172// CHECK-NEXT: "col": 7,
8173// CHECK-NEXT: "file": "{{.*}}",
8174// CHECK-NEXT: "line": 138
8175// CHECK-NEXT: }
8176// CHECK-NEXT: },
8177// CHECK-NEXT: "type": {
8178// CHECK-NEXT: "qualType": "void (*)(NS::X)"
8179// CHECK-NEXT: },
8180// CHECK-NEXT: "valueCategory": "rvalue",
8181// CHECK-NEXT: "castKind": "FunctionToPointerDecay",
8182// CHECK-NEXT: "inner": [
8183// CHECK-NEXT: {
8184// CHECK-NEXT: "id": "0x{{.*}}",
8185// CHECK-NEXT: "kind": "DeclRefExpr",
8186// CHECK-NEXT: "range": {
8187// CHECK-NEXT: "begin": {
8188// CHECK-NEXT: "col": 3,
8189// CHECK-NEXT: "file": "{{.*}}",
8190// CHECK-NEXT: "line": 138
8191// CHECK-NEXT: },
8192// CHECK-NEXT: "end": {
8193// CHECK-NEXT: "col": 7,
8194// CHECK-NEXT: "file": "{{.*}}",
8195// CHECK-NEXT: "line": 138
8196// CHECK-NEXT: }
8197// CHECK-NEXT: },
8198// CHECK-NEXT: "type": {
8199// CHECK-NEXT: "qualType": "void (NS::X)"
8200// CHECK-NEXT: },
8201// CHECK-NEXT: "valueCategory": "lvalue",
8202// CHECK-NEXT: "referencedDecl": {
8203// CHECK-NEXT: "id": "0x{{.*}}",
8204// CHECK-NEXT: "kind": "FunctionDecl",
8205// CHECK-NEXT: "name": "f",
8206// CHECK-NEXT: "type": {
8207// CHECK-NEXT: "qualType": "void (NS::X)"
8208// CHECK-NEXT: }
8209// CHECK-NEXT: }
8210// CHECK-NEXT: }
8211// CHECK-NEXT: ]
8212// CHECK-NEXT: },
8213// CHECK-NEXT: {
8214// CHECK-NEXT: "id": "0x{{.*}}",
8215// CHECK-NEXT: "kind": "CXXConstructExpr",
8216// CHECK-NEXT: "range": {
8217// CHECK-NEXT: "begin": {
8218// CHECK-NEXT: "col": 9,
8219// CHECK-NEXT: "file": "{{.*}}",
8220// CHECK-NEXT: "line": 138
8221// CHECK-NEXT: },
8222// CHECK-NEXT: "end": {
8223// CHECK-NEXT: "col": 9,
8224// CHECK-NEXT: "file": "{{.*}}",
8225// CHECK-NEXT: "line": 138
8226// CHECK-NEXT: }
8227// CHECK-NEXT: },
8228// CHECK-NEXT: "type": {
8229// CHECK-NEXT: "qualType": "NS::X"
8230// CHECK-NEXT: },
8231// CHECK-NEXT: "valueCategory": "rvalue",
8232// CHECK-NEXT: "inner": [
8233// CHECK-NEXT: {
8234// CHECK-NEXT: "id": "0x{{.*}}",
8235// CHECK-NEXT: "kind": "ImplicitCastExpr",
8236// CHECK-NEXT: "range": {
8237// CHECK-NEXT: "begin": {
8238// CHECK-NEXT: "col": 9,
8239// CHECK-NEXT: "file": "{{.*}}",
8240// CHECK-NEXT: "line": 138
8241// CHECK-NEXT: },
8242// CHECK-NEXT: "end": {
8243// CHECK-NEXT: "col": 9,
8244// CHECK-NEXT: "file": "{{.*}}",
8245// CHECK-NEXT: "line": 138
8246// CHECK-NEXT: }
8247// CHECK-NEXT: },
8248// CHECK-NEXT: "type": {
8249// CHECK-NEXT: "desugaredQualType": "const NS::X",
8250// CHECK-NEXT: "qualType": "const NS::X"
8251// CHECK-NEXT: },
8252// CHECK-NEXT: "valueCategory": "lvalue",
8253// CHECK-NEXT: "castKind": "NoOp",
8254// CHECK-NEXT: "inner": [
8255// CHECK-NEXT: {
8256// CHECK-NEXT: "id": "0x{{.*}}",
8257// CHECK-NEXT: "kind": "DeclRefExpr",
8258// CHECK-NEXT: "range": {
8259// CHECK-NEXT: "begin": {
8260// CHECK-NEXT: "col": 9,
8261// CHECK-NEXT: "file": "{{.*}}",
8262// CHECK-NEXT: "line": 138
8263// CHECK-NEXT: },
8264// CHECK-NEXT: "end": {
8265// CHECK-NEXT: "col": 9,
8266// CHECK-NEXT: "file": "{{.*}}",
8267// CHECK-NEXT: "line": 138
8268// CHECK-NEXT: }
8269// CHECK-NEXT: },
8270// CHECK-NEXT: "type": {
8271// CHECK-NEXT: "desugaredQualType": "NS::X",
8272// CHECK-NEXT: "qualType": "NS::X"
8273// CHECK-NEXT: },
8274// CHECK-NEXT: "valueCategory": "lvalue",
8275// CHECK-NEXT: "referencedDecl": {
8276// CHECK-NEXT: "id": "0x{{.*}}",
8277// CHECK-NEXT: "kind": "VarDecl",
8278// CHECK-NEXT: "name": "x",
8279// CHECK-NEXT: "type": {
8280// CHECK-NEXT: "desugaredQualType": "NS::X",
8281// CHECK-NEXT: "qualType": "NS::X"
8282// CHECK-NEXT: }
8283// CHECK-NEXT: }
8284// CHECK-NEXT: }
8285// CHECK-NEXT: ]
8286// CHECK-NEXT: }
8287// CHECK-NEXT: ]
8288// CHECK-NEXT: }
8289// CHECK-NEXT: ]
8290// CHECK-NEXT: }
8291// CHECK-NEXT: ]
8292// CHECK-NEXT: }
8293// CHECK-NEXT: ]
8294// CHECK-NEXT: }
8295
8296
8297// CHECK: "kind": "FunctionDecl",
8298// CHECK-NEXT: "loc": {
8299// CHECK-NEXT: "col": 6,
8300// CHECK-NEXT: "file": "{{.*}}",
8301// CHECK-NEXT: "line": 141
8302// CHECK-NEXT: },
8303// CHECK-NEXT: "range": {
8304// CHECK-NEXT: "begin": {
8305// CHECK-NEXT: "col": 1,
8306// CHECK-NEXT: "file": "{{.*}}",
8307// CHECK-NEXT: "line": 141
8308// CHECK-NEXT: },
8309// CHECK-NEXT: "end": {
8310// CHECK-NEXT: "col": 1,
8311// CHECK-NEXT: "file": "{{.*}}",
8312// CHECK-NEXT: "line": 146
8313// CHECK-NEXT: }
8314// CHECK-NEXT: },
8315// CHECK-NEXT: "name": "TestNonADLCall2",
8316// CHECK-NEXT: "type": {
8317// CHECK-NEXT: "qualType": "void ()"
8318// CHECK-NEXT: },
8319// CHECK-NEXT: "inner": [
8320// CHECK-NEXT: {
8321// CHECK-NEXT: "id": "0x{{.*}}",
8322// CHECK-NEXT: "kind": "CompoundStmt",
8323// CHECK-NEXT: "range": {
8324// CHECK-NEXT: "begin": {
8325// CHECK-NEXT: "col": 24,
8326// CHECK-NEXT: "file": "{{.*}}",
8327// CHECK-NEXT: "line": 141
8328// CHECK-NEXT: },
8329// CHECK-NEXT: "end": {
8330// CHECK-NEXT: "col": 1,
8331// CHECK-NEXT: "file": "{{.*}}",
8332// CHECK-NEXT: "line": 146
8333// CHECK-NEXT: }
8334// CHECK-NEXT: },
8335// CHECK-NEXT: "inner": [
8336// CHECK-NEXT: {
8337// CHECK-NEXT: "id": "0x{{.*}}",
8338// CHECK-NEXT: "kind": "DeclStmt",
8339// CHECK-NEXT: "range": {
8340// CHECK-NEXT: "begin": {
8341// CHECK-NEXT: "col": 3,
8342// CHECK-NEXT: "file": "{{.*}}",
8343// CHECK-NEXT: "line": 142
8344// CHECK-NEXT: },
8345// CHECK-NEXT: "end": {
8346// CHECK-NEXT: "col": 10,
8347// CHECK-NEXT: "file": "{{.*}}",
8348// CHECK-NEXT: "line": 142
8349// CHECK-NEXT: }
8350// CHECK-NEXT: },
8351// CHECK-NEXT: "inner": [
8352// CHECK-NEXT: {
8353// CHECK-NEXT: "id": "0x{{.*}}",
8354// CHECK-NEXT: "kind": "VarDecl",
8355// CHECK-NEXT: "loc": {
8356// CHECK-NEXT: "col": 9,
8357// CHECK-NEXT: "file": "{{.*}}",
8358// CHECK-NEXT: "line": 142
8359// CHECK-NEXT: },
8360// CHECK-NEXT: "range": {
8361// CHECK-NEXT: "begin": {
8362// CHECK-NEXT: "col": 3,
8363// CHECK-NEXT: "file": "{{.*}}",
8364// CHECK-NEXT: "line": 142
8365// CHECK-NEXT: },
8366// CHECK-NEXT: "end": {
8367// CHECK-NEXT: "col": 9,
8368// CHECK-NEXT: "file": "{{.*}}",
8369// CHECK-NEXT: "line": 142
8370// CHECK-NEXT: }
8371// CHECK-NEXT: },
8372// CHECK-NEXT: "isUsed": true,
8373// CHECK-NEXT: "name": "x",
8374// CHECK-NEXT: "type": {
8375// CHECK-NEXT: "desugaredQualType": "NS::X",
8376// CHECK-NEXT: "qualType": "NS::X"
8377// CHECK-NEXT: },
8378// CHECK-NEXT: "init": "call",
8379// CHECK-NEXT: "inner": [
8380// CHECK-NEXT: {
8381// CHECK-NEXT: "id": "0x{{.*}}",
8382// CHECK-NEXT: "kind": "CXXConstructExpr",
8383// CHECK-NEXT: "range": {
8384// CHECK-NEXT: "begin": {
8385// CHECK-NEXT: "col": 9,
8386// CHECK-NEXT: "file": "{{.*}}",
8387// CHECK-NEXT: "line": 142
8388// CHECK-NEXT: },
8389// CHECK-NEXT: "end": {
8390// CHECK-NEXT: "col": 9,
8391// CHECK-NEXT: "file": "{{.*}}",
8392// CHECK-NEXT: "line": 142
8393// CHECK-NEXT: }
8394// CHECK-NEXT: },
8395// CHECK-NEXT: "type": {
8396// CHECK-NEXT: "desugaredQualType": "NS::X",
8397// CHECK-NEXT: "qualType": "NS::X"
8398// CHECK-NEXT: },
8399// CHECK-NEXT: "valueCategory": "rvalue"
8400// CHECK-NEXT: }
8401// CHECK-NEXT: ]
8402// CHECK-NEXT: }
8403// CHECK-NEXT: ]
8404// CHECK-NEXT: },
8405// CHECK-NEXT: {
8406// CHECK-NEXT: "id": "0x{{.*}}",
8407// CHECK-NEXT: "kind": "DeclStmt",
8408// CHECK-NEXT: "range": {
8409// CHECK-NEXT: "begin": {
8410// CHECK-NEXT: "col": 3,
8411// CHECK-NEXT: "file": "{{.*}}",
8412// CHECK-NEXT: "line": 143
8413// CHECK-NEXT: },
8414// CHECK-NEXT: "end": {
8415// CHECK-NEXT: "col": 14,
8416// CHECK-NEXT: "file": "{{.*}}",
8417// CHECK-NEXT: "line": 143
8418// CHECK-NEXT: }
8419// CHECK-NEXT: },
8420// CHECK-NEXT: "inner": [
8421// CHECK-NEXT: {
8422// CHECK-NEXT: "id": "0x{{.*}}",
8423// CHECK-NEXT: "kind": "UsingDecl",
8424// CHECK-NEXT: "loc": {
8425// CHECK-NEXT: "col": 13,
8426// CHECK-NEXT: "file": "{{.*}}",
8427// CHECK-NEXT: "line": 143
8428// CHECK-NEXT: },
8429// CHECK-NEXT: "range": {
8430// CHECK-NEXT: "begin": {
8431// CHECK-NEXT: "col": 3,
8432// CHECK-NEXT: "file": "{{.*}}",
8433// CHECK-NEXT: "line": 143
8434// CHECK-NEXT: },
8435// CHECK-NEXT: "end": {
8436// CHECK-NEXT: "col": 13,
8437// CHECK-NEXT: "file": "{{.*}}",
8438// CHECK-NEXT: "line": 143
8439// CHECK-NEXT: }
8440// CHECK-NEXT: },
8441// CHECK-NEXT: "name": "NS::f"
8442// CHECK-NEXT: }
8443// CHECK-NEXT: ]
8444// CHECK-NEXT: },
8445// CHECK-NEXT: {
8446// CHECK-NEXT: "id": "0x{{.*}}",
8447// CHECK-NEXT: "kind": "CallExpr",
8448// CHECK-NEXT: "range": {
8449// CHECK-NEXT: "begin": {
8450// CHECK-NEXT: "col": 3,
8451// CHECK-NEXT: "file": "{{.*}}",
8452// CHECK-NEXT: "line": 144
8453// CHECK-NEXT: },
8454// CHECK-NEXT: "end": {
8455// CHECK-NEXT: "col": 6,
8456// CHECK-NEXT: "file": "{{.*}}",
8457// CHECK-NEXT: "line": 144
8458// CHECK-NEXT: }
8459// CHECK-NEXT: },
8460// CHECK-NEXT: "type": {
8461// CHECK-NEXT: "qualType": "void"
8462// CHECK-NEXT: },
8463// CHECK-NEXT: "valueCategory": "rvalue",
8464// CHECK-NEXT: "inner": [
8465// CHECK-NEXT: {
8466// CHECK-NEXT: "id": "0x{{.*}}",
8467// CHECK-NEXT: "kind": "ImplicitCastExpr",
8468// CHECK-NEXT: "range": {
8469// CHECK-NEXT: "begin": {
8470// CHECK-NEXT: "col": 3,
8471// CHECK-NEXT: "file": "{{.*}}",
8472// CHECK-NEXT: "line": 144
8473// CHECK-NEXT: },
8474// CHECK-NEXT: "end": {
8475// CHECK-NEXT: "col": 3,
8476// CHECK-NEXT: "file": "{{.*}}",
8477// CHECK-NEXT: "line": 144
8478// CHECK-NEXT: }
8479// CHECK-NEXT: },
8480// CHECK-NEXT: "type": {
8481// CHECK-NEXT: "qualType": "void (*)(NS::X)"
8482// CHECK-NEXT: },
8483// CHECK-NEXT: "valueCategory": "rvalue",
8484// CHECK-NEXT: "castKind": "FunctionToPointerDecay",
8485// CHECK-NEXT: "inner": [
8486// CHECK-NEXT: {
8487// CHECK-NEXT: "id": "0x{{.*}}",
8488// CHECK-NEXT: "kind": "DeclRefExpr",
8489// CHECK-NEXT: "range": {
8490// CHECK-NEXT: "begin": {
8491// CHECK-NEXT: "col": 3,
8492// CHECK-NEXT: "file": "{{.*}}",
8493// CHECK-NEXT: "line": 144
8494// CHECK-NEXT: },
8495// CHECK-NEXT: "end": {
8496// CHECK-NEXT: "col": 3,
8497// CHECK-NEXT: "file": "{{.*}}",
8498// CHECK-NEXT: "line": 144
8499// CHECK-NEXT: }
8500// CHECK-NEXT: },
8501// CHECK-NEXT: "type": {
8502// CHECK-NEXT: "qualType": "void (NS::X)"
8503// CHECK-NEXT: },
8504// CHECK-NEXT: "valueCategory": "lvalue",
8505// CHECK-NEXT: "referencedDecl": {
8506// CHECK-NEXT: "id": "0x{{.*}}",
8507// CHECK-NEXT: "kind": "FunctionDecl",
8508// CHECK-NEXT: "name": "f",
8509// CHECK-NEXT: "type": {
8510// CHECK-NEXT: "qualType": "void (NS::X)"
8511// CHECK-NEXT: }
8512// CHECK-NEXT: },
8513// CHECK-NEXT: "foundReferencedDecl": {
8514// CHECK-NEXT: "id": "0x{{.*}}",
8515// CHECK-NEXT: "kind": "UsingShadowDecl",
8516// CHECK-NEXT: "name": "f"
8517// CHECK-NEXT: }
8518// CHECK-NEXT: }
8519// CHECK-NEXT: ]
8520// CHECK-NEXT: },
8521// CHECK-NEXT: {
8522// CHECK-NEXT: "id": "0x{{.*}}",
8523// CHECK-NEXT: "kind": "CXXConstructExpr",
8524// CHECK-NEXT: "range": {
8525// CHECK-NEXT: "begin": {
8526// CHECK-NEXT: "col": 5,
8527// CHECK-NEXT: "file": "{{.*}}",
8528// CHECK-NEXT: "line": 144
8529// CHECK-NEXT: },
8530// CHECK-NEXT: "end": {
8531// CHECK-NEXT: "col": 5,
8532// CHECK-NEXT: "file": "{{.*}}",
8533// CHECK-NEXT: "line": 144
8534// CHECK-NEXT: }
8535// CHECK-NEXT: },
8536// CHECK-NEXT: "type": {
8537// CHECK-NEXT: "qualType": "NS::X"
8538// CHECK-NEXT: },
8539// CHECK-NEXT: "valueCategory": "rvalue",
8540// CHECK-NEXT: "inner": [
8541// CHECK-NEXT: {
8542// CHECK-NEXT: "id": "0x{{.*}}",
8543// CHECK-NEXT: "kind": "ImplicitCastExpr",
8544// CHECK-NEXT: "range": {
8545// CHECK-NEXT: "begin": {
8546// CHECK-NEXT: "col": 5,
8547// CHECK-NEXT: "file": "{{.*}}",
8548// CHECK-NEXT: "line": 144
8549// CHECK-NEXT: },
8550// CHECK-NEXT: "end": {
8551// CHECK-NEXT: "col": 5,
8552// CHECK-NEXT: "file": "{{.*}}",
8553// CHECK-NEXT: "line": 144
8554// CHECK-NEXT: }
8555// CHECK-NEXT: },
8556// CHECK-NEXT: "type": {
8557// CHECK-NEXT: "desugaredQualType": "const NS::X",
8558// CHECK-NEXT: "qualType": "const NS::X"
8559// CHECK-NEXT: },
8560// CHECK-NEXT: "valueCategory": "lvalue",
8561// CHECK-NEXT: "castKind": "NoOp",
8562// CHECK-NEXT: "inner": [
8563// CHECK-NEXT: {
8564// CHECK-NEXT: "id": "0x{{.*}}",
8565// CHECK-NEXT: "kind": "DeclRefExpr",
8566// CHECK-NEXT: "range": {
8567// CHECK-NEXT: "begin": {
8568// CHECK-NEXT: "col": 5,
8569// CHECK-NEXT: "file": "{{.*}}",
8570// CHECK-NEXT: "line": 144
8571// CHECK-NEXT: },
8572// CHECK-NEXT: "end": {
8573// CHECK-NEXT: "col": 5,
8574// CHECK-NEXT: "file": "{{.*}}",
8575// CHECK-NEXT: "line": 144
8576// CHECK-NEXT: }
8577// CHECK-NEXT: },
8578// CHECK-NEXT: "type": {
8579// CHECK-NEXT: "desugaredQualType": "NS::X",
8580// CHECK-NEXT: "qualType": "NS::X"
8581// CHECK-NEXT: },
8582// CHECK-NEXT: "valueCategory": "lvalue",
8583// CHECK-NEXT: "referencedDecl": {
8584// CHECK-NEXT: "id": "0x{{.*}}",
8585// CHECK-NEXT: "kind": "VarDecl",
8586// CHECK-NEXT: "name": "x",
8587// CHECK-NEXT: "type": {
8588// CHECK-NEXT: "desugaredQualType": "NS::X",
8589// CHECK-NEXT: "qualType": "NS::X"
8590// CHECK-NEXT: }
8591// CHECK-NEXT: }
8592// CHECK-NEXT: }
8593// CHECK-NEXT: ]
8594// CHECK-NEXT: }
8595// CHECK-NEXT: ]
8596// CHECK-NEXT: }
8597// CHECK-NEXT: ]
8598// CHECK-NEXT: },
8599// CHECK-NEXT: {
8600// CHECK-NEXT: "id": "0x{{.*}}",
8601// CHECK-NEXT: "kind": "CallExpr",
8602// CHECK-NEXT: "range": {
8603// CHECK-NEXT: "begin": {
8604// CHECK-NEXT: "col": 3,
8605// CHECK-NEXT: "file": "{{.*}}",
8606// CHECK-NEXT: "line": 145
8607// CHECK-NEXT: },
8608// CHECK-NEXT: "end": {
8609// CHECK-NEXT: "col": 6,
8610// CHECK-NEXT: "file": "{{.*}}",
8611// CHECK-NEXT: "line": 145
8612// CHECK-NEXT: }
8613// CHECK-NEXT: },
8614// CHECK-NEXT: "type": {
8615// CHECK-NEXT: "qualType": "void"
8616// CHECK-NEXT: },
8617// CHECK-NEXT: "valueCategory": "rvalue",
8618// CHECK-NEXT: "adl": true,
8619// CHECK-NEXT: "inner": [
8620// CHECK-NEXT: {
8621// CHECK-NEXT: "id": "0x{{.*}}",
8622// CHECK-NEXT: "kind": "ImplicitCastExpr",
8623// CHECK-NEXT: "range": {
8624// CHECK-NEXT: "begin": {
8625// CHECK-NEXT: "col": 3,
8626// CHECK-NEXT: "file": "{{.*}}",
8627// CHECK-NEXT: "line": 145
8628// CHECK-NEXT: },
8629// CHECK-NEXT: "end": {
8630// CHECK-NEXT: "col": 3,
8631// CHECK-NEXT: "file": "{{.*}}",
8632// CHECK-NEXT: "line": 145
8633// CHECK-NEXT: }
8634// CHECK-NEXT: },
8635// CHECK-NEXT: "type": {
8636// CHECK-NEXT: "qualType": "void (*)(...)"
8637// CHECK-NEXT: },
8638// CHECK-NEXT: "valueCategory": "rvalue",
8639// CHECK-NEXT: "castKind": "FunctionToPointerDecay",
8640// CHECK-NEXT: "inner": [
8641// CHECK-NEXT: {
8642// CHECK-NEXT: "id": "0x{{.*}}",
8643// CHECK-NEXT: "kind": "DeclRefExpr",
8644// CHECK-NEXT: "range": {
8645// CHECK-NEXT: "begin": {
8646// CHECK-NEXT: "col": 3,
8647// CHECK-NEXT: "file": "{{.*}}",
8648// CHECK-NEXT: "line": 145
8649// CHECK-NEXT: },
8650// CHECK-NEXT: "end": {
8651// CHECK-NEXT: "col": 3,
8652// CHECK-NEXT: "file": "{{.*}}",
8653// CHECK-NEXT: "line": 145
8654// CHECK-NEXT: }
8655// CHECK-NEXT: },
8656// CHECK-NEXT: "type": {
8657// CHECK-NEXT: "qualType": "void (...)"
8658// CHECK-NEXT: },
8659// CHECK-NEXT: "valueCategory": "lvalue",
8660// CHECK-NEXT: "referencedDecl": {
8661// CHECK-NEXT: "id": "0x{{.*}}",
8662// CHECK-NEXT: "kind": "FunctionDecl",
8663// CHECK-NEXT: "name": "y",
8664// CHECK-NEXT: "type": {
8665// CHECK-NEXT: "qualType": "void (...)"
8666// CHECK-NEXT: }
8667// CHECK-NEXT: }
8668// CHECK-NEXT: }
8669// CHECK-NEXT: ]
8670// CHECK-NEXT: },
8671// CHECK-NEXT: {
8672// CHECK-NEXT: "id": "0x{{.*}}",
8673// CHECK-NEXT: "kind": "CXXConstructExpr",
8674// CHECK-NEXT: "range": {
8675// CHECK-NEXT: "begin": {
8676// CHECK-NEXT: "col": 5,
8677// CHECK-NEXT: "file": "{{.*}}",
8678// CHECK-NEXT: "line": 145
8679// CHECK-NEXT: },
8680// CHECK-NEXT: "end": {
8681// CHECK-NEXT: "col": 5,
8682// CHECK-NEXT: "file": "{{.*}}",
8683// CHECK-NEXT: "line": 145
8684// CHECK-NEXT: }
8685// CHECK-NEXT: },
8686// CHECK-NEXT: "type": {
8687// CHECK-NEXT: "desugaredQualType": "NS::X",
8688// CHECK-NEXT: "qualType": "NS::X"
8689// CHECK-NEXT: },
8690// CHECK-NEXT: "valueCategory": "rvalue",
8691// CHECK-NEXT: "inner": [
8692// CHECK-NEXT: {
8693// CHECK-NEXT: "id": "0x{{.*}}",
8694// CHECK-NEXT: "kind": "ImplicitCastExpr",
8695// CHECK-NEXT: "range": {
8696// CHECK-NEXT: "begin": {
8697// CHECK-NEXT: "col": 5,
8698// CHECK-NEXT: "file": "{{.*}}",
8699// CHECK-NEXT: "line": 145
8700// CHECK-NEXT: },
8701// CHECK-NEXT: "end": {
8702// CHECK-NEXT: "col": 5,
8703// CHECK-NEXT: "file": "{{.*}}",
8704// CHECK-NEXT: "line": 145
8705// CHECK-NEXT: }
8706// CHECK-NEXT: },
8707// CHECK-NEXT: "type": {
8708// CHECK-NEXT: "desugaredQualType": "const NS::X",
8709// CHECK-NEXT: "qualType": "const NS::X"
8710// CHECK-NEXT: },
8711// CHECK-NEXT: "valueCategory": "lvalue",
8712// CHECK-NEXT: "castKind": "NoOp",
8713// CHECK-NEXT: "inner": [
8714// CHECK-NEXT: {
8715// CHECK-NEXT: "id": "0x{{.*}}",
8716// CHECK-NEXT: "kind": "DeclRefExpr",
8717// CHECK-NEXT: "range": {
8718// CHECK-NEXT: "begin": {
8719// CHECK-NEXT: "col": 5,
8720// CHECK-NEXT: "file": "{{.*}}",
8721// CHECK-NEXT: "line": 145
8722// CHECK-NEXT: },
8723// CHECK-NEXT: "end": {
8724// CHECK-NEXT: "col": 5,
8725// CHECK-NEXT: "file": "{{.*}}",
8726// CHECK-NEXT: "line": 145
8727// CHECK-NEXT: }
8728// CHECK-NEXT: },
8729// CHECK-NEXT: "type": {
8730// CHECK-NEXT: "desugaredQualType": "NS::X",
8731// CHECK-NEXT: "qualType": "NS::X"
8732// CHECK-NEXT: },
8733// CHECK-NEXT: "valueCategory": "lvalue",
8734// CHECK-NEXT: "referencedDecl": {
8735// CHECK-NEXT: "id": "0x{{.*}}",
8736// CHECK-NEXT: "kind": "VarDecl",
8737// CHECK-NEXT: "name": "x",
8738// CHECK-NEXT: "type": {
8739// CHECK-NEXT: "desugaredQualType": "NS::X",
8740// CHECK-NEXT: "qualType": "NS::X"
8741// CHECK-NEXT: }
8742// CHECK-NEXT: }
8743// CHECK-NEXT: }
8744// CHECK-NEXT: ]
8745// CHECK-NEXT: }
8746// CHECK-NEXT: ]
8747// CHECK-NEXT: }
8748// CHECK-NEXT: ]
8749// CHECK-NEXT: }
8750// CHECK-NEXT: ]
8751// CHECK-NEXT: }
8752// CHECK-NEXT: ]
8753// CHECK-NEXT: }
8754
8755
8756// CHECK: "kind": "FunctionDecl",
8757// CHECK-NEXT: "loc": {
8758// CHECK-NEXT: "col": 6,
8759// CHECK-NEXT: "file": "{{.*}}",
8760// CHECK-NEXT: "line": 150
8761// CHECK-NEXT: },
8762// CHECK-NEXT: "range": {
8763// CHECK-NEXT: "begin": {
8764// CHECK-NEXT: "col": 1,
8765// CHECK-NEXT: "file": "{{.*}}",
8766// CHECK-NEXT: "line": 150
8767// CHECK-NEXT: },
8768// CHECK-NEXT: "end": {
8769// CHECK-NEXT: "col": 1,
8770// CHECK-NEXT: "file": "{{.*}}",
8771// CHECK-NEXT: "line": 153
8772// CHECK-NEXT: }
8773// CHECK-NEXT: },
8774// CHECK-NEXT: "name": "TestNonADLCall3",
8775// CHECK-NEXT: "type": {
8776// CHECK-NEXT: "qualType": "void ()"
8777// CHECK-NEXT: },
8778// CHECK-NEXT: "inner": [
8779// CHECK-NEXT: {
8780// CHECK-NEXT: "id": "0x{{.*}}",
8781// CHECK-NEXT: "kind": "CompoundStmt",
8782// CHECK-NEXT: "range": {
8783// CHECK-NEXT: "begin": {
8784// CHECK-NEXT: "col": 24,
8785// CHECK-NEXT: "file": "{{.*}}",
8786// CHECK-NEXT: "line": 150
8787// CHECK-NEXT: },
8788// CHECK-NEXT: "end": {
8789// CHECK-NEXT: "col": 1,
8790// CHECK-NEXT: "file": "{{.*}}",
8791// CHECK-NEXT: "line": 153
8792// CHECK-NEXT: }
8793// CHECK-NEXT: },
8794// CHECK-NEXT: "inner": [
8795// CHECK-NEXT: {
8796// CHECK-NEXT: "id": "0x{{.*}}",
8797// CHECK-NEXT: "kind": "DeclStmt",
8798// CHECK-NEXT: "range": {
8799// CHECK-NEXT: "begin": {
8800// CHECK-NEXT: "col": 3,
8801// CHECK-NEXT: "file": "{{.*}}",
8802// CHECK-NEXT: "line": 151
8803// CHECK-NEXT: },
8804// CHECK-NEXT: "end": {
8805// CHECK-NEXT: "col": 6,
8806// CHECK-NEXT: "file": "{{.*}}",
8807// CHECK-NEXT: "line": 151
8808// CHECK-NEXT: }
8809// CHECK-NEXT: },
8810// CHECK-NEXT: "inner": [
8811// CHECK-NEXT: {
8812// CHECK-NEXT: "id": "0x{{.*}}",
8813// CHECK-NEXT: "kind": "VarDecl",
8814// CHECK-NEXT: "loc": {
8815// CHECK-NEXT: "col": 5,
8816// CHECK-NEXT: "file": "{{.*}}",
8817// CHECK-NEXT: "line": 151
8818// CHECK-NEXT: },
8819// CHECK-NEXT: "range": {
8820// CHECK-NEXT: "begin": {
8821// CHECK-NEXT: "col": 3,
8822// CHECK-NEXT: "file": "{{.*}}",
8823// CHECK-NEXT: "line": 151
8824// CHECK-NEXT: },
8825// CHECK-NEXT: "end": {
8826// CHECK-NEXT: "col": 5,
8827// CHECK-NEXT: "file": "{{.*}}",
8828// CHECK-NEXT: "line": 151
8829// CHECK-NEXT: }
8830// CHECK-NEXT: },
8831// CHECK-NEXT: "isUsed": true,
8832// CHECK-NEXT: "name": "x",
8833// CHECK-NEXT: "type": {
8834// CHECK-NEXT: "qualType": "NS::X"
8835// CHECK-NEXT: },
8836// CHECK-NEXT: "init": "call",
8837// CHECK-NEXT: "inner": [
8838// CHECK-NEXT: {
8839// CHECK-NEXT: "id": "0x{{.*}}",
8840// CHECK-NEXT: "kind": "CXXConstructExpr",
8841// CHECK-NEXT: "range": {
8842// CHECK-NEXT: "begin": {
8843// CHECK-NEXT: "col": 5,
8844// CHECK-NEXT: "file": "{{.*}}",
8845// CHECK-NEXT: "line": 151
8846// CHECK-NEXT: },
8847// CHECK-NEXT: "end": {
8848// CHECK-NEXT: "col": 5,
8849// CHECK-NEXT: "file": "{{.*}}",
8850// CHECK-NEXT: "line": 151
8851// CHECK-NEXT: }
8852// CHECK-NEXT: },
8853// CHECK-NEXT: "type": {
8854// CHECK-NEXT: "qualType": "NS::X"
8855// CHECK-NEXT: },
8856// CHECK-NEXT: "valueCategory": "rvalue"
8857// CHECK-NEXT: }
8858// CHECK-NEXT: ]
8859// CHECK-NEXT: }
8860// CHECK-NEXT: ]
8861// CHECK-NEXT: },
8862// CHECK-NEXT: {
8863// CHECK-NEXT: "id": "0x{{.*}}",
8864// CHECK-NEXT: "kind": "CallExpr",
8865// CHECK-NEXT: "range": {
8866// CHECK-NEXT: "begin": {
8867// CHECK-NEXT: "col": 3,
8868// CHECK-NEXT: "file": "{{.*}}",
8869// CHECK-NEXT: "line": 152
8870// CHECK-NEXT: },
8871// CHECK-NEXT: "end": {
8872// CHECK-NEXT: "col": 6,
8873// CHECK-NEXT: "file": "{{.*}}",
8874// CHECK-NEXT: "line": 152
8875// CHECK-NEXT: }
8876// CHECK-NEXT: },
8877// CHECK-NEXT: "type": {
8878// CHECK-NEXT: "qualType": "void"
8879// CHECK-NEXT: },
8880// CHECK-NEXT: "valueCategory": "rvalue",
8881// CHECK-NEXT: "inner": [
8882// CHECK-NEXT: {
8883// CHECK-NEXT: "id": "0x{{.*}}",
8884// CHECK-NEXT: "kind": "ImplicitCastExpr",
8885// CHECK-NEXT: "range": {
8886// CHECK-NEXT: "begin": {
8887// CHECK-NEXT: "col": 3,
8888// CHECK-NEXT: "file": "{{.*}}",
8889// CHECK-NEXT: "line": 152
8890// CHECK-NEXT: },
8891// CHECK-NEXT: "end": {
8892// CHECK-NEXT: "col": 3,
8893// CHECK-NEXT: "file": "{{.*}}",
8894// CHECK-NEXT: "line": 152
8895// CHECK-NEXT: }
8896// CHECK-NEXT: },
8897// CHECK-NEXT: "type": {
8898// CHECK-NEXT: "qualType": "void (*)(NS::X)"
8899// CHECK-NEXT: },
8900// CHECK-NEXT: "valueCategory": "rvalue",
8901// CHECK-NEXT: "castKind": "FunctionToPointerDecay",
8902// CHECK-NEXT: "inner": [
8903// CHECK-NEXT: {
8904// CHECK-NEXT: "id": "0x{{.*}}",
8905// CHECK-NEXT: "kind": "DeclRefExpr",
8906// CHECK-NEXT: "range": {
8907// CHECK-NEXT: "begin": {
8908// CHECK-NEXT: "col": 3,
8909// CHECK-NEXT: "file": "{{.*}}",
8910// CHECK-NEXT: "line": 152
8911// CHECK-NEXT: },
8912// CHECK-NEXT: "end": {
8913// CHECK-NEXT: "col": 3,
8914// CHECK-NEXT: "file": "{{.*}}",
8915// CHECK-NEXT: "line": 152
8916// CHECK-NEXT: }
8917// CHECK-NEXT: },
8918// CHECK-NEXT: "type": {
8919// CHECK-NEXT: "qualType": "void (NS::X)"
8920// CHECK-NEXT: },
8921// CHECK-NEXT: "valueCategory": "lvalue",
8922// CHECK-NEXT: "referencedDecl": {
8923// CHECK-NEXT: "id": "0x{{.*}}",
8924// CHECK-NEXT: "kind": "FunctionDecl",
8925// CHECK-NEXT: "name": "f",
8926// CHECK-NEXT: "type": {
8927// CHECK-NEXT: "qualType": "void (NS::X)"
8928// CHECK-NEXT: }
8929// CHECK-NEXT: }
8930// CHECK-NEXT: }
8931// CHECK-NEXT: ]
8932// CHECK-NEXT: },
8933// CHECK-NEXT: {
8934// CHECK-NEXT: "id": "0x{{.*}}",
8935// CHECK-NEXT: "kind": "CXXConstructExpr",
8936// CHECK-NEXT: "range": {
8937// CHECK-NEXT: "begin": {
8938// CHECK-NEXT: "col": 5,
8939// CHECK-NEXT: "file": "{{.*}}",
8940// CHECK-NEXT: "line": 152
8941// CHECK-NEXT: },
8942// CHECK-NEXT: "end": {
8943// CHECK-NEXT: "col": 5,
8944// CHECK-NEXT: "file": "{{.*}}",
8945// CHECK-NEXT: "line": 152
8946// CHECK-NEXT: }
8947// CHECK-NEXT: },
8948// CHECK-NEXT: "type": {
8949// CHECK-NEXT: "qualType": "NS::X"
8950// CHECK-NEXT: },
8951// CHECK-NEXT: "valueCategory": "rvalue",
8952// CHECK-NEXT: "inner": [
8953// CHECK-NEXT: {
8954// CHECK-NEXT: "id": "0x{{.*}}",
8955// CHECK-NEXT: "kind": "ImplicitCastExpr",
8956// CHECK-NEXT: "range": {
8957// CHECK-NEXT: "begin": {
8958// CHECK-NEXT: "col": 5,
8959// CHECK-NEXT: "file": "{{.*}}",
8960// CHECK-NEXT: "line": 152
8961// CHECK-NEXT: },
8962// CHECK-NEXT: "end": {
8963// CHECK-NEXT: "col": 5,
8964// CHECK-NEXT: "file": "{{.*}}",
8965// CHECK-NEXT: "line": 152
8966// CHECK-NEXT: }
8967// CHECK-NEXT: },
8968// CHECK-NEXT: "type": {
8969// CHECK-NEXT: "qualType": "const NS::X"
8970// CHECK-NEXT: },
8971// CHECK-NEXT: "valueCategory": "lvalue",
8972// CHECK-NEXT: "castKind": "NoOp",
8973// CHECK-NEXT: "inner": [
8974// CHECK-NEXT: {
8975// CHECK-NEXT: "id": "0x{{.*}}",
8976// CHECK-NEXT: "kind": "DeclRefExpr",
8977// CHECK-NEXT: "range": {
8978// CHECK-NEXT: "begin": {
8979// CHECK-NEXT: "col": 5,
8980// CHECK-NEXT: "file": "{{.*}}",
8981// CHECK-NEXT: "line": 152
8982// CHECK-NEXT: },
8983// CHECK-NEXT: "end": {
8984// CHECK-NEXT: "col": 5,
8985// CHECK-NEXT: "file": "{{.*}}",
8986// CHECK-NEXT: "line": 152
8987// CHECK-NEXT: }
8988// CHECK-NEXT: },
8989// CHECK-NEXT: "type": {
8990// CHECK-NEXT: "qualType": "NS::X"
8991// CHECK-NEXT: },
8992// CHECK-NEXT: "valueCategory": "lvalue",
8993// CHECK-NEXT: "referencedDecl": {
8994// CHECK-NEXT: "id": "0x{{.*}}",
8995// CHECK-NEXT: "kind": "VarDecl",
8996// CHECK-NEXT: "name": "x",
8997// CHECK-NEXT: "type": {
8998// CHECK-NEXT: "qualType": "NS::X"
8999// CHECK-NEXT: }
9000// CHECK-NEXT: }
9001// CHECK-NEXT: }
9002// CHECK-NEXT: ]
9003// CHECK-NEXT: }
9004// CHECK-NEXT: ]
9005// CHECK-NEXT: }
9006// CHECK-NEXT: ]
9007// CHECK-NEXT: }
9008// CHECK-NEXT: ]
9009// CHECK-NEXT: }
9010// CHECK-NEXT: ]
9011// CHECK-NEXT: }