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