[flang][cuda] Adapt ExternalNameConversion to work in gpu module (#117039)
[llvm-project.git] / clang / test / AST / ast-dump-funcs-json.cpp
blob957df5cea6ec5346983862afdfb5fb4055b095e1
1 // RUN: %clang_cc1 -triple x86_64-unknown-unknown -ast-dump=json -ast-dump-filter Test %s | FileCheck %s
3 struct S {
4 void Test1();
5 void Test2() const;
6 void Test3() volatile;
7 void Test4() &;
8 void Test5() &&;
9 virtual void Test6(float, int = 12);
10 virtual void Test7() = 0;
13 struct T : S { // T is not referenced, but S is
14 void Test6(float, int = 100) override;
17 struct U {
18 void Test1();
20 void U::Test1() {} // parent
22 void Test1();
23 void Test2(void);
24 void Test3(int a, int b);
25 void Test4(int a, int b = 12);
26 constexpr void Test5(void);
27 static void Test6(void);
28 extern void Test7(void);
29 inline void Test8(void);
30 void Test9(void) noexcept;
31 void Test10(void) noexcept(false);
32 void Test11(void) noexcept(1);
34 template <typename T>
35 T Test12(T&);
37 void Test13(int) {}
38 void Test14(int, ...) {}
40 int main() {
41 Test1(); // Causes this to be marked 'used'
44 template <typename ...Ts>
45 struct TestFriends {
46 friend Ts...;
49 // NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
52 // CHECK-NOT: {{^}}Dumping
53 // CHECK: "kind": "CXXMethodDecl",
54 // CHECK-NEXT: "loc": {
55 // CHECK-NEXT: "offset": 124,
56 // CHECK-NEXT: "file": "{{.*}}",
57 // CHECK-NEXT: "line": 4,
58 // CHECK-NEXT: "col": 8,
59 // CHECK-NEXT: "tokLen": 5
60 // CHECK-NEXT: },
61 // CHECK-NEXT: "range": {
62 // CHECK-NEXT: "begin": {
63 // CHECK-NEXT: "offset": 119,
64 // CHECK-NEXT: "col": 3,
65 // CHECK-NEXT: "tokLen": 4
66 // CHECK-NEXT: },
67 // CHECK-NEXT: "end": {
68 // CHECK-NEXT: "offset": 130,
69 // CHECK-NEXT: "col": 14,
70 // CHECK-NEXT: "tokLen": 1
71 // CHECK-NEXT: }
72 // CHECK-NEXT: },
73 // CHECK-NEXT: "name": "Test1",
74 // CHECK-NEXT: "mangledName": "_ZN1S5Test1Ev",
75 // CHECK-NEXT: "type": {
76 // CHECK-NEXT: "qualType": "void ()"
77 // CHECK-NEXT: }
78 // CHECK-NEXT: }
81 // CHECK-NOT: {{^}}Dumping
82 // CHECK: "kind": "CXXMethodDecl",
83 // CHECK-NEXT: "loc": {
84 // CHECK-NEXT: "offset": 140,
85 // CHECK-NEXT: "file": "{{.*}}",
86 // CHECK-NEXT: "line": 5,
87 // CHECK-NEXT: "col": 8,
88 // CHECK-NEXT: "tokLen": 5
89 // CHECK-NEXT: },
90 // CHECK-NEXT: "range": {
91 // CHECK-NEXT: "begin": {
92 // CHECK-NEXT: "offset": 135,
93 // CHECK-NEXT: "col": 3,
94 // CHECK-NEXT: "tokLen": 4
95 // CHECK-NEXT: },
96 // CHECK-NEXT: "end": {
97 // CHECK-NEXT: "offset": 148,
98 // CHECK-NEXT: "col": 16,
99 // CHECK-NEXT: "tokLen": 5
100 // CHECK-NEXT: }
101 // CHECK-NEXT: },
102 // CHECK-NEXT: "name": "Test2",
103 // CHECK-NEXT: "mangledName": "_ZNK1S5Test2Ev",
104 // CHECK-NEXT: "type": {
105 // CHECK-NEXT: "qualType": "void () const"
106 // CHECK-NEXT: }
107 // CHECK-NEXT: }
110 // CHECK-NOT: {{^}}Dumping
111 // CHECK: "kind": "CXXMethodDecl",
112 // CHECK-NEXT: "loc": {
113 // CHECK-NEXT: "offset": 162,
114 // CHECK-NEXT: "file": "{{.*}}",
115 // CHECK-NEXT: "line": 6,
116 // CHECK-NEXT: "col": 8,
117 // CHECK-NEXT: "tokLen": 5
118 // CHECK-NEXT: },
119 // CHECK-NEXT: "range": {
120 // CHECK-NEXT: "begin": {
121 // CHECK-NEXT: "offset": 157,
122 // CHECK-NEXT: "col": 3,
123 // CHECK-NEXT: "tokLen": 4
124 // CHECK-NEXT: },
125 // CHECK-NEXT: "end": {
126 // CHECK-NEXT: "offset": 170,
127 // CHECK-NEXT: "col": 16,
128 // CHECK-NEXT: "tokLen": 8
129 // CHECK-NEXT: }
130 // CHECK-NEXT: },
131 // CHECK-NEXT: "name": "Test3",
132 // CHECK-NEXT: "mangledName": "_ZNV1S5Test3Ev",
133 // CHECK-NEXT: "type": {
134 // CHECK-NEXT: "qualType": "void () volatile"
135 // CHECK-NEXT: }
136 // CHECK-NEXT: }
139 // CHECK-NOT: {{^}}Dumping
140 // CHECK: "kind": "CXXMethodDecl",
141 // CHECK-NEXT: "loc": {
142 // CHECK-NEXT: "offset": 187,
143 // CHECK-NEXT: "file": "{{.*}}",
144 // CHECK-NEXT: "line": 7,
145 // CHECK-NEXT: "col": 8,
146 // CHECK-NEXT: "tokLen": 5
147 // CHECK-NEXT: },
148 // CHECK-NEXT: "range": {
149 // CHECK-NEXT: "begin": {
150 // CHECK-NEXT: "offset": 182,
151 // CHECK-NEXT: "col": 3,
152 // CHECK-NEXT: "tokLen": 4
153 // CHECK-NEXT: },
154 // CHECK-NEXT: "end": {
155 // CHECK-NEXT: "offset": 195,
156 // CHECK-NEXT: "col": 16,
157 // CHECK-NEXT: "tokLen": 1
158 // CHECK-NEXT: }
159 // CHECK-NEXT: },
160 // CHECK-NEXT: "name": "Test4",
161 // CHECK-NEXT: "mangledName": "_ZNR1S5Test4Ev",
162 // CHECK-NEXT: "type": {
163 // CHECK-NEXT: "qualType": "void () &"
164 // CHECK-NEXT: }
165 // CHECK-NEXT: }
168 // CHECK-NOT: {{^}}Dumping
169 // CHECK: "kind": "CXXMethodDecl",
170 // CHECK-NEXT: "loc": {
171 // CHECK-NEXT: "offset": 205,
172 // CHECK-NEXT: "file": "{{.*}}",
173 // CHECK-NEXT: "line": 8,
174 // CHECK-NEXT: "col": 8,
175 // CHECK-NEXT: "tokLen": 5
176 // CHECK-NEXT: },
177 // CHECK-NEXT: "range": {
178 // CHECK-NEXT: "begin": {
179 // CHECK-NEXT: "offset": 200,
180 // CHECK-NEXT: "col": 3,
181 // CHECK-NEXT: "tokLen": 4
182 // CHECK-NEXT: },
183 // CHECK-NEXT: "end": {
184 // CHECK-NEXT: "offset": 213,
185 // CHECK-NEXT: "col": 16,
186 // CHECK-NEXT: "tokLen": 2
187 // CHECK-NEXT: }
188 // CHECK-NEXT: },
189 // CHECK-NEXT: "name": "Test5",
190 // CHECK-NEXT: "mangledName": "_ZNO1S5Test5Ev",
191 // CHECK-NEXT: "type": {
192 // CHECK-NEXT: "qualType": "void () &&"
193 // CHECK-NEXT: }
194 // CHECK-NEXT: }
197 // CHECK-NOT: {{^}}Dumping
198 // CHECK: "kind": "CXXMethodDecl",
199 // CHECK-NEXT: "loc": {
200 // CHECK-NEXT: "offset": 232,
201 // CHECK-NEXT: "file": "{{.*}}",
202 // CHECK-NEXT: "line": 9,
203 // CHECK-NEXT: "col": 16,
204 // CHECK-NEXT: "tokLen": 5
205 // CHECK-NEXT: },
206 // CHECK-NEXT: "range": {
207 // CHECK-NEXT: "begin": {
208 // CHECK-NEXT: "offset": 219,
209 // CHECK-NEXT: "col": 3,
210 // CHECK-NEXT: "tokLen": 7
211 // CHECK-NEXT: },
212 // CHECK-NEXT: "end": {
213 // CHECK-NEXT: "offset": 253,
214 // CHECK-NEXT: "col": 37,
215 // CHECK-NEXT: "tokLen": 1
216 // CHECK-NEXT: }
217 // CHECK-NEXT: },
218 // CHECK-NEXT: "name": "Test6",
219 // CHECK-NEXT: "mangledName": "_ZN1S5Test6Efi",
220 // CHECK-NEXT: "type": {
221 // CHECK-NEXT: "qualType": "void (float, int)"
222 // CHECK-NEXT: },
223 // CHECK-NEXT: "virtual": true,
224 // CHECK-NEXT: "inner": [
225 // CHECK-NEXT: {
226 // CHECK-NEXT: "id": "0x{{.*}}",
227 // CHECK-NEXT: "kind": "ParmVarDecl",
228 // CHECK-NEXT: "loc": {
229 // CHECK-NEXT: "offset": 243,
230 // CHECK-NEXT: "col": 27,
231 // CHECK-NEXT: "tokLen": 1
232 // CHECK-NEXT: },
233 // CHECK-NEXT: "range": {
234 // CHECK-NEXT: "begin": {
235 // CHECK-NEXT: "offset": 238,
236 // CHECK-NEXT: "col": 22,
237 // CHECK-NEXT: "tokLen": 5
238 // CHECK-NEXT: },
239 // CHECK-NEXT: "end": {
240 // CHECK-NEXT: "offset": 238,
241 // CHECK-NEXT: "col": 22,
242 // CHECK-NEXT: "tokLen": 5
243 // CHECK-NEXT: }
244 // CHECK-NEXT: },
245 // CHECK-NEXT: "type": {
246 // CHECK-NEXT: "qualType": "float"
247 // CHECK-NEXT: }
248 // CHECK-NEXT: },
249 // CHECK-NEXT: {
250 // CHECK-NEXT: "id": "0x{{.*}}",
251 // CHECK-NEXT: "kind": "ParmVarDecl",
252 // CHECK-NEXT: "loc": {
253 // CHECK-NEXT: "offset": 249,
254 // CHECK-NEXT: "col": 33,
255 // CHECK-NEXT: "tokLen": 1
256 // CHECK-NEXT: },
257 // CHECK-NEXT: "range": {
258 // CHECK-NEXT: "begin": {
259 // CHECK-NEXT: "offset": 245,
260 // CHECK-NEXT: "col": 29,
261 // CHECK-NEXT: "tokLen": 3
262 // CHECK-NEXT: },
263 // CHECK-NEXT: "end": {
264 // CHECK-NEXT: "offset": 251,
265 // CHECK-NEXT: "col": 35,
266 // CHECK-NEXT: "tokLen": 2
267 // CHECK-NEXT: }
268 // CHECK-NEXT: },
269 // CHECK-NEXT: "type": {
270 // CHECK-NEXT: "qualType": "int"
271 // CHECK-NEXT: },
272 // CHECK-NEXT: "init": "c",
273 // CHECK-NEXT: "inner": [
274 // CHECK-NEXT: {
275 // CHECK-NEXT: "id": "0x{{.*}}",
276 // CHECK-NEXT: "kind": "IntegerLiteral",
277 // CHECK-NEXT: "range": {
278 // CHECK-NEXT: "begin": {
279 // CHECK-NEXT: "offset": 251,
280 // CHECK-NEXT: "col": 35,
281 // CHECK-NEXT: "tokLen": 2
282 // CHECK-NEXT: },
283 // CHECK-NEXT: "end": {
284 // CHECK-NEXT: "offset": 251,
285 // CHECK-NEXT: "col": 35,
286 // CHECK-NEXT: "tokLen": 2
287 // CHECK-NEXT: }
288 // CHECK-NEXT: },
289 // CHECK-NEXT: "type": {
290 // CHECK-NEXT: "qualType": "int"
291 // CHECK-NEXT: },
292 // CHECK-NEXT: "valueCategory": "prvalue",
293 // CHECK-NEXT: "value": "12"
294 // CHECK-NEXT: }
295 // CHECK-NEXT: ]
296 // CHECK-NEXT: }
297 // CHECK-NEXT: ]
298 // CHECK-NEXT: }
301 // CHECK-NOT: {{^}}Dumping
302 // CHECK: "kind": "CXXMethodDecl",
303 // CHECK-NEXT: "loc": {
304 // CHECK-NEXT: "offset": 271,
305 // CHECK-NEXT: "file": "{{.*}}",
306 // CHECK-NEXT: "line": 10,
307 // CHECK-NEXT: "col": 16,
308 // CHECK-NEXT: "tokLen": 5
309 // CHECK-NEXT: },
310 // CHECK-NEXT: "range": {
311 // CHECK-NEXT: "begin": {
312 // CHECK-NEXT: "offset": 258,
313 // CHECK-NEXT: "col": 3,
314 // CHECK-NEXT: "tokLen": 7
315 // CHECK-NEXT: },
316 // CHECK-NEXT: "end": {
317 // CHECK-NEXT: "offset": 281,
318 // CHECK-NEXT: "col": 26,
319 // CHECK-NEXT: "tokLen": 1
320 // CHECK-NEXT: }
321 // CHECK-NEXT: },
322 // CHECK-NEXT: "name": "Test7",
323 // CHECK-NEXT: "mangledName": "_ZN1S5Test7Ev",
324 // CHECK-NEXT: "type": {
325 // CHECK-NEXT: "qualType": "void ()"
326 // CHECK-NEXT: },
327 // CHECK-NEXT: "virtual": true,
328 // CHECK-NEXT: "pure": true
329 // CHECK-NEXT: }
332 // CHECK-NOT: {{^}}Dumping
333 // CHECK: "kind": "CXXMethodDecl",
334 // CHECK-NEXT: "loc": {
335 // CHECK-NEXT: "offset": 343,
336 // CHECK-NEXT: "file": "{{.*}}",
337 // CHECK-NEXT: "line": 14,
338 // CHECK-NEXT: "col": 8,
339 // CHECK-NEXT: "tokLen": 5
340 // CHECK-NEXT: },
341 // CHECK-NEXT: "range": {
342 // CHECK-NEXT: "begin": {
343 // CHECK-NEXT: "offset": 338,
344 // CHECK-NEXT: "col": 3,
345 // CHECK-NEXT: "tokLen": 4
346 // CHECK-NEXT: },
347 // CHECK-NEXT: "end": {
348 // CHECK-NEXT: "offset": 367,
349 // CHECK-NEXT: "col": 32,
350 // CHECK-NEXT: "tokLen": 8
351 // CHECK-NEXT: }
352 // CHECK-NEXT: },
353 // CHECK-NEXT: "name": "Test6",
354 // CHECK-NEXT: "mangledName": "_ZN1T5Test6Efi",
355 // CHECK-NEXT: "type": {
356 // CHECK-NEXT: "qualType": "void (float, int)"
357 // CHECK-NEXT: },
358 // CHECK-NEXT: "inner": [
359 // CHECK-NEXT: {
360 // CHECK-NEXT: "id": "0x{{.*}}",
361 // CHECK-NEXT: "kind": "ParmVarDecl",
362 // CHECK-NEXT: "loc": {
363 // CHECK-NEXT: "offset": 354,
364 // CHECK-NEXT: "col": 19,
365 // CHECK-NEXT: "tokLen": 1
366 // CHECK-NEXT: },
367 // CHECK-NEXT: "range": {
368 // CHECK-NEXT: "begin": {
369 // CHECK-NEXT: "offset": 349,
370 // CHECK-NEXT: "col": 14,
371 // CHECK-NEXT: "tokLen": 5
372 // CHECK-NEXT: },
373 // CHECK-NEXT: "end": {
374 // CHECK-NEXT: "offset": 349,
375 // CHECK-NEXT: "col": 14,
376 // CHECK-NEXT: "tokLen": 5
377 // CHECK-NEXT: }
378 // CHECK-NEXT: },
379 // CHECK-NEXT: "type": {
380 // CHECK-NEXT: "qualType": "float"
381 // CHECK-NEXT: }
382 // CHECK-NEXT: },
383 // CHECK-NEXT: {
384 // CHECK-NEXT: "id": "0x{{.*}}",
385 // CHECK-NEXT: "kind": "ParmVarDecl",
386 // CHECK-NEXT: "loc": {
387 // CHECK-NEXT: "offset": 360,
388 // CHECK-NEXT: "col": 25,
389 // CHECK-NEXT: "tokLen": 1
390 // CHECK-NEXT: },
391 // CHECK-NEXT: "range": {
392 // CHECK-NEXT: "begin": {
393 // CHECK-NEXT: "offset": 356,
394 // CHECK-NEXT: "col": 21,
395 // CHECK-NEXT: "tokLen": 3
396 // CHECK-NEXT: },
397 // CHECK-NEXT: "end": {
398 // CHECK-NEXT: "offset": 362,
399 // CHECK-NEXT: "col": 27,
400 // CHECK-NEXT: "tokLen": 3
401 // CHECK-NEXT: }
402 // CHECK-NEXT: },
403 // CHECK-NEXT: "type": {
404 // CHECK-NEXT: "qualType": "int"
405 // CHECK-NEXT: },
406 // CHECK-NEXT: "init": "c",
407 // CHECK-NEXT: "inner": [
408 // CHECK-NEXT: {
409 // CHECK-NEXT: "id": "0x{{.*}}",
410 // CHECK-NEXT: "kind": "IntegerLiteral",
411 // CHECK-NEXT: "range": {
412 // CHECK-NEXT: "begin": {
413 // CHECK-NEXT: "offset": 362,
414 // CHECK-NEXT: "col": 27,
415 // CHECK-NEXT: "tokLen": 3
416 // CHECK-NEXT: },
417 // CHECK-NEXT: "end": {
418 // CHECK-NEXT: "offset": 362,
419 // CHECK-NEXT: "col": 27,
420 // CHECK-NEXT: "tokLen": 3
421 // CHECK-NEXT: }
422 // CHECK-NEXT: },
423 // CHECK-NEXT: "type": {
424 // CHECK-NEXT: "qualType": "int"
425 // CHECK-NEXT: },
426 // CHECK-NEXT: "valueCategory": "prvalue",
427 // CHECK-NEXT: "value": "100"
428 // CHECK-NEXT: }
429 // CHECK-NEXT: ]
430 // CHECK-NEXT: },
431 // CHECK-NEXT: {
432 // CHECK-NEXT: "id": "0x{{.*}}",
433 // CHECK-NEXT: "kind": "OverrideAttr",
434 // CHECK-NEXT: "range": {
435 // CHECK-NEXT: "begin": {
436 // CHECK-NEXT: "offset": 367,
437 // CHECK-NEXT: "col": 32,
438 // CHECK-NEXT: "tokLen": 8
439 // CHECK-NEXT: },
440 // CHECK-NEXT: "end": {
441 // CHECK-NEXT: "offset": 367,
442 // CHECK-NEXT: "col": 32,
443 // CHECK-NEXT: "tokLen": 8
444 // CHECK-NEXT: }
445 // CHECK-NEXT: }
446 // CHECK-NEXT: }
447 // CHECK-NEXT: ]
448 // CHECK-NEXT: }
451 // CHECK-NOT: {{^}}Dumping
452 // CHECK: "kind": "CXXMethodDecl",
453 // CHECK-NEXT: "loc": {
454 // CHECK-NEXT: "offset": 399,
455 // CHECK-NEXT: "file": "{{.*}}",
456 // CHECK-NEXT: "line": 18,
457 // CHECK-NEXT: "col": 8,
458 // CHECK-NEXT: "tokLen": 5
459 // CHECK-NEXT: },
460 // CHECK-NEXT: "range": {
461 // CHECK-NEXT: "begin": {
462 // CHECK-NEXT: "offset": 394,
463 // CHECK-NEXT: "col": 3,
464 // CHECK-NEXT: "tokLen": 4
465 // CHECK-NEXT: },
466 // CHECK-NEXT: "end": {
467 // CHECK-NEXT: "offset": 405,
468 // CHECK-NEXT: "col": 14,
469 // CHECK-NEXT: "tokLen": 1
470 // CHECK-NEXT: }
471 // CHECK-NEXT: },
472 // CHECK-NEXT: "name": "Test1",
473 // CHECK-NEXT: "mangledName": "_ZN1U5Test1Ev",
474 // CHECK-NEXT: "type": {
475 // CHECK-NEXT: "qualType": "void ()"
476 // CHECK-NEXT: }
477 // CHECK-NEXT: }
480 // CHECK-NOT: {{^}}Dumping
481 // CHECK: "kind": "CXXMethodDecl",
482 // CHECK-NEXT: "loc": {
483 // CHECK-NEXT: "offset": 419,
484 // CHECK-NEXT: "file": "{{.*}}",
485 // CHECK-NEXT: "line": 20,
486 // CHECK-NEXT: "col": 9,
487 // CHECK-NEXT: "tokLen": 5
488 // CHECK-NEXT: },
489 // CHECK-NEXT: "range": {
490 // CHECK-NEXT: "begin": {
491 // CHECK-NEXT: "offset": 411,
492 // CHECK-NEXT: "col": 1,
493 // CHECK-NEXT: "tokLen": 4
494 // CHECK-NEXT: },
495 // CHECK-NEXT: "end": {
496 // CHECK-NEXT: "offset": 428,
497 // CHECK-NEXT: "col": 18,
498 // CHECK-NEXT: "tokLen": 1
499 // CHECK-NEXT: }
500 // CHECK-NEXT: },
501 // CHECK-NEXT: "parentDeclContextId": "0x{{.*}}",
502 // CHECK-NEXT: "previousDecl": "0x{{.*}}",
503 // CHECK-NEXT: "name": "Test1",
504 // CHECK-NEXT: "mangledName": "_ZN1U5Test1Ev",
505 // CHECK-NEXT: "type": {
506 // CHECK-NEXT: "qualType": "void ()"
507 // CHECK-NEXT: },
508 // CHECK-NEXT: "inner": [
509 // CHECK-NEXT: {
510 // CHECK-NEXT: "id": "0x{{.*}}",
511 // CHECK-NEXT: "kind": "CompoundStmt",
512 // CHECK-NEXT: "range": {
513 // CHECK-NEXT: "begin": {
514 // CHECK-NEXT: "offset": 427,
515 // CHECK-NEXT: "col": 17,
516 // CHECK-NEXT: "tokLen": 1
517 // CHECK-NEXT: },
518 // CHECK-NEXT: "end": {
519 // CHECK-NEXT: "offset": 428,
520 // CHECK-NEXT: "col": 18,
521 // CHECK-NEXT: "tokLen": 1
522 // CHECK-NEXT: }
523 // CHECK-NEXT: }
524 // CHECK-NEXT: }
525 // CHECK-NEXT: ]
526 // CHECK-NEXT: }
529 // CHECK-NOT: {{^}}Dumping
530 // CHECK: "kind": "FunctionDecl",
531 // CHECK-NEXT: "loc": {
532 // CHECK-NEXT: "offset": 446,
533 // CHECK-NEXT: "file": "{{.*}}",
534 // CHECK-NEXT: "line": 22,
535 // CHECK-NEXT: "col": 6,
536 // CHECK-NEXT: "tokLen": 5
537 // CHECK-NEXT: },
538 // CHECK-NEXT: "range": {
539 // CHECK-NEXT: "begin": {
540 // CHECK-NEXT: "offset": 441,
541 // CHECK-NEXT: "col": 1,
542 // CHECK-NEXT: "tokLen": 4
543 // CHECK-NEXT: },
544 // CHECK-NEXT: "end": {
545 // CHECK-NEXT: "offset": 452,
546 // CHECK-NEXT: "col": 12,
547 // CHECK-NEXT: "tokLen": 1
548 // CHECK-NEXT: }
549 // CHECK-NEXT: },
550 // CHECK-NEXT: "isUsed": true,
551 // CHECK-NEXT: "name": "Test1",
552 // CHECK-NEXT: "mangledName": "_Z5Test1v",
553 // CHECK-NEXT: "type": {
554 // CHECK-NEXT: "qualType": "void ()"
555 // CHECK-NEXT: }
556 // CHECK-NEXT: }
559 // CHECK-NOT: {{^}}Dumping
560 // CHECK: "kind": "FunctionDecl",
561 // CHECK-NEXT: "loc": {
562 // CHECK-NEXT: "offset": 460,
563 // CHECK-NEXT: "file": "{{.*}}",
564 // CHECK-NEXT: "line": 23,
565 // CHECK-NEXT: "col": 6,
566 // CHECK-NEXT: "tokLen": 5
567 // CHECK-NEXT: },
568 // CHECK-NEXT: "range": {
569 // CHECK-NEXT: "begin": {
570 // CHECK-NEXT: "offset": 455,
571 // CHECK-NEXT: "col": 1,
572 // CHECK-NEXT: "tokLen": 4
573 // CHECK-NEXT: },
574 // CHECK-NEXT: "end": {
575 // CHECK-NEXT: "offset": 470,
576 // CHECK-NEXT: "col": 16,
577 // CHECK-NEXT: "tokLen": 1
578 // CHECK-NEXT: }
579 // CHECK-NEXT: },
580 // CHECK-NEXT: "name": "Test2",
581 // CHECK-NEXT: "mangledName": "_Z5Test2v",
582 // CHECK-NEXT: "type": {
583 // CHECK-NEXT: "qualType": "void ()"
584 // CHECK-NEXT: }
585 // CHECK-NEXT: }
588 // CHECK-NOT: {{^}}Dumping
589 // CHECK: "kind": "FunctionDecl",
590 // CHECK-NEXT: "loc": {
591 // CHECK-NEXT: "offset": 478,
592 // CHECK-NEXT: "file": "{{.*}}",
593 // CHECK-NEXT: "line": 24,
594 // CHECK-NEXT: "col": 6,
595 // CHECK-NEXT: "tokLen": 5
596 // CHECK-NEXT: },
597 // CHECK-NEXT: "range": {
598 // CHECK-NEXT: "begin": {
599 // CHECK-NEXT: "offset": 473,
600 // CHECK-NEXT: "col": 1,
601 // CHECK-NEXT: "tokLen": 4
602 // CHECK-NEXT: },
603 // CHECK-NEXT: "end": {
604 // CHECK-NEXT: "offset": 496,
605 // CHECK-NEXT: "col": 24,
606 // CHECK-NEXT: "tokLen": 1
607 // CHECK-NEXT: }
608 // CHECK-NEXT: },
609 // CHECK-NEXT: "name": "Test3",
610 // CHECK-NEXT: "mangledName": "_Z5Test3ii",
611 // CHECK-NEXT: "type": {
612 // CHECK-NEXT: "qualType": "void (int, int)"
613 // CHECK-NEXT: },
614 // CHECK-NEXT: "inner": [
615 // CHECK-NEXT: {
616 // CHECK-NEXT: "id": "0x{{.*}}",
617 // CHECK-NEXT: "kind": "ParmVarDecl",
618 // CHECK-NEXT: "loc": {
619 // CHECK-NEXT: "offset": 488,
620 // CHECK-NEXT: "col": 16,
621 // CHECK-NEXT: "tokLen": 1
622 // CHECK-NEXT: },
623 // CHECK-NEXT: "range": {
624 // CHECK-NEXT: "begin": {
625 // CHECK-NEXT: "offset": 484,
626 // CHECK-NEXT: "col": 12,
627 // CHECK-NEXT: "tokLen": 3
628 // CHECK-NEXT: },
629 // CHECK-NEXT: "end": {
630 // CHECK-NEXT: "offset": 488,
631 // CHECK-NEXT: "col": 16,
632 // CHECK-NEXT: "tokLen": 1
633 // CHECK-NEXT: }
634 // CHECK-NEXT: },
635 // CHECK-NEXT: "name": "a",
636 // CHECK-NEXT: "type": {
637 // CHECK-NEXT: "qualType": "int"
638 // CHECK-NEXT: }
639 // CHECK-NEXT: },
640 // CHECK-NEXT: {
641 // CHECK-NEXT: "id": "0x{{.*}}",
642 // CHECK-NEXT: "kind": "ParmVarDecl",
643 // CHECK-NEXT: "loc": {
644 // CHECK-NEXT: "offset": 495,
645 // CHECK-NEXT: "col": 23,
646 // CHECK-NEXT: "tokLen": 1
647 // CHECK-NEXT: },
648 // CHECK-NEXT: "range": {
649 // CHECK-NEXT: "begin": {
650 // CHECK-NEXT: "offset": 491,
651 // CHECK-NEXT: "col": 19,
652 // CHECK-NEXT: "tokLen": 3
653 // CHECK-NEXT: },
654 // CHECK-NEXT: "end": {
655 // CHECK-NEXT: "offset": 495,
656 // CHECK-NEXT: "col": 23,
657 // CHECK-NEXT: "tokLen": 1
658 // CHECK-NEXT: }
659 // CHECK-NEXT: },
660 // CHECK-NEXT: "name": "b",
661 // CHECK-NEXT: "type": {
662 // CHECK-NEXT: "qualType": "int"
663 // CHECK-NEXT: }
664 // CHECK-NEXT: }
665 // CHECK-NEXT: ]
666 // CHECK-NEXT: }
669 // CHECK-NOT: {{^}}Dumping
670 // CHECK: "kind": "FunctionDecl",
671 // CHECK-NEXT: "loc": {
672 // CHECK-NEXT: "offset": 504,
673 // CHECK-NEXT: "file": "{{.*}}",
674 // CHECK-NEXT: "line": 25,
675 // CHECK-NEXT: "col": 6,
676 // CHECK-NEXT: "tokLen": 5
677 // CHECK-NEXT: },
678 // CHECK-NEXT: "range": {
679 // CHECK-NEXT: "begin": {
680 // CHECK-NEXT: "offset": 499,
681 // CHECK-NEXT: "col": 1,
682 // CHECK-NEXT: "tokLen": 4
683 // CHECK-NEXT: },
684 // CHECK-NEXT: "end": {
685 // CHECK-NEXT: "offset": 527,
686 // CHECK-NEXT: "col": 29,
687 // CHECK-NEXT: "tokLen": 1
688 // CHECK-NEXT: }
689 // CHECK-NEXT: },
690 // CHECK-NEXT: "name": "Test4",
691 // CHECK-NEXT: "mangledName": "_Z5Test4ii",
692 // CHECK-NEXT: "type": {
693 // CHECK-NEXT: "qualType": "void (int, int)"
694 // CHECK-NEXT: },
695 // CHECK-NEXT: "inner": [
696 // CHECK-NEXT: {
697 // CHECK-NEXT: "id": "0x{{.*}}",
698 // CHECK-NEXT: "kind": "ParmVarDecl",
699 // CHECK-NEXT: "loc": {
700 // CHECK-NEXT: "offset": 514,
701 // CHECK-NEXT: "col": 16,
702 // CHECK-NEXT: "tokLen": 1
703 // CHECK-NEXT: },
704 // CHECK-NEXT: "range": {
705 // CHECK-NEXT: "begin": {
706 // CHECK-NEXT: "offset": 510,
707 // CHECK-NEXT: "col": 12,
708 // CHECK-NEXT: "tokLen": 3
709 // CHECK-NEXT: },
710 // CHECK-NEXT: "end": {
711 // CHECK-NEXT: "offset": 514,
712 // CHECK-NEXT: "col": 16,
713 // CHECK-NEXT: "tokLen": 1
714 // CHECK-NEXT: }
715 // CHECK-NEXT: },
716 // CHECK-NEXT: "name": "a",
717 // CHECK-NEXT: "type": {
718 // CHECK-NEXT: "qualType": "int"
719 // CHECK-NEXT: }
720 // CHECK-NEXT: },
721 // CHECK-NEXT: {
722 // CHECK-NEXT: "id": "0x{{.*}}",
723 // CHECK-NEXT: "kind": "ParmVarDecl",
724 // CHECK-NEXT: "loc": {
725 // CHECK-NEXT: "offset": 521,
726 // CHECK-NEXT: "col": 23,
727 // CHECK-NEXT: "tokLen": 1
728 // CHECK-NEXT: },
729 // CHECK-NEXT: "range": {
730 // CHECK-NEXT: "begin": {
731 // CHECK-NEXT: "offset": 517,
732 // CHECK-NEXT: "col": 19,
733 // CHECK-NEXT: "tokLen": 3
734 // CHECK-NEXT: },
735 // CHECK-NEXT: "end": {
736 // CHECK-NEXT: "offset": 525,
737 // CHECK-NEXT: "col": 27,
738 // CHECK-NEXT: "tokLen": 2
739 // CHECK-NEXT: }
740 // CHECK-NEXT: },
741 // CHECK-NEXT: "name": "b",
742 // CHECK-NEXT: "type": {
743 // CHECK-NEXT: "qualType": "int"
744 // CHECK-NEXT: },
745 // CHECK-NEXT: "init": "c",
746 // CHECK-NEXT: "inner": [
747 // CHECK-NEXT: {
748 // CHECK-NEXT: "id": "0x{{.*}}",
749 // CHECK-NEXT: "kind": "IntegerLiteral",
750 // CHECK-NEXT: "range": {
751 // CHECK-NEXT: "begin": {
752 // CHECK-NEXT: "offset": 525,
753 // CHECK-NEXT: "col": 27,
754 // CHECK-NEXT: "tokLen": 2
755 // CHECK-NEXT: },
756 // CHECK-NEXT: "end": {
757 // CHECK-NEXT: "offset": 525,
758 // CHECK-NEXT: "col": 27,
759 // CHECK-NEXT: "tokLen": 2
760 // CHECK-NEXT: }
761 // CHECK-NEXT: },
762 // CHECK-NEXT: "type": {
763 // CHECK-NEXT: "qualType": "int"
764 // CHECK-NEXT: },
765 // CHECK-NEXT: "valueCategory": "prvalue",
766 // CHECK-NEXT: "value": "12"
767 // CHECK-NEXT: }
768 // CHECK-NEXT: ]
769 // CHECK-NEXT: }
770 // CHECK-NEXT: ]
771 // CHECK-NEXT: }
774 // CHECK-NOT: {{^}}Dumping
775 // CHECK: "kind": "FunctionDecl",
776 // CHECK-NEXT: "loc": {
777 // CHECK-NEXT: "offset": 545,
778 // CHECK-NEXT: "file": "{{.*}}",
779 // CHECK-NEXT: "line": 26,
780 // CHECK-NEXT: "col": 16,
781 // CHECK-NEXT: "tokLen": 5
782 // CHECK-NEXT: },
783 // CHECK-NEXT: "range": {
784 // CHECK-NEXT: "begin": {
785 // CHECK-NEXT: "offset": 530,
786 // CHECK-NEXT: "col": 1,
787 // CHECK-NEXT: "tokLen": 9
788 // CHECK-NEXT: },
789 // CHECK-NEXT: "end": {
790 // CHECK-NEXT: "offset": 555,
791 // CHECK-NEXT: "col": 26,
792 // CHECK-NEXT: "tokLen": 1
793 // CHECK-NEXT: }
794 // CHECK-NEXT: },
795 // CHECK-NEXT: "name": "Test5",
796 // CHECK-NEXT: "mangledName": "_Z5Test5v",
797 // CHECK-NEXT: "type": {
798 // CHECK-NEXT: "qualType": "void ()"
799 // CHECK-NEXT: },
800 // CHECK-NEXT: "constexpr": true
801 // CHECK-NEXT: }
804 // CHECK-NOT: {{^}}Dumping
805 // CHECK: "kind": "FunctionDecl",
806 // CHECK-NEXT: "loc": {
807 // CHECK-NEXT: "offset": 570,
808 // CHECK-NEXT: "file": "{{.*}}",
809 // CHECK-NEXT: "line": 27,
810 // CHECK-NEXT: "col": 13,
811 // CHECK-NEXT: "tokLen": 5
812 // CHECK-NEXT: },
813 // CHECK-NEXT: "range": {
814 // CHECK-NEXT: "begin": {
815 // CHECK-NEXT: "offset": 558,
816 // CHECK-NEXT: "col": 1,
817 // CHECK-NEXT: "tokLen": 6
818 // CHECK-NEXT: },
819 // CHECK-NEXT: "end": {
820 // CHECK-NEXT: "offset": 580,
821 // CHECK-NEXT: "col": 23,
822 // CHECK-NEXT: "tokLen": 1
823 // CHECK-NEXT: }
824 // CHECK-NEXT: },
825 // CHECK-NEXT: "name": "Test6",
826 // CHECK-NEXT: "mangledName": "_ZL5Test6v",
827 // CHECK-NEXT: "type": {
828 // CHECK-NEXT: "qualType": "void ()"
829 // CHECK-NEXT: },
830 // CHECK-NEXT: "storageClass": "static"
831 // CHECK-NEXT: }
834 // CHECK-NOT: {{^}}Dumping
835 // CHECK: "kind": "FunctionDecl",
836 // CHECK-NEXT: "loc": {
837 // CHECK-NEXT: "offset": 595,
838 // CHECK-NEXT: "file": "{{.*}}",
839 // CHECK-NEXT: "line": 28,
840 // CHECK-NEXT: "col": 13,
841 // CHECK-NEXT: "tokLen": 5
842 // CHECK-NEXT: },
843 // CHECK-NEXT: "range": {
844 // CHECK-NEXT: "begin": {
845 // CHECK-NEXT: "offset": 583,
846 // CHECK-NEXT: "col": 1,
847 // CHECK-NEXT: "tokLen": 6
848 // CHECK-NEXT: },
849 // CHECK-NEXT: "end": {
850 // CHECK-NEXT: "offset": 605,
851 // CHECK-NEXT: "col": 23,
852 // CHECK-NEXT: "tokLen": 1
853 // CHECK-NEXT: }
854 // CHECK-NEXT: },
855 // CHECK-NEXT: "name": "Test7",
856 // CHECK-NEXT: "mangledName": "_Z5Test7v",
857 // CHECK-NEXT: "type": {
858 // CHECK-NEXT: "qualType": "void ()"
859 // CHECK-NEXT: },
860 // CHECK-NEXT: "storageClass": "extern"
861 // CHECK-NEXT: }
864 // CHECK-NOT: {{^}}Dumping
865 // CHECK: "kind": "FunctionDecl",
866 // CHECK-NEXT: "loc": {
867 // CHECK-NEXT: "offset": 620,
868 // CHECK-NEXT: "file": "{{.*}}",
869 // CHECK-NEXT: "line": 29,
870 // CHECK-NEXT: "col": 13,
871 // CHECK-NEXT: "tokLen": 5
872 // CHECK-NEXT: },
873 // CHECK-NEXT: "range": {
874 // CHECK-NEXT: "begin": {
875 // CHECK-NEXT: "offset": 608,
876 // CHECK-NEXT: "col": 1,
877 // CHECK-NEXT: "tokLen": 6
878 // CHECK-NEXT: },
879 // CHECK-NEXT: "end": {
880 // CHECK-NEXT: "offset": 630,
881 // CHECK-NEXT: "col": 23,
882 // CHECK-NEXT: "tokLen": 1
883 // CHECK-NEXT: }
884 // CHECK-NEXT: },
885 // CHECK-NEXT: "name": "Test8",
886 // CHECK-NEXT: "mangledName": "_Z5Test8v",
887 // CHECK-NEXT: "type": {
888 // CHECK-NEXT: "qualType": "void ()"
889 // CHECK-NEXT: },
890 // CHECK-NEXT: "inline": true
891 // CHECK-NEXT: }
894 // CHECK-NOT: {{^}}Dumping
895 // CHECK: "kind": "FunctionDecl",
896 // CHECK-NEXT: "loc": {
897 // CHECK-NEXT: "offset": 638,
898 // CHECK-NEXT: "file": "{{.*}}",
899 // CHECK-NEXT: "line": 30,
900 // CHECK-NEXT: "col": 6,
901 // CHECK-NEXT: "tokLen": 5
902 // CHECK-NEXT: },
903 // CHECK-NEXT: "range": {
904 // CHECK-NEXT: "begin": {
905 // CHECK-NEXT: "offset": 633,
906 // CHECK-NEXT: "col": 1,
907 // CHECK-NEXT: "tokLen": 4
908 // CHECK-NEXT: },
909 // CHECK-NEXT: "end": {
910 // CHECK-NEXT: "offset": 650,
911 // CHECK-NEXT: "col": 18,
912 // CHECK-NEXT: "tokLen": 8
913 // CHECK-NEXT: }
914 // CHECK-NEXT: },
915 // CHECK-NEXT: "name": "Test9",
916 // CHECK-NEXT: "mangledName": "_Z5Test9v",
917 // CHECK-NEXT: "type": {
918 // CHECK-NEXT: "qualType": "void () noexcept"
919 // CHECK-NEXT: }
920 // CHECK-NEXT: }
923 // CHECK-NOT: {{^}}Dumping
924 // CHECK: "kind": "FunctionDecl",
925 // CHECK-NEXT: "loc": {
926 // CHECK-NEXT: "offset": 665,
927 // CHECK-NEXT: "file": "{{.*}}",
928 // CHECK-NEXT: "line": 31,
929 // CHECK-NEXT: "col": 6,
930 // CHECK-NEXT: "tokLen": 6
931 // CHECK-NEXT: },
932 // CHECK-NEXT: "range": {
933 // CHECK-NEXT: "begin": {
934 // CHECK-NEXT: "offset": 660,
935 // CHECK-NEXT: "col": 1,
936 // CHECK-NEXT: "tokLen": 4
937 // CHECK-NEXT: },
938 // CHECK-NEXT: "end": {
939 // CHECK-NEXT: "offset": 692,
940 // CHECK-NEXT: "col": 33,
941 // CHECK-NEXT: "tokLen": 1
942 // CHECK-NEXT: }
943 // CHECK-NEXT: },
944 // CHECK-NEXT: "name": "Test10",
945 // CHECK-NEXT: "mangledName": "_Z6Test10v",
946 // CHECK-NEXT: "type": {
947 // CHECK-NEXT: "qualType": "void () noexcept(false)"
948 // CHECK-NEXT: }
949 // CHECK-NEXT: }
952 // CHECK-NOT: {{^}}Dumping
953 // CHECK: "kind": "FunctionDecl",
954 // CHECK-NEXT: "loc": {
955 // CHECK-NEXT: "offset": 700,
956 // CHECK-NEXT: "file": "{{.*}}",
957 // CHECK-NEXT: "line": 32,
958 // CHECK-NEXT: "col": 6,
959 // CHECK-NEXT: "tokLen": 6
960 // CHECK-NEXT: },
961 // CHECK-NEXT: "range": {
962 // CHECK-NEXT: "begin": {
963 // CHECK-NEXT: "offset": 695,
964 // CHECK-NEXT: "col": 1,
965 // CHECK-NEXT: "tokLen": 4
966 // CHECK-NEXT: },
967 // CHECK-NEXT: "end": {
968 // CHECK-NEXT: "offset": 723,
969 // CHECK-NEXT: "col": 29,
970 // CHECK-NEXT: "tokLen": 1
971 // CHECK-NEXT: }
972 // CHECK-NEXT: },
973 // CHECK-NEXT: "name": "Test11",
974 // CHECK-NEXT: "mangledName": "_Z6Test11v",
975 // CHECK-NEXT: "type": {
976 // CHECK-NEXT: "qualType": "void () noexcept(1)"
977 // CHECK-NEXT: }
978 // CHECK-NEXT: }
981 // CHECK-NOT: {{^}}Dumping
982 // CHECK: "kind": "FunctionTemplateDecl",
983 // CHECK-NEXT: "loc": {
984 // CHECK-NEXT: "offset": 751,
985 // CHECK-NEXT: "file": "{{.*}}",
986 // CHECK-NEXT: "line": 35,
987 // CHECK-NEXT: "col": 3,
988 // CHECK-NEXT: "tokLen": 6
989 // CHECK-NEXT: },
990 // CHECK-NEXT: "range": {
991 // CHECK-NEXT: "begin": {
992 // CHECK-NEXT: "offset": 727,
993 // CHECK-NEXT: "line": 34,
994 // CHECK-NEXT: "col": 1,
995 // CHECK-NEXT: "tokLen": 8
996 // CHECK-NEXT: },
997 // CHECK-NEXT: "end": {
998 // CHECK-NEXT: "offset": 760,
999 // CHECK-NEXT: "line": 35,
1000 // CHECK-NEXT: "col": 12,
1001 // CHECK-NEXT: "tokLen": 1
1002 // CHECK-NEXT: }
1003 // CHECK-NEXT: },
1004 // CHECK-NEXT: "name": "Test12",
1005 // CHECK-NEXT: "inner": [
1006 // CHECK-NEXT: {
1007 // CHECK-NEXT: "id": "0x{{.*}}",
1008 // CHECK-NEXT: "kind": "TemplateTypeParmDecl",
1009 // CHECK-NEXT: "loc": {
1010 // CHECK-NEXT: "offset": 746,
1011 // CHECK-NEXT: "line": 34,
1012 // CHECK-NEXT: "col": 20,
1013 // CHECK-NEXT: "tokLen": 1
1014 // CHECK-NEXT: },
1015 // CHECK-NEXT: "range": {
1016 // CHECK-NEXT: "begin": {
1017 // CHECK-NEXT: "offset": 737,
1018 // CHECK-NEXT: "col": 11,
1019 // CHECK-NEXT: "tokLen": 8
1020 // CHECK-NEXT: },
1021 // CHECK-NEXT: "end": {
1022 // CHECK-NEXT: "offset": 746,
1023 // CHECK-NEXT: "col": 20,
1024 // CHECK-NEXT: "tokLen": 1
1025 // CHECK-NEXT: }
1026 // CHECK-NEXT: },
1027 // CHECK-NEXT: "isReferenced": true,
1028 // CHECK-NEXT: "name": "T",
1029 // CHECK-NEXT: "tagUsed": "typename",
1030 // CHECK-NEXT: "depth": 0,
1031 // CHECK-NEXT: "index": 0
1032 // CHECK-NEXT: },
1033 // CHECK-NEXT: {
1034 // CHECK-NEXT: "id": "0x{{.*}}",
1035 // CHECK-NEXT: "kind": "FunctionDecl",
1036 // CHECK-NEXT: "loc": {
1037 // CHECK-NEXT: "offset": 751,
1038 // CHECK-NEXT: "line": 35,
1039 // CHECK-NEXT: "col": 3,
1040 // CHECK-NEXT: "tokLen": 6
1041 // CHECK-NEXT: },
1042 // CHECK-NEXT: "range": {
1043 // CHECK-NEXT: "begin": {
1044 // CHECK-NEXT: "offset": 749,
1045 // CHECK-NEXT: "col": 1,
1046 // CHECK-NEXT: "tokLen": 1
1047 // CHECK-NEXT: },
1048 // CHECK-NEXT: "end": {
1049 // CHECK-NEXT: "offset": 760,
1050 // CHECK-NEXT: "col": 12,
1051 // CHECK-NEXT: "tokLen": 1
1052 // CHECK-NEXT: }
1053 // CHECK-NEXT: },
1054 // CHECK-NEXT: "name": "Test12",
1055 // CHECK-NEXT: "type": {
1056 // CHECK-NEXT: "qualType": "T (T &)"
1057 // CHECK-NEXT: },
1058 // CHECK-NEXT: "inner": [
1059 // CHECK-NEXT: {
1060 // CHECK-NEXT: "id": "0x{{.*}}",
1061 // CHECK-NEXT: "kind": "ParmVarDecl",
1062 // CHECK-NEXT: "loc": {
1063 // CHECK-NEXT: "offset": 760,
1064 // CHECK-NEXT: "col": 12,
1065 // CHECK-NEXT: "tokLen": 1
1066 // CHECK-NEXT: },
1067 // CHECK-NEXT: "range": {
1068 // CHECK-NEXT: "begin": {
1069 // CHECK-NEXT: "offset": 758,
1070 // CHECK-NEXT: "col": 10,
1071 // CHECK-NEXT: "tokLen": 1
1072 // CHECK-NEXT: },
1073 // CHECK-NEXT: "end": {
1074 // CHECK-NEXT: "offset": 759,
1075 // CHECK-NEXT: "col": 11,
1076 // CHECK-NEXT: "tokLen": 1
1077 // CHECK-NEXT: }
1078 // CHECK-NEXT: },
1079 // CHECK-NEXT: "type": {
1080 // CHECK-NEXT: "qualType": "T &"
1081 // CHECK-NEXT: }
1082 // CHECK-NEXT: }
1083 // CHECK-NEXT: ]
1084 // CHECK-NEXT: }
1085 // CHECK-NEXT: ]
1086 // CHECK-NEXT: }
1089 // CHECK-NOT: {{^}}Dumping
1090 // CHECK: "kind": "FunctionDecl",
1091 // CHECK-NEXT: "loc": {
1092 // CHECK-NEXT: "offset": 769,
1093 // CHECK-NEXT: "file": "{{.*}}",
1094 // CHECK-NEXT: "line": 37,
1095 // CHECK-NEXT: "col": 6,
1096 // CHECK-NEXT: "tokLen": 6
1097 // CHECK-NEXT: },
1098 // CHECK-NEXT: "range": {
1099 // CHECK-NEXT: "begin": {
1100 // CHECK-NEXT: "offset": 764,
1101 // CHECK-NEXT: "col": 1,
1102 // CHECK-NEXT: "tokLen": 4
1103 // CHECK-NEXT: },
1104 // CHECK-NEXT: "end": {
1105 // CHECK-NEXT: "offset": 782,
1106 // CHECK-NEXT: "col": 19,
1107 // CHECK-NEXT: "tokLen": 1
1108 // CHECK-NEXT: }
1109 // CHECK-NEXT: },
1110 // CHECK-NEXT: "name": "Test13",
1111 // CHECK-NEXT: "mangledName": "_Z6Test13i",
1112 // CHECK-NEXT: "type": {
1113 // CHECK-NEXT: "qualType": "void (int)"
1114 // CHECK-NEXT: },
1115 // CHECK-NEXT: "inner": [
1116 // CHECK-NEXT: {
1117 // CHECK-NEXT: "id": "0x{{.*}}",
1118 // CHECK-NEXT: "kind": "ParmVarDecl",
1119 // CHECK-NEXT: "loc": {
1120 // CHECK-NEXT: "offset": 779,
1121 // CHECK-NEXT: "col": 16,
1122 // CHECK-NEXT: "tokLen": 1
1123 // CHECK-NEXT: },
1124 // CHECK-NEXT: "range": {
1125 // CHECK-NEXT: "begin": {
1126 // CHECK-NEXT: "offset": 776,
1127 // CHECK-NEXT: "col": 13,
1128 // CHECK-NEXT: "tokLen": 3
1129 // CHECK-NEXT: },
1130 // CHECK-NEXT: "end": {
1131 // CHECK-NEXT: "offset": 776,
1132 // CHECK-NEXT: "col": 13,
1133 // CHECK-NEXT: "tokLen": 3
1134 // CHECK-NEXT: }
1135 // CHECK-NEXT: },
1136 // CHECK-NEXT: "type": {
1137 // CHECK-NEXT: "qualType": "int"
1138 // CHECK-NEXT: }
1139 // CHECK-NEXT: },
1140 // CHECK-NEXT: {
1141 // CHECK-NEXT: "id": "0x{{.*}}",
1142 // CHECK-NEXT: "kind": "CompoundStmt",
1143 // CHECK-NEXT: "range": {
1144 // CHECK-NEXT: "begin": {
1145 // CHECK-NEXT: "offset": 781,
1146 // CHECK-NEXT: "col": 18,
1147 // CHECK-NEXT: "tokLen": 1
1148 // CHECK-NEXT: },
1149 // CHECK-NEXT: "end": {
1150 // CHECK-NEXT: "offset": 782,
1151 // CHECK-NEXT: "col": 19,
1152 // CHECK-NEXT: "tokLen": 1
1153 // CHECK-NEXT: }
1154 // CHECK-NEXT: }
1155 // CHECK-NEXT: }
1156 // CHECK-NEXT: ]
1157 // CHECK-NEXT: }
1160 // CHECK-NOT: {{^}}Dumping
1161 // CHECK: "kind": "FunctionDecl",
1162 // CHECK-NEXT: "loc": {
1163 // CHECK-NEXT: "offset": 789,
1164 // CHECK-NEXT: "file": "{{.*}}",
1165 // CHECK-NEXT: "line": 38,
1166 // CHECK-NEXT: "col": 6,
1167 // CHECK-NEXT: "tokLen": 6
1168 // CHECK-NEXT: },
1169 // CHECK-NEXT: "range": {
1170 // CHECK-NEXT: "begin": {
1171 // CHECK-NEXT: "offset": 784,
1172 // CHECK-NEXT: "col": 1,
1173 // CHECK-NEXT: "tokLen": 4
1174 // CHECK-NEXT: },
1175 // CHECK-NEXT: "end": {
1176 // CHECK-NEXT: "offset": 807,
1177 // CHECK-NEXT: "col": 24,
1178 // CHECK-NEXT: "tokLen": 1
1179 // CHECK-NEXT: }
1180 // CHECK-NEXT: },
1181 // CHECK-NEXT: "name": "Test14",
1182 // CHECK-NEXT: "mangledName": "_Z6Test14iz",
1183 // CHECK-NEXT: "type": {
1184 // CHECK-NEXT: "qualType": "void (int, ...)"
1185 // CHECK-NEXT: },
1186 // CHECK-NEXT: "variadic": true,
1187 // CHECK-NEXT: "inner": [
1188 // CHECK-NEXT: {
1189 // CHECK-NEXT: "id": "0x{{.*}}",
1190 // CHECK-NEXT: "kind": "ParmVarDecl",
1191 // CHECK-NEXT: "loc": {
1192 // CHECK-NEXT: "offset": 799,
1193 // CHECK-NEXT: "col": 16,
1194 // CHECK-NEXT: "tokLen": 1
1195 // CHECK-NEXT: },
1196 // CHECK-NEXT: "range": {
1197 // CHECK-NEXT: "begin": {
1198 // CHECK-NEXT: "offset": 796,
1199 // CHECK-NEXT: "col": 13,
1200 // CHECK-NEXT: "tokLen": 3
1201 // CHECK-NEXT: },
1202 // CHECK-NEXT: "end": {
1203 // CHECK-NEXT: "offset": 796,
1204 // CHECK-NEXT: "col": 13,
1205 // CHECK-NEXT: "tokLen": 3
1206 // CHECK-NEXT: }
1207 // CHECK-NEXT: },
1208 // CHECK-NEXT: "type": {
1209 // CHECK-NEXT: "qualType": "int"
1210 // CHECK-NEXT: }
1211 // CHECK-NEXT: },
1212 // CHECK-NEXT: {
1213 // CHECK-NEXT: "id": "0x{{.*}}",
1214 // CHECK-NEXT: "kind": "CompoundStmt",
1215 // CHECK-NEXT: "range": {
1216 // CHECK-NEXT: "begin": {
1217 // CHECK-NEXT: "offset": 806,
1218 // CHECK-NEXT: "col": 23,
1219 // CHECK-NEXT: "tokLen": 1
1220 // CHECK-NEXT: },
1221 // CHECK-NEXT: "end": {
1222 // CHECK-NEXT: "offset": 807,
1223 // CHECK-NEXT: "col": 24,
1224 // CHECK-NEXT: "tokLen": 1
1225 // CHECK-NEXT: }
1226 // CHECK-NEXT: }
1227 // CHECK-NEXT: }
1228 // CHECK-NEXT: ]
1229 // CHECK-NEXT: }
1232 // CHECK-NOT: {{^}}Dumping
1233 // CHECK: "kind": "ClassTemplateDecl",
1234 // CHECK-NEXT: "loc": {
1235 // CHECK-NEXT: "offset": 905,
1236 // CHECK-NEXT: "file": "{{.*}}",
1237 // CHECK-NEXT: "line": 45,
1238 // CHECK-NEXT: "col": 8,
1239 // CHECK-NEXT: "tokLen": 11
1240 // CHECK-NEXT: },
1241 // CHECK-NEXT: "range": {
1242 // CHECK-NEXT: "begin": {
1243 // CHECK-NEXT: "offset": 872,
1244 // CHECK-NEXT: "line": 44,
1245 // CHECK-NEXT: "col": 1,
1246 // CHECK-NEXT: "tokLen": 8
1247 // CHECK-NEXT: },
1248 // CHECK-NEXT: "end": {
1249 // CHECK-NEXT: "offset": 937,
1250 // CHECK-NEXT: "line": 47,
1251 // CHECK-NEXT: "col": 1,
1252 // CHECK-NEXT: "tokLen": 1
1253 // CHECK-NEXT: }
1254 // CHECK-NEXT: },
1255 // CHECK-NEXT: "name": "TestFriends",
1256 // CHECK-NEXT: "inner": [
1257 // CHECK-NEXT: {
1258 // CHECK-NEXT: "id": "0x{{.*}}",
1259 // CHECK-NEXT: "kind": "TemplateTypeParmDecl",
1260 // CHECK-NEXT: "loc": {
1261 // CHECK-NEXT: "offset": 894,
1262 // CHECK-NEXT: "line": 44,
1263 // CHECK-NEXT: "col": 23,
1264 // CHECK-NEXT: "tokLen": 2
1265 // CHECK-NEXT: },
1266 // CHECK-NEXT: "range": {
1267 // CHECK-NEXT: "begin": {
1268 // CHECK-NEXT: "offset": 882,
1269 // CHECK-NEXT: "col": 11,
1270 // CHECK-NEXT: "tokLen": 8
1271 // CHECK-NEXT: },
1272 // CHECK-NEXT: "end": {
1273 // CHECK-NEXT: "offset": 894,
1274 // CHECK-NEXT: "col": 23,
1275 // CHECK-NEXT: "tokLen": 2
1276 // CHECK-NEXT: }
1277 // CHECK-NEXT: },
1278 // CHECK-NEXT: "isReferenced": true,
1279 // CHECK-NEXT: "name": "Ts",
1280 // CHECK-NEXT: "tagUsed": "typename",
1281 // CHECK-NEXT: "depth": 0,
1282 // CHECK-NEXT: "index": 0,
1283 // CHECK-NEXT: "isParameterPack": true
1284 // CHECK-NEXT: },
1285 // CHECK-NEXT: {
1286 // CHECK-NEXT: "id": "0x{{.*}}",
1287 // CHECK-NEXT: "kind": "CXXRecordDecl",
1288 // CHECK-NEXT: "loc": {
1289 // CHECK-NEXT: "offset": 905,
1290 // CHECK-NEXT: "line": 45,
1291 // CHECK-NEXT: "col": 8,
1292 // CHECK-NEXT: "tokLen": 11
1293 // CHECK-NEXT: },
1294 // CHECK-NEXT: "range": {
1295 // CHECK-NEXT: "begin": {
1296 // CHECK-NEXT: "offset": 898,
1297 // CHECK-NEXT: "col": 1,
1298 // CHECK-NEXT: "tokLen": 6
1299 // CHECK-NEXT: },
1300 // CHECK-NEXT: "end": {
1301 // CHECK-NEXT: "offset": 937,
1302 // CHECK-NEXT: "line": 47,
1303 // CHECK-NEXT: "col": 1,
1304 // CHECK-NEXT: "tokLen": 1
1305 // CHECK-NEXT: }
1306 // CHECK-NEXT: },
1307 // CHECK-NEXT: "name": "TestFriends",
1308 // CHECK-NEXT: "tagUsed": "struct",
1309 // CHECK-NEXT: "completeDefinition": true,
1310 // CHECK-NEXT: "definitionData": {
1311 // CHECK-NEXT: "canConstDefaultInit": true,
1312 // CHECK-NEXT: "copyAssign": {
1313 // CHECK-NEXT: "hasConstParam": true,
1314 // CHECK-NEXT: "implicitHasConstParam": true,
1315 // CHECK-NEXT: "needsImplicit": true,
1316 // CHECK-NEXT: "simple": true,
1317 // CHECK-NEXT: "trivial": true
1318 // CHECK-NEXT: },
1319 // CHECK-NEXT: "copyCtor": {
1320 // CHECK-NEXT: "hasConstParam": true,
1321 // CHECK-NEXT: "implicitHasConstParam": true,
1322 // CHECK-NEXT: "needsImplicit": true,
1323 // CHECK-NEXT: "simple": true,
1324 // CHECK-NEXT: "trivial": true
1325 // CHECK-NEXT: },
1326 // CHECK-NEXT: "defaultCtor": {
1327 // CHECK-NEXT: "defaultedIsConstexpr": true,
1328 // CHECK-NEXT: "exists": true,
1329 // CHECK-NEXT: "isConstexpr": true,
1330 // CHECK-NEXT: "needsImplicit": true,
1331 // CHECK-NEXT: "trivial": true
1332 // CHECK-NEXT: },
1333 // CHECK-NEXT: "dtor": {
1334 // CHECK-NEXT: "irrelevant": true,
1335 // CHECK-NEXT: "needsImplicit": true,
1336 // CHECK-NEXT: "simple": true,
1337 // CHECK-NEXT: "trivial": true
1338 // CHECK-NEXT: },
1339 // CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true,
1340 // CHECK-NEXT: "isAggregate": true,
1341 // CHECK-NEXT: "isEmpty": true,
1342 // CHECK-NEXT: "isLiteral": true,
1343 // CHECK-NEXT: "isPOD": true,
1344 // CHECK-NEXT: "isStandardLayout": true,
1345 // CHECK-NEXT: "isTrivial": true,
1346 // CHECK-NEXT: "isTriviallyCopyable": true,
1347 // CHECK-NEXT: "moveAssign": {
1348 // CHECK-NEXT: "exists": true,
1349 // CHECK-NEXT: "needsImplicit": true,
1350 // CHECK-NEXT: "simple": true,
1351 // CHECK-NEXT: "trivial": true
1352 // CHECK-NEXT: },
1353 // CHECK-NEXT: "moveCtor": {
1354 // CHECK-NEXT: "exists": true,
1355 // CHECK-NEXT: "needsImplicit": true,
1356 // CHECK-NEXT: "simple": true,
1357 // CHECK-NEXT: "trivial": true
1358 // CHECK-NEXT: }
1359 // CHECK-NEXT: },
1360 // CHECK-NEXT: "inner": [
1361 // CHECK-NEXT: {
1362 // CHECK-NEXT: "id": "0x{{.*}}",
1363 // CHECK-NEXT: "kind": "CXXRecordDecl",
1364 // CHECK-NEXT: "loc": {
1365 // CHECK-NEXT: "offset": 905,
1366 // CHECK-NEXT: "line": 45,
1367 // CHECK-NEXT: "col": 8,
1368 // CHECK-NEXT: "tokLen": 11
1369 // CHECK-NEXT: },
1370 // CHECK-NEXT: "range": {
1371 // CHECK-NEXT: "begin": {
1372 // CHECK-NEXT: "offset": 898,
1373 // CHECK-NEXT: "col": 1,
1374 // CHECK-NEXT: "tokLen": 6
1375 // CHECK-NEXT: },
1376 // CHECK-NEXT: "end": {
1377 // CHECK-NEXT: "offset": 905,
1378 // CHECK-NEXT: "col": 8,
1379 // CHECK-NEXT: "tokLen": 11
1380 // CHECK-NEXT: }
1381 // CHECK-NEXT: },
1382 // CHECK-NEXT: "isImplicit": true,
1383 // CHECK-NEXT: "name": "TestFriends",
1384 // CHECK-NEXT: "tagUsed": "struct"
1385 // CHECK-NEXT: },
1386 // CHECK-NEXT: {
1387 // CHECK-NEXT: "id": "0x{{.*}}",
1388 // CHECK-NEXT: "kind": "FriendDecl",
1389 // CHECK-NEXT: "loc": {
1390 // CHECK-NEXT: "offset": 930,
1391 // CHECK-NEXT: "line": 46,
1392 // CHECK-NEXT: "col": 12,
1393 // CHECK-NEXT: "tokLen": 2
1394 // CHECK-NEXT: },
1395 // CHECK-NEXT: "range": {
1396 // CHECK-NEXT: "begin": {
1397 // CHECK-NEXT: "offset": 923,
1398 // CHECK-NEXT: "col": 5,
1399 // CHECK-NEXT: "tokLen": 6
1400 // CHECK-NEXT: },
1401 // CHECK-NEXT: "end": {
1402 // CHECK-NEXT: "offset": 932,
1403 // CHECK-NEXT: "col": 14,
1404 // CHECK-NEXT: "tokLen": 3
1405 // CHECK-NEXT: }
1406 // CHECK-NEXT: },
1407 // CHECK-NEXT: "type": {
1408 // CHECK-NEXT: "qualType": "Ts"
1409 // CHECK-NEXT: },
1410 // CHECK-NEXT: "isPackExpansion": true
1411 // CHECK-NEXT: }
1412 // CHECK-NEXT: ]
1413 // CHECK-NEXT: }
1414 // CHECK-NEXT: ]
1415 // CHECK-NEXT: }