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