1 // RUN: %clang_cc1 -triple x86_64-unknown-unknown -std=c++17 -ast-dump=json %s | FileCheck %s 2 3 struct A; 4 struct B; 5 6 struct A { 7 int a; 8 int b, c; 9 int d : 12; 10 int : 0; 11 int e : 10; 12 B *f; 13 }; 14 15 struct C { 16 struct { 17 int a; 18 } b; 19 20 union { 21 int c; 22 float d; 23 }; 24 25 struct { 26 int e, f; 27 }; 28 }; 29 30 struct D { 31 int a; 32 int b[10]; 33 int c[]; 34 }; 35 36 union E; 37 38 union F; 39 40 union E { 41 int a; 42 int b, c; 43 int d : 12; 44 int : 0; 45 int e : 10; 46 B *f; 47 }; 48 49 union G { 50 struct { 51 int a; 52 } b; 53 54 union { 55 int c; 56 float d; 57 }; 58 59 struct { 60 int e, f; 61 }; 62 }; 63 64 struct Base1 {}; 65 struct Base2 {}; 66 struct Base3 {}; 67 68 struct Derived1 : Base1 { 69 }; 70 71 struct Derived2 : private Base1 { 72 }; 73 74 struct Derived3 : virtual Base1 { 75 }; 76 77 struct Derived4 : Base1, virtual Base2, protected Base3 { 78 }; 79 80 struct Derived5 : protected virtual Base1 { 81 }; 82 83 template <typename... Bases> 84 struct Derived6 : virtual public Bases... { 85 }; 86 87 88 // CHECK: "kind": "CXXRecordDecl", 89 // CHECK-NEXT: "loc": { 90 // CHECK-NEXT: "col": 8, 91 // CHECK-NEXT: "file": "{{.*}}", 92 // CHECK-NEXT: "line": 3 93 // CHECK-NEXT: }, 94 // CHECK-NEXT: "range": { 95 // CHECK-NEXT: "begin": { 96 // CHECK-NEXT: "col": 1, 97 // CHECK-NEXT: "file": "{{.*}}", 98 // CHECK-NEXT: "line": 3 99 // CHECK-NEXT: }, 100 // CHECK-NEXT: "end": { 101 // CHECK-NEXT: "col": 8, 102 // CHECK-NEXT: "file": "{{.*}}", 103 // CHECK-NEXT: "line": 3 104 // CHECK-NEXT: } 105 // CHECK-NEXT: }, 106 // CHECK-NEXT: "name": "A", 107 // CHECK-NEXT: "tagUsed": "struct" 108 // CHECK-NEXT: } 109 110 111 // CHECK: "kind": "CXXRecordDecl", 112 // CHECK-NEXT: "loc": { 113 // CHECK-NEXT: "col": 8, 114 // CHECK-NEXT: "file": "{{.*}}", 115 // CHECK-NEXT: "line": 4 116 // CHECK-NEXT: }, 117 // CHECK-NEXT: "range": { 118 // CHECK-NEXT: "begin": { 119 // CHECK-NEXT: "col": 1, 120 // CHECK-NEXT: "file": "{{.*}}", 121 // CHECK-NEXT: "line": 4 122 // CHECK-NEXT: }, 123 // CHECK-NEXT: "end": { 124 // CHECK-NEXT: "col": 8, 125 // CHECK-NEXT: "file": "{{.*}}", 126 // CHECK-NEXT: "line": 4 127 // CHECK-NEXT: } 128 // CHECK-NEXT: }, 129 // CHECK-NEXT: "isReferenced": true, 130 // CHECK-NEXT: "name": "B", 131 // CHECK-NEXT: "tagUsed": "struct" 132 // CHECK-NEXT: } 133 134 135 // CHECK: "kind": "CXXRecordDecl", 136 // CHECK-NEXT: "loc": { 137 // CHECK-NEXT: "col": 8, 138 // CHECK-NEXT: "file": "{{.*}}", 139 // CHECK-NEXT: "line": 6 140 // CHECK-NEXT: }, 141 // CHECK-NEXT: "range": { 142 // CHECK-NEXT: "begin": { 143 // CHECK-NEXT: "col": 1, 144 // CHECK-NEXT: "file": "{{.*}}", 145 // CHECK-NEXT: "line": 6 146 // CHECK-NEXT: }, 147 // CHECK-NEXT: "end": { 148 // CHECK-NEXT: "col": 1, 149 // CHECK-NEXT: "file": "{{.*}}", 150 // CHECK-NEXT: "line": 13 151 // CHECK-NEXT: } 152 // CHECK-NEXT: }, 153 // CHECK-NEXT: "previousDecl": "0x{{.*}}", 154 // CHECK-NEXT: "name": "A", 155 // CHECK-NEXT: "tagUsed": "struct", 156 // CHECK-NEXT: "completeDefinition": true, 157 // CHECK-NEXT: "definitionData": { 158 // CHECK-NEXT: "canPassInRegisters": true, 159 // CHECK-NEXT: "copyAssign": { 160 // CHECK-NEXT: "hasConstParam": true, 161 // CHECK-NEXT: "implicitHasConstParam": true, 162 // CHECK-NEXT: "needsImplicit": true, 163 // CHECK-NEXT: "trivial": true 164 // CHECK-NEXT: }, 165 // CHECK-NEXT: "copyCtor": { 166 // CHECK-NEXT: "hasConstParam": true, 167 // CHECK-NEXT: "implicitHasConstParam": true, 168 // CHECK-NEXT: "needsImplicit": true, 169 // CHECK-NEXT: "simple": true, 170 // CHECK-NEXT: "trivial": true 171 // CHECK-NEXT: }, 172 // CHECK-NEXT: "defaultCtor": { 173 // CHECK-NEXT: "exists": true, 174 // CHECK-NEXT: "needsImplicit": true, 175 // CHECK-NEXT: "trivial": true 176 // CHECK-NEXT: }, 177 // CHECK-NEXT: "dtor": { 178 // CHECK-NEXT: "irrelevant": true, 179 // CHECK-NEXT: "needsImplicit": true, 180 // CHECK-NEXT: "simple": true, 181 // CHECK-NEXT: "trivial": true 182 // CHECK-NEXT: }, 183 // CHECK-NEXT: "isAggregate": true, 184 // CHECK-NEXT: "isLiteral": true, 185 // CHECK-NEXT: "isPOD": true, 186 // CHECK-NEXT: "isStandardLayout": true, 187 // CHECK-NEXT: "isTrivial": true, 188 // CHECK-NEXT: "isTriviallyCopyable": true, 189 // CHECK-NEXT: "moveAssign": { 190 // CHECK-NEXT: "exists": true, 191 // CHECK-NEXT: "needsImplicit": true, 192 // CHECK-NEXT: "simple": true, 193 // CHECK-NEXT: "trivial": true 194 // CHECK-NEXT: }, 195 // CHECK-NEXT: "moveCtor": { 196 // CHECK-NEXT: "exists": true, 197 // CHECK-NEXT: "needsImplicit": true, 198 // CHECK-NEXT: "simple": true, 199 // CHECK-NEXT: "trivial": true 200 // CHECK-NEXT: } 201 // CHECK-NEXT: }, 202 // CHECK-NEXT: "inner": [ 203 // CHECK-NEXT: { 204 // CHECK-NEXT: "id": "0x{{.*}}", 205 // CHECK-NEXT: "kind": "CXXRecordDecl", 206 // CHECK-NEXT: "loc": { 207 // CHECK-NEXT: "col": 8, 208 // CHECK-NEXT: "file": "{{.*}}", 209 // CHECK-NEXT: "line": 6 210 // CHECK-NEXT: }, 211 // CHECK-NEXT: "range": { 212 // CHECK-NEXT: "begin": { 213 // CHECK-NEXT: "col": 1, 214 // CHECK-NEXT: "file": "{{.*}}", 215 // CHECK-NEXT: "line": 6 216 // CHECK-NEXT: }, 217 // CHECK-NEXT: "end": { 218 // CHECK-NEXT: "col": 8, 219 // CHECK-NEXT: "file": "{{.*}}", 220 // CHECK-NEXT: "line": 6 221 // CHECK-NEXT: } 222 // CHECK-NEXT: }, 223 // CHECK-NEXT: "isImplicit": true, 224 // CHECK-NEXT: "name": "A", 225 // CHECK-NEXT: "tagUsed": "struct" 226 // CHECK-NEXT: }, 227 // CHECK-NEXT: { 228 // CHECK-NEXT: "id": "0x{{.*}}", 229 // CHECK-NEXT: "kind": "FieldDecl", 230 // CHECK-NEXT: "loc": { 231 // CHECK-NEXT: "col": 7, 232 // CHECK-NEXT: "file": "{{.*}}", 233 // CHECK-NEXT: "line": 7 234 // CHECK-NEXT: }, 235 // CHECK-NEXT: "range": { 236 // CHECK-NEXT: "begin": { 237 // CHECK-NEXT: "col": 3, 238 // CHECK-NEXT: "file": "{{.*}}", 239 // CHECK-NEXT: "line": 7 240 // CHECK-NEXT: }, 241 // CHECK-NEXT: "end": { 242 // CHECK-NEXT: "col": 7, 243 // CHECK-NEXT: "file": "{{.*}}", 244 // CHECK-NEXT: "line": 7 245 // CHECK-NEXT: } 246 // CHECK-NEXT: }, 247 // CHECK-NEXT: "name": "a", 248 // CHECK-NEXT: "type": { 249 // CHECK-NEXT: "qualType": "int" 250 // CHECK-NEXT: } 251 // CHECK-NEXT: }, 252 // CHECK-NEXT: { 253 // CHECK-NEXT: "id": "0x{{.*}}", 254 // CHECK-NEXT: "kind": "FieldDecl", 255 // CHECK-NEXT: "loc": { 256 // CHECK-NEXT: "col": 7, 257 // CHECK-NEXT: "file": "{{.*}}", 258 // CHECK-NEXT: "line": 8 259 // CHECK-NEXT: }, 260 // CHECK-NEXT: "range": { 261 // CHECK-NEXT: "begin": { 262 // CHECK-NEXT: "col": 3, 263 // CHECK-NEXT: "file": "{{.*}}", 264 // CHECK-NEXT: "line": 8 265 // CHECK-NEXT: }, 266 // CHECK-NEXT: "end": { 267 // CHECK-NEXT: "col": 7, 268 // CHECK-NEXT: "file": "{{.*}}", 269 // CHECK-NEXT: "line": 8 270 // CHECK-NEXT: } 271 // CHECK-NEXT: }, 272 // CHECK-NEXT: "name": "b", 273 // CHECK-NEXT: "type": { 274 // CHECK-NEXT: "qualType": "int" 275 // CHECK-NEXT: } 276 // CHECK-NEXT: }, 277 // CHECK-NEXT: { 278 // CHECK-NEXT: "id": "0x{{.*}}", 279 // CHECK-NEXT: "kind": "FieldDecl", 280 // CHECK-NEXT: "loc": { 281 // CHECK-NEXT: "col": 10, 282 // CHECK-NEXT: "file": "{{.*}}", 283 // CHECK-NEXT: "line": 8 284 // CHECK-NEXT: }, 285 // CHECK-NEXT: "range": { 286 // CHECK-NEXT: "begin": { 287 // CHECK-NEXT: "col": 3, 288 // CHECK-NEXT: "file": "{{.*}}", 289 // CHECK-NEXT: "line": 8 290 // CHECK-NEXT: }, 291 // CHECK-NEXT: "end": { 292 // CHECK-NEXT: "col": 10, 293 // CHECK-NEXT: "file": "{{.*}}", 294 // CHECK-NEXT: "line": 8 295 // CHECK-NEXT: } 296 // CHECK-NEXT: }, 297 // CHECK-NEXT: "name": "c", 298 // CHECK-NEXT: "type": { 299 // CHECK-NEXT: "qualType": "int" 300 // CHECK-NEXT: } 301 // CHECK-NEXT: }, 302 // CHECK-NEXT: { 303 // CHECK-NEXT: "id": "0x{{.*}}", 304 // CHECK-NEXT: "kind": "FieldDecl", 305 // CHECK-NEXT: "loc": { 306 // CHECK-NEXT: "col": 7, 307 // CHECK-NEXT: "file": "{{.*}}", 308 // CHECK-NEXT: "line": 9 309 // CHECK-NEXT: }, 310 // CHECK-NEXT: "range": { 311 // CHECK-NEXT: "begin": { 312 // CHECK-NEXT: "col": 3, 313 // CHECK-NEXT: "file": "{{.*}}", 314 // CHECK-NEXT: "line": 9 315 // CHECK-NEXT: }, 316 // CHECK-NEXT: "end": { 317 // CHECK-NEXT: "col": 11, 318 // CHECK-NEXT: "file": "{{.*}}", 319 // CHECK-NEXT: "line": 9 320 // CHECK-NEXT: } 321 // CHECK-NEXT: }, 322 // CHECK-NEXT: "name": "d", 323 // CHECK-NEXT: "type": { 324 // CHECK-NEXT: "qualType": "int" 325 // CHECK-NEXT: }, 326 // CHECK-NEXT: "isBitfield": true, 327 // CHECK-NEXT: "inner": [ 328 // CHECK-NEXT: { 329 // CHECK-NEXT: "id": "0x{{.*}}", 330 // CHECK-NEXT: "kind": "ConstantExpr", 331 // CHECK-NEXT: "range": { 332 // CHECK-NEXT: "begin": { 333 // CHECK-NEXT: "col": 11, 334 // CHECK-NEXT: "file": "{{.*}}", 335 // CHECK-NEXT: "line": 9 336 // CHECK-NEXT: }, 337 // CHECK-NEXT: "end": { 338 // CHECK-NEXT: "col": 11, 339 // CHECK-NEXT: "file": "{{.*}}", 340 // CHECK-NEXT: "line": 9 341 // CHECK-NEXT: } 342 // CHECK-NEXT: }, 343 // CHECK-NEXT: "type": { 344 // CHECK-NEXT: "qualType": "int" 345 // CHECK-NEXT: }, 346 // CHECK-NEXT: "valueCategory": "rvalue", 347 // CHECK-NEXT: "value": "12", 348 // CHECK-NEXT: "inner": [ 349 // CHECK-NEXT: { 350 // CHECK-NEXT: "id": "0x{{.*}}", 351 // CHECK-NEXT: "kind": "IntegerLiteral", 352 // CHECK-NEXT: "range": { 353 // CHECK-NEXT: "begin": { 354 // CHECK-NEXT: "col": 11, 355 // CHECK-NEXT: "file": "{{.*}}", 356 // CHECK-NEXT: "line": 9 357 // CHECK-NEXT: }, 358 // CHECK-NEXT: "end": { 359 // CHECK-NEXT: "col": 11, 360 // CHECK-NEXT: "file": "{{.*}}", 361 // CHECK-NEXT: "line": 9 362 // CHECK-NEXT: } 363 // CHECK-NEXT: }, 364 // CHECK-NEXT: "type": { 365 // CHECK-NEXT: "qualType": "int" 366 // CHECK-NEXT: }, 367 // CHECK-NEXT: "valueCategory": "rvalue", 368 // CHECK-NEXT: "value": "12" 369 // CHECK-NEXT: } 370 // CHECK-NEXT: ] 371 // CHECK-NEXT: } 372 // CHECK-NEXT: ] 373 // CHECK-NEXT: }, 374 // CHECK-NEXT: { 375 // CHECK-NEXT: "id": "0x{{.*}}", 376 // CHECK-NEXT: "kind": "FieldDecl", 377 // CHECK-NEXT: "loc": { 378 // CHECK-NEXT: "col": 7, 379 // CHECK-NEXT: "file": "{{.*}}", 380 // CHECK-NEXT: "line": 10 381 // CHECK-NEXT: }, 382 // CHECK-NEXT: "range": { 383 // CHECK-NEXT: "begin": { 384 // CHECK-NEXT: "col": 3, 385 // CHECK-NEXT: "file": "{{.*}}", 386 // CHECK-NEXT: "line": 10 387 // CHECK-NEXT: }, 388 // CHECK-NEXT: "end": { 389 // CHECK-NEXT: "col": 9, 390 // CHECK-NEXT: "file": "{{.*}}", 391 // CHECK-NEXT: "line": 10 392 // CHECK-NEXT: } 393 // CHECK-NEXT: }, 394 // CHECK-NEXT: "type": { 395 // CHECK-NEXT: "qualType": "int" 396 // CHECK-NEXT: }, 397 // CHECK-NEXT: "isBitfield": true, 398 // CHECK-NEXT: "inner": [ 399 // CHECK-NEXT: { 400 // CHECK-NEXT: "id": "0x{{.*}}", 401 // CHECK-NEXT: "kind": "ConstantExpr", 402 // CHECK-NEXT: "range": { 403 // CHECK-NEXT: "begin": { 404 // CHECK-NEXT: "col": 9, 405 // CHECK-NEXT: "file": "{{.*}}", 406 // CHECK-NEXT: "line": 10 407 // CHECK-NEXT: }, 408 // CHECK-NEXT: "end": { 409 // CHECK-NEXT: "col": 9, 410 // CHECK-NEXT: "file": "{{.*}}", 411 // CHECK-NEXT: "line": 10 412 // CHECK-NEXT: } 413 // CHECK-NEXT: }, 414 // CHECK-NEXT: "type": { 415 // CHECK-NEXT: "qualType": "int" 416 // CHECK-NEXT: }, 417 // CHECK-NEXT: "valueCategory": "rvalue", 418 // CHECK-NEXT: "value": "0", 419 // CHECK-NEXT: "inner": [ 420 // CHECK-NEXT: { 421 // CHECK-NEXT: "id": "0x{{.*}}", 422 // CHECK-NEXT: "kind": "IntegerLiteral", 423 // CHECK-NEXT: "range": { 424 // CHECK-NEXT: "begin": { 425 // CHECK-NEXT: "col": 9, 426 // CHECK-NEXT: "file": "{{.*}}", 427 // CHECK-NEXT: "line": 10 428 // CHECK-NEXT: }, 429 // CHECK-NEXT: "end": { 430 // CHECK-NEXT: "col": 9, 431 // CHECK-NEXT: "file": "{{.*}}", 432 // CHECK-NEXT: "line": 10 433 // CHECK-NEXT: } 434 // CHECK-NEXT: }, 435 // CHECK-NEXT: "type": { 436 // CHECK-NEXT: "qualType": "int" 437 // CHECK-NEXT: }, 438 // CHECK-NEXT: "valueCategory": "rvalue", 439 // CHECK-NEXT: "value": "0" 440 // CHECK-NEXT: } 441 // CHECK-NEXT: ] 442 // CHECK-NEXT: } 443 // CHECK-NEXT: ] 444 // CHECK-NEXT: }, 445 // CHECK-NEXT: { 446 // CHECK-NEXT: "id": "0x{{.*}}", 447 // CHECK-NEXT: "kind": "FieldDecl", 448 // CHECK-NEXT: "loc": { 449 // CHECK-NEXT: "col": 7, 450 // CHECK-NEXT: "file": "{{.*}}", 451 // CHECK-NEXT: "line": 11 452 // CHECK-NEXT: }, 453 // CHECK-NEXT: "range": { 454 // CHECK-NEXT: "begin": { 455 // CHECK-NEXT: "col": 3, 456 // CHECK-NEXT: "file": "{{.*}}", 457 // CHECK-NEXT: "line": 11 458 // CHECK-NEXT: }, 459 // CHECK-NEXT: "end": { 460 // CHECK-NEXT: "col": 11, 461 // CHECK-NEXT: "file": "{{.*}}", 462 // CHECK-NEXT: "line": 11 463 // CHECK-NEXT: } 464 // CHECK-NEXT: }, 465 // CHECK-NEXT: "name": "e", 466 // CHECK-NEXT: "type": { 467 // CHECK-NEXT: "qualType": "int" 468 // CHECK-NEXT: }, 469 // CHECK-NEXT: "isBitfield": true, 470 // CHECK-NEXT: "inner": [ 471 // CHECK-NEXT: { 472 // CHECK-NEXT: "id": "0x{{.*}}", 473 // CHECK-NEXT: "kind": "ConstantExpr", 474 // CHECK-NEXT: "range": { 475 // CHECK-NEXT: "begin": { 476 // CHECK-NEXT: "col": 11, 477 // CHECK-NEXT: "file": "{{.*}}", 478 // CHECK-NEXT: "line": 11 479 // CHECK-NEXT: }, 480 // CHECK-NEXT: "end": { 481 // CHECK-NEXT: "col": 11, 482 // CHECK-NEXT: "file": "{{.*}}", 483 // CHECK-NEXT: "line": 11 484 // CHECK-NEXT: } 485 // CHECK-NEXT: }, 486 // CHECK-NEXT: "type": { 487 // CHECK-NEXT: "qualType": "int" 488 // CHECK-NEXT: }, 489 // CHECK-NEXT: "valueCategory": "rvalue", 490 // CHECK-NEXT: "value": "10", 491 // CHECK-NEXT: "inner": [ 492 // CHECK-NEXT: { 493 // CHECK-NEXT: "id": "0x{{.*}}", 494 // CHECK-NEXT: "kind": "IntegerLiteral", 495 // CHECK-NEXT: "range": { 496 // CHECK-NEXT: "begin": { 497 // CHECK-NEXT: "col": 11, 498 // CHECK-NEXT: "file": "{{.*}}", 499 // CHECK-NEXT: "line": 11 500 // CHECK-NEXT: }, 501 // CHECK-NEXT: "end": { 502 // CHECK-NEXT: "col": 11, 503 // CHECK-NEXT: "file": "{{.*}}", 504 // CHECK-NEXT: "line": 11 505 // CHECK-NEXT: } 506 // CHECK-NEXT: }, 507 // CHECK-NEXT: "type": { 508 // CHECK-NEXT: "qualType": "int" 509 // CHECK-NEXT: }, 510 // CHECK-NEXT: "valueCategory": "rvalue", 511 // CHECK-NEXT: "value": "10" 512 // CHECK-NEXT: } 513 // CHECK-NEXT: ] 514 // CHECK-NEXT: } 515 // CHECK-NEXT: ] 516 // CHECK-NEXT: }, 517 // CHECK-NEXT: { 518 // CHECK-NEXT: "id": "0x{{.*}}", 519 // CHECK-NEXT: "kind": "FieldDecl", 520 // CHECK-NEXT: "loc": { 521 // CHECK-NEXT: "col": 6, 522 // CHECK-NEXT: "file": "{{.*}}", 523 // CHECK-NEXT: "line": 12 524 // CHECK-NEXT: }, 525 // CHECK-NEXT: "range": { 526 // CHECK-NEXT: "begin": { 527 // CHECK-NEXT: "col": 3, 528 // CHECK-NEXT: "file": "{{.*}}", 529 // CHECK-NEXT: "line": 12 530 // CHECK-NEXT: }, 531 // CHECK-NEXT: "end": { 532 // CHECK-NEXT: "col": 6, 533 // CHECK-NEXT: "file": "{{.*}}", 534 // CHECK-NEXT: "line": 12 535 // CHECK-NEXT: } 536 // CHECK-NEXT: }, 537 // CHECK-NEXT: "name": "f", 538 // CHECK-NEXT: "type": { 539 // CHECK-NEXT: "qualType": "B *" 540 // CHECK-NEXT: } 541 // CHECK-NEXT: } 542 // CHECK-NEXT: ] 543 // CHECK-NEXT: } 544 545 546 // CHECK: "kind": "CXXRecordDecl", 547 // CHECK-NEXT: "loc": { 548 // CHECK-NEXT: "col": 8, 549 // CHECK-NEXT: "file": "{{.*}}", 550 // CHECK-NEXT: "line": 15 551 // CHECK-NEXT: }, 552 // CHECK-NEXT: "range": { 553 // CHECK-NEXT: "begin": { 554 // CHECK-NEXT: "col": 1, 555 // CHECK-NEXT: "file": "{{.*}}", 556 // CHECK-NEXT: "line": 15 557 // CHECK-NEXT: }, 558 // CHECK-NEXT: "end": { 559 // CHECK-NEXT: "col": 1, 560 // CHECK-NEXT: "file": "{{.*}}", 561 // CHECK-NEXT: "line": 28 562 // CHECK-NEXT: } 563 // CHECK-NEXT: }, 564 // CHECK-NEXT: "name": "C", 565 // CHECK-NEXT: "tagUsed": "struct", 566 // CHECK-NEXT: "completeDefinition": true, 567 // CHECK-NEXT: "definitionData": { 568 // CHECK-NEXT: "canPassInRegisters": true, 569 // CHECK-NEXT: "copyAssign": { 570 // CHECK-NEXT: "hasConstParam": true, 571 // CHECK-NEXT: "implicitHasConstParam": true, 572 // CHECK-NEXT: "needsImplicit": true, 573 // CHECK-NEXT: "trivial": true 574 // CHECK-NEXT: }, 575 // CHECK-NEXT: "copyCtor": { 576 // CHECK-NEXT: "hasConstParam": true, 577 // CHECK-NEXT: "implicitHasConstParam": true, 578 // CHECK-NEXT: "needsImplicit": true, 579 // CHECK-NEXT: "simple": true, 580 // CHECK-NEXT: "trivial": true 581 // CHECK-NEXT: }, 582 // CHECK-NEXT: "defaultCtor": { 583 // CHECK-NEXT: "exists": true, 584 // CHECK-NEXT: "needsImplicit": true, 585 // CHECK-NEXT: "trivial": true 586 // CHECK-NEXT: }, 587 // CHECK-NEXT: "dtor": { 588 // CHECK-NEXT: "irrelevant": true, 589 // CHECK-NEXT: "needsImplicit": true, 590 // CHECK-NEXT: "simple": true, 591 // CHECK-NEXT: "trivial": true 592 // CHECK-NEXT: }, 593 // CHECK-NEXT: "hasVariantMembers": true, 594 // CHECK-NEXT: "isAggregate": true, 595 // CHECK-NEXT: "isLiteral": true, 596 // CHECK-NEXT: "isPOD": true, 597 // CHECK-NEXT: "isStandardLayout": true, 598 // CHECK-NEXT: "isTrivial": true, 599 // CHECK-NEXT: "isTriviallyCopyable": true, 600 // CHECK-NEXT: "moveAssign": { 601 // CHECK-NEXT: "exists": true, 602 // CHECK-NEXT: "needsImplicit": true, 603 // CHECK-NEXT: "simple": true, 604 // CHECK-NEXT: "trivial": true 605 // CHECK-NEXT: }, 606 // CHECK-NEXT: "moveCtor": { 607 // CHECK-NEXT: "exists": true, 608 // CHECK-NEXT: "needsImplicit": true, 609 // CHECK-NEXT: "simple": true, 610 // CHECK-NEXT: "trivial": true 611 // CHECK-NEXT: } 612 // CHECK-NEXT: }, 613 // CHECK-NEXT: "inner": [ 614 // CHECK-NEXT: { 615 // CHECK-NEXT: "id": "0x{{.*}}", 616 // CHECK-NEXT: "kind": "CXXRecordDecl", 617 // CHECK-NEXT: "loc": { 618 // CHECK-NEXT: "col": 8, 619 // CHECK-NEXT: "file": "{{.*}}", 620 // CHECK-NEXT: "line": 15 621 // CHECK-NEXT: }, 622 // CHECK-NEXT: "range": { 623 // CHECK-NEXT: "begin": { 624 // CHECK-NEXT: "col": 1, 625 // CHECK-NEXT: "file": "{{.*}}", 626 // CHECK-NEXT: "line": 15 627 // CHECK-NEXT: }, 628 // CHECK-NEXT: "end": { 629 // CHECK-NEXT: "col": 8, 630 // CHECK-NEXT: "file": "{{.*}}", 631 // CHECK-NEXT: "line": 15 632 // CHECK-NEXT: } 633 // CHECK-NEXT: }, 634 // CHECK-NEXT: "isImplicit": true, 635 // CHECK-NEXT: "name": "C", 636 // CHECK-NEXT: "tagUsed": "struct" 637 // CHECK-NEXT: }, 638 // CHECK-NEXT: { 639 // CHECK-NEXT: "id": "0x{{.*}}", 640 // CHECK-NEXT: "kind": "CXXRecordDecl", 641 // CHECK-NEXT: "loc": { 642 // CHECK-NEXT: "col": 3, 643 // CHECK-NEXT: "file": "{{.*}}", 644 // CHECK-NEXT: "line": 16 645 // CHECK-NEXT: }, 646 // CHECK-NEXT: "range": { 647 // CHECK-NEXT: "begin": { 648 // CHECK-NEXT: "col": 3, 649 // CHECK-NEXT: "file": "{{.*}}", 650 // CHECK-NEXT: "line": 16 651 // CHECK-NEXT: }, 652 // CHECK-NEXT: "end": { 653 // CHECK-NEXT: "col": 3, 654 // CHECK-NEXT: "file": "{{.*}}", 655 // CHECK-NEXT: "line": 18 656 // CHECK-NEXT: } 657 // CHECK-NEXT: }, 658 // CHECK-NEXT: "tagUsed": "struct", 659 // CHECK-NEXT: "completeDefinition": true, 660 // CHECK-NEXT: "definitionData": { 661 // CHECK-NEXT: "canPassInRegisters": true, 662 // CHECK-NEXT: "copyAssign": { 663 // CHECK-NEXT: "hasConstParam": true, 664 // CHECK-NEXT: "implicitHasConstParam": true, 665 // CHECK-NEXT: "needsImplicit": true, 666 // CHECK-NEXT: "trivial": true 667 // CHECK-NEXT: }, 668 // CHECK-NEXT: "copyCtor": { 669 // CHECK-NEXT: "hasConstParam": true, 670 // CHECK-NEXT: "implicitHasConstParam": true, 671 // CHECK-NEXT: "needsImplicit": true, 672 // CHECK-NEXT: "simple": true, 673 // CHECK-NEXT: "trivial": true 674 // CHECK-NEXT: }, 675 // CHECK-NEXT: "defaultCtor": { 676 // CHECK-NEXT: "exists": true, 677 // CHECK-NEXT: "needsImplicit": true, 678 // CHECK-NEXT: "trivial": true 679 // CHECK-NEXT: }, 680 // CHECK-NEXT: "dtor": { 681 // CHECK-NEXT: "irrelevant": true, 682 // CHECK-NEXT: "needsImplicit": true, 683 // CHECK-NEXT: "simple": true, 684 // CHECK-NEXT: "trivial": true 685 // CHECK-NEXT: }, 686 // CHECK-NEXT: "isAggregate": true, 687 // CHECK-NEXT: "isLiteral": true, 688 // CHECK-NEXT: "isPOD": true, 689 // CHECK-NEXT: "isStandardLayout": true, 690 // CHECK-NEXT: "isTrivial": true, 691 // CHECK-NEXT: "isTriviallyCopyable": true, 692 // CHECK-NEXT: "moveAssign": { 693 // CHECK-NEXT: "exists": true, 694 // CHECK-NEXT: "needsImplicit": true, 695 // CHECK-NEXT: "simple": true, 696 // CHECK-NEXT: "trivial": true 697 // CHECK-NEXT: }, 698 // CHECK-NEXT: "moveCtor": { 699 // CHECK-NEXT: "exists": true, 700 // CHECK-NEXT: "needsImplicit": true, 701 // CHECK-NEXT: "simple": true, 702 // CHECK-NEXT: "trivial": true 703 // CHECK-NEXT: } 704 // CHECK-NEXT: }, 705 // CHECK-NEXT: "inner": [ 706 // CHECK-NEXT: { 707 // CHECK-NEXT: "id": "0x{{.*}}", 708 // CHECK-NEXT: "kind": "FieldDecl", 709 // CHECK-NEXT: "loc": { 710 // CHECK-NEXT: "col": 9, 711 // CHECK-NEXT: "file": "{{.*}}", 712 // CHECK-NEXT: "line": 17 713 // CHECK-NEXT: }, 714 // CHECK-NEXT: "range": { 715 // CHECK-NEXT: "begin": { 716 // CHECK-NEXT: "col": 5, 717 // CHECK-NEXT: "file": "{{.*}}", 718 // CHECK-NEXT: "line": 17 719 // CHECK-NEXT: }, 720 // CHECK-NEXT: "end": { 721 // CHECK-NEXT: "col": 9, 722 // CHECK-NEXT: "file": "{{.*}}", 723 // CHECK-NEXT: "line": 17 724 // CHECK-NEXT: } 725 // CHECK-NEXT: }, 726 // CHECK-NEXT: "name": "a", 727 // CHECK-NEXT: "type": { 728 // CHECK-NEXT: "qualType": "int" 729 // CHECK-NEXT: } 730 // CHECK-NEXT: } 731 // CHECK-NEXT: ] 732 // CHECK-NEXT: }, 733 // CHECK-NEXT: { 734 // CHECK-NEXT: "id": "0x{{.*}}", 735 // CHECK-NEXT: "kind": "FieldDecl", 736 // CHECK-NEXT: "loc": { 737 // CHECK-NEXT: "col": 5, 738 // CHECK-NEXT: "file": "{{.*}}", 739 // CHECK-NEXT: "line": 18 740 // CHECK-NEXT: }, 741 // CHECK-NEXT: "range": { 742 // CHECK-NEXT: "begin": { 743 // CHECK-NEXT: "col": 3, 744 // CHECK-NEXT: "file": "{{.*}}", 745 // CHECK-NEXT: "line": 16 746 // CHECK-NEXT: }, 747 // CHECK-NEXT: "end": { 748 // CHECK-NEXT: "col": 5, 749 // CHECK-NEXT: "file": "{{.*}}", 750 // CHECK-NEXT: "line": 18 751 // CHECK-NEXT: } 752 // CHECK-NEXT: }, 753 // CHECK-NEXT: "name": "b", 754 // CHECK-NEXT: "type": { 755 // CHECK-NEXT: "desugaredQualType": "C::(anonymous struct at {{.*}}:16:3)", 756 // CHECK-NEXT: "qualType": "struct (anonymous struct at {{.*}}:16:3)" 757 // CHECK-NEXT: } 758 // CHECK-NEXT: }, 759 // CHECK-NEXT: { 760 // CHECK-NEXT: "id": "0x{{.*}}", 761 // CHECK-NEXT: "kind": "CXXRecordDecl", 762 // CHECK-NEXT: "loc": { 763 // CHECK-NEXT: "col": 3, 764 // CHECK-NEXT: "file": "{{.*}}", 765 // CHECK-NEXT: "line": 20 766 // CHECK-NEXT: }, 767 // CHECK-NEXT: "range": { 768 // CHECK-NEXT: "begin": { 769 // CHECK-NEXT: "col": 3, 770 // CHECK-NEXT: "file": "{{.*}}", 771 // CHECK-NEXT: "line": 20 772 // CHECK-NEXT: }, 773 // CHECK-NEXT: "end": { 774 // CHECK-NEXT: "col": 3, 775 // CHECK-NEXT: "file": "{{.*}}", 776 // CHECK-NEXT: "line": 23 777 // CHECK-NEXT: } 778 // CHECK-NEXT: }, 779 // CHECK-NEXT: "tagUsed": "union", 780 // CHECK-NEXT: "completeDefinition": true, 781 // CHECK-NEXT: "definitionData": { 782 // CHECK-NEXT: "canPassInRegisters": true, 783 // CHECK-NEXT: "copyAssign": { 784 // CHECK-NEXT: "hasConstParam": true, 785 // CHECK-NEXT: "implicitHasConstParam": true, 786 // CHECK-NEXT: "needsImplicit": true, 787 // CHECK-NEXT: "trivial": true 788 // CHECK-NEXT: }, 789 // CHECK-NEXT: "copyCtor": { 790 // CHECK-NEXT: "hasConstParam": true, 791 // CHECK-NEXT: "implicitHasConstParam": true, 792 // CHECK-NEXT: "needsImplicit": true, 793 // CHECK-NEXT: "simple": true, 794 // CHECK-NEXT: "trivial": true 795 // CHECK-NEXT: }, 796 // CHECK-NEXT: "defaultCtor": { 797 // CHECK-NEXT: "exists": true, 798 // CHECK-NEXT: "needsImplicit": true, 799 // CHECK-NEXT: "trivial": true 800 // CHECK-NEXT: }, 801 // CHECK-NEXT: "dtor": { 802 // CHECK-NEXT: "irrelevant": true, 803 // CHECK-NEXT: "needsImplicit": true, 804 // CHECK-NEXT: "simple": true, 805 // CHECK-NEXT: "trivial": true 806 // CHECK-NEXT: }, 807 // CHECK-NEXT: "hasVariantMembers": true, 808 // CHECK-NEXT: "isAggregate": true, 809 // CHECK-NEXT: "isLiteral": true, 810 // CHECK-NEXT: "isPOD": true, 811 // CHECK-NEXT: "isStandardLayout": true, 812 // CHECK-NEXT: "isTrivial": true, 813 // CHECK-NEXT: "isTriviallyCopyable": true, 814 // CHECK-NEXT: "moveAssign": { 815 // CHECK-NEXT: "exists": true, 816 // CHECK-NEXT: "needsImplicit": true, 817 // CHECK-NEXT: "simple": true, 818 // CHECK-NEXT: "trivial": true 819 // CHECK-NEXT: }, 820 // CHECK-NEXT: "moveCtor": { 821 // CHECK-NEXT: "exists": true, 822 // CHECK-NEXT: "needsImplicit": true, 823 // CHECK-NEXT: "simple": true, 824 // CHECK-NEXT: "trivial": true 825 // CHECK-NEXT: } 826 // CHECK-NEXT: }, 827 // CHECK-NEXT: "inner": [ 828 // CHECK-NEXT: { 829 // CHECK-NEXT: "id": "0x{{.*}}", 830 // CHECK-NEXT: "kind": "FieldDecl", 831 // CHECK-NEXT: "loc": { 832 // CHECK-NEXT: "col": 9, 833 // CHECK-NEXT: "file": "{{.*}}", 834 // CHECK-NEXT: "line": 21 835 // CHECK-NEXT: }, 836 // CHECK-NEXT: "range": { 837 // CHECK-NEXT: "begin": { 838 // CHECK-NEXT: "col": 5, 839 // CHECK-NEXT: "file": "{{.*}}", 840 // CHECK-NEXT: "line": 21 841 // CHECK-NEXT: }, 842 // CHECK-NEXT: "end": { 843 // CHECK-NEXT: "col": 9, 844 // CHECK-NEXT: "file": "{{.*}}", 845 // CHECK-NEXT: "line": 21 846 // CHECK-NEXT: } 847 // CHECK-NEXT: }, 848 // CHECK-NEXT: "name": "c", 849 // CHECK-NEXT: "type": { 850 // CHECK-NEXT: "qualType": "int" 851 // CHECK-NEXT: } 852 // CHECK-NEXT: }, 853 // CHECK-NEXT: { 854 // CHECK-NEXT: "id": "0x{{.*}}", 855 // CHECK-NEXT: "kind": "FieldDecl", 856 // CHECK-NEXT: "loc": { 857 // CHECK-NEXT: "col": 11, 858 // CHECK-NEXT: "file": "{{.*}}", 859 // CHECK-NEXT: "line": 22 860 // CHECK-NEXT: }, 861 // CHECK-NEXT: "range": { 862 // CHECK-NEXT: "begin": { 863 // CHECK-NEXT: "col": 5, 864 // CHECK-NEXT: "file": "{{.*}}", 865 // CHECK-NEXT: "line": 22 866 // CHECK-NEXT: }, 867 // CHECK-NEXT: "end": { 868 // CHECK-NEXT: "col": 11, 869 // CHECK-NEXT: "file": "{{.*}}", 870 // CHECK-NEXT: "line": 22 871 // CHECK-NEXT: } 872 // CHECK-NEXT: }, 873 // CHECK-NEXT: "name": "d", 874 // CHECK-NEXT: "type": { 875 // CHECK-NEXT: "qualType": "float" 876 // CHECK-NEXT: } 877 // CHECK-NEXT: } 878 // CHECK-NEXT: ] 879 // CHECK-NEXT: }, 880 // CHECK-NEXT: { 881 // CHECK-NEXT: "id": "0x{{.*}}", 882 // CHECK-NEXT: "kind": "FieldDecl", 883 // CHECK-NEXT: "loc": { 884 // CHECK-NEXT: "col": 3, 885 // CHECK-NEXT: "file": "{{.*}}", 886 // CHECK-NEXT: "line": 20 887 // CHECK-NEXT: }, 888 // CHECK-NEXT: "range": { 889 // CHECK-NEXT: "begin": { 890 // CHECK-NEXT: "col": 3, 891 // CHECK-NEXT: "file": "{{.*}}", 892 // CHECK-NEXT: "line": 20 893 // CHECK-NEXT: }, 894 // CHECK-NEXT: "end": { 895 // CHECK-NEXT: "col": 3, 896 // CHECK-NEXT: "file": "{{.*}}", 897 // CHECK-NEXT: "line": 20 898 // CHECK-NEXT: } 899 // CHECK-NEXT: }, 900 // CHECK-NEXT: "isImplicit": true, 901 // CHECK-NEXT: "type": { 902 // CHECK-NEXT: "qualType": "C::(anonymous union at {{.*}}:20:3)" 903 // CHECK-NEXT: } 904 // CHECK-NEXT: }, 905 // CHECK-NEXT: { 906 // CHECK-NEXT: "id": "0x{{.*}}", 907 // CHECK-NEXT: "kind": "IndirectFieldDecl", 908 // CHECK-NEXT: "loc": { 909 // CHECK-NEXT: "col": 9, 910 // CHECK-NEXT: "file": "{{.*}}", 911 // CHECK-NEXT: "line": 21 912 // CHECK-NEXT: }, 913 // CHECK-NEXT: "range": { 914 // CHECK-NEXT: "begin": { 915 // CHECK-NEXT: "col": 9, 916 // CHECK-NEXT: "file": "{{.*}}", 917 // CHECK-NEXT: "line": 21 918 // CHECK-NEXT: }, 919 // CHECK-NEXT: "end": { 920 // CHECK-NEXT: "col": 9, 921 // CHECK-NEXT: "file": "{{.*}}", 922 // CHECK-NEXT: "line": 21 923 // CHECK-NEXT: } 924 // CHECK-NEXT: }, 925 // CHECK-NEXT: "isImplicit": true, 926 // CHECK-NEXT: "name": "c" 927 // CHECK-NEXT: }, 928 // CHECK-NEXT: { 929 // CHECK-NEXT: "id": "0x{{.*}}", 930 // CHECK-NEXT: "kind": "IndirectFieldDecl", 931 // CHECK-NEXT: "loc": { 932 // CHECK-NEXT: "col": 11, 933 // CHECK-NEXT: "file": "{{.*}}", 934 // CHECK-NEXT: "line": 22 935 // CHECK-NEXT: }, 936 // CHECK-NEXT: "range": { 937 // CHECK-NEXT: "begin": { 938 // CHECK-NEXT: "col": 11, 939 // CHECK-NEXT: "file": "{{.*}}", 940 // CHECK-NEXT: "line": 22 941 // CHECK-NEXT: }, 942 // CHECK-NEXT: "end": { 943 // CHECK-NEXT: "col": 11, 944 // CHECK-NEXT: "file": "{{.*}}", 945 // CHECK-NEXT: "line": 22 946 // CHECK-NEXT: } 947 // CHECK-NEXT: }, 948 // CHECK-NEXT: "isImplicit": true, 949 // CHECK-NEXT: "name": "d" 950 // CHECK-NEXT: }, 951 // CHECK-NEXT: { 952 // CHECK-NEXT: "id": "0x{{.*}}", 953 // CHECK-NEXT: "kind": "CXXRecordDecl", 954 // CHECK-NEXT: "loc": { 955 // CHECK-NEXT: "col": 3, 956 // CHECK-NEXT: "file": "{{.*}}", 957 // CHECK-NEXT: "line": 25 958 // CHECK-NEXT: }, 959 // CHECK-NEXT: "range": { 960 // CHECK-NEXT: "begin": { 961 // CHECK-NEXT: "col": 3, 962 // CHECK-NEXT: "file": "{{.*}}", 963 // CHECK-NEXT: "line": 25 964 // CHECK-NEXT: }, 965 // CHECK-NEXT: "end": { 966 // CHECK-NEXT: "col": 3, 967 // CHECK-NEXT: "file": "{{.*}}", 968 // CHECK-NEXT: "line": 27 969 // CHECK-NEXT: } 970 // CHECK-NEXT: }, 971 // CHECK-NEXT: "tagUsed": "struct", 972 // CHECK-NEXT: "completeDefinition": true, 973 // CHECK-NEXT: "definitionData": { 974 // CHECK-NEXT: "canPassInRegisters": true, 975 // CHECK-NEXT: "copyAssign": { 976 // CHECK-NEXT: "hasConstParam": true, 977 // CHECK-NEXT: "implicitHasConstParam": true, 978 // CHECK-NEXT: "needsImplicit": true, 979 // CHECK-NEXT: "trivial": true 980 // CHECK-NEXT: }, 981 // CHECK-NEXT: "copyCtor": { 982 // CHECK-NEXT: "hasConstParam": true, 983 // CHECK-NEXT: "implicitHasConstParam": true, 984 // CHECK-NEXT: "needsImplicit": true, 985 // CHECK-NEXT: "simple": true, 986 // CHECK-NEXT: "trivial": true 987 // CHECK-NEXT: }, 988 // CHECK-NEXT: "defaultCtor": { 989 // CHECK-NEXT: "exists": true, 990 // CHECK-NEXT: "needsImplicit": true, 991 // CHECK-NEXT: "trivial": true 992 // CHECK-NEXT: }, 993 // CHECK-NEXT: "dtor": { 994 // CHECK-NEXT: "irrelevant": true, 995 // CHECK-NEXT: "needsImplicit": true, 996 // CHECK-NEXT: "simple": true, 997 // CHECK-NEXT: "trivial": true 998 // CHECK-NEXT: }, 999 // CHECK-NEXT: "isAggregate": true, 1000 // CHECK-NEXT: "isLiteral": true, 1001 // CHECK-NEXT: "isPOD": true, 1002 // CHECK-NEXT: "isStandardLayout": true, 1003 // CHECK-NEXT: "isTrivial": true, 1004 // CHECK-NEXT: "isTriviallyCopyable": true, 1005 // CHECK-NEXT: "moveAssign": { 1006 // CHECK-NEXT: "exists": true, 1007 // CHECK-NEXT: "needsImplicit": true, 1008 // CHECK-NEXT: "simple": true, 1009 // CHECK-NEXT: "trivial": true 1010 // CHECK-NEXT: }, 1011 // CHECK-NEXT: "moveCtor": { 1012 // CHECK-NEXT: "exists": true, 1013 // CHECK-NEXT: "needsImplicit": true, 1014 // CHECK-NEXT: "simple": true, 1015 // CHECK-NEXT: "trivial": true 1016 // CHECK-NEXT: } 1017 // CHECK-NEXT: }, 1018 // CHECK-NEXT: "inner": [ 1019 // CHECK-NEXT: { 1020 // CHECK-NEXT: "id": "0x{{.*}}", 1021 // CHECK-NEXT: "kind": "FieldDecl", 1022 // CHECK-NEXT: "loc": { 1023 // CHECK-NEXT: "col": 9, 1024 // CHECK-NEXT: "file": "{{.*}}", 1025 // CHECK-NEXT: "line": 26 1026 // CHECK-NEXT: }, 1027 // CHECK-NEXT: "range": { 1028 // CHECK-NEXT: "begin": { 1029 // CHECK-NEXT: "col": 5, 1030 // CHECK-NEXT: "file": "{{.*}}", 1031 // CHECK-NEXT: "line": 26 1032 // CHECK-NEXT: }, 1033 // CHECK-NEXT: "end": { 1034 // CHECK-NEXT: "col": 9, 1035 // CHECK-NEXT: "file": "{{.*}}", 1036 // CHECK-NEXT: "line": 26 1037 // CHECK-NEXT: } 1038 // CHECK-NEXT: }, 1039 // CHECK-NEXT: "name": "e", 1040 // CHECK-NEXT: "type": { 1041 // CHECK-NEXT: "qualType": "int" 1042 // CHECK-NEXT: } 1043 // CHECK-NEXT: }, 1044 // CHECK-NEXT: { 1045 // CHECK-NEXT: "id": "0x{{.*}}", 1046 // CHECK-NEXT: "kind": "FieldDecl", 1047 // CHECK-NEXT: "loc": { 1048 // CHECK-NEXT: "col": 12, 1049 // CHECK-NEXT: "file": "{{.*}}", 1050 // CHECK-NEXT: "line": 26 1051 // CHECK-NEXT: }, 1052 // CHECK-NEXT: "range": { 1053 // CHECK-NEXT: "begin": { 1054 // CHECK-NEXT: "col": 5, 1055 // CHECK-NEXT: "file": "{{.*}}", 1056 // CHECK-NEXT: "line": 26 1057 // CHECK-NEXT: }, 1058 // CHECK-NEXT: "end": { 1059 // CHECK-NEXT: "col": 12, 1060 // CHECK-NEXT: "file": "{{.*}}", 1061 // CHECK-NEXT: "line": 26 1062 // CHECK-NEXT: } 1063 // CHECK-NEXT: }, 1064 // CHECK-NEXT: "name": "f", 1065 // CHECK-NEXT: "type": { 1066 // CHECK-NEXT: "qualType": "int" 1067 // CHECK-NEXT: } 1068 // CHECK-NEXT: } 1069 // CHECK-NEXT: ] 1070 // CHECK-NEXT: }, 1071 // CHECK-NEXT: { 1072 // CHECK-NEXT: "id": "0x{{.*}}", 1073 // CHECK-NEXT: "kind": "FieldDecl", 1074 // CHECK-NEXT: "loc": { 1075 // CHECK-NEXT: "col": 3, 1076 // CHECK-NEXT: "file": "{{.*}}", 1077 // CHECK-NEXT: "line": 25 1078 // CHECK-NEXT: }, 1079 // CHECK-NEXT: "range": { 1080 // CHECK-NEXT: "begin": { 1081 // CHECK-NEXT: "col": 3, 1082 // CHECK-NEXT: "file": "{{.*}}", 1083 // CHECK-NEXT: "line": 25 1084 // CHECK-NEXT: }, 1085 // CHECK-NEXT: "end": { 1086 // CHECK-NEXT: "col": 3, 1087 // CHECK-NEXT: "file": "{{.*}}", 1088 // CHECK-NEXT: "line": 25 1089 // CHECK-NEXT: } 1090 // CHECK-NEXT: }, 1091 // CHECK-NEXT: "isImplicit": true, 1092 // CHECK-NEXT: "type": { 1093 // CHECK-NEXT: "qualType": "C::(anonymous struct at {{.*}}:25:3)" 1094 // CHECK-NEXT: } 1095 // CHECK-NEXT: }, 1096 // CHECK-NEXT: { 1097 // CHECK-NEXT: "id": "0x{{.*}}", 1098 // CHECK-NEXT: "kind": "IndirectFieldDecl", 1099 // CHECK-NEXT: "loc": { 1100 // CHECK-NEXT: "col": 9, 1101 // CHECK-NEXT: "file": "{{.*}}", 1102 // CHECK-NEXT: "line": 26 1103 // CHECK-NEXT: }, 1104 // CHECK-NEXT: "range": { 1105 // CHECK-NEXT: "begin": { 1106 // CHECK-NEXT: "col": 9, 1107 // CHECK-NEXT: "file": "{{.*}}", 1108 // CHECK-NEXT: "line": 26 1109 // CHECK-NEXT: }, 1110 // CHECK-NEXT: "end": { 1111 // CHECK-NEXT: "col": 9, 1112 // CHECK-NEXT: "file": "{{.*}}", 1113 // CHECK-NEXT: "line": 26 1114 // CHECK-NEXT: } 1115 // CHECK-NEXT: }, 1116 // CHECK-NEXT: "isImplicit": true, 1117 // CHECK-NEXT: "name": "e" 1118 // CHECK-NEXT: }, 1119 // CHECK-NEXT: { 1120 // CHECK-NEXT: "id": "0x{{.*}}", 1121 // CHECK-NEXT: "kind": "IndirectFieldDecl", 1122 // CHECK-NEXT: "loc": { 1123 // CHECK-NEXT: "col": 12, 1124 // CHECK-NEXT: "file": "{{.*}}", 1125 // CHECK-NEXT: "line": 26 1126 // CHECK-NEXT: }, 1127 // CHECK-NEXT: "range": { 1128 // CHECK-NEXT: "begin": { 1129 // CHECK-NEXT: "col": 12, 1130 // CHECK-NEXT: "file": "{{.*}}", 1131 // CHECK-NEXT: "line": 26 1132 // CHECK-NEXT: }, 1133 // CHECK-NEXT: "end": { 1134 // CHECK-NEXT: "col": 12, 1135 // CHECK-NEXT: "file": "{{.*}}", 1136 // CHECK-NEXT: "line": 26 1137 // CHECK-NEXT: } 1138 // CHECK-NEXT: }, 1139 // CHECK-NEXT: "isImplicit": true, 1140 // CHECK-NEXT: "name": "f" 1141 // CHECK-NEXT: } 1142 // CHECK-NEXT: ] 1143 // CHECK-NEXT: } 1144 1145 1146 // CHECK: "kind": "CXXRecordDecl", 1147 // CHECK-NEXT: "loc": { 1148 // CHECK-NEXT: "col": 8, 1149 // CHECK-NEXT: "file": "{{.*}}", 1150 // CHECK-NEXT: "line": 30 1151 // CHECK-NEXT: }, 1152 // CHECK-NEXT: "range": { 1153 // CHECK-NEXT: "begin": { 1154 // CHECK-NEXT: "col": 1, 1155 // CHECK-NEXT: "file": "{{.*}}", 1156 // CHECK-NEXT: "line": 30 1157 // CHECK-NEXT: }, 1158 // CHECK-NEXT: "end": { 1159 // CHECK-NEXT: "col": 1, 1160 // CHECK-NEXT: "file": "{{.*}}", 1161 // CHECK-NEXT: "line": 34 1162 // CHECK-NEXT: } 1163 // CHECK-NEXT: }, 1164 // CHECK-NEXT: "name": "D", 1165 // CHECK-NEXT: "tagUsed": "struct", 1166 // CHECK-NEXT: "completeDefinition": true, 1167 // CHECK-NEXT: "definitionData": { 1168 // CHECK-NEXT: "canPassInRegisters": true, 1169 // CHECK-NEXT: "copyAssign": { 1170 // CHECK-NEXT: "hasConstParam": true, 1171 // CHECK-NEXT: "implicitHasConstParam": true, 1172 // CHECK-NEXT: "needsImplicit": true, 1173 // CHECK-NEXT: "trivial": true 1174 // CHECK-NEXT: }, 1175 // CHECK-NEXT: "copyCtor": { 1176 // CHECK-NEXT: "hasConstParam": true, 1177 // CHECK-NEXT: "implicitHasConstParam": true, 1178 // CHECK-NEXT: "needsImplicit": true, 1179 // CHECK-NEXT: "simple": true, 1180 // CHECK-NEXT: "trivial": true 1181 // CHECK-NEXT: }, 1182 // CHECK-NEXT: "defaultCtor": { 1183 // CHECK-NEXT: "exists": true, 1184 // CHECK-NEXT: "needsImplicit": true, 1185 // CHECK-NEXT: "trivial": true 1186 // CHECK-NEXT: }, 1187 // CHECK-NEXT: "dtor": { 1188 // CHECK-NEXT: "irrelevant": true, 1189 // CHECK-NEXT: "needsImplicit": true, 1190 // CHECK-NEXT: "simple": true, 1191 // CHECK-NEXT: "trivial": true 1192 // CHECK-NEXT: }, 1193 // CHECK-NEXT: "isAggregate": true, 1194 // CHECK-NEXT: "isLiteral": true, 1195 // CHECK-NEXT: "isPOD": true, 1196 // CHECK-NEXT: "isStandardLayout": true, 1197 // CHECK-NEXT: "isTrivial": true, 1198 // CHECK-NEXT: "isTriviallyCopyable": true, 1199 // CHECK-NEXT: "moveAssign": { 1200 // CHECK-NEXT: "exists": true, 1201 // CHECK-NEXT: "needsImplicit": true, 1202 // CHECK-NEXT: "simple": true, 1203 // CHECK-NEXT: "trivial": true 1204 // CHECK-NEXT: }, 1205 // CHECK-NEXT: "moveCtor": { 1206 // CHECK-NEXT: "exists": true, 1207 // CHECK-NEXT: "needsImplicit": true, 1208 // CHECK-NEXT: "simple": true, 1209 // CHECK-NEXT: "trivial": true 1210 // CHECK-NEXT: } 1211 // CHECK-NEXT: }, 1212 // CHECK-NEXT: "inner": [ 1213 // CHECK-NEXT: { 1214 // CHECK-NEXT: "id": "0x{{.*}}", 1215 // CHECK-NEXT: "kind": "CXXRecordDecl", 1216 // CHECK-NEXT: "loc": { 1217 // CHECK-NEXT: "col": 8, 1218 // CHECK-NEXT: "file": "{{.*}}", 1219 // CHECK-NEXT: "line": 30 1220 // CHECK-NEXT: }, 1221 // CHECK-NEXT: "range": { 1222 // CHECK-NEXT: "begin": { 1223 // CHECK-NEXT: "col": 1, 1224 // CHECK-NEXT: "file": "{{.*}}", 1225 // CHECK-NEXT: "line": 30 1226 // CHECK-NEXT: }, 1227 // CHECK-NEXT: "end": { 1228 // CHECK-NEXT: "col": 8, 1229 // CHECK-NEXT: "file": "{{.*}}", 1230 // CHECK-NEXT: "line": 30 1231 // CHECK-NEXT: } 1232 // CHECK-NEXT: }, 1233 // CHECK-NEXT: "isImplicit": true, 1234 // CHECK-NEXT: "name": "D", 1235 // CHECK-NEXT: "tagUsed": "struct" 1236 // CHECK-NEXT: }, 1237 // CHECK-NEXT: { 1238 // CHECK-NEXT: "id": "0x{{.*}}", 1239 // CHECK-NEXT: "kind": "FieldDecl", 1240 // CHECK-NEXT: "loc": { 1241 // CHECK-NEXT: "col": 7, 1242 // CHECK-NEXT: "file": "{{.*}}", 1243 // CHECK-NEXT: "line": 31 1244 // CHECK-NEXT: }, 1245 // CHECK-NEXT: "range": { 1246 // CHECK-NEXT: "begin": { 1247 // CHECK-NEXT: "col": 3, 1248 // CHECK-NEXT: "file": "{{.*}}", 1249 // CHECK-NEXT: "line": 31 1250 // CHECK-NEXT: }, 1251 // CHECK-NEXT: "end": { 1252 // CHECK-NEXT: "col": 7, 1253 // CHECK-NEXT: "file": "{{.*}}", 1254 // CHECK-NEXT: "line": 31 1255 // CHECK-NEXT: } 1256 // CHECK-NEXT: }, 1257 // CHECK-NEXT: "name": "a", 1258 // CHECK-NEXT: "type": { 1259 // CHECK-NEXT: "qualType": "int" 1260 // CHECK-NEXT: } 1261 // CHECK-NEXT: }, 1262 // CHECK-NEXT: { 1263 // CHECK-NEXT: "id": "0x{{.*}}", 1264 // CHECK-NEXT: "kind": "FieldDecl", 1265 // CHECK-NEXT: "loc": { 1266 // CHECK-NEXT: "col": 7, 1267 // CHECK-NEXT: "file": "{{.*}}", 1268 // CHECK-NEXT: "line": 32 1269 // CHECK-NEXT: }, 1270 // CHECK-NEXT: "range": { 1271 // CHECK-NEXT: "begin": { 1272 // CHECK-NEXT: "col": 3, 1273 // CHECK-NEXT: "file": "{{.*}}", 1274 // CHECK-NEXT: "line": 32 1275 // CHECK-NEXT: }, 1276 // CHECK-NEXT: "end": { 1277 // CHECK-NEXT: "col": 11, 1278 // CHECK-NEXT: "file": "{{.*}}", 1279 // CHECK-NEXT: "line": 32 1280 // CHECK-NEXT: } 1281 // CHECK-NEXT: }, 1282 // CHECK-NEXT: "name": "b", 1283 // CHECK-NEXT: "type": { 1284 // CHECK-NEXT: "qualType": "int [10]" 1285 // CHECK-NEXT: } 1286 // CHECK-NEXT: }, 1287 // CHECK-NEXT: { 1288 // CHECK-NEXT: "id": "0x{{.*}}", 1289 // CHECK-NEXT: "kind": "FieldDecl", 1290 // CHECK-NEXT: "loc": { 1291 // CHECK-NEXT: "col": 7, 1292 // CHECK-NEXT: "file": "{{.*}}", 1293 // CHECK-NEXT: "line": 33 1294 // CHECK-NEXT: }, 1295 // CHECK-NEXT: "range": { 1296 // CHECK-NEXT: "begin": { 1297 // CHECK-NEXT: "col": 3, 1298 // CHECK-NEXT: "file": "{{.*}}", 1299 // CHECK-NEXT: "line": 33 1300 // CHECK-NEXT: }, 1301 // CHECK-NEXT: "end": { 1302 // CHECK-NEXT: "col": 9, 1303 // CHECK-NEXT: "file": "{{.*}}", 1304 // CHECK-NEXT: "line": 33 1305 // CHECK-NEXT: } 1306 // CHECK-NEXT: }, 1307 // CHECK-NEXT: "name": "c", 1308 // CHECK-NEXT: "type": { 1309 // CHECK-NEXT: "qualType": "int []" 1310 // CHECK-NEXT: } 1311 // CHECK-NEXT: } 1312 // CHECK-NEXT: ] 1313 // CHECK-NEXT: } 1314 1315 1316 // CHECK: "kind": "CXXRecordDecl", 1317 // CHECK-NEXT: "loc": { 1318 // CHECK-NEXT: "col": 7, 1319 // CHECK-NEXT: "file": "{{.*}}", 1320 // CHECK-NEXT: "line": 36 1321 // CHECK-NEXT: }, 1322 // CHECK-NEXT: "range": { 1323 // CHECK-NEXT: "begin": { 1324 // CHECK-NEXT: "col": 1, 1325 // CHECK-NEXT: "file": "{{.*}}", 1326 // CHECK-NEXT: "line": 36 1327 // CHECK-NEXT: }, 1328 // CHECK-NEXT: "end": { 1329 // CHECK-NEXT: "col": 7, 1330 // CHECK-NEXT: "file": "{{.*}}", 1331 // CHECK-NEXT: "line": 36 1332 // CHECK-NEXT: } 1333 // CHECK-NEXT: }, 1334 // CHECK-NEXT: "name": "E", 1335 // CHECK-NEXT: "tagUsed": "union" 1336 // CHECK-NEXT: } 1337 1338 1339 // CHECK: "kind": "CXXRecordDecl", 1340 // CHECK-NEXT: "loc": { 1341 // CHECK-NEXT: "col": 7, 1342 // CHECK-NEXT: "file": "{{.*}}", 1343 // CHECK-NEXT: "line": 38 1344 // CHECK-NEXT: }, 1345 // CHECK-NEXT: "range": { 1346 // CHECK-NEXT: "begin": { 1347 // CHECK-NEXT: "col": 1, 1348 // CHECK-NEXT: "file": "{{.*}}", 1349 // CHECK-NEXT: "line": 38 1350 // CHECK-NEXT: }, 1351 // CHECK-NEXT: "end": { 1352 // CHECK-NEXT: "col": 7, 1353 // CHECK-NEXT: "file": "{{.*}}", 1354 // CHECK-NEXT: "line": 38 1355 // CHECK-NEXT: } 1356 // CHECK-NEXT: }, 1357 // CHECK-NEXT: "name": "F", 1358 // CHECK-NEXT: "tagUsed": "union" 1359 // CHECK-NEXT: } 1360 1361 1362 // CHECK: "kind": "CXXRecordDecl", 1363 // CHECK-NEXT: "loc": { 1364 // CHECK-NEXT: "col": 7, 1365 // CHECK-NEXT: "file": "{{.*}}", 1366 // CHECK-NEXT: "line": 40 1367 // CHECK-NEXT: }, 1368 // CHECK-NEXT: "range": { 1369 // CHECK-NEXT: "begin": { 1370 // CHECK-NEXT: "col": 1, 1371 // CHECK-NEXT: "file": "{{.*}}", 1372 // CHECK-NEXT: "line": 40 1373 // CHECK-NEXT: }, 1374 // CHECK-NEXT: "end": { 1375 // CHECK-NEXT: "col": 1, 1376 // CHECK-NEXT: "file": "{{.*}}", 1377 // CHECK-NEXT: "line": 47 1378 // CHECK-NEXT: } 1379 // CHECK-NEXT: }, 1380 // CHECK-NEXT: "previousDecl": "0x{{.*}}", 1381 // CHECK-NEXT: "name": "E", 1382 // CHECK-NEXT: "tagUsed": "union", 1383 // CHECK-NEXT: "completeDefinition": true, 1384 // CHECK-NEXT: "definitionData": { 1385 // CHECK-NEXT: "canPassInRegisters": true, 1386 // CHECK-NEXT: "copyAssign": { 1387 // CHECK-NEXT: "hasConstParam": true, 1388 // CHECK-NEXT: "implicitHasConstParam": true, 1389 // CHECK-NEXT: "needsImplicit": true, 1390 // CHECK-NEXT: "trivial": true 1391 // CHECK-NEXT: }, 1392 // CHECK-NEXT: "copyCtor": { 1393 // CHECK-NEXT: "hasConstParam": true, 1394 // CHECK-NEXT: "implicitHasConstParam": true, 1395 // CHECK-NEXT: "needsImplicit": true, 1396 // CHECK-NEXT: "simple": true, 1397 // CHECK-NEXT: "trivial": true 1398 // CHECK-NEXT: }, 1399 // CHECK-NEXT: "defaultCtor": { 1400 // CHECK-NEXT: "exists": true, 1401 // CHECK-NEXT: "needsImplicit": true, 1402 // CHECK-NEXT: "trivial": true 1403 // CHECK-NEXT: }, 1404 // CHECK-NEXT: "dtor": { 1405 // CHECK-NEXT: "irrelevant": true, 1406 // CHECK-NEXT: "needsImplicit": true, 1407 // CHECK-NEXT: "simple": true, 1408 // CHECK-NEXT: "trivial": true 1409 // CHECK-NEXT: }, 1410 // CHECK-NEXT: "hasVariantMembers": true, 1411 // CHECK-NEXT: "isAggregate": true, 1412 // CHECK-NEXT: "isLiteral": true, 1413 // CHECK-NEXT: "isPOD": true, 1414 // CHECK-NEXT: "isStandardLayout": true, 1415 // CHECK-NEXT: "isTrivial": true, 1416 // CHECK-NEXT: "isTriviallyCopyable": true, 1417 // CHECK-NEXT: "moveAssign": { 1418 // CHECK-NEXT: "exists": true, 1419 // CHECK-NEXT: "needsImplicit": true, 1420 // CHECK-NEXT: "simple": true, 1421 // CHECK-NEXT: "trivial": true 1422 // CHECK-NEXT: }, 1423 // CHECK-NEXT: "moveCtor": { 1424 // CHECK-NEXT: "exists": true, 1425 // CHECK-NEXT: "needsImplicit": true, 1426 // CHECK-NEXT: "simple": true, 1427 // CHECK-NEXT: "trivial": true 1428 // CHECK-NEXT: } 1429 // CHECK-NEXT: }, 1430 // CHECK-NEXT: "inner": [ 1431 // CHECK-NEXT: { 1432 // CHECK-NEXT: "id": "0x{{.*}}", 1433 // CHECK-NEXT: "kind": "CXXRecordDecl", 1434 // CHECK-NEXT: "loc": { 1435 // CHECK-NEXT: "col": 7, 1436 // CHECK-NEXT: "file": "{{.*}}", 1437 // CHECK-NEXT: "line": 40 1438 // CHECK-NEXT: }, 1439 // CHECK-NEXT: "range": { 1440 // CHECK-NEXT: "begin": { 1441 // CHECK-NEXT: "col": 1, 1442 // CHECK-NEXT: "file": "{{.*}}", 1443 // CHECK-NEXT: "line": 40 1444 // CHECK-NEXT: }, 1445 // CHECK-NEXT: "end": { 1446 // CHECK-NEXT: "col": 7, 1447 // CHECK-NEXT: "file": "{{.*}}", 1448 // CHECK-NEXT: "line": 40 1449 // CHECK-NEXT: } 1450 // CHECK-NEXT: }, 1451 // CHECK-NEXT: "isImplicit": true, 1452 // CHECK-NEXT: "name": "E", 1453 // CHECK-NEXT: "tagUsed": "union" 1454 // CHECK-NEXT: }, 1455 // CHECK-NEXT: { 1456 // CHECK-NEXT: "id": "0x{{.*}}", 1457 // CHECK-NEXT: "kind": "FieldDecl", 1458 // CHECK-NEXT: "loc": { 1459 // CHECK-NEXT: "col": 7, 1460 // CHECK-NEXT: "file": "{{.*}}", 1461 // CHECK-NEXT: "line": 41 1462 // CHECK-NEXT: }, 1463 // CHECK-NEXT: "range": { 1464 // CHECK-NEXT: "begin": { 1465 // CHECK-NEXT: "col": 3, 1466 // CHECK-NEXT: "file": "{{.*}}", 1467 // CHECK-NEXT: "line": 41 1468 // CHECK-NEXT: }, 1469 // CHECK-NEXT: "end": { 1470 // CHECK-NEXT: "col": 7, 1471 // CHECK-NEXT: "file": "{{.*}}", 1472 // CHECK-NEXT: "line": 41 1473 // CHECK-NEXT: } 1474 // CHECK-NEXT: }, 1475 // CHECK-NEXT: "name": "a", 1476 // CHECK-NEXT: "type": { 1477 // CHECK-NEXT: "qualType": "int" 1478 // CHECK-NEXT: } 1479 // CHECK-NEXT: }, 1480 // CHECK-NEXT: { 1481 // CHECK-NEXT: "id": "0x{{.*}}", 1482 // CHECK-NEXT: "kind": "FieldDecl", 1483 // CHECK-NEXT: "loc": { 1484 // CHECK-NEXT: "col": 7, 1485 // CHECK-NEXT: "file": "{{.*}}", 1486 // CHECK-NEXT: "line": 42 1487 // CHECK-NEXT: }, 1488 // CHECK-NEXT: "range": { 1489 // CHECK-NEXT: "begin": { 1490 // CHECK-NEXT: "col": 3, 1491 // CHECK-NEXT: "file": "{{.*}}", 1492 // CHECK-NEXT: "line": 42 1493 // CHECK-NEXT: }, 1494 // CHECK-NEXT: "end": { 1495 // CHECK-NEXT: "col": 7, 1496 // CHECK-NEXT: "file": "{{.*}}", 1497 // CHECK-NEXT: "line": 42 1498 // CHECK-NEXT: } 1499 // CHECK-NEXT: }, 1500 // CHECK-NEXT: "name": "b", 1501 // CHECK-NEXT: "type": { 1502 // CHECK-NEXT: "qualType": "int" 1503 // CHECK-NEXT: } 1504 // CHECK-NEXT: }, 1505 // CHECK-NEXT: { 1506 // CHECK-NEXT: "id": "0x{{.*}}", 1507 // CHECK-NEXT: "kind": "FieldDecl", 1508 // CHECK-NEXT: "loc": { 1509 // CHECK-NEXT: "col": 10, 1510 // CHECK-NEXT: "file": "{{.*}}", 1511 // CHECK-NEXT: "line": 42 1512 // CHECK-NEXT: }, 1513 // CHECK-NEXT: "range": { 1514 // CHECK-NEXT: "begin": { 1515 // CHECK-NEXT: "col": 3, 1516 // CHECK-NEXT: "file": "{{.*}}", 1517 // CHECK-NEXT: "line": 42 1518 // CHECK-NEXT: }, 1519 // CHECK-NEXT: "end": { 1520 // CHECK-NEXT: "col": 10, 1521 // CHECK-NEXT: "file": "{{.*}}", 1522 // CHECK-NEXT: "line": 42 1523 // CHECK-NEXT: } 1524 // CHECK-NEXT: }, 1525 // CHECK-NEXT: "name": "c", 1526 // CHECK-NEXT: "type": { 1527 // CHECK-NEXT: "qualType": "int" 1528 // CHECK-NEXT: } 1529 // CHECK-NEXT: }, 1530 // CHECK-NEXT: { 1531 // CHECK-NEXT: "id": "0x{{.*}}", 1532 // CHECK-NEXT: "kind": "FieldDecl", 1533 // CHECK-NEXT: "loc": { 1534 // CHECK-NEXT: "col": 7, 1535 // CHECK-NEXT: "file": "{{.*}}", 1536 // CHECK-NEXT: "line": 43 1537 // CHECK-NEXT: }, 1538 // CHECK-NEXT: "range": { 1539 // CHECK-NEXT: "begin": { 1540 // CHECK-NEXT: "col": 3, 1541 // CHECK-NEXT: "file": "{{.*}}", 1542 // CHECK-NEXT: "line": 43 1543 // CHECK-NEXT: }, 1544 // CHECK-NEXT: "end": { 1545 // CHECK-NEXT: "col": 11, 1546 // CHECK-NEXT: "file": "{{.*}}", 1547 // CHECK-NEXT: "line": 43 1548 // CHECK-NEXT: } 1549 // CHECK-NEXT: }, 1550 // CHECK-NEXT: "name": "d", 1551 // CHECK-NEXT: "type": { 1552 // CHECK-NEXT: "qualType": "int" 1553 // CHECK-NEXT: }, 1554 // CHECK-NEXT: "isBitfield": true, 1555 // CHECK-NEXT: "inner": [ 1556 // CHECK-NEXT: { 1557 // CHECK-NEXT: "id": "0x{{.*}}", 1558 // CHECK-NEXT: "kind": "ConstantExpr", 1559 // CHECK-NEXT: "range": { 1560 // CHECK-NEXT: "begin": { 1561 // CHECK-NEXT: "col": 11, 1562 // CHECK-NEXT: "file": "{{.*}}", 1563 // CHECK-NEXT: "line": 43 1564 // CHECK-NEXT: }, 1565 // CHECK-NEXT: "end": { 1566 // CHECK-NEXT: "col": 11, 1567 // CHECK-NEXT: "file": "{{.*}}", 1568 // CHECK-NEXT: "line": 43 1569 // CHECK-NEXT: } 1570 // CHECK-NEXT: }, 1571 // CHECK-NEXT: "type": { 1572 // CHECK-NEXT: "qualType": "int" 1573 // CHECK-NEXT: }, 1574 // CHECK-NEXT: "valueCategory": "rvalue", 1575 // CHECK-NEXT: "value": "12", 1576 // CHECK-NEXT: "inner": [ 1577 // CHECK-NEXT: { 1578 // CHECK-NEXT: "id": "0x{{.*}}", 1579 // CHECK-NEXT: "kind": "IntegerLiteral", 1580 // CHECK-NEXT: "range": { 1581 // CHECK-NEXT: "begin": { 1582 // CHECK-NEXT: "col": 11, 1583 // CHECK-NEXT: "file": "{{.*}}", 1584 // CHECK-NEXT: "line": 43 1585 // CHECK-NEXT: }, 1586 // CHECK-NEXT: "end": { 1587 // CHECK-NEXT: "col": 11, 1588 // CHECK-NEXT: "file": "{{.*}}", 1589 // CHECK-NEXT: "line": 43 1590 // CHECK-NEXT: } 1591 // CHECK-NEXT: }, 1592 // CHECK-NEXT: "type": { 1593 // CHECK-NEXT: "qualType": "int" 1594 // CHECK-NEXT: }, 1595 // CHECK-NEXT: "valueCategory": "rvalue", 1596 // CHECK-NEXT: "value": "12" 1597 // CHECK-NEXT: } 1598 // CHECK-NEXT: ] 1599 // CHECK-NEXT: } 1600 // CHECK-NEXT: ] 1601 // CHECK-NEXT: }, 1602 // CHECK-NEXT: { 1603 // CHECK-NEXT: "id": "0x{{.*}}", 1604 // CHECK-NEXT: "kind": "FieldDecl", 1605 // CHECK-NEXT: "loc": { 1606 // CHECK-NEXT: "col": 7, 1607 // CHECK-NEXT: "file": "{{.*}}", 1608 // CHECK-NEXT: "line": 44 1609 // CHECK-NEXT: }, 1610 // CHECK-NEXT: "range": { 1611 // CHECK-NEXT: "begin": { 1612 // CHECK-NEXT: "col": 3, 1613 // CHECK-NEXT: "file": "{{.*}}", 1614 // CHECK-NEXT: "line": 44 1615 // CHECK-NEXT: }, 1616 // CHECK-NEXT: "end": { 1617 // CHECK-NEXT: "col": 9, 1618 // CHECK-NEXT: "file": "{{.*}}", 1619 // CHECK-NEXT: "line": 44 1620 // CHECK-NEXT: } 1621 // CHECK-NEXT: }, 1622 // CHECK-NEXT: "type": { 1623 // CHECK-NEXT: "qualType": "int" 1624 // CHECK-NEXT: }, 1625 // CHECK-NEXT: "isBitfield": true, 1626 // CHECK-NEXT: "inner": [ 1627 // CHECK-NEXT: { 1628 // CHECK-NEXT: "id": "0x{{.*}}", 1629 // CHECK-NEXT: "kind": "ConstantExpr", 1630 // CHECK-NEXT: "range": { 1631 // CHECK-NEXT: "begin": { 1632 // CHECK-NEXT: "col": 9, 1633 // CHECK-NEXT: "file": "{{.*}}", 1634 // CHECK-NEXT: "line": 44 1635 // CHECK-NEXT: }, 1636 // CHECK-NEXT: "end": { 1637 // CHECK-NEXT: "col": 9, 1638 // CHECK-NEXT: "file": "{{.*}}", 1639 // CHECK-NEXT: "line": 44 1640 // CHECK-NEXT: } 1641 // CHECK-NEXT: }, 1642 // CHECK-NEXT: "type": { 1643 // CHECK-NEXT: "qualType": "int" 1644 // CHECK-NEXT: }, 1645 // CHECK-NEXT: "valueCategory": "rvalue", 1646 // CHECK-NEXT: "value": "0", 1647 // CHECK-NEXT: "inner": [ 1648 // CHECK-NEXT: { 1649 // CHECK-NEXT: "id": "0x{{.*}}", 1650 // CHECK-NEXT: "kind": "IntegerLiteral", 1651 // CHECK-NEXT: "range": { 1652 // CHECK-NEXT: "begin": { 1653 // CHECK-NEXT: "col": 9, 1654 // CHECK-NEXT: "file": "{{.*}}", 1655 // CHECK-NEXT: "line": 44 1656 // CHECK-NEXT: }, 1657 // CHECK-NEXT: "end": { 1658 // CHECK-NEXT: "col": 9, 1659 // CHECK-NEXT: "file": "{{.*}}", 1660 // CHECK-NEXT: "line": 44 1661 // CHECK-NEXT: } 1662 // CHECK-NEXT: }, 1663 // CHECK-NEXT: "type": { 1664 // CHECK-NEXT: "qualType": "int" 1665 // CHECK-NEXT: }, 1666 // CHECK-NEXT: "valueCategory": "rvalue", 1667 // CHECK-NEXT: "value": "0" 1668 // CHECK-NEXT: } 1669 // CHECK-NEXT: ] 1670 // CHECK-NEXT: } 1671 // CHECK-NEXT: ] 1672 // CHECK-NEXT: }, 1673 // CHECK-NEXT: { 1674 // CHECK-NEXT: "id": "0x{{.*}}", 1675 // CHECK-NEXT: "kind": "FieldDecl", 1676 // CHECK-NEXT: "loc": { 1677 // CHECK-NEXT: "col": 7, 1678 // CHECK-NEXT: "file": "{{.*}}", 1679 // CHECK-NEXT: "line": 45 1680 // CHECK-NEXT: }, 1681 // CHECK-NEXT: "range": { 1682 // CHECK-NEXT: "begin": { 1683 // CHECK-NEXT: "col": 3, 1684 // CHECK-NEXT: "file": "{{.*}}", 1685 // CHECK-NEXT: "line": 45 1686 // CHECK-NEXT: }, 1687 // CHECK-NEXT: "end": { 1688 // CHECK-NEXT: "col": 11, 1689 // CHECK-NEXT: "file": "{{.*}}", 1690 // CHECK-NEXT: "line": 45 1691 // CHECK-NEXT: } 1692 // CHECK-NEXT: }, 1693 // CHECK-NEXT: "name": "e", 1694 // CHECK-NEXT: "type": { 1695 // CHECK-NEXT: "qualType": "int" 1696 // CHECK-NEXT: }, 1697 // CHECK-NEXT: "isBitfield": true, 1698 // CHECK-NEXT: "inner": [ 1699 // CHECK-NEXT: { 1700 // CHECK-NEXT: "id": "0x{{.*}}", 1701 // CHECK-NEXT: "kind": "ConstantExpr", 1702 // CHECK-NEXT: "range": { 1703 // CHECK-NEXT: "begin": { 1704 // CHECK-NEXT: "col": 11, 1705 // CHECK-NEXT: "file": "{{.*}}", 1706 // CHECK-NEXT: "line": 45 1707 // CHECK-NEXT: }, 1708 // CHECK-NEXT: "end": { 1709 // CHECK-NEXT: "col": 11, 1710 // CHECK-NEXT: "file": "{{.*}}", 1711 // CHECK-NEXT: "line": 45 1712 // CHECK-NEXT: } 1713 // CHECK-NEXT: }, 1714 // CHECK-NEXT: "type": { 1715 // CHECK-NEXT: "qualType": "int" 1716 // CHECK-NEXT: }, 1717 // CHECK-NEXT: "valueCategory": "rvalue", 1718 // CHECK-NEXT: "value": "10", 1719 // CHECK-NEXT: "inner": [ 1720 // CHECK-NEXT: { 1721 // CHECK-NEXT: "id": "0x{{.*}}", 1722 // CHECK-NEXT: "kind": "IntegerLiteral", 1723 // CHECK-NEXT: "range": { 1724 // CHECK-NEXT: "begin": { 1725 // CHECK-NEXT: "col": 11, 1726 // CHECK-NEXT: "file": "{{.*}}", 1727 // CHECK-NEXT: "line": 45 1728 // CHECK-NEXT: }, 1729 // CHECK-NEXT: "end": { 1730 // CHECK-NEXT: "col": 11, 1731 // CHECK-NEXT: "file": "{{.*}}", 1732 // CHECK-NEXT: "line": 45 1733 // CHECK-NEXT: } 1734 // CHECK-NEXT: }, 1735 // CHECK-NEXT: "type": { 1736 // CHECK-NEXT: "qualType": "int" 1737 // CHECK-NEXT: }, 1738 // CHECK-NEXT: "valueCategory": "rvalue", 1739 // CHECK-NEXT: "value": "10" 1740 // CHECK-NEXT: } 1741 // CHECK-NEXT: ] 1742 // CHECK-NEXT: } 1743 // CHECK-NEXT: ] 1744 // CHECK-NEXT: }, 1745 // CHECK-NEXT: { 1746 // CHECK-NEXT: "id": "0x{{.*}}", 1747 // CHECK-NEXT: "kind": "FieldDecl", 1748 // CHECK-NEXT: "loc": { 1749 // CHECK-NEXT: "col": 6, 1750 // CHECK-NEXT: "file": "{{.*}}", 1751 // CHECK-NEXT: "line": 46 1752 // CHECK-NEXT: }, 1753 // CHECK-NEXT: "range": { 1754 // CHECK-NEXT: "begin": { 1755 // CHECK-NEXT: "col": 3, 1756 // CHECK-NEXT: "file": "{{.*}}", 1757 // CHECK-NEXT: "line": 46 1758 // CHECK-NEXT: }, 1759 // CHECK-NEXT: "end": { 1760 // CHECK-NEXT: "col": 6, 1761 // CHECK-NEXT: "file": "{{.*}}", 1762 // CHECK-NEXT: "line": 46 1763 // CHECK-NEXT: } 1764 // CHECK-NEXT: }, 1765 // CHECK-NEXT: "name": "f", 1766 // CHECK-NEXT: "type": { 1767 // CHECK-NEXT: "qualType": "B *" 1768 // CHECK-NEXT: } 1769 // CHECK-NEXT: } 1770 // CHECK-NEXT: ] 1771 // CHECK-NEXT: } 1772 1773 1774 // CHECK: "kind": "CXXRecordDecl", 1775 // CHECK-NEXT: "loc": { 1776 // CHECK-NEXT: "col": 7, 1777 // CHECK-NEXT: "file": "{{.*}}", 1778 // CHECK-NEXT: "line": 49 1779 // CHECK-NEXT: }, 1780 // CHECK-NEXT: "range": { 1781 // CHECK-NEXT: "begin": { 1782 // CHECK-NEXT: "col": 1, 1783 // CHECK-NEXT: "file": "{{.*}}", 1784 // CHECK-NEXT: "line": 49 1785 // CHECK-NEXT: }, 1786 // CHECK-NEXT: "end": { 1787 // CHECK-NEXT: "col": 1, 1788 // CHECK-NEXT: "file": "{{.*}}", 1789 // CHECK-NEXT: "line": 62 1790 // CHECK-NEXT: } 1791 // CHECK-NEXT: }, 1792 // CHECK-NEXT: "name": "G", 1793 // CHECK-NEXT: "tagUsed": "union", 1794 // CHECK-NEXT: "completeDefinition": true, 1795 // CHECK-NEXT: "definitionData": { 1796 // CHECK-NEXT: "canPassInRegisters": true, 1797 // CHECK-NEXT: "copyAssign": { 1798 // CHECK-NEXT: "hasConstParam": true, 1799 // CHECK-NEXT: "implicitHasConstParam": true, 1800 // CHECK-NEXT: "needsImplicit": true, 1801 // CHECK-NEXT: "trivial": true 1802 // CHECK-NEXT: }, 1803 // CHECK-NEXT: "copyCtor": { 1804 // CHECK-NEXT: "hasConstParam": true, 1805 // CHECK-NEXT: "implicitHasConstParam": true, 1806 // CHECK-NEXT: "needsImplicit": true, 1807 // CHECK-NEXT: "simple": true, 1808 // CHECK-NEXT: "trivial": true 1809 // CHECK-NEXT: }, 1810 // CHECK-NEXT: "defaultCtor": { 1811 // CHECK-NEXT: "exists": true, 1812 // CHECK-NEXT: "needsImplicit": true, 1813 // CHECK-NEXT: "trivial": true 1814 // CHECK-NEXT: }, 1815 // CHECK-NEXT: "dtor": { 1816 // CHECK-NEXT: "irrelevant": true, 1817 // CHECK-NEXT: "needsImplicit": true, 1818 // CHECK-NEXT: "simple": true, 1819 // CHECK-NEXT: "trivial": true 1820 // CHECK-NEXT: }, 1821 // CHECK-NEXT: "hasVariantMembers": true, 1822 // CHECK-NEXT: "isAggregate": true, 1823 // CHECK-NEXT: "isLiteral": true, 1824 // CHECK-NEXT: "isPOD": true, 1825 // CHECK-NEXT: "isStandardLayout": true, 1826 // CHECK-NEXT: "isTrivial": true, 1827 // CHECK-NEXT: "isTriviallyCopyable": true, 1828 // CHECK-NEXT: "moveAssign": { 1829 // CHECK-NEXT: "exists": true, 1830 // CHECK-NEXT: "needsImplicit": true, 1831 // CHECK-NEXT: "simple": true, 1832 // CHECK-NEXT: "trivial": true 1833 // CHECK-NEXT: }, 1834 // CHECK-NEXT: "moveCtor": { 1835 // CHECK-NEXT: "exists": true, 1836 // CHECK-NEXT: "needsImplicit": true, 1837 // CHECK-NEXT: "simple": true, 1838 // CHECK-NEXT: "trivial": true 1839 // CHECK-NEXT: } 1840 // CHECK-NEXT: }, 1841 // CHECK-NEXT: "inner": [ 1842 // CHECK-NEXT: { 1843 // CHECK-NEXT: "id": "0x{{.*}}", 1844 // CHECK-NEXT: "kind": "CXXRecordDecl", 1845 // CHECK-NEXT: "loc": { 1846 // CHECK-NEXT: "col": 7, 1847 // CHECK-NEXT: "file": "{{.*}}", 1848 // CHECK-NEXT: "line": 49 1849 // CHECK-NEXT: }, 1850 // CHECK-NEXT: "range": { 1851 // CHECK-NEXT: "begin": { 1852 // CHECK-NEXT: "col": 1, 1853 // CHECK-NEXT: "file": "{{.*}}", 1854 // CHECK-NEXT: "line": 49 1855 // CHECK-NEXT: }, 1856 // CHECK-NEXT: "end": { 1857 // CHECK-NEXT: "col": 7, 1858 // CHECK-NEXT: "file": "{{.*}}", 1859 // CHECK-NEXT: "line": 49 1860 // CHECK-NEXT: } 1861 // CHECK-NEXT: }, 1862 // CHECK-NEXT: "isImplicit": true, 1863 // CHECK-NEXT: "name": "G", 1864 // CHECK-NEXT: "tagUsed": "union" 1865 // CHECK-NEXT: }, 1866 // CHECK-NEXT: { 1867 // CHECK-NEXT: "id": "0x{{.*}}", 1868 // CHECK-NEXT: "kind": "CXXRecordDecl", 1869 // CHECK-NEXT: "loc": { 1870 // CHECK-NEXT: "col": 3, 1871 // CHECK-NEXT: "file": "{{.*}}", 1872 // CHECK-NEXT: "line": 50 1873 // CHECK-NEXT: }, 1874 // CHECK-NEXT: "range": { 1875 // CHECK-NEXT: "begin": { 1876 // CHECK-NEXT: "col": 3, 1877 // CHECK-NEXT: "file": "{{.*}}", 1878 // CHECK-NEXT: "line": 50 1879 // CHECK-NEXT: }, 1880 // CHECK-NEXT: "end": { 1881 // CHECK-NEXT: "col": 3, 1882 // CHECK-NEXT: "file": "{{.*}}", 1883 // CHECK-NEXT: "line": 52 1884 // CHECK-NEXT: } 1885 // CHECK-NEXT: }, 1886 // CHECK-NEXT: "tagUsed": "struct", 1887 // CHECK-NEXT: "completeDefinition": true, 1888 // CHECK-NEXT: "definitionData": { 1889 // CHECK-NEXT: "canPassInRegisters": true, 1890 // CHECK-NEXT: "copyAssign": { 1891 // CHECK-NEXT: "hasConstParam": true, 1892 // CHECK-NEXT: "implicitHasConstParam": true, 1893 // CHECK-NEXT: "needsImplicit": true, 1894 // CHECK-NEXT: "trivial": true 1895 // CHECK-NEXT: }, 1896 // CHECK-NEXT: "copyCtor": { 1897 // CHECK-NEXT: "hasConstParam": true, 1898 // CHECK-NEXT: "implicitHasConstParam": true, 1899 // CHECK-NEXT: "needsImplicit": true, 1900 // CHECK-NEXT: "simple": true, 1901 // CHECK-NEXT: "trivial": true 1902 // CHECK-NEXT: }, 1903 // CHECK-NEXT: "defaultCtor": { 1904 // CHECK-NEXT: "exists": true, 1905 // CHECK-NEXT: "needsImplicit": true, 1906 // CHECK-NEXT: "trivial": true 1907 // CHECK-NEXT: }, 1908 // CHECK-NEXT: "dtor": { 1909 // CHECK-NEXT: "irrelevant": true, 1910 // CHECK-NEXT: "needsImplicit": true, 1911 // CHECK-NEXT: "simple": true, 1912 // CHECK-NEXT: "trivial": true 1913 // CHECK-NEXT: }, 1914 // CHECK-NEXT: "isAggregate": true, 1915 // CHECK-NEXT: "isLiteral": true, 1916 // CHECK-NEXT: "isPOD": true, 1917 // CHECK-NEXT: "isStandardLayout": true, 1918 // CHECK-NEXT: "isTrivial": true, 1919 // CHECK-NEXT: "isTriviallyCopyable": true, 1920 // CHECK-NEXT: "moveAssign": { 1921 // CHECK-NEXT: "exists": true, 1922 // CHECK-NEXT: "needsImplicit": true, 1923 // CHECK-NEXT: "simple": true, 1924 // CHECK-NEXT: "trivial": true 1925 // CHECK-NEXT: }, 1926 // CHECK-NEXT: "moveCtor": { 1927 // CHECK-NEXT: "exists": true, 1928 // CHECK-NEXT: "needsImplicit": true, 1929 // CHECK-NEXT: "simple": true, 1930 // CHECK-NEXT: "trivial": true 1931 // CHECK-NEXT: } 1932 // CHECK-NEXT: }, 1933 // CHECK-NEXT: "inner": [ 1934 // CHECK-NEXT: { 1935 // CHECK-NEXT: "id": "0x{{.*}}", 1936 // CHECK-NEXT: "kind": "FieldDecl", 1937 // CHECK-NEXT: "loc": { 1938 // CHECK-NEXT: "col": 9, 1939 // CHECK-NEXT: "file": "{{.*}}", 1940 // CHECK-NEXT: "line": 51 1941 // CHECK-NEXT: }, 1942 // CHECK-NEXT: "range": { 1943 // CHECK-NEXT: "begin": { 1944 // CHECK-NEXT: "col": 5, 1945 // CHECK-NEXT: "file": "{{.*}}", 1946 // CHECK-NEXT: "line": 51 1947 // CHECK-NEXT: }, 1948 // CHECK-NEXT: "end": { 1949 // CHECK-NEXT: "col": 9, 1950 // CHECK-NEXT: "file": "{{.*}}", 1951 // CHECK-NEXT: "line": 51 1952 // CHECK-NEXT: } 1953 // CHECK-NEXT: }, 1954 // CHECK-NEXT: "name": "a", 1955 // CHECK-NEXT: "type": { 1956 // CHECK-NEXT: "qualType": "int" 1957 // CHECK-NEXT: } 1958 // CHECK-NEXT: } 1959 // CHECK-NEXT: ] 1960 // CHECK-NEXT: }, 1961 // CHECK-NEXT: { 1962 // CHECK-NEXT: "id": "0x{{.*}}", 1963 // CHECK-NEXT: "kind": "FieldDecl", 1964 // CHECK-NEXT: "loc": { 1965 // CHECK-NEXT: "col": 5, 1966 // CHECK-NEXT: "file": "{{.*}}", 1967 // CHECK-NEXT: "line": 52 1968 // CHECK-NEXT: }, 1969 // CHECK-NEXT: "range": { 1970 // CHECK-NEXT: "begin": { 1971 // CHECK-NEXT: "col": 3, 1972 // CHECK-NEXT: "file": "{{.*}}", 1973 // CHECK-NEXT: "line": 50 1974 // CHECK-NEXT: }, 1975 // CHECK-NEXT: "end": { 1976 // CHECK-NEXT: "col": 5, 1977 // CHECK-NEXT: "file": "{{.*}}", 1978 // CHECK-NEXT: "line": 52 1979 // CHECK-NEXT: } 1980 // CHECK-NEXT: }, 1981 // CHECK-NEXT: "name": "b", 1982 // CHECK-NEXT: "type": { 1983 // CHECK-NEXT: "desugaredQualType": "G::(anonymous struct at {{.*}}:50:3)", 1984 // CHECK-NEXT: "qualType": "struct (anonymous struct at {{.*}}:50:3)" 1985 // CHECK-NEXT: } 1986 // CHECK-NEXT: }, 1987 // CHECK-NEXT: { 1988 // CHECK-NEXT: "id": "0x{{.*}}", 1989 // CHECK-NEXT: "kind": "CXXRecordDecl", 1990 // CHECK-NEXT: "loc": { 1991 // CHECK-NEXT: "col": 3, 1992 // CHECK-NEXT: "file": "{{.*}}", 1993 // CHECK-NEXT: "line": 54 1994 // CHECK-NEXT: }, 1995 // CHECK-NEXT: "range": { 1996 // CHECK-NEXT: "begin": { 1997 // CHECK-NEXT: "col": 3, 1998 // CHECK-NEXT: "file": "{{.*}}", 1999 // CHECK-NEXT: "line": 54 2000 // CHECK-NEXT: }, 2001 // CHECK-NEXT: "end": { 2002 // CHECK-NEXT: "col": 3, 2003 // CHECK-NEXT: "file": "{{.*}}", 2004 // CHECK-NEXT: "line": 57 2005 // CHECK-NEXT: } 2006 // CHECK-NEXT: }, 2007 // CHECK-NEXT: "tagUsed": "union", 2008 // CHECK-NEXT: "completeDefinition": true, 2009 // CHECK-NEXT: "definitionData": { 2010 // CHECK-NEXT: "canPassInRegisters": true, 2011 // CHECK-NEXT: "copyAssign": { 2012 // CHECK-NEXT: "hasConstParam": true, 2013 // CHECK-NEXT: "implicitHasConstParam": true, 2014 // CHECK-NEXT: "needsImplicit": true, 2015 // CHECK-NEXT: "trivial": true 2016 // CHECK-NEXT: }, 2017 // CHECK-NEXT: "copyCtor": { 2018 // CHECK-NEXT: "hasConstParam": true, 2019 // CHECK-NEXT: "implicitHasConstParam": true, 2020 // CHECK-NEXT: "needsImplicit": true, 2021 // CHECK-NEXT: "simple": true, 2022 // CHECK-NEXT: "trivial": true 2023 // CHECK-NEXT: }, 2024 // CHECK-NEXT: "defaultCtor": { 2025 // CHECK-NEXT: "exists": true, 2026 // CHECK-NEXT: "needsImplicit": true, 2027 // CHECK-NEXT: "trivial": true 2028 // CHECK-NEXT: }, 2029 // CHECK-NEXT: "dtor": { 2030 // CHECK-NEXT: "irrelevant": true, 2031 // CHECK-NEXT: "needsImplicit": true, 2032 // CHECK-NEXT: "simple": true, 2033 // CHECK-NEXT: "trivial": true 2034 // CHECK-NEXT: }, 2035 // CHECK-NEXT: "hasVariantMembers": true, 2036 // CHECK-NEXT: "isAggregate": true, 2037 // CHECK-NEXT: "isLiteral": true, 2038 // CHECK-NEXT: "isPOD": true, 2039 // CHECK-NEXT: "isStandardLayout": true, 2040 // CHECK-NEXT: "isTrivial": true, 2041 // CHECK-NEXT: "isTriviallyCopyable": true, 2042 // CHECK-NEXT: "moveAssign": { 2043 // CHECK-NEXT: "exists": true, 2044 // CHECK-NEXT: "needsImplicit": true, 2045 // CHECK-NEXT: "simple": true, 2046 // CHECK-NEXT: "trivial": true 2047 // CHECK-NEXT: }, 2048 // CHECK-NEXT: "moveCtor": { 2049 // CHECK-NEXT: "exists": true, 2050 // CHECK-NEXT: "needsImplicit": true, 2051 // CHECK-NEXT: "simple": true, 2052 // CHECK-NEXT: "trivial": true 2053 // CHECK-NEXT: } 2054 // CHECK-NEXT: }, 2055 // CHECK-NEXT: "inner": [ 2056 // CHECK-NEXT: { 2057 // CHECK-NEXT: "id": "0x{{.*}}", 2058 // CHECK-NEXT: "kind": "FieldDecl", 2059 // CHECK-NEXT: "loc": { 2060 // CHECK-NEXT: "col": 9, 2061 // CHECK-NEXT: "file": "{{.*}}", 2062 // CHECK-NEXT: "line": 55 2063 // CHECK-NEXT: }, 2064 // CHECK-NEXT: "range": { 2065 // CHECK-NEXT: "begin": { 2066 // CHECK-NEXT: "col": 5, 2067 // CHECK-NEXT: "file": "{{.*}}", 2068 // CHECK-NEXT: "line": 55 2069 // CHECK-NEXT: }, 2070 // CHECK-NEXT: "end": { 2071 // CHECK-NEXT: "col": 9, 2072 // CHECK-NEXT: "file": "{{.*}}", 2073 // CHECK-NEXT: "line": 55 2074 // CHECK-NEXT: } 2075 // CHECK-NEXT: }, 2076 // CHECK-NEXT: "name": "c", 2077 // CHECK-NEXT: "type": { 2078 // CHECK-NEXT: "qualType": "int" 2079 // CHECK-NEXT: } 2080 // CHECK-NEXT: }, 2081 // CHECK-NEXT: { 2082 // CHECK-NEXT: "id": "0x{{.*}}", 2083 // CHECK-NEXT: "kind": "FieldDecl", 2084 // CHECK-NEXT: "loc": { 2085 // CHECK-NEXT: "col": 11, 2086 // CHECK-NEXT: "file": "{{.*}}", 2087 // CHECK-NEXT: "line": 56 2088 // CHECK-NEXT: }, 2089 // CHECK-NEXT: "range": { 2090 // CHECK-NEXT: "begin": { 2091 // CHECK-NEXT: "col": 5, 2092 // CHECK-NEXT: "file": "{{.*}}", 2093 // CHECK-NEXT: "line": 56 2094 // CHECK-NEXT: }, 2095 // CHECK-NEXT: "end": { 2096 // CHECK-NEXT: "col": 11, 2097 // CHECK-NEXT: "file": "{{.*}}", 2098 // CHECK-NEXT: "line": 56 2099 // CHECK-NEXT: } 2100 // CHECK-NEXT: }, 2101 // CHECK-NEXT: "name": "d", 2102 // CHECK-NEXT: "type": { 2103 // CHECK-NEXT: "qualType": "float" 2104 // CHECK-NEXT: } 2105 // CHECK-NEXT: } 2106 // CHECK-NEXT: ] 2107 // CHECK-NEXT: }, 2108 // CHECK-NEXT: { 2109 // CHECK-NEXT: "id": "0x{{.*}}", 2110 // CHECK-NEXT: "kind": "FieldDecl", 2111 // CHECK-NEXT: "loc": { 2112 // CHECK-NEXT: "col": 3, 2113 // CHECK-NEXT: "file": "{{.*}}", 2114 // CHECK-NEXT: "line": 54 2115 // CHECK-NEXT: }, 2116 // CHECK-NEXT: "range": { 2117 // CHECK-NEXT: "begin": { 2118 // CHECK-NEXT: "col": 3, 2119 // CHECK-NEXT: "file": "{{.*}}", 2120 // CHECK-NEXT: "line": 54 2121 // CHECK-NEXT: }, 2122 // CHECK-NEXT: "end": { 2123 // CHECK-NEXT: "col": 3, 2124 // CHECK-NEXT: "file": "{{.*}}", 2125 // CHECK-NEXT: "line": 54 2126 // CHECK-NEXT: } 2127 // CHECK-NEXT: }, 2128 // CHECK-NEXT: "isImplicit": true, 2129 // CHECK-NEXT: "type": { 2130 // CHECK-NEXT: "qualType": "G::(anonymous union at {{.*}}:54:3)" 2131 // CHECK-NEXT: } 2132 // CHECK-NEXT: }, 2133 // CHECK-NEXT: { 2134 // CHECK-NEXT: "id": "0x{{.*}}", 2135 // CHECK-NEXT: "kind": "IndirectFieldDecl", 2136 // CHECK-NEXT: "loc": { 2137 // CHECK-NEXT: "col": 9, 2138 // CHECK-NEXT: "file": "{{.*}}", 2139 // CHECK-NEXT: "line": 55 2140 // CHECK-NEXT: }, 2141 // CHECK-NEXT: "range": { 2142 // CHECK-NEXT: "begin": { 2143 // CHECK-NEXT: "col": 9, 2144 // CHECK-NEXT: "file": "{{.*}}", 2145 // CHECK-NEXT: "line": 55 2146 // CHECK-NEXT: }, 2147 // CHECK-NEXT: "end": { 2148 // CHECK-NEXT: "col": 9, 2149 // CHECK-NEXT: "file": "{{.*}}", 2150 // CHECK-NEXT: "line": 55 2151 // CHECK-NEXT: } 2152 // CHECK-NEXT: }, 2153 // CHECK-NEXT: "isImplicit": true, 2154 // CHECK-NEXT: "name": "c" 2155 // CHECK-NEXT: }, 2156 // CHECK-NEXT: { 2157 // CHECK-NEXT: "id": "0x{{.*}}", 2158 // CHECK-NEXT: "kind": "IndirectFieldDecl", 2159 // CHECK-NEXT: "loc": { 2160 // CHECK-NEXT: "col": 11, 2161 // CHECK-NEXT: "file": "{{.*}}", 2162 // CHECK-NEXT: "line": 56 2163 // CHECK-NEXT: }, 2164 // CHECK-NEXT: "range": { 2165 // CHECK-NEXT: "begin": { 2166 // CHECK-NEXT: "col": 11, 2167 // CHECK-NEXT: "file": "{{.*}}", 2168 // CHECK-NEXT: "line": 56 2169 // CHECK-NEXT: }, 2170 // CHECK-NEXT: "end": { 2171 // CHECK-NEXT: "col": 11, 2172 // CHECK-NEXT: "file": "{{.*}}", 2173 // CHECK-NEXT: "line": 56 2174 // CHECK-NEXT: } 2175 // CHECK-NEXT: }, 2176 // CHECK-NEXT: "isImplicit": true, 2177 // CHECK-NEXT: "name": "d" 2178 // CHECK-NEXT: }, 2179 // CHECK-NEXT: { 2180 // CHECK-NEXT: "id": "0x{{.*}}", 2181 // CHECK-NEXT: "kind": "CXXRecordDecl", 2182 // CHECK-NEXT: "loc": { 2183 // CHECK-NEXT: "col": 3, 2184 // CHECK-NEXT: "file": "{{.*}}", 2185 // CHECK-NEXT: "line": 59 2186 // CHECK-NEXT: }, 2187 // CHECK-NEXT: "range": { 2188 // CHECK-NEXT: "begin": { 2189 // CHECK-NEXT: "col": 3, 2190 // CHECK-NEXT: "file": "{{.*}}", 2191 // CHECK-NEXT: "line": 59 2192 // CHECK-NEXT: }, 2193 // CHECK-NEXT: "end": { 2194 // CHECK-NEXT: "col": 3, 2195 // CHECK-NEXT: "file": "{{.*}}", 2196 // CHECK-NEXT: "line": 61 2197 // CHECK-NEXT: } 2198 // CHECK-NEXT: }, 2199 // CHECK-NEXT: "tagUsed": "struct", 2200 // CHECK-NEXT: "completeDefinition": true, 2201 // CHECK-NEXT: "definitionData": { 2202 // CHECK-NEXT: "canPassInRegisters": true, 2203 // CHECK-NEXT: "copyAssign": { 2204 // CHECK-NEXT: "hasConstParam": true, 2205 // CHECK-NEXT: "implicitHasConstParam": true, 2206 // CHECK-NEXT: "needsImplicit": true, 2207 // CHECK-NEXT: "trivial": true 2208 // CHECK-NEXT: }, 2209 // CHECK-NEXT: "copyCtor": { 2210 // CHECK-NEXT: "hasConstParam": true, 2211 // CHECK-NEXT: "implicitHasConstParam": true, 2212 // CHECK-NEXT: "needsImplicit": true, 2213 // CHECK-NEXT: "simple": true, 2214 // CHECK-NEXT: "trivial": true 2215 // CHECK-NEXT: }, 2216 // CHECK-NEXT: "defaultCtor": { 2217 // CHECK-NEXT: "exists": true, 2218 // CHECK-NEXT: "needsImplicit": true, 2219 // CHECK-NEXT: "trivial": true 2220 // CHECK-NEXT: }, 2221 // CHECK-NEXT: "dtor": { 2222 // CHECK-NEXT: "irrelevant": true, 2223 // CHECK-NEXT: "needsImplicit": true, 2224 // CHECK-NEXT: "simple": true, 2225 // CHECK-NEXT: "trivial": true 2226 // CHECK-NEXT: }, 2227 // CHECK-NEXT: "isAggregate": true, 2228 // CHECK-NEXT: "isLiteral": true, 2229 // CHECK-NEXT: "isPOD": true, 2230 // CHECK-NEXT: "isStandardLayout": true, 2231 // CHECK-NEXT: "isTrivial": true, 2232 // CHECK-NEXT: "isTriviallyCopyable": true, 2233 // CHECK-NEXT: "moveAssign": { 2234 // CHECK-NEXT: "exists": true, 2235 // CHECK-NEXT: "needsImplicit": true, 2236 // CHECK-NEXT: "simple": true, 2237 // CHECK-NEXT: "trivial": true 2238 // CHECK-NEXT: }, 2239 // CHECK-NEXT: "moveCtor": { 2240 // CHECK-NEXT: "exists": true, 2241 // CHECK-NEXT: "needsImplicit": true, 2242 // CHECK-NEXT: "simple": true, 2243 // CHECK-NEXT: "trivial": true 2244 // CHECK-NEXT: } 2245 // CHECK-NEXT: }, 2246 // CHECK-NEXT: "inner": [ 2247 // CHECK-NEXT: { 2248 // CHECK-NEXT: "id": "0x{{.*}}", 2249 // CHECK-NEXT: "kind": "FieldDecl", 2250 // CHECK-NEXT: "loc": { 2251 // CHECK-NEXT: "col": 9, 2252 // CHECK-NEXT: "file": "{{.*}}", 2253 // CHECK-NEXT: "line": 60 2254 // CHECK-NEXT: }, 2255 // CHECK-NEXT: "range": { 2256 // CHECK-NEXT: "begin": { 2257 // CHECK-NEXT: "col": 5, 2258 // CHECK-NEXT: "file": "{{.*}}", 2259 // CHECK-NEXT: "line": 60 2260 // CHECK-NEXT: }, 2261 // CHECK-NEXT: "end": { 2262 // CHECK-NEXT: "col": 9, 2263 // CHECK-NEXT: "file": "{{.*}}", 2264 // CHECK-NEXT: "line": 60 2265 // CHECK-NEXT: } 2266 // CHECK-NEXT: }, 2267 // CHECK-NEXT: "name": "e", 2268 // CHECK-NEXT: "type": { 2269 // CHECK-NEXT: "qualType": "int" 2270 // CHECK-NEXT: } 2271 // CHECK-NEXT: }, 2272 // CHECK-NEXT: { 2273 // CHECK-NEXT: "id": "0x{{.*}}", 2274 // CHECK-NEXT: "kind": "FieldDecl", 2275 // CHECK-NEXT: "loc": { 2276 // CHECK-NEXT: "col": 12, 2277 // CHECK-NEXT: "file": "{{.*}}", 2278 // CHECK-NEXT: "line": 60 2279 // CHECK-NEXT: }, 2280 // CHECK-NEXT: "range": { 2281 // CHECK-NEXT: "begin": { 2282 // CHECK-NEXT: "col": 5, 2283 // CHECK-NEXT: "file": "{{.*}}", 2284 // CHECK-NEXT: "line": 60 2285 // CHECK-NEXT: }, 2286 // CHECK-NEXT: "end": { 2287 // CHECK-NEXT: "col": 12, 2288 // CHECK-NEXT: "file": "{{.*}}", 2289 // CHECK-NEXT: "line": 60 2290 // CHECK-NEXT: } 2291 // CHECK-NEXT: }, 2292 // CHECK-NEXT: "name": "f", 2293 // CHECK-NEXT: "type": { 2294 // CHECK-NEXT: "qualType": "int" 2295 // CHECK-NEXT: } 2296 // CHECK-NEXT: } 2297 // CHECK-NEXT: ] 2298 // CHECK-NEXT: }, 2299 // CHECK-NEXT: { 2300 // CHECK-NEXT: "id": "0x{{.*}}", 2301 // CHECK-NEXT: "kind": "FieldDecl", 2302 // CHECK-NEXT: "loc": { 2303 // CHECK-NEXT: "col": 3, 2304 // CHECK-NEXT: "file": "{{.*}}", 2305 // CHECK-NEXT: "line": 59 2306 // CHECK-NEXT: }, 2307 // CHECK-NEXT: "range": { 2308 // CHECK-NEXT: "begin": { 2309 // CHECK-NEXT: "col": 3, 2310 // CHECK-NEXT: "file": "{{.*}}", 2311 // CHECK-NEXT: "line": 59 2312 // CHECK-NEXT: }, 2313 // CHECK-NEXT: "end": { 2314 // CHECK-NEXT: "col": 3, 2315 // CHECK-NEXT: "file": "{{.*}}", 2316 // CHECK-NEXT: "line": 59 2317 // CHECK-NEXT: } 2318 // CHECK-NEXT: }, 2319 // CHECK-NEXT: "isImplicit": true, 2320 // CHECK-NEXT: "type": { 2321 // CHECK-NEXT: "qualType": "G::(anonymous struct at {{.*}}:59:3)" 2322 // CHECK-NEXT: } 2323 // CHECK-NEXT: }, 2324 // CHECK-NEXT: { 2325 // CHECK-NEXT: "id": "0x{{.*}}", 2326 // CHECK-NEXT: "kind": "IndirectFieldDecl", 2327 // CHECK-NEXT: "loc": { 2328 // CHECK-NEXT: "col": 9, 2329 // CHECK-NEXT: "file": "{{.*}}", 2330 // CHECK-NEXT: "line": 60 2331 // CHECK-NEXT: }, 2332 // CHECK-NEXT: "range": { 2333 // CHECK-NEXT: "begin": { 2334 // CHECK-NEXT: "col": 9, 2335 // CHECK-NEXT: "file": "{{.*}}", 2336 // CHECK-NEXT: "line": 60 2337 // CHECK-NEXT: }, 2338 // CHECK-NEXT: "end": { 2339 // CHECK-NEXT: "col": 9, 2340 // CHECK-NEXT: "file": "{{.*}}", 2341 // CHECK-NEXT: "line": 60 2342 // CHECK-NEXT: } 2343 // CHECK-NEXT: }, 2344 // CHECK-NEXT: "isImplicit": true, 2345 // CHECK-NEXT: "name": "e" 2346 // CHECK-NEXT: }, 2347 // CHECK-NEXT: { 2348 // CHECK-NEXT: "id": "0x{{.*}}", 2349 // CHECK-NEXT: "kind": "IndirectFieldDecl", 2350 // CHECK-NEXT: "loc": { 2351 // CHECK-NEXT: "col": 12, 2352 // CHECK-NEXT: "file": "{{.*}}", 2353 // CHECK-NEXT: "line": 60 2354 // CHECK-NEXT: }, 2355 // CHECK-NEXT: "range": { 2356 // CHECK-NEXT: "begin": { 2357 // CHECK-NEXT: "col": 12, 2358 // CHECK-NEXT: "file": "{{.*}}", 2359 // CHECK-NEXT: "line": 60 2360 // CHECK-NEXT: }, 2361 // CHECK-NEXT: "end": { 2362 // CHECK-NEXT: "col": 12, 2363 // CHECK-NEXT: "file": "{{.*}}", 2364 // CHECK-NEXT: "line": 60 2365 // CHECK-NEXT: } 2366 // CHECK-NEXT: }, 2367 // CHECK-NEXT: "isImplicit": true, 2368 // CHECK-NEXT: "name": "f" 2369 // CHECK-NEXT: } 2370 // CHECK-NEXT: ] 2371 // CHECK-NEXT: } 2372 2373 2374 // CHECK: "kind": "CXXRecordDecl", 2375 // CHECK-NEXT: "loc": { 2376 // CHECK-NEXT: "col": 8, 2377 // CHECK-NEXT: "file": "{{.*}}", 2378 // CHECK-NEXT: "line": 64 2379 // CHECK-NEXT: }, 2380 // CHECK-NEXT: "range": { 2381 // CHECK-NEXT: "begin": { 2382 // CHECK-NEXT: "col": 1, 2383 // CHECK-NEXT: "file": "{{.*}}", 2384 // CHECK-NEXT: "line": 64 2385 // CHECK-NEXT: }, 2386 // CHECK-NEXT: "end": { 2387 // CHECK-NEXT: "col": 15, 2388 // CHECK-NEXT: "file": "{{.*}}", 2389 // CHECK-NEXT: "line": 64 2390 // CHECK-NEXT: } 2391 // CHECK-NEXT: }, 2392 // CHECK-NEXT: "isReferenced": true, 2393 // CHECK-NEXT: "name": "Base1", 2394 // CHECK-NEXT: "tagUsed": "struct", 2395 // CHECK-NEXT: "completeDefinition": true, 2396 // CHECK-NEXT: "definitionData": { 2397 // CHECK-NEXT: "canConstDefaultInit": true, 2398 // CHECK-NEXT: "canPassInRegisters": true, 2399 // CHECK-NEXT: "copyAssign": { 2400 // CHECK-NEXT: "hasConstParam": true, 2401 // CHECK-NEXT: "implicitHasConstParam": true, 2402 // CHECK-NEXT: "trivial": true 2403 // CHECK-NEXT: }, 2404 // CHECK-NEXT: "copyCtor": { 2405 // CHECK-NEXT: "hasConstParam": true, 2406 // CHECK-NEXT: "implicitHasConstParam": true, 2407 // CHECK-NEXT: "needsImplicit": true, 2408 // CHECK-NEXT: "simple": true, 2409 // CHECK-NEXT: "trivial": true 2410 // CHECK-NEXT: }, 2411 // CHECK-NEXT: "defaultCtor": { 2412 // CHECK-NEXT: "defaultedIsConstexpr": true, 2413 // CHECK-NEXT: "exists": true, 2414 // CHECK-NEXT: "isConstexpr": true, 2415 // CHECK-NEXT: "needsImplicit": true, 2416 // CHECK-NEXT: "trivial": true 2417 // CHECK-NEXT: }, 2418 // CHECK-NEXT: "dtor": { 2419 // CHECK-NEXT: "irrelevant": true, 2420 // CHECK-NEXT: "simple": true, 2421 // CHECK-NEXT: "trivial": true 2422 // CHECK-NEXT: }, 2423 // CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, 2424 // CHECK-NEXT: "isAggregate": true, 2425 // CHECK-NEXT: "isEmpty": true, 2426 // CHECK-NEXT: "isLiteral": true, 2427 // CHECK-NEXT: "isPOD": true, 2428 // CHECK-NEXT: "isStandardLayout": true, 2429 // CHECK-NEXT: "isTrivial": true, 2430 // CHECK-NEXT: "isTriviallyCopyable": true, 2431 // CHECK-NEXT: "moveAssign": { 2432 // CHECK-NEXT: "exists": true, 2433 // CHECK-NEXT: "simple": true, 2434 // CHECK-NEXT: "trivial": true 2435 // CHECK-NEXT: }, 2436 // CHECK-NEXT: "moveCtor": { 2437 // CHECK-NEXT: "exists": true, 2438 // CHECK-NEXT: "needsImplicit": true, 2439 // CHECK-NEXT: "simple": true, 2440 // CHECK-NEXT: "trivial": true 2441 // CHECK-NEXT: } 2442 // CHECK-NEXT: }, 2443 // CHECK-NEXT: "inner": [ 2444 // CHECK-NEXT: { 2445 // CHECK-NEXT: "id": "0x{{.*}}", 2446 // CHECK-NEXT: "kind": "CXXRecordDecl", 2447 // CHECK-NEXT: "loc": { 2448 // CHECK-NEXT: "col": 8, 2449 // CHECK-NEXT: "file": "{{.*}}", 2450 // CHECK-NEXT: "line": 64 2451 // CHECK-NEXT: }, 2452 // CHECK-NEXT: "range": { 2453 // CHECK-NEXT: "begin": { 2454 // CHECK-NEXT: "col": 1, 2455 // CHECK-NEXT: "file": "{{.*}}", 2456 // CHECK-NEXT: "line": 64 2457 // CHECK-NEXT: }, 2458 // CHECK-NEXT: "end": { 2459 // CHECK-NEXT: "col": 8, 2460 // CHECK-NEXT: "file": "{{.*}}", 2461 // CHECK-NEXT: "line": 64 2462 // CHECK-NEXT: } 2463 // CHECK-NEXT: }, 2464 // CHECK-NEXT: "isImplicit": true, 2465 // CHECK-NEXT: "name": "Base1", 2466 // CHECK-NEXT: "tagUsed": "struct" 2467 // CHECK-NEXT: }, 2468 // CHECK-NEXT: { 2469 // CHECK-NEXT: "id": "0x{{.*}}", 2470 // CHECK-NEXT: "kind": "CXXMethodDecl", 2471 // CHECK-NEXT: "loc": { 2472 // CHECK-NEXT: "col": 8, 2473 // CHECK-NEXT: "file": "{{.*}}", 2474 // CHECK-NEXT: "line": 64 2475 // CHECK-NEXT: }, 2476 // CHECK-NEXT: "range": { 2477 // CHECK-NEXT: "begin": { 2478 // CHECK-NEXT: "col": 8, 2479 // CHECK-NEXT: "file": "{{.*}}", 2480 // CHECK-NEXT: "line": 64 2481 // CHECK-NEXT: }, 2482 // CHECK-NEXT: "end": { 2483 // CHECK-NEXT: "col": 8, 2484 // CHECK-NEXT: "file": "{{.*}}", 2485 // CHECK-NEXT: "line": 64 2486 // CHECK-NEXT: } 2487 // CHECK-NEXT: }, 2488 // CHECK-NEXT: "isImplicit": true, 2489 // CHECK-NEXT: "name": "operator=", 2490 // CHECK-NEXT: "type": { 2491 // CHECK-NEXT: "qualType": "Base1 &(const Base1 &)" 2492 // CHECK-NEXT: }, 2493 // CHECK-NEXT: "inline": true, 2494 // CHECK-NEXT: "constexpr": true, 2495 // CHECK-NEXT: "explicitlyDefaulted": "default", 2496 // CHECK-NEXT: "inner": [ 2497 // CHECK-NEXT: { 2498 // CHECK-NEXT: "id": "0x{{.*}}", 2499 // CHECK-NEXT: "kind": "ParmVarDecl", 2500 // CHECK-NEXT: "loc": { 2501 // CHECK-NEXT: "col": 8, 2502 // CHECK-NEXT: "file": "{{.*}}", 2503 // CHECK-NEXT: "line": 64 2504 // CHECK-NEXT: }, 2505 // CHECK-NEXT: "range": { 2506 // CHECK-NEXT: "begin": { 2507 // CHECK-NEXT: "col": 8, 2508 // CHECK-NEXT: "file": "{{.*}}", 2509 // CHECK-NEXT: "line": 64 2510 // CHECK-NEXT: }, 2511 // CHECK-NEXT: "end": { 2512 // CHECK-NEXT: "col": 8, 2513 // CHECK-NEXT: "file": "{{.*}}", 2514 // CHECK-NEXT: "line": 64 2515 // CHECK-NEXT: } 2516 // CHECK-NEXT: }, 2517 // CHECK-NEXT: "type": { 2518 // CHECK-NEXT: "qualType": "const Base1 &" 2519 // CHECK-NEXT: } 2520 // CHECK-NEXT: } 2521 // CHECK-NEXT: ] 2522 // CHECK-NEXT: }, 2523 // CHECK-NEXT: { 2524 // CHECK-NEXT: "id": "0x{{.*}}", 2525 // CHECK-NEXT: "kind": "CXXMethodDecl", 2526 // CHECK-NEXT: "loc": { 2527 // CHECK-NEXT: "col": 8, 2528 // CHECK-NEXT: "file": "{{.*}}", 2529 // CHECK-NEXT: "line": 64 2530 // CHECK-NEXT: }, 2531 // CHECK-NEXT: "range": { 2532 // CHECK-NEXT: "begin": { 2533 // CHECK-NEXT: "col": 8, 2534 // CHECK-NEXT: "file": "{{.*}}", 2535 // CHECK-NEXT: "line": 64 2536 // CHECK-NEXT: }, 2537 // CHECK-NEXT: "end": { 2538 // CHECK-NEXT: "col": 8, 2539 // CHECK-NEXT: "file": "{{.*}}", 2540 // CHECK-NEXT: "line": 64 2541 // CHECK-NEXT: } 2542 // CHECK-NEXT: }, 2543 // CHECK-NEXT: "isImplicit": true, 2544 // CHECK-NEXT: "name": "operator=", 2545 // CHECK-NEXT: "type": { 2546 // CHECK-NEXT: "qualType": "Base1 &(Base1 &&)" 2547 // CHECK-NEXT: }, 2548 // CHECK-NEXT: "inline": true, 2549 // CHECK-NEXT: "constexpr": true, 2550 // CHECK-NEXT: "explicitlyDefaulted": "default", 2551 // CHECK-NEXT: "inner": [ 2552 // CHECK-NEXT: { 2553 // CHECK-NEXT: "id": "0x{{.*}}", 2554 // CHECK-NEXT: "kind": "ParmVarDecl", 2555 // CHECK-NEXT: "loc": { 2556 // CHECK-NEXT: "col": 8, 2557 // CHECK-NEXT: "file": "{{.*}}", 2558 // CHECK-NEXT: "line": 64 2559 // CHECK-NEXT: }, 2560 // CHECK-NEXT: "range": { 2561 // CHECK-NEXT: "begin": { 2562 // CHECK-NEXT: "col": 8, 2563 // CHECK-NEXT: "file": "{{.*}}", 2564 // CHECK-NEXT: "line": 64 2565 // CHECK-NEXT: }, 2566 // CHECK-NEXT: "end": { 2567 // CHECK-NEXT: "col": 8, 2568 // CHECK-NEXT: "file": "{{.*}}", 2569 // CHECK-NEXT: "line": 64 2570 // CHECK-NEXT: } 2571 // CHECK-NEXT: }, 2572 // CHECK-NEXT: "type": { 2573 // CHECK-NEXT: "qualType": "Base1 &&" 2574 // CHECK-NEXT: } 2575 // CHECK-NEXT: } 2576 // CHECK-NEXT: ] 2577 // CHECK-NEXT: }, 2578 // CHECK-NEXT: { 2579 // CHECK-NEXT: "id": "0x{{.*}}", 2580 // CHECK-NEXT: "kind": "CXXDestructorDecl", 2581 // CHECK-NEXT: "loc": { 2582 // CHECK-NEXT: "col": 8, 2583 // CHECK-NEXT: "file": "{{.*}}", 2584 // CHECK-NEXT: "line": 64 2585 // CHECK-NEXT: }, 2586 // CHECK-NEXT: "range": { 2587 // CHECK-NEXT: "begin": { 2588 // CHECK-NEXT: "col": 8, 2589 // CHECK-NEXT: "file": "{{.*}}", 2590 // CHECK-NEXT: "line": 64 2591 // CHECK-NEXT: }, 2592 // CHECK-NEXT: "end": { 2593 // CHECK-NEXT: "col": 8, 2594 // CHECK-NEXT: "file": "{{.*}}", 2595 // CHECK-NEXT: "line": 64 2596 // CHECK-NEXT: } 2597 // CHECK-NEXT: }, 2598 // CHECK-NEXT: "isImplicit": true, 2599 // CHECK-NEXT: "name": "~Base1", 2600 // CHECK-NEXT: "type": { 2601 // CHECK-NEXT: "qualType": "void ()" 2602 // CHECK-NEXT: }, 2603 // CHECK-NEXT: "inline": true, 2604 // CHECK-NEXT: "explicitlyDefaulted": "default" 2605 // CHECK-NEXT: } 2606 // CHECK-NEXT: ] 2607 // CHECK-NEXT: } 2608 2609 2610 // CHECK: "kind": "CXXRecordDecl", 2611 // CHECK-NEXT: "loc": { 2612 // CHECK-NEXT: "col": 8, 2613 // CHECK-NEXT: "file": "{{.*}}", 2614 // CHECK-NEXT: "line": 65 2615 // CHECK-NEXT: }, 2616 // CHECK-NEXT: "range": { 2617 // CHECK-NEXT: "begin": { 2618 // CHECK-NEXT: "col": 1, 2619 // CHECK-NEXT: "file": "{{.*}}", 2620 // CHECK-NEXT: "line": 65 2621 // CHECK-NEXT: }, 2622 // CHECK-NEXT: "end": { 2623 // CHECK-NEXT: "col": 15, 2624 // CHECK-NEXT: "file": "{{.*}}", 2625 // CHECK-NEXT: "line": 65 2626 // CHECK-NEXT: } 2627 // CHECK-NEXT: }, 2628 // CHECK-NEXT: "isReferenced": true, 2629 // CHECK-NEXT: "name": "Base2", 2630 // CHECK-NEXT: "tagUsed": "struct", 2631 // CHECK-NEXT: "completeDefinition": true, 2632 // CHECK-NEXT: "definitionData": { 2633 // CHECK-NEXT: "canConstDefaultInit": true, 2634 // CHECK-NEXT: "canPassInRegisters": true, 2635 // CHECK-NEXT: "copyAssign": { 2636 // CHECK-NEXT: "hasConstParam": true, 2637 // CHECK-NEXT: "implicitHasConstParam": true, 2638 // CHECK-NEXT: "trivial": true 2639 // CHECK-NEXT: }, 2640 // CHECK-NEXT: "copyCtor": { 2641 // CHECK-NEXT: "hasConstParam": true, 2642 // CHECK-NEXT: "implicitHasConstParam": true, 2643 // CHECK-NEXT: "needsImplicit": true, 2644 // CHECK-NEXT: "simple": true, 2645 // CHECK-NEXT: "trivial": true 2646 // CHECK-NEXT: }, 2647 // CHECK-NEXT: "defaultCtor": { 2648 // CHECK-NEXT: "defaultedIsConstexpr": true, 2649 // CHECK-NEXT: "exists": true, 2650 // CHECK-NEXT: "isConstexpr": true, 2651 // CHECK-NEXT: "needsImplicit": true, 2652 // CHECK-NEXT: "trivial": true 2653 // CHECK-NEXT: }, 2654 // CHECK-NEXT: "dtor": { 2655 // CHECK-NEXT: "irrelevant": true, 2656 // CHECK-NEXT: "simple": true, 2657 // CHECK-NEXT: "trivial": true 2658 // CHECK-NEXT: }, 2659 // CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, 2660 // CHECK-NEXT: "isAggregate": true, 2661 // CHECK-NEXT: "isEmpty": true, 2662 // CHECK-NEXT: "isLiteral": true, 2663 // CHECK-NEXT: "isPOD": true, 2664 // CHECK-NEXT: "isStandardLayout": true, 2665 // CHECK-NEXT: "isTrivial": true, 2666 // CHECK-NEXT: "isTriviallyCopyable": true, 2667 // CHECK-NEXT: "moveAssign": { 2668 // CHECK-NEXT: "exists": true, 2669 // CHECK-NEXT: "simple": true, 2670 // CHECK-NEXT: "trivial": true 2671 // CHECK-NEXT: }, 2672 // CHECK-NEXT: "moveCtor": { 2673 // CHECK-NEXT: "exists": true, 2674 // CHECK-NEXT: "needsImplicit": true, 2675 // CHECK-NEXT: "simple": true, 2676 // CHECK-NEXT: "trivial": true 2677 // CHECK-NEXT: } 2678 // CHECK-NEXT: }, 2679 // CHECK-NEXT: "inner": [ 2680 // CHECK-NEXT: { 2681 // CHECK-NEXT: "id": "0x{{.*}}", 2682 // CHECK-NEXT: "kind": "CXXRecordDecl", 2683 // CHECK-NEXT: "loc": { 2684 // CHECK-NEXT: "col": 8, 2685 // CHECK-NEXT: "file": "{{.*}}", 2686 // CHECK-NEXT: "line": 65 2687 // CHECK-NEXT: }, 2688 // CHECK-NEXT: "range": { 2689 // CHECK-NEXT: "begin": { 2690 // CHECK-NEXT: "col": 1, 2691 // CHECK-NEXT: "file": "{{.*}}", 2692 // CHECK-NEXT: "line": 65 2693 // CHECK-NEXT: }, 2694 // CHECK-NEXT: "end": { 2695 // CHECK-NEXT: "col": 8, 2696 // CHECK-NEXT: "file": "{{.*}}", 2697 // CHECK-NEXT: "line": 65 2698 // CHECK-NEXT: } 2699 // CHECK-NEXT: }, 2700 // CHECK-NEXT: "isImplicit": true, 2701 // CHECK-NEXT: "name": "Base2", 2702 // CHECK-NEXT: "tagUsed": "struct" 2703 // CHECK-NEXT: }, 2704 // CHECK-NEXT: { 2705 // CHECK-NEXT: "id": "0x{{.*}}", 2706 // CHECK-NEXT: "kind": "CXXMethodDecl", 2707 // CHECK-NEXT: "loc": { 2708 // CHECK-NEXT: "col": 8, 2709 // CHECK-NEXT: "file": "{{.*}}", 2710 // CHECK-NEXT: "line": 65 2711 // CHECK-NEXT: }, 2712 // CHECK-NEXT: "range": { 2713 // CHECK-NEXT: "begin": { 2714 // CHECK-NEXT: "col": 8, 2715 // CHECK-NEXT: "file": "{{.*}}", 2716 // CHECK-NEXT: "line": 65 2717 // CHECK-NEXT: }, 2718 // CHECK-NEXT: "end": { 2719 // CHECK-NEXT: "col": 8, 2720 // CHECK-NEXT: "file": "{{.*}}", 2721 // CHECK-NEXT: "line": 65 2722 // CHECK-NEXT: } 2723 // CHECK-NEXT: }, 2724 // CHECK-NEXT: "isImplicit": true, 2725 // CHECK-NEXT: "name": "operator=", 2726 // CHECK-NEXT: "type": { 2727 // CHECK-NEXT: "qualType": "Base2 &(const Base2 &)" 2728 // CHECK-NEXT: }, 2729 // CHECK-NEXT: "inline": true, 2730 // CHECK-NEXT: "constexpr": true, 2731 // CHECK-NEXT: "explicitlyDefaulted": "default", 2732 // CHECK-NEXT: "inner": [ 2733 // CHECK-NEXT: { 2734 // CHECK-NEXT: "id": "0x{{.*}}", 2735 // CHECK-NEXT: "kind": "ParmVarDecl", 2736 // CHECK-NEXT: "loc": { 2737 // CHECK-NEXT: "col": 8, 2738 // CHECK-NEXT: "file": "{{.*}}", 2739 // CHECK-NEXT: "line": 65 2740 // CHECK-NEXT: }, 2741 // CHECK-NEXT: "range": { 2742 // CHECK-NEXT: "begin": { 2743 // CHECK-NEXT: "col": 8, 2744 // CHECK-NEXT: "file": "{{.*}}", 2745 // CHECK-NEXT: "line": 65 2746 // CHECK-NEXT: }, 2747 // CHECK-NEXT: "end": { 2748 // CHECK-NEXT: "col": 8, 2749 // CHECK-NEXT: "file": "{{.*}}", 2750 // CHECK-NEXT: "line": 65 2751 // CHECK-NEXT: } 2752 // CHECK-NEXT: }, 2753 // CHECK-NEXT: "type": { 2754 // CHECK-NEXT: "qualType": "const Base2 &" 2755 // CHECK-NEXT: } 2756 // CHECK-NEXT: } 2757 // CHECK-NEXT: ] 2758 // CHECK-NEXT: }, 2759 // CHECK-NEXT: { 2760 // CHECK-NEXT: "id": "0x{{.*}}", 2761 // CHECK-NEXT: "kind": "CXXMethodDecl", 2762 // CHECK-NEXT: "loc": { 2763 // CHECK-NEXT: "col": 8, 2764 // CHECK-NEXT: "file": "{{.*}}", 2765 // CHECK-NEXT: "line": 65 2766 // CHECK-NEXT: }, 2767 // CHECK-NEXT: "range": { 2768 // CHECK-NEXT: "begin": { 2769 // CHECK-NEXT: "col": 8, 2770 // CHECK-NEXT: "file": "{{.*}}", 2771 // CHECK-NEXT: "line": 65 2772 // CHECK-NEXT: }, 2773 // CHECK-NEXT: "end": { 2774 // CHECK-NEXT: "col": 8, 2775 // CHECK-NEXT: "file": "{{.*}}", 2776 // CHECK-NEXT: "line": 65 2777 // CHECK-NEXT: } 2778 // CHECK-NEXT: }, 2779 // CHECK-NEXT: "isImplicit": true, 2780 // CHECK-NEXT: "name": "operator=", 2781 // CHECK-NEXT: "type": { 2782 // CHECK-NEXT: "qualType": "Base2 &(Base2 &&)" 2783 // CHECK-NEXT: }, 2784 // CHECK-NEXT: "inline": true, 2785 // CHECK-NEXT: "constexpr": true, 2786 // CHECK-NEXT: "explicitlyDefaulted": "default", 2787 // CHECK-NEXT: "inner": [ 2788 // CHECK-NEXT: { 2789 // CHECK-NEXT: "id": "0x{{.*}}", 2790 // CHECK-NEXT: "kind": "ParmVarDecl", 2791 // CHECK-NEXT: "loc": { 2792 // CHECK-NEXT: "col": 8, 2793 // CHECK-NEXT: "file": "{{.*}}", 2794 // CHECK-NEXT: "line": 65 2795 // CHECK-NEXT: }, 2796 // CHECK-NEXT: "range": { 2797 // CHECK-NEXT: "begin": { 2798 // CHECK-NEXT: "col": 8, 2799 // CHECK-NEXT: "file": "{{.*}}", 2800 // CHECK-NEXT: "line": 65 2801 // CHECK-NEXT: }, 2802 // CHECK-NEXT: "end": { 2803 // CHECK-NEXT: "col": 8, 2804 // CHECK-NEXT: "file": "{{.*}}", 2805 // CHECK-NEXT: "line": 65 2806 // CHECK-NEXT: } 2807 // CHECK-NEXT: }, 2808 // CHECK-NEXT: "type": { 2809 // CHECK-NEXT: "qualType": "Base2 &&" 2810 // CHECK-NEXT: } 2811 // CHECK-NEXT: } 2812 // CHECK-NEXT: ] 2813 // CHECK-NEXT: }, 2814 // CHECK-NEXT: { 2815 // CHECK-NEXT: "id": "0x{{.*}}", 2816 // CHECK-NEXT: "kind": "CXXDestructorDecl", 2817 // CHECK-NEXT: "loc": { 2818 // CHECK-NEXT: "col": 8, 2819 // CHECK-NEXT: "file": "{{.*}}", 2820 // CHECK-NEXT: "line": 65 2821 // CHECK-NEXT: }, 2822 // CHECK-NEXT: "range": { 2823 // CHECK-NEXT: "begin": { 2824 // CHECK-NEXT: "col": 8, 2825 // CHECK-NEXT: "file": "{{.*}}", 2826 // CHECK-NEXT: "line": 65 2827 // CHECK-NEXT: }, 2828 // CHECK-NEXT: "end": { 2829 // CHECK-NEXT: "col": 8, 2830 // CHECK-NEXT: "file": "{{.*}}", 2831 // CHECK-NEXT: "line": 65 2832 // CHECK-NEXT: } 2833 // CHECK-NEXT: }, 2834 // CHECK-NEXT: "isImplicit": true, 2835 // CHECK-NEXT: "name": "~Base2", 2836 // CHECK-NEXT: "type": { 2837 // CHECK-NEXT: "qualType": "void ()" 2838 // CHECK-NEXT: }, 2839 // CHECK-NEXT: "inline": true, 2840 // CHECK-NEXT: "explicitlyDefaulted": "default" 2841 // CHECK-NEXT: } 2842 // CHECK-NEXT: ] 2843 // CHECK-NEXT: } 2844 2845 2846 // CHECK: "kind": "CXXRecordDecl", 2847 // CHECK-NEXT: "loc": { 2848 // CHECK-NEXT: "col": 8, 2849 // CHECK-NEXT: "file": "{{.*}}", 2850 // CHECK-NEXT: "line": 66 2851 // CHECK-NEXT: }, 2852 // CHECK-NEXT: "range": { 2853 // CHECK-NEXT: "begin": { 2854 // CHECK-NEXT: "col": 1, 2855 // CHECK-NEXT: "file": "{{.*}}", 2856 // CHECK-NEXT: "line": 66 2857 // CHECK-NEXT: }, 2858 // CHECK-NEXT: "end": { 2859 // CHECK-NEXT: "col": 15, 2860 // CHECK-NEXT: "file": "{{.*}}", 2861 // CHECK-NEXT: "line": 66 2862 // CHECK-NEXT: } 2863 // CHECK-NEXT: }, 2864 // CHECK-NEXT: "isReferenced": true, 2865 // CHECK-NEXT: "name": "Base3", 2866 // CHECK-NEXT: "tagUsed": "struct", 2867 // CHECK-NEXT: "completeDefinition": true, 2868 // CHECK-NEXT: "definitionData": { 2869 // CHECK-NEXT: "canConstDefaultInit": true, 2870 // CHECK-NEXT: "canPassInRegisters": true, 2871 // CHECK-NEXT: "copyAssign": { 2872 // CHECK-NEXT: "hasConstParam": true, 2873 // CHECK-NEXT: "implicitHasConstParam": true, 2874 // CHECK-NEXT: "trivial": true 2875 // CHECK-NEXT: }, 2876 // CHECK-NEXT: "copyCtor": { 2877 // CHECK-NEXT: "hasConstParam": true, 2878 // CHECK-NEXT: "implicitHasConstParam": true, 2879 // CHECK-NEXT: "needsImplicit": true, 2880 // CHECK-NEXT: "simple": true, 2881 // CHECK-NEXT: "trivial": true 2882 // CHECK-NEXT: }, 2883 // CHECK-NEXT: "defaultCtor": { 2884 // CHECK-NEXT: "defaultedIsConstexpr": true, 2885 // CHECK-NEXT: "exists": true, 2886 // CHECK-NEXT: "isConstexpr": true, 2887 // CHECK-NEXT: "needsImplicit": true, 2888 // CHECK-NEXT: "trivial": true 2889 // CHECK-NEXT: }, 2890 // CHECK-NEXT: "dtor": { 2891 // CHECK-NEXT: "irrelevant": true, 2892 // CHECK-NEXT: "simple": true, 2893 // CHECK-NEXT: "trivial": true 2894 // CHECK-NEXT: }, 2895 // CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, 2896 // CHECK-NEXT: "isAggregate": true, 2897 // CHECK-NEXT: "isEmpty": true, 2898 // CHECK-NEXT: "isLiteral": true, 2899 // CHECK-NEXT: "isPOD": true, 2900 // CHECK-NEXT: "isStandardLayout": true, 2901 // CHECK-NEXT: "isTrivial": true, 2902 // CHECK-NEXT: "isTriviallyCopyable": true, 2903 // CHECK-NEXT: "moveAssign": { 2904 // CHECK-NEXT: "exists": true, 2905 // CHECK-NEXT: "simple": true, 2906 // CHECK-NEXT: "trivial": true 2907 // CHECK-NEXT: }, 2908 // CHECK-NEXT: "moveCtor": { 2909 // CHECK-NEXT: "exists": true, 2910 // CHECK-NEXT: "needsImplicit": true, 2911 // CHECK-NEXT: "simple": true, 2912 // CHECK-NEXT: "trivial": true 2913 // CHECK-NEXT: } 2914 // CHECK-NEXT: }, 2915 // CHECK-NEXT: "inner": [ 2916 // CHECK-NEXT: { 2917 // CHECK-NEXT: "id": "0x{{.*}}", 2918 // CHECK-NEXT: "kind": "CXXRecordDecl", 2919 // CHECK-NEXT: "loc": { 2920 // CHECK-NEXT: "col": 8, 2921 // CHECK-NEXT: "file": "{{.*}}", 2922 // CHECK-NEXT: "line": 66 2923 // CHECK-NEXT: }, 2924 // CHECK-NEXT: "range": { 2925 // CHECK-NEXT: "begin": { 2926 // CHECK-NEXT: "col": 1, 2927 // CHECK-NEXT: "file": "{{.*}}", 2928 // CHECK-NEXT: "line": 66 2929 // CHECK-NEXT: }, 2930 // CHECK-NEXT: "end": { 2931 // CHECK-NEXT: "col": 8, 2932 // CHECK-NEXT: "file": "{{.*}}", 2933 // CHECK-NEXT: "line": 66 2934 // CHECK-NEXT: } 2935 // CHECK-NEXT: }, 2936 // CHECK-NEXT: "isImplicit": true, 2937 // CHECK-NEXT: "name": "Base3", 2938 // CHECK-NEXT: "tagUsed": "struct" 2939 // CHECK-NEXT: }, 2940 // CHECK-NEXT: { 2941 // CHECK-NEXT: "id": "0x{{.*}}", 2942 // CHECK-NEXT: "kind": "CXXMethodDecl", 2943 // CHECK-NEXT: "loc": { 2944 // CHECK-NEXT: "col": 8, 2945 // CHECK-NEXT: "file": "{{.*}}", 2946 // CHECK-NEXT: "line": 66 2947 // CHECK-NEXT: }, 2948 // CHECK-NEXT: "range": { 2949 // CHECK-NEXT: "begin": { 2950 // CHECK-NEXT: "col": 8, 2951 // CHECK-NEXT: "file": "{{.*}}", 2952 // CHECK-NEXT: "line": 66 2953 // CHECK-NEXT: }, 2954 // CHECK-NEXT: "end": { 2955 // CHECK-NEXT: "col": 8, 2956 // CHECK-NEXT: "file": "{{.*}}", 2957 // CHECK-NEXT: "line": 66 2958 // CHECK-NEXT: } 2959 // CHECK-NEXT: }, 2960 // CHECK-NEXT: "isImplicit": true, 2961 // CHECK-NEXT: "name": "operator=", 2962 // CHECK-NEXT: "type": { 2963 // CHECK-NEXT: "qualType": "Base3 &(const Base3 &)" 2964 // CHECK-NEXT: }, 2965 // CHECK-NEXT: "inline": true, 2966 // CHECK-NEXT: "constexpr": true, 2967 // CHECK-NEXT: "explicitlyDefaulted": "default", 2968 // CHECK-NEXT: "inner": [ 2969 // CHECK-NEXT: { 2970 // CHECK-NEXT: "id": "0x{{.*}}", 2971 // CHECK-NEXT: "kind": "ParmVarDecl", 2972 // CHECK-NEXT: "loc": { 2973 // CHECK-NEXT: "col": 8, 2974 // CHECK-NEXT: "file": "{{.*}}", 2975 // CHECK-NEXT: "line": 66 2976 // CHECK-NEXT: }, 2977 // CHECK-NEXT: "range": { 2978 // CHECK-NEXT: "begin": { 2979 // CHECK-NEXT: "col": 8, 2980 // CHECK-NEXT: "file": "{{.*}}", 2981 // CHECK-NEXT: "line": 66 2982 // CHECK-NEXT: }, 2983 // CHECK-NEXT: "end": { 2984 // CHECK-NEXT: "col": 8, 2985 // CHECK-NEXT: "file": "{{.*}}", 2986 // CHECK-NEXT: "line": 66 2987 // CHECK-NEXT: } 2988 // CHECK-NEXT: }, 2989 // CHECK-NEXT: "type": { 2990 // CHECK-NEXT: "qualType": "const Base3 &" 2991 // CHECK-NEXT: } 2992 // CHECK-NEXT: } 2993 // CHECK-NEXT: ] 2994 // CHECK-NEXT: }, 2995 // CHECK-NEXT: { 2996 // CHECK-NEXT: "id": "0x{{.*}}", 2997 // CHECK-NEXT: "kind": "CXXMethodDecl", 2998 // CHECK-NEXT: "loc": { 2999 // CHECK-NEXT: "col": 8, 3000 // CHECK-NEXT: "file": "{{.*}}", 3001 // CHECK-NEXT: "line": 66 3002 // CHECK-NEXT: }, 3003 // CHECK-NEXT: "range": { 3004 // CHECK-NEXT: "begin": { 3005 // CHECK-NEXT: "col": 8, 3006 // CHECK-NEXT: "file": "{{.*}}", 3007 // CHECK-NEXT: "line": 66 3008 // CHECK-NEXT: }, 3009 // CHECK-NEXT: "end": { 3010 // CHECK-NEXT: "col": 8, 3011 // CHECK-NEXT: "file": "{{.*}}", 3012 // CHECK-NEXT: "line": 66 3013 // CHECK-NEXT: } 3014 // CHECK-NEXT: }, 3015 // CHECK-NEXT: "isImplicit": true, 3016 // CHECK-NEXT: "name": "operator=", 3017 // CHECK-NEXT: "type": { 3018 // CHECK-NEXT: "qualType": "Base3 &(Base3 &&)" 3019 // CHECK-NEXT: }, 3020 // CHECK-NEXT: "inline": true, 3021 // CHECK-NEXT: "constexpr": true, 3022 // CHECK-NEXT: "explicitlyDefaulted": "default", 3023 // CHECK-NEXT: "inner": [ 3024 // CHECK-NEXT: { 3025 // CHECK-NEXT: "id": "0x{{.*}}", 3026 // CHECK-NEXT: "kind": "ParmVarDecl", 3027 // CHECK-NEXT: "loc": { 3028 // CHECK-NEXT: "col": 8, 3029 // CHECK-NEXT: "file": "{{.*}}", 3030 // CHECK-NEXT: "line": 66 3031 // CHECK-NEXT: }, 3032 // CHECK-NEXT: "range": { 3033 // CHECK-NEXT: "begin": { 3034 // CHECK-NEXT: "col": 8, 3035 // CHECK-NEXT: "file": "{{.*}}", 3036 // CHECK-NEXT: "line": 66 3037 // CHECK-NEXT: }, 3038 // CHECK-NEXT: "end": { 3039 // CHECK-NEXT: "col": 8, 3040 // CHECK-NEXT: "file": "{{.*}}", 3041 // CHECK-NEXT: "line": 66 3042 // CHECK-NEXT: } 3043 // CHECK-NEXT: }, 3044 // CHECK-NEXT: "type": { 3045 // CHECK-NEXT: "qualType": "Base3 &&" 3046 // CHECK-NEXT: } 3047 // CHECK-NEXT: } 3048 // CHECK-NEXT: ] 3049 // CHECK-NEXT: }, 3050 // CHECK-NEXT: { 3051 // CHECK-NEXT: "id": "0x{{.*}}", 3052 // CHECK-NEXT: "kind": "CXXDestructorDecl", 3053 // CHECK-NEXT: "loc": { 3054 // CHECK-NEXT: "col": 8, 3055 // CHECK-NEXT: "file": "{{.*}}", 3056 // CHECK-NEXT: "line": 66 3057 // CHECK-NEXT: }, 3058 // CHECK-NEXT: "range": { 3059 // CHECK-NEXT: "begin": { 3060 // CHECK-NEXT: "col": 8, 3061 // CHECK-NEXT: "file": "{{.*}}", 3062 // CHECK-NEXT: "line": 66 3063 // CHECK-NEXT: }, 3064 // CHECK-NEXT: "end": { 3065 // CHECK-NEXT: "col": 8, 3066 // CHECK-NEXT: "file": "{{.*}}", 3067 // CHECK-NEXT: "line": 66 3068 // CHECK-NEXT: } 3069 // CHECK-NEXT: }, 3070 // CHECK-NEXT: "isImplicit": true, 3071 // CHECK-NEXT: "name": "~Base3", 3072 // CHECK-NEXT: "type": { 3073 // CHECK-NEXT: "qualType": "void ()" 3074 // CHECK-NEXT: }, 3075 // CHECK-NEXT: "inline": true, 3076 // CHECK-NEXT: "explicitlyDefaulted": "default" 3077 // CHECK-NEXT: } 3078 // CHECK-NEXT: ] 3079 // CHECK-NEXT: } 3080 3081 3082 // CHECK: "kind": "CXXRecordDecl", 3083 // CHECK-NEXT: "loc": { 3084 // CHECK-NEXT: "col": 8, 3085 // CHECK-NEXT: "file": "{{.*}}", 3086 // CHECK-NEXT: "line": 68 3087 // CHECK-NEXT: }, 3088 // CHECK-NEXT: "range": { 3089 // CHECK-NEXT: "begin": { 3090 // CHECK-NEXT: "col": 1, 3091 // CHECK-NEXT: "file": "{{.*}}", 3092 // CHECK-NEXT: "line": 68 3093 // CHECK-NEXT: }, 3094 // CHECK-NEXT: "end": { 3095 // CHECK-NEXT: "col": 1, 3096 // CHECK-NEXT: "file": "{{.*}}", 3097 // CHECK-NEXT: "line": 69 3098 // CHECK-NEXT: } 3099 // CHECK-NEXT: }, 3100 // CHECK-NEXT: "name": "Derived1", 3101 // CHECK-NEXT: "tagUsed": "struct", 3102 // CHECK-NEXT: "completeDefinition": true, 3103 // CHECK-NEXT: "definitionData": { 3104 // CHECK-NEXT: "canConstDefaultInit": true, 3105 // CHECK-NEXT: "canPassInRegisters": true, 3106 // CHECK-NEXT: "copyAssign": { 3107 // CHECK-NEXT: "hasConstParam": true, 3108 // CHECK-NEXT: "implicitHasConstParam": true, 3109 // CHECK-NEXT: "needsImplicit": true, 3110 // CHECK-NEXT: "trivial": true 3111 // CHECK-NEXT: }, 3112 // CHECK-NEXT: "copyCtor": { 3113 // CHECK-NEXT: "hasConstParam": true, 3114 // CHECK-NEXT: "implicitHasConstParam": true, 3115 // CHECK-NEXT: "needsImplicit": true, 3116 // CHECK-NEXT: "simple": true, 3117 // CHECK-NEXT: "trivial": true 3118 // CHECK-NEXT: }, 3119 // CHECK-NEXT: "defaultCtor": { 3120 // CHECK-NEXT: "defaultedIsConstexpr": true, 3121 // CHECK-NEXT: "exists": true, 3122 // CHECK-NEXT: "isConstexpr": true, 3123 // CHECK-NEXT: "needsImplicit": true, 3124 // CHECK-NEXT: "trivial": true 3125 // CHECK-NEXT: }, 3126 // CHECK-NEXT: "dtor": { 3127 // CHECK-NEXT: "irrelevant": true, 3128 // CHECK-NEXT: "needsImplicit": true, 3129 // CHECK-NEXT: "simple": true, 3130 // CHECK-NEXT: "trivial": true 3131 // CHECK-NEXT: }, 3132 // CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, 3133 // CHECK-NEXT: "isAggregate": true, 3134 // CHECK-NEXT: "isEmpty": true, 3135 // CHECK-NEXT: "isLiteral": true, 3136 // CHECK-NEXT: "isStandardLayout": true, 3137 // CHECK-NEXT: "isTrivial": true, 3138 // CHECK-NEXT: "isTriviallyCopyable": true, 3139 // CHECK-NEXT: "moveAssign": { 3140 // CHECK-NEXT: "exists": true, 3141 // CHECK-NEXT: "needsImplicit": true, 3142 // CHECK-NEXT: "simple": true, 3143 // CHECK-NEXT: "trivial": true 3144 // CHECK-NEXT: }, 3145 // CHECK-NEXT: "moveCtor": { 3146 // CHECK-NEXT: "exists": true, 3147 // CHECK-NEXT: "needsImplicit": true, 3148 // CHECK-NEXT: "simple": true, 3149 // CHECK-NEXT: "trivial": true 3150 // CHECK-NEXT: } 3151 // CHECK-NEXT: }, 3152 // CHECK-NEXT: "bases": [ 3153 // CHECK-NEXT: { 3154 // CHECK-NEXT: "access": "public", 3155 // CHECK-NEXT: "type": { 3156 // CHECK-NEXT: "qualType": "Base1" 3157 // CHECK-NEXT: }, 3158 // CHECK-NEXT: "writtenAccess": "none" 3159 // CHECK-NEXT: } 3160 // CHECK-NEXT: ], 3161 // CHECK-NEXT: "inner": [ 3162 // CHECK-NEXT: { 3163 // CHECK-NEXT: "id": "0x{{.*}}", 3164 // CHECK-NEXT: "kind": "CXXRecordDecl", 3165 // CHECK-NEXT: "loc": { 3166 // CHECK-NEXT: "col": 8, 3167 // CHECK-NEXT: "file": "{{.*}}", 3168 // CHECK-NEXT: "line": 68 3169 // CHECK-NEXT: }, 3170 // CHECK-NEXT: "range": { 3171 // CHECK-NEXT: "begin": { 3172 // CHECK-NEXT: "col": 1, 3173 // CHECK-NEXT: "file": "{{.*}}", 3174 // CHECK-NEXT: "line": 68 3175 // CHECK-NEXT: }, 3176 // CHECK-NEXT: "end": { 3177 // CHECK-NEXT: "col": 8, 3178 // CHECK-NEXT: "file": "{{.*}}", 3179 // CHECK-NEXT: "line": 68 3180 // CHECK-NEXT: } 3181 // CHECK-NEXT: }, 3182 // CHECK-NEXT: "isImplicit": true, 3183 // CHECK-NEXT: "name": "Derived1", 3184 // CHECK-NEXT: "tagUsed": "struct" 3185 // CHECK-NEXT: } 3186 // CHECK-NEXT: ] 3187 // CHECK-NEXT: } 3188 3189 3190 // CHECK: "kind": "CXXRecordDecl", 3191 // CHECK-NEXT: "loc": { 3192 // CHECK-NEXT: "col": 8, 3193 // CHECK-NEXT: "file": "{{.*}}", 3194 // CHECK-NEXT: "line": 71 3195 // CHECK-NEXT: }, 3196 // CHECK-NEXT: "range": { 3197 // CHECK-NEXT: "begin": { 3198 // CHECK-NEXT: "col": 1, 3199 // CHECK-NEXT: "file": "{{.*}}", 3200 // CHECK-NEXT: "line": 71 3201 // CHECK-NEXT: }, 3202 // CHECK-NEXT: "end": { 3203 // CHECK-NEXT: "col": 1, 3204 // CHECK-NEXT: "file": "{{.*}}", 3205 // CHECK-NEXT: "line": 72 3206 // CHECK-NEXT: } 3207 // CHECK-NEXT: }, 3208 // CHECK-NEXT: "name": "Derived2", 3209 // CHECK-NEXT: "tagUsed": "struct", 3210 // CHECK-NEXT: "completeDefinition": true, 3211 // CHECK-NEXT: "definitionData": { 3212 // CHECK-NEXT: "canConstDefaultInit": true, 3213 // CHECK-NEXT: "canPassInRegisters": true, 3214 // CHECK-NEXT: "copyAssign": { 3215 // CHECK-NEXT: "hasConstParam": true, 3216 // CHECK-NEXT: "implicitHasConstParam": true, 3217 // CHECK-NEXT: "needsImplicit": true, 3218 // CHECK-NEXT: "trivial": true 3219 // CHECK-NEXT: }, 3220 // CHECK-NEXT: "copyCtor": { 3221 // CHECK-NEXT: "hasConstParam": true, 3222 // CHECK-NEXT: "implicitHasConstParam": true, 3223 // CHECK-NEXT: "needsImplicit": true, 3224 // CHECK-NEXT: "simple": true, 3225 // CHECK-NEXT: "trivial": true 3226 // CHECK-NEXT: }, 3227 // CHECK-NEXT: "defaultCtor": { 3228 // CHECK-NEXT: "defaultedIsConstexpr": true, 3229 // CHECK-NEXT: "exists": true, 3230 // CHECK-NEXT: "isConstexpr": true, 3231 // CHECK-NEXT: "needsImplicit": true, 3232 // CHECK-NEXT: "trivial": true 3233 // CHECK-NEXT: }, 3234 // CHECK-NEXT: "dtor": { 3235 // CHECK-NEXT: "irrelevant": true, 3236 // CHECK-NEXT: "needsImplicit": true, 3237 // CHECK-NEXT: "simple": true, 3238 // CHECK-NEXT: "trivial": true 3239 // CHECK-NEXT: }, 3240 // CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, 3241 // CHECK-NEXT: "isEmpty": true, 3242 // CHECK-NEXT: "isLiteral": true, 3243 // CHECK-NEXT: "isStandardLayout": true, 3244 // CHECK-NEXT: "isTrivial": true, 3245 // CHECK-NEXT: "isTriviallyCopyable": true, 3246 // CHECK-NEXT: "moveAssign": { 3247 // CHECK-NEXT: "exists": true, 3248 // CHECK-NEXT: "needsImplicit": true, 3249 // CHECK-NEXT: "simple": true, 3250 // CHECK-NEXT: "trivial": true 3251 // CHECK-NEXT: }, 3252 // CHECK-NEXT: "moveCtor": { 3253 // CHECK-NEXT: "exists": true, 3254 // CHECK-NEXT: "needsImplicit": true, 3255 // CHECK-NEXT: "simple": true, 3256 // CHECK-NEXT: "trivial": true 3257 // CHECK-NEXT: } 3258 // CHECK-NEXT: }, 3259 // CHECK-NEXT: "bases": [ 3260 // CHECK-NEXT: { 3261 // CHECK-NEXT: "access": "private", 3262 // CHECK-NEXT: "type": { 3263 // CHECK-NEXT: "qualType": "Base1" 3264 // CHECK-NEXT: }, 3265 // CHECK-NEXT: "writtenAccess": "private" 3266 // CHECK-NEXT: } 3267 // CHECK-NEXT: ], 3268 // CHECK-NEXT: "inner": [ 3269 // CHECK-NEXT: { 3270 // CHECK-NEXT: "id": "0x{{.*}}", 3271 // CHECK-NEXT: "kind": "CXXRecordDecl", 3272 // CHECK-NEXT: "loc": { 3273 // CHECK-NEXT: "col": 8, 3274 // CHECK-NEXT: "file": "{{.*}}", 3275 // CHECK-NEXT: "line": 71 3276 // CHECK-NEXT: }, 3277 // CHECK-NEXT: "range": { 3278 // CHECK-NEXT: "begin": { 3279 // CHECK-NEXT: "col": 1, 3280 // CHECK-NEXT: "file": "{{.*}}", 3281 // CHECK-NEXT: "line": 71 3282 // CHECK-NEXT: }, 3283 // CHECK-NEXT: "end": { 3284 // CHECK-NEXT: "col": 8, 3285 // CHECK-NEXT: "file": "{{.*}}", 3286 // CHECK-NEXT: "line": 71 3287 // CHECK-NEXT: } 3288 // CHECK-NEXT: }, 3289 // CHECK-NEXT: "isImplicit": true, 3290 // CHECK-NEXT: "name": "Derived2", 3291 // CHECK-NEXT: "tagUsed": "struct" 3292 // CHECK-NEXT: } 3293 // CHECK-NEXT: ] 3294 // CHECK-NEXT: } 3295 3296 3297 // CHECK: "kind": "CXXRecordDecl", 3298 // CHECK-NEXT: "loc": { 3299 // CHECK-NEXT: "col": 8, 3300 // CHECK-NEXT: "file": "{{.*}}", 3301 // CHECK-NEXT: "line": 74 3302 // CHECK-NEXT: }, 3303 // CHECK-NEXT: "range": { 3304 // CHECK-NEXT: "begin": { 3305 // CHECK-NEXT: "col": 1, 3306 // CHECK-NEXT: "file": "{{.*}}", 3307 // CHECK-NEXT: "line": 74 3308 // CHECK-NEXT: }, 3309 // CHECK-NEXT: "end": { 3310 // CHECK-NEXT: "col": 1, 3311 // CHECK-NEXT: "file": "{{.*}}", 3312 // CHECK-NEXT: "line": 75 3313 // CHECK-NEXT: } 3314 // CHECK-NEXT: }, 3315 // CHECK-NEXT: "name": "Derived3", 3316 // CHECK-NEXT: "tagUsed": "struct", 3317 // CHECK-NEXT: "completeDefinition": true, 3318 // CHECK-NEXT: "definitionData": { 3319 // CHECK-NEXT: "canConstDefaultInit": true, 3320 // CHECK-NEXT: "copyAssign": { 3321 // CHECK-NEXT: "hasConstParam": true, 3322 // CHECK-NEXT: "implicitHasConstParam": true, 3323 // CHECK-NEXT: "nonTrivial": true 3324 // CHECK-NEXT: }, 3325 // CHECK-NEXT: "copyCtor": { 3326 // CHECK-NEXT: "hasConstParam": true, 3327 // CHECK-NEXT: "implicitHasConstParam": true, 3328 // CHECK-NEXT: "needsImplicit": true, 3329 // CHECK-NEXT: "nonTrivial": true, 3330 // CHECK-NEXT: "simple": true 3331 // CHECK-NEXT: }, 3332 // CHECK-NEXT: "defaultCtor": { 3333 // CHECK-NEXT: "exists": true, 3334 // CHECK-NEXT: "needsImplicit": true, 3335 // CHECK-NEXT: "nonTrivial": true 3336 // CHECK-NEXT: }, 3337 // CHECK-NEXT: "dtor": { 3338 // CHECK-NEXT: "irrelevant": true, 3339 // CHECK-NEXT: "simple": true, 3340 // CHECK-NEXT: "trivial": true 3341 // CHECK-NEXT: }, 3342 // CHECK-NEXT: "moveAssign": { 3343 // CHECK-NEXT: "exists": true, 3344 // CHECK-NEXT: "nonTrivial": true, 3345 // CHECK-NEXT: "simple": true 3346 // CHECK-NEXT: }, 3347 // CHECK-NEXT: "moveCtor": { 3348 // CHECK-NEXT: "exists": true, 3349 // CHECK-NEXT: "needsImplicit": true, 3350 // CHECK-NEXT: "nonTrivial": true, 3351 // CHECK-NEXT: "simple": true 3352 // CHECK-NEXT: } 3353 // CHECK-NEXT: }, 3354 // CHECK-NEXT: "bases": [ 3355 // CHECK-NEXT: { 3356 // CHECK-NEXT: "access": "public", 3357 // CHECK-NEXT: "isVirtual": true, 3358 // CHECK-NEXT: "type": { 3359 // CHECK-NEXT: "qualType": "Base1" 3360 // CHECK-NEXT: }, 3361 // CHECK-NEXT: "writtenAccess": "none" 3362 // CHECK-NEXT: } 3363 // CHECK-NEXT: ], 3364 // CHECK-NEXT: "inner": [ 3365 // CHECK-NEXT: { 3366 // CHECK-NEXT: "id": "0x{{.*}}", 3367 // CHECK-NEXT: "kind": "CXXRecordDecl", 3368 // CHECK-NEXT: "loc": { 3369 // CHECK-NEXT: "col": 8, 3370 // CHECK-NEXT: "file": "{{.*}}", 3371 // CHECK-NEXT: "line": 74 3372 // CHECK-NEXT: }, 3373 // CHECK-NEXT: "range": { 3374 // CHECK-NEXT: "begin": { 3375 // CHECK-NEXT: "col": 1, 3376 // CHECK-NEXT: "file": "{{.*}}", 3377 // CHECK-NEXT: "line": 74 3378 // CHECK-NEXT: }, 3379 // CHECK-NEXT: "end": { 3380 // CHECK-NEXT: "col": 8, 3381 // CHECK-NEXT: "file": "{{.*}}", 3382 // CHECK-NEXT: "line": 74 3383 // CHECK-NEXT: } 3384 // CHECK-NEXT: }, 3385 // CHECK-NEXT: "isImplicit": true, 3386 // CHECK-NEXT: "name": "Derived3", 3387 // CHECK-NEXT: "tagUsed": "struct" 3388 // CHECK-NEXT: }, 3389 // CHECK-NEXT: { 3390 // CHECK-NEXT: "id": "0x{{.*}}", 3391 // CHECK-NEXT: "kind": "CXXMethodDecl", 3392 // CHECK-NEXT: "loc": { 3393 // CHECK-NEXT: "col": 8, 3394 // CHECK-NEXT: "file": "{{.*}}", 3395 // CHECK-NEXT: "line": 74 3396 // CHECK-NEXT: }, 3397 // CHECK-NEXT: "range": { 3398 // CHECK-NEXT: "begin": { 3399 // CHECK-NEXT: "col": 8, 3400 // CHECK-NEXT: "file": "{{.*}}", 3401 // CHECK-NEXT: "line": 74 3402 // CHECK-NEXT: }, 3403 // CHECK-NEXT: "end": { 3404 // CHECK-NEXT: "col": 8, 3405 // CHECK-NEXT: "file": "{{.*}}", 3406 // CHECK-NEXT: "line": 74 3407 // CHECK-NEXT: } 3408 // CHECK-NEXT: }, 3409 // CHECK-NEXT: "isImplicit": true, 3410 // CHECK-NEXT: "name": "operator=", 3411 // CHECK-NEXT: "type": { 3412 // CHECK-NEXT: "qualType": "Derived3 &(const Derived3 &)" 3413 // CHECK-NEXT: }, 3414 // CHECK-NEXT: "inline": true, 3415 // CHECK-NEXT: "explicitlyDefaulted": "default", 3416 // CHECK-NEXT: "inner": [ 3417 // CHECK-NEXT: { 3418 // CHECK-NEXT: "id": "0x{{.*}}", 3419 // CHECK-NEXT: "kind": "ParmVarDecl", 3420 // CHECK-NEXT: "loc": { 3421 // CHECK-NEXT: "col": 8, 3422 // CHECK-NEXT: "file": "{{.*}}", 3423 // CHECK-NEXT: "line": 74 3424 // CHECK-NEXT: }, 3425 // CHECK-NEXT: "range": { 3426 // CHECK-NEXT: "begin": { 3427 // CHECK-NEXT: "col": 8, 3428 // CHECK-NEXT: "file": "{{.*}}", 3429 // CHECK-NEXT: "line": 74 3430 // CHECK-NEXT: }, 3431 // CHECK-NEXT: "end": { 3432 // CHECK-NEXT: "col": 8, 3433 // CHECK-NEXT: "file": "{{.*}}", 3434 // CHECK-NEXT: "line": 74 3435 // CHECK-NEXT: } 3436 // CHECK-NEXT: }, 3437 // CHECK-NEXT: "type": { 3438 // CHECK-NEXT: "qualType": "const Derived3 &" 3439 // CHECK-NEXT: } 3440 // CHECK-NEXT: } 3441 // CHECK-NEXT: ] 3442 // CHECK-NEXT: }, 3443 // CHECK-NEXT: { 3444 // CHECK-NEXT: "id": "0x{{.*}}", 3445 // CHECK-NEXT: "kind": "CXXMethodDecl", 3446 // CHECK-NEXT: "loc": { 3447 // CHECK-NEXT: "col": 8, 3448 // CHECK-NEXT: "file": "{{.*}}", 3449 // CHECK-NEXT: "line": 74 3450 // CHECK-NEXT: }, 3451 // CHECK-NEXT: "range": { 3452 // CHECK-NEXT: "begin": { 3453 // CHECK-NEXT: "col": 8, 3454 // CHECK-NEXT: "file": "{{.*}}", 3455 // CHECK-NEXT: "line": 74 3456 // CHECK-NEXT: }, 3457 // CHECK-NEXT: "end": { 3458 // CHECK-NEXT: "col": 8, 3459 // CHECK-NEXT: "file": "{{.*}}", 3460 // CHECK-NEXT: "line": 74 3461 // CHECK-NEXT: } 3462 // CHECK-NEXT: }, 3463 // CHECK-NEXT: "isImplicit": true, 3464 // CHECK-NEXT: "name": "operator=", 3465 // CHECK-NEXT: "type": { 3466 // CHECK-NEXT: "qualType": "Derived3 &(Derived3 &&)" 3467 // CHECK-NEXT: }, 3468 // CHECK-NEXT: "inline": true, 3469 // CHECK-NEXT: "explicitlyDefaulted": "default", 3470 // CHECK-NEXT: "inner": [ 3471 // CHECK-NEXT: { 3472 // CHECK-NEXT: "id": "0x{{.*}}", 3473 // CHECK-NEXT: "kind": "ParmVarDecl", 3474 // CHECK-NEXT: "loc": { 3475 // CHECK-NEXT: "col": 8, 3476 // CHECK-NEXT: "file": "{{.*}}", 3477 // CHECK-NEXT: "line": 74 3478 // CHECK-NEXT: }, 3479 // CHECK-NEXT: "range": { 3480 // CHECK-NEXT: "begin": { 3481 // CHECK-NEXT: "col": 8, 3482 // CHECK-NEXT: "file": "{{.*}}", 3483 // CHECK-NEXT: "line": 74 3484 // CHECK-NEXT: }, 3485 // CHECK-NEXT: "end": { 3486 // CHECK-NEXT: "col": 8, 3487 // CHECK-NEXT: "file": "{{.*}}", 3488 // CHECK-NEXT: "line": 74 3489 // CHECK-NEXT: } 3490 // CHECK-NEXT: }, 3491 // CHECK-NEXT: "type": { 3492 // CHECK-NEXT: "qualType": "Derived3 &&" 3493 // CHECK-NEXT: } 3494 // CHECK-NEXT: } 3495 // CHECK-NEXT: ] 3496 // CHECK-NEXT: }, 3497 // CHECK-NEXT: { 3498 // CHECK-NEXT: "id": "0x{{.*}}", 3499 // CHECK-NEXT: "kind": "CXXDestructorDecl", 3500 // CHECK-NEXT: "loc": { 3501 // CHECK-NEXT: "col": 8, 3502 // CHECK-NEXT: "file": "{{.*}}", 3503 // CHECK-NEXT: "line": 74 3504 // CHECK-NEXT: }, 3505 // CHECK-NEXT: "range": { 3506 // CHECK-NEXT: "begin": { 3507 // CHECK-NEXT: "col": 8, 3508 // CHECK-NEXT: "file": "{{.*}}", 3509 // CHECK-NEXT: "line": 74 3510 // CHECK-NEXT: }, 3511 // CHECK-NEXT: "end": { 3512 // CHECK-NEXT: "col": 8, 3513 // CHECK-NEXT: "file": "{{.*}}", 3514 // CHECK-NEXT: "line": 74 3515 // CHECK-NEXT: } 3516 // CHECK-NEXT: }, 3517 // CHECK-NEXT: "isImplicit": true, 3518 // CHECK-NEXT: "name": "~Derived3", 3519 // CHECK-NEXT: "type": { 3520 // CHECK-NEXT: "qualType": "void ()" 3521 // CHECK-NEXT: }, 3522 // CHECK-NEXT: "inline": true, 3523 // CHECK-NEXT: "explicitlyDefaulted": "default" 3524 // CHECK-NEXT: } 3525 // CHECK-NEXT: ] 3526 // CHECK-NEXT: } 3527 3528 3529 // CHECK: "kind": "CXXRecordDecl", 3530 // CHECK-NEXT: "loc": { 3531 // CHECK-NEXT: "col": 8, 3532 // CHECK-NEXT: "file": "{{.*}}", 3533 // CHECK-NEXT: "line": 77 3534 // CHECK-NEXT: }, 3535 // CHECK-NEXT: "range": { 3536 // CHECK-NEXT: "begin": { 3537 // CHECK-NEXT: "col": 1, 3538 // CHECK-NEXT: "file": "{{.*}}", 3539 // CHECK-NEXT: "line": 77 3540 // CHECK-NEXT: }, 3541 // CHECK-NEXT: "end": { 3542 // CHECK-NEXT: "col": 1, 3543 // CHECK-NEXT: "file": "{{.*}}", 3544 // CHECK-NEXT: "line": 78 3545 // CHECK-NEXT: } 3546 // CHECK-NEXT: }, 3547 // CHECK-NEXT: "name": "Derived4", 3548 // CHECK-NEXT: "tagUsed": "struct", 3549 // CHECK-NEXT: "completeDefinition": true, 3550 // CHECK-NEXT: "definitionData": { 3551 // CHECK-NEXT: "canConstDefaultInit": true, 3552 // CHECK-NEXT: "copyAssign": { 3553 // CHECK-NEXT: "hasConstParam": true, 3554 // CHECK-NEXT: "implicitHasConstParam": true, 3555 // CHECK-NEXT: "nonTrivial": true 3556 // CHECK-NEXT: }, 3557 // CHECK-NEXT: "copyCtor": { 3558 // CHECK-NEXT: "hasConstParam": true, 3559 // CHECK-NEXT: "implicitHasConstParam": true, 3560 // CHECK-NEXT: "needsImplicit": true, 3561 // CHECK-NEXT: "nonTrivial": true, 3562 // CHECK-NEXT: "simple": true 3563 // CHECK-NEXT: }, 3564 // CHECK-NEXT: "defaultCtor": { 3565 // CHECK-NEXT: "exists": true, 3566 // CHECK-NEXT: "needsImplicit": true, 3567 // CHECK-NEXT: "nonTrivial": true 3568 // CHECK-NEXT: }, 3569 // CHECK-NEXT: "dtor": { 3570 // CHECK-NEXT: "irrelevant": true, 3571 // CHECK-NEXT: "simple": true, 3572 // CHECK-NEXT: "trivial": true 3573 // CHECK-NEXT: }, 3574 // CHECK-NEXT: "moveAssign": { 3575 // CHECK-NEXT: "exists": true, 3576 // CHECK-NEXT: "nonTrivial": true, 3577 // CHECK-NEXT: "simple": true 3578 // CHECK-NEXT: }, 3579 // CHECK-NEXT: "moveCtor": { 3580 // CHECK-NEXT: "exists": true, 3581 // CHECK-NEXT: "needsImplicit": true, 3582 // CHECK-NEXT: "nonTrivial": true, 3583 // CHECK-NEXT: "simple": true 3584 // CHECK-NEXT: } 3585 // CHECK-NEXT: }, 3586 // CHECK-NEXT: "bases": [ 3587 // CHECK-NEXT: { 3588 // CHECK-NEXT: "access": "public", 3589 // CHECK-NEXT: "type": { 3590 // CHECK-NEXT: "qualType": "Base1" 3591 // CHECK-NEXT: }, 3592 // CHECK-NEXT: "writtenAccess": "none" 3593 // CHECK-NEXT: }, 3594 // CHECK-NEXT: { 3595 // CHECK-NEXT: "access": "public", 3596 // CHECK-NEXT: "isVirtual": true, 3597 // CHECK-NEXT: "type": { 3598 // CHECK-NEXT: "qualType": "Base2" 3599 // CHECK-NEXT: }, 3600 // CHECK-NEXT: "writtenAccess": "none" 3601 // CHECK-NEXT: }, 3602 // CHECK-NEXT: { 3603 // CHECK-NEXT: "access": "protected", 3604 // CHECK-NEXT: "type": { 3605 // CHECK-NEXT: "qualType": "Base3" 3606 // CHECK-NEXT: }, 3607 // CHECK-NEXT: "writtenAccess": "protected" 3608 // CHECK-NEXT: } 3609 // CHECK-NEXT: ], 3610 // CHECK-NEXT: "inner": [ 3611 // CHECK-NEXT: { 3612 // CHECK-NEXT: "id": "0x{{.*}}", 3613 // CHECK-NEXT: "kind": "CXXRecordDecl", 3614 // CHECK-NEXT: "loc": { 3615 // CHECK-NEXT: "col": 8, 3616 // CHECK-NEXT: "file": "{{.*}}", 3617 // CHECK-NEXT: "line": 77 3618 // CHECK-NEXT: }, 3619 // CHECK-NEXT: "range": { 3620 // CHECK-NEXT: "begin": { 3621 // CHECK-NEXT: "col": 1, 3622 // CHECK-NEXT: "file": "{{.*}}", 3623 // CHECK-NEXT: "line": 77 3624 // CHECK-NEXT: }, 3625 // CHECK-NEXT: "end": { 3626 // CHECK-NEXT: "col": 8, 3627 // CHECK-NEXT: "file": "{{.*}}", 3628 // CHECK-NEXT: "line": 77 3629 // CHECK-NEXT: } 3630 // CHECK-NEXT: }, 3631 // CHECK-NEXT: "isImplicit": true, 3632 // CHECK-NEXT: "name": "Derived4", 3633 // CHECK-NEXT: "tagUsed": "struct" 3634 // CHECK-NEXT: }, 3635 // CHECK-NEXT: { 3636 // CHECK-NEXT: "id": "0x{{.*}}", 3637 // CHECK-NEXT: "kind": "CXXMethodDecl", 3638 // CHECK-NEXT: "loc": { 3639 // CHECK-NEXT: "col": 8, 3640 // CHECK-NEXT: "file": "{{.*}}", 3641 // CHECK-NEXT: "line": 77 3642 // CHECK-NEXT: }, 3643 // CHECK-NEXT: "range": { 3644 // CHECK-NEXT: "begin": { 3645 // CHECK-NEXT: "col": 8, 3646 // CHECK-NEXT: "file": "{{.*}}", 3647 // CHECK-NEXT: "line": 77 3648 // CHECK-NEXT: }, 3649 // CHECK-NEXT: "end": { 3650 // CHECK-NEXT: "col": 8, 3651 // CHECK-NEXT: "file": "{{.*}}", 3652 // CHECK-NEXT: "line": 77 3653 // CHECK-NEXT: } 3654 // CHECK-NEXT: }, 3655 // CHECK-NEXT: "isImplicit": true, 3656 // CHECK-NEXT: "name": "operator=", 3657 // CHECK-NEXT: "type": { 3658 // CHECK-NEXT: "qualType": "Derived4 &(const Derived4 &)" 3659 // CHECK-NEXT: }, 3660 // CHECK-NEXT: "inline": true, 3661 // CHECK-NEXT: "explicitlyDefaulted": "default", 3662 // CHECK-NEXT: "inner": [ 3663 // CHECK-NEXT: { 3664 // CHECK-NEXT: "id": "0x{{.*}}", 3665 // CHECK-NEXT: "kind": "ParmVarDecl", 3666 // CHECK-NEXT: "loc": { 3667 // CHECK-NEXT: "col": 8, 3668 // CHECK-NEXT: "file": "{{.*}}", 3669 // CHECK-NEXT: "line": 77 3670 // CHECK-NEXT: }, 3671 // CHECK-NEXT: "range": { 3672 // CHECK-NEXT: "begin": { 3673 // CHECK-NEXT: "col": 8, 3674 // CHECK-NEXT: "file": "{{.*}}", 3675 // CHECK-NEXT: "line": 77 3676 // CHECK-NEXT: }, 3677 // CHECK-NEXT: "end": { 3678 // CHECK-NEXT: "col": 8, 3679 // CHECK-NEXT: "file": "{{.*}}", 3680 // CHECK-NEXT: "line": 77 3681 // CHECK-NEXT: } 3682 // CHECK-NEXT: }, 3683 // CHECK-NEXT: "type": { 3684 // CHECK-NEXT: "qualType": "const Derived4 &" 3685 // CHECK-NEXT: } 3686 // CHECK-NEXT: } 3687 // CHECK-NEXT: ] 3688 // CHECK-NEXT: }, 3689 // CHECK-NEXT: { 3690 // CHECK-NEXT: "id": "0x{{.*}}", 3691 // CHECK-NEXT: "kind": "CXXMethodDecl", 3692 // CHECK-NEXT: "loc": { 3693 // CHECK-NEXT: "col": 8, 3694 // CHECK-NEXT: "file": "{{.*}}", 3695 // CHECK-NEXT: "line": 77 3696 // CHECK-NEXT: }, 3697 // CHECK-NEXT: "range": { 3698 // CHECK-NEXT: "begin": { 3699 // CHECK-NEXT: "col": 8, 3700 // CHECK-NEXT: "file": "{{.*}}", 3701 // CHECK-NEXT: "line": 77 3702 // CHECK-NEXT: }, 3703 // CHECK-NEXT: "end": { 3704 // CHECK-NEXT: "col": 8, 3705 // CHECK-NEXT: "file": "{{.*}}", 3706 // CHECK-NEXT: "line": 77 3707 // CHECK-NEXT: } 3708 // CHECK-NEXT: }, 3709 // CHECK-NEXT: "isImplicit": true, 3710 // CHECK-NEXT: "name": "operator=", 3711 // CHECK-NEXT: "type": { 3712 // CHECK-NEXT: "qualType": "Derived4 &(Derived4 &&)" 3713 // CHECK-NEXT: }, 3714 // CHECK-NEXT: "inline": true, 3715 // CHECK-NEXT: "explicitlyDefaulted": "default", 3716 // CHECK-NEXT: "inner": [ 3717 // CHECK-NEXT: { 3718 // CHECK-NEXT: "id": "0x{{.*}}", 3719 // CHECK-NEXT: "kind": "ParmVarDecl", 3720 // CHECK-NEXT: "loc": { 3721 // CHECK-NEXT: "col": 8, 3722 // CHECK-NEXT: "file": "{{.*}}", 3723 // CHECK-NEXT: "line": 77 3724 // CHECK-NEXT: }, 3725 // CHECK-NEXT: "range": { 3726 // CHECK-NEXT: "begin": { 3727 // CHECK-NEXT: "col": 8, 3728 // CHECK-NEXT: "file": "{{.*}}", 3729 // CHECK-NEXT: "line": 77 3730 // CHECK-NEXT: }, 3731 // CHECK-NEXT: "end": { 3732 // CHECK-NEXT: "col": 8, 3733 // CHECK-NEXT: "file": "{{.*}}", 3734 // CHECK-NEXT: "line": 77 3735 // CHECK-NEXT: } 3736 // CHECK-NEXT: }, 3737 // CHECK-NEXT: "type": { 3738 // CHECK-NEXT: "qualType": "Derived4 &&" 3739 // CHECK-NEXT: } 3740 // CHECK-NEXT: } 3741 // CHECK-NEXT: ] 3742 // CHECK-NEXT: }, 3743 // CHECK-NEXT: { 3744 // CHECK-NEXT: "id": "0x{{.*}}", 3745 // CHECK-NEXT: "kind": "CXXDestructorDecl", 3746 // CHECK-NEXT: "loc": { 3747 // CHECK-NEXT: "col": 8, 3748 // CHECK-NEXT: "file": "{{.*}}", 3749 // CHECK-NEXT: "line": 77 3750 // CHECK-NEXT: }, 3751 // CHECK-NEXT: "range": { 3752 // CHECK-NEXT: "begin": { 3753 // CHECK-NEXT: "col": 8, 3754 // CHECK-NEXT: "file": "{{.*}}", 3755 // CHECK-NEXT: "line": 77 3756 // CHECK-NEXT: }, 3757 // CHECK-NEXT: "end": { 3758 // CHECK-NEXT: "col": 8, 3759 // CHECK-NEXT: "file": "{{.*}}", 3760 // CHECK-NEXT: "line": 77 3761 // CHECK-NEXT: } 3762 // CHECK-NEXT: }, 3763 // CHECK-NEXT: "isImplicit": true, 3764 // CHECK-NEXT: "name": "~Derived4", 3765 // CHECK-NEXT: "type": { 3766 // CHECK-NEXT: "qualType": "void ()" 3767 // CHECK-NEXT: }, 3768 // CHECK-NEXT: "inline": true, 3769 // CHECK-NEXT: "explicitlyDefaulted": "default" 3770 // CHECK-NEXT: } 3771 // CHECK-NEXT: ] 3772 // CHECK-NEXT: } 3773 3774 3775 // CHECK: "kind": "CXXRecordDecl", 3776 // CHECK-NEXT: "loc": { 3777 // CHECK-NEXT: "col": 8, 3778 // CHECK-NEXT: "file": "{{.*}}", 3779 // CHECK-NEXT: "line": 80 3780 // CHECK-NEXT: }, 3781 // CHECK-NEXT: "range": { 3782 // CHECK-NEXT: "begin": { 3783 // CHECK-NEXT: "col": 1, 3784 // CHECK-NEXT: "file": "{{.*}}", 3785 // CHECK-NEXT: "line": 80 3786 // CHECK-NEXT: }, 3787 // CHECK-NEXT: "end": { 3788 // CHECK-NEXT: "col": 1, 3789 // CHECK-NEXT: "file": "{{.*}}", 3790 // CHECK-NEXT: "line": 81 3791 // CHECK-NEXT: } 3792 // CHECK-NEXT: }, 3793 // CHECK-NEXT: "name": "Derived5", 3794 // CHECK-NEXT: "tagUsed": "struct", 3795 // CHECK-NEXT: "completeDefinition": true, 3796 // CHECK-NEXT: "definitionData": { 3797 // CHECK-NEXT: "canConstDefaultInit": true, 3798 // CHECK-NEXT: "copyAssign": { 3799 // CHECK-NEXT: "hasConstParam": true, 3800 // CHECK-NEXT: "implicitHasConstParam": true, 3801 // CHECK-NEXT: "nonTrivial": true 3802 // CHECK-NEXT: }, 3803 // CHECK-NEXT: "copyCtor": { 3804 // CHECK-NEXT: "hasConstParam": true, 3805 // CHECK-NEXT: "implicitHasConstParam": true, 3806 // CHECK-NEXT: "needsImplicit": true, 3807 // CHECK-NEXT: "nonTrivial": true, 3808 // CHECK-NEXT: "simple": true 3809 // CHECK-NEXT: }, 3810 // CHECK-NEXT: "defaultCtor": { 3811 // CHECK-NEXT: "exists": true, 3812 // CHECK-NEXT: "needsImplicit": true, 3813 // CHECK-NEXT: "nonTrivial": true 3814 // CHECK-NEXT: }, 3815 // CHECK-NEXT: "dtor": { 3816 // CHECK-NEXT: "irrelevant": true, 3817 // CHECK-NEXT: "simple": true, 3818 // CHECK-NEXT: "trivial": true 3819 // CHECK-NEXT: }, 3820 // CHECK-NEXT: "moveAssign": { 3821 // CHECK-NEXT: "exists": true, 3822 // CHECK-NEXT: "nonTrivial": true, 3823 // CHECK-NEXT: "simple": true 3824 // CHECK-NEXT: }, 3825 // CHECK-NEXT: "moveCtor": { 3826 // CHECK-NEXT: "exists": true, 3827 // CHECK-NEXT: "needsImplicit": true, 3828 // CHECK-NEXT: "nonTrivial": true, 3829 // CHECK-NEXT: "simple": true 3830 // CHECK-NEXT: } 3831 // CHECK-NEXT: }, 3832 // CHECK-NEXT: "bases": [ 3833 // CHECK-NEXT: { 3834 // CHECK-NEXT: "access": "protected", 3835 // CHECK-NEXT: "isVirtual": true, 3836 // CHECK-NEXT: "type": { 3837 // CHECK-NEXT: "qualType": "Base1" 3838 // CHECK-NEXT: }, 3839 // CHECK-NEXT: "writtenAccess": "protected" 3840 // CHECK-NEXT: } 3841 // CHECK-NEXT: ], 3842 // CHECK-NEXT: "inner": [ 3843 // CHECK-NEXT: { 3844 // CHECK-NEXT: "id": "0x{{.*}}", 3845 // CHECK-NEXT: "kind": "CXXRecordDecl", 3846 // CHECK-NEXT: "loc": { 3847 // CHECK-NEXT: "col": 8, 3848 // CHECK-NEXT: "file": "{{.*}}", 3849 // CHECK-NEXT: "line": 80 3850 // CHECK-NEXT: }, 3851 // CHECK-NEXT: "range": { 3852 // CHECK-NEXT: "begin": { 3853 // CHECK-NEXT: "col": 1, 3854 // CHECK-NEXT: "file": "{{.*}}", 3855 // CHECK-NEXT: "line": 80 3856 // CHECK-NEXT: }, 3857 // CHECK-NEXT: "end": { 3858 // CHECK-NEXT: "col": 8, 3859 // CHECK-NEXT: "file": "{{.*}}", 3860 // CHECK-NEXT: "line": 80 3861 // CHECK-NEXT: } 3862 // CHECK-NEXT: }, 3863 // CHECK-NEXT: "isImplicit": true, 3864 // CHECK-NEXT: "name": "Derived5", 3865 // CHECK-NEXT: "tagUsed": "struct" 3866 // CHECK-NEXT: }, 3867 // CHECK-NEXT: { 3868 // CHECK-NEXT: "id": "0x{{.*}}", 3869 // CHECK-NEXT: "kind": "CXXMethodDecl", 3870 // CHECK-NEXT: "loc": { 3871 // CHECK-NEXT: "col": 8, 3872 // CHECK-NEXT: "file": "{{.*}}", 3873 // CHECK-NEXT: "line": 80 3874 // CHECK-NEXT: }, 3875 // CHECK-NEXT: "range": { 3876 // CHECK-NEXT: "begin": { 3877 // CHECK-NEXT: "col": 8, 3878 // CHECK-NEXT: "file": "{{.*}}", 3879 // CHECK-NEXT: "line": 80 3880 // CHECK-NEXT: }, 3881 // CHECK-NEXT: "end": { 3882 // CHECK-NEXT: "col": 8, 3883 // CHECK-NEXT: "file": "{{.*}}", 3884 // CHECK-NEXT: "line": 80 3885 // CHECK-NEXT: } 3886 // CHECK-NEXT: }, 3887 // CHECK-NEXT: "isImplicit": true, 3888 // CHECK-NEXT: "name": "operator=", 3889 // CHECK-NEXT: "type": { 3890 // CHECK-NEXT: "qualType": "Derived5 &(const Derived5 &)" 3891 // CHECK-NEXT: }, 3892 // CHECK-NEXT: "inline": true, 3893 // CHECK-NEXT: "explicitlyDefaulted": "default", 3894 // CHECK-NEXT: "inner": [ 3895 // CHECK-NEXT: { 3896 // CHECK-NEXT: "id": "0x{{.*}}", 3897 // CHECK-NEXT: "kind": "ParmVarDecl", 3898 // CHECK-NEXT: "loc": { 3899 // CHECK-NEXT: "col": 8, 3900 // CHECK-NEXT: "file": "{{.*}}", 3901 // CHECK-NEXT: "line": 80 3902 // CHECK-NEXT: }, 3903 // CHECK-NEXT: "range": { 3904 // CHECK-NEXT: "begin": { 3905 // CHECK-NEXT: "col": 8, 3906 // CHECK-NEXT: "file": "{{.*}}", 3907 // CHECK-NEXT: "line": 80 3908 // CHECK-NEXT: }, 3909 // CHECK-NEXT: "end": { 3910 // CHECK-NEXT: "col": 8, 3911 // CHECK-NEXT: "file": "{{.*}}", 3912 // CHECK-NEXT: "line": 80 3913 // CHECK-NEXT: } 3914 // CHECK-NEXT: }, 3915 // CHECK-NEXT: "type": { 3916 // CHECK-NEXT: "qualType": "const Derived5 &" 3917 // CHECK-NEXT: } 3918 // CHECK-NEXT: } 3919 // CHECK-NEXT: ] 3920 // CHECK-NEXT: }, 3921 // CHECK-NEXT: { 3922 // CHECK-NEXT: "id": "0x{{.*}}", 3923 // CHECK-NEXT: "kind": "CXXMethodDecl", 3924 // CHECK-NEXT: "loc": { 3925 // CHECK-NEXT: "col": 8, 3926 // CHECK-NEXT: "file": "{{.*}}", 3927 // CHECK-NEXT: "line": 80 3928 // CHECK-NEXT: }, 3929 // CHECK-NEXT: "range": { 3930 // CHECK-NEXT: "begin": { 3931 // CHECK-NEXT: "col": 8, 3932 // CHECK-NEXT: "file": "{{.*}}", 3933 // CHECK-NEXT: "line": 80 3934 // CHECK-NEXT: }, 3935 // CHECK-NEXT: "end": { 3936 // CHECK-NEXT: "col": 8, 3937 // CHECK-NEXT: "file": "{{.*}}", 3938 // CHECK-NEXT: "line": 80 3939 // CHECK-NEXT: } 3940 // CHECK-NEXT: }, 3941 // CHECK-NEXT: "isImplicit": true, 3942 // CHECK-NEXT: "name": "operator=", 3943 // CHECK-NEXT: "type": { 3944 // CHECK-NEXT: "qualType": "Derived5 &(Derived5 &&)" 3945 // CHECK-NEXT: }, 3946 // CHECK-NEXT: "inline": true, 3947 // CHECK-NEXT: "explicitlyDefaulted": "default", 3948 // CHECK-NEXT: "inner": [ 3949 // CHECK-NEXT: { 3950 // CHECK-NEXT: "id": "0x{{.*}}", 3951 // CHECK-NEXT: "kind": "ParmVarDecl", 3952 // CHECK-NEXT: "loc": { 3953 // CHECK-NEXT: "col": 8, 3954 // CHECK-NEXT: "file": "{{.*}}", 3955 // CHECK-NEXT: "line": 80 3956 // CHECK-NEXT: }, 3957 // CHECK-NEXT: "range": { 3958 // CHECK-NEXT: "begin": { 3959 // CHECK-NEXT: "col": 8, 3960 // CHECK-NEXT: "file": "{{.*}}", 3961 // CHECK-NEXT: "line": 80 3962 // CHECK-NEXT: }, 3963 // CHECK-NEXT: "end": { 3964 // CHECK-NEXT: "col": 8, 3965 // CHECK-NEXT: "file": "{{.*}}", 3966 // CHECK-NEXT: "line": 80 3967 // CHECK-NEXT: } 3968 // CHECK-NEXT: }, 3969 // CHECK-NEXT: "type": { 3970 // CHECK-NEXT: "qualType": "Derived5 &&" 3971 // CHECK-NEXT: } 3972 // CHECK-NEXT: } 3973 // CHECK-NEXT: ] 3974 // CHECK-NEXT: }, 3975 // CHECK-NEXT: { 3976 // CHECK-NEXT: "id": "0x{{.*}}", 3977 // CHECK-NEXT: "kind": "CXXDestructorDecl", 3978 // CHECK-NEXT: "loc": { 3979 // CHECK-NEXT: "col": 8, 3980 // CHECK-NEXT: "file": "{{.*}}", 3981 // CHECK-NEXT: "line": 80 3982 // CHECK-NEXT: }, 3983 // CHECK-NEXT: "range": { 3984 // CHECK-NEXT: "begin": { 3985 // CHECK-NEXT: "col": 8, 3986 // CHECK-NEXT: "file": "{{.*}}", 3987 // CHECK-NEXT: "line": 80 3988 // CHECK-NEXT: }, 3989 // CHECK-NEXT: "end": { 3990 // CHECK-NEXT: "col": 8, 3991 // CHECK-NEXT: "file": "{{.*}}", 3992 // CHECK-NEXT: "line": 80 3993 // CHECK-NEXT: } 3994 // CHECK-NEXT: }, 3995 // CHECK-NEXT: "isImplicit": true, 3996 // CHECK-NEXT: "name": "~Derived5", 3997 // CHECK-NEXT: "type": { 3998 // CHECK-NEXT: "qualType": "void ()" 3999 // CHECK-NEXT: }, 4000 // CHECK-NEXT: "inline": true, 4001 // CHECK-NEXT: "explicitlyDefaulted": "default" 4002 // CHECK-NEXT: } 4003 // CHECK-NEXT: ] 4004 // CHECK-NEXT: } 4005 4006 4007 // CHECK: "kind": "CXXRecordDecl", 4008 // CHECK-NEXT: "loc": { 4009 // CHECK-NEXT: "col": 8, 4010 // CHECK-NEXT: "file": "{{.*}}", 4011 // CHECK-NEXT: "line": 84 4012 // CHECK-NEXT: }, 4013 // CHECK-NEXT: "range": { 4014 // CHECK-NEXT: "begin": { 4015 // CHECK-NEXT: "col": 1, 4016 // CHECK-NEXT: "file": "{{.*}}", 4017 // CHECK-NEXT: "line": 84 4018 // CHECK-NEXT: }, 4019 // CHECK-NEXT: "end": { 4020 // CHECK-NEXT: "col": 1, 4021 // CHECK-NEXT: "file": "{{.*}}", 4022 // CHECK-NEXT: "line": 85 4023 // CHECK-NEXT: } 4024 // CHECK-NEXT: }, 4025 // CHECK-NEXT: "name": "Derived6", 4026 // CHECK-NEXT: "tagUsed": "struct", 4027 // CHECK-NEXT: "completeDefinition": true, 4028 // CHECK-NEXT: "definitionData": { 4029 // CHECK-NEXT: "canConstDefaultInit": true, 4030 // CHECK-NEXT: "copyAssign": { 4031 // CHECK-NEXT: "hasConstParam": true, 4032 // CHECK-NEXT: "implicitHasConstParam": true, 4033 // CHECK-NEXT: "needsImplicit": true, 4034 // CHECK-NEXT: "trivial": true 4035 // CHECK-NEXT: }, 4036 // CHECK-NEXT: "copyCtor": { 4037 // CHECK-NEXT: "hasConstParam": true, 4038 // CHECK-NEXT: "implicitHasConstParam": true, 4039 // CHECK-NEXT: "needsImplicit": true, 4040 // CHECK-NEXT: "simple": true, 4041 // CHECK-NEXT: "trivial": true 4042 // CHECK-NEXT: }, 4043 // CHECK-NEXT: "defaultCtor": { 4044 // CHECK-NEXT: "defaultedIsConstexpr": true, 4045 // CHECK-NEXT: "exists": true, 4046 // CHECK-NEXT: "isConstexpr": true, 4047 // CHECK-NEXT: "needsImplicit": true, 4048 // CHECK-NEXT: "trivial": true 4049 // CHECK-NEXT: }, 4050 // CHECK-NEXT: "dtor": { 4051 // CHECK-NEXT: "irrelevant": true, 4052 // CHECK-NEXT: "needsImplicit": true, 4053 // CHECK-NEXT: "simple": true, 4054 // CHECK-NEXT: "trivial": true 4055 // CHECK-NEXT: }, 4056 // CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, 4057 // CHECK-NEXT: "isAggregate": true, 4058 // CHECK-NEXT: "isEmpty": true, 4059 // CHECK-NEXT: "isLiteral": true, 4060 // CHECK-NEXT: "isStandardLayout": true, 4061 // CHECK-NEXT: "isTrivial": true, 4062 // CHECK-NEXT: "isTriviallyCopyable": true, 4063 // CHECK-NEXT: "moveAssign": { 4064 // CHECK-NEXT: "exists": true, 4065 // CHECK-NEXT: "needsImplicit": true, 4066 // CHECK-NEXT: "simple": true, 4067 // CHECK-NEXT: "trivial": true 4068 // CHECK-NEXT: }, 4069 // CHECK-NEXT: "moveCtor": { 4070 // CHECK-NEXT: "exists": true, 4071 // CHECK-NEXT: "needsImplicit": true, 4072 // CHECK-NEXT: "simple": true, 4073 // CHECK-NEXT: "trivial": true 4074 // CHECK-NEXT: } 4075 // CHECK-NEXT: }, 4076 // CHECK-NEXT: "bases": [ 4077 // CHECK-NEXT: { 4078 // CHECK-NEXT: "access": "public", 4079 // CHECK-NEXT: "isPackExpansion": true, 4080 // CHECK-NEXT: "isVirtual": true, 4081 // CHECK-NEXT: "type": { 4082 // CHECK-NEXT: "qualType": "Bases" 4083 // CHECK-NEXT: }, 4084 // CHECK-NEXT: "writtenAccess": "public" 4085 // CHECK-NEXT: } 4086 // CHECK-NEXT: ], 4087 // CHECK-NEXT: "inner": [ 4088 // CHECK-NEXT: { 4089 // CHECK-NEXT: "id": "0x{{.*}}", 4090 // CHECK-NEXT: "kind": "CXXRecordDecl", 4091 // CHECK-NEXT: "loc": { 4092 // CHECK-NEXT: "col": 8, 4093 // CHECK-NEXT: "file": "{{.*}}", 4094 // CHECK-NEXT: "line": 84 4095 // CHECK-NEXT: }, 4096 // CHECK-NEXT: "range": { 4097 // CHECK-NEXT: "begin": { 4098 // CHECK-NEXT: "col": 1, 4099 // CHECK-NEXT: "file": "{{.*}}", 4100 // CHECK-NEXT: "line": 84 4101 // CHECK-NEXT: }, 4102 // CHECK-NEXT: "end": { 4103 // CHECK-NEXT: "col": 8, 4104 // CHECK-NEXT: "file": "{{.*}}", 4105 // CHECK-NEXT: "line": 84 4106 // CHECK-NEXT: } 4107 // CHECK-NEXT: }, 4108 // CHECK-NEXT: "isImplicit": true, 4109 // CHECK-NEXT: "name": "Derived6", 4110 // CHECK-NEXT: "tagUsed": "struct" 4111 // CHECK-NEXT: } 4112 // CHECK-NEXT: ] 4113 // CHECK-NEXT: } 4114