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