4275 lines · cpp
1// RUN: %clang_cc1 -triple x86_64-unknown-unknown -std=c++17 -ast-dump=json %s | FileCheck %s2 3struct A;4struct B;5 6struct A {7 int a;8 int b, c;9 int d : 12;10 int : 0;11 int e : 10;12 B *f;13};14 15struct 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 30struct D {31 int a;32 int b[10];33 int c[];34};35 36union E;37 38union F;39 40union E {41 int a;42 int b, c;43 int d : 12;44 int : 0;45 int e : 10;46 B *f;47};48 49union 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 64struct Base1 {};65struct Base2 {};66struct Base3 {};67 68struct Derived1 : Base1 {69};70 71struct Derived2 : private Base1 {72};73 74struct Derived3 : virtual Base1 {75};76 77struct Derived4 : Base1, virtual Base2, protected Base3 {78};79 80struct Derived5 : protected virtual Base1 {81};82 83template <typename... Bases>84struct Derived6 : virtual public Bases... {85};86 87// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py88// using --filters=CXXRecordDecl89 90 91// CHECK-NOT: {{^}}Dumping92// CHECK: "kind": "CXXRecordDecl",93// CHECK-NEXT: "name": "__NSConstantString_tag"94// CHECK-NEXT: }95 96 97// CHECK-NOT: {{^}}Dumping98// CHECK: "kind": "CXXRecordDecl",99// CHECK-NEXT: "name": "__va_list_tag"100// CHECK-NEXT: }101 102 103// CHECK-NOT: {{^}}Dumping104// CHECK: "kind": "CXXRecordDecl",105// CHECK-NEXT: "loc": {106// CHECK-NEXT: "offset": 102,107// CHECK-NEXT: "file": "{{.*}}",108// CHECK-NEXT: "line": 3,109// CHECK-NEXT: "col": 8,110// CHECK-NEXT: "tokLen": 1111// CHECK-NEXT: },112// CHECK-NEXT: "range": {113// CHECK-NEXT: "begin": {114// CHECK-NEXT: "offset": 95,115// CHECK-NEXT: "col": 1,116// CHECK-NEXT: "tokLen": 6117// CHECK-NEXT: },118// CHECK-NEXT: "end": {119// CHECK-NEXT: "offset": 102,120// CHECK-NEXT: "col": 8,121// CHECK-NEXT: "tokLen": 1122// CHECK-NEXT: }123// CHECK-NEXT: },124// CHECK-NEXT: "name": "A",125// CHECK-NEXT: "tagUsed": "struct"126// CHECK-NEXT: }127 128 129// CHECK-NOT: {{^}}Dumping130// CHECK: "kind": "CXXRecordDecl",131// CHECK-NEXT: "loc": {132// CHECK-NEXT: "offset": 112,133// CHECK-NEXT: "line": 4,134// CHECK-NEXT: "col": 8,135// CHECK-NEXT: "tokLen": 1136// CHECK-NEXT: },137// CHECK-NEXT: "range": {138// CHECK-NEXT: "begin": {139// CHECK-NEXT: "offset": 105,140// CHECK-NEXT: "col": 1,141// CHECK-NEXT: "tokLen": 6142// CHECK-NEXT: },143// CHECK-NEXT: "end": {144// CHECK-NEXT: "offset": 112,145// CHECK-NEXT: "col": 8,146// CHECK-NEXT: "tokLen": 1147// CHECK-NEXT: }148// CHECK-NEXT: },149// CHECK-NEXT: "isReferenced": true,150// CHECK-NEXT: "name": "B",151// CHECK-NEXT: "tagUsed": "struct"152// CHECK-NEXT: }153 154 155// CHECK-NOT: {{^}}Dumping156// CHECK: "kind": "CXXRecordDecl",157// CHECK-NEXT: "loc": {158// CHECK-NEXT: "offset": 123,159// CHECK-NEXT: "line": 6,160// CHECK-NEXT: "col": 8,161// CHECK-NEXT: "tokLen": 1162// CHECK-NEXT: },163// CHECK-NEXT: "range": {164// CHECK-NEXT: "begin": {165// CHECK-NEXT: "offset": 116,166// CHECK-NEXT: "col": 1,167// CHECK-NEXT: "tokLen": 6168// CHECK-NEXT: },169// CHECK-NEXT: "end": {170// CHECK-NEXT: "offset": 195,171// CHECK-NEXT: "line": 13,172// CHECK-NEXT: "col": 1,173// CHECK-NEXT: "tokLen": 1174// CHECK-NEXT: }175// CHECK-NEXT: },176// CHECK-NEXT: "previousDecl": "0x{{.*}}",177// CHECK-NEXT: "name": "A",178// CHECK-NEXT: "tagUsed": "struct",179// CHECK-NEXT: "completeDefinition": true,180// CHECK-NEXT: "definitionData": {181// CHECK-NEXT: "canPassInRegisters": true,182// CHECK-NEXT: "copyAssign": {183// CHECK-NEXT: "hasConstParam": true,184// CHECK-NEXT: "implicitHasConstParam": true,185// CHECK-NEXT: "needsImplicit": true,186// CHECK-NEXT: "simple": true,187// CHECK-NEXT: "trivial": true188// CHECK-NEXT: },189// CHECK-NEXT: "copyCtor": {190// CHECK-NEXT: "hasConstParam": true,191// CHECK-NEXT: "implicitHasConstParam": true,192// CHECK-NEXT: "needsImplicit": true,193// CHECK-NEXT: "simple": true,194// CHECK-NEXT: "trivial": true195// CHECK-NEXT: },196// CHECK-NEXT: "defaultCtor": {197// CHECK-NEXT: "exists": true,198// CHECK-NEXT: "needsImplicit": true,199// CHECK-NEXT: "trivial": true200// CHECK-NEXT: },201// CHECK-NEXT: "dtor": {202// CHECK-NEXT: "irrelevant": true,203// CHECK-NEXT: "needsImplicit": true,204// CHECK-NEXT: "simple": true,205// CHECK-NEXT: "trivial": true206// CHECK-NEXT: },207// CHECK-NEXT: "isAggregate": true,208// CHECK-NEXT: "isLiteral": true,209// CHECK-NEXT: "isPOD": true,210// CHECK-NEXT: "isStandardLayout": true,211// CHECK-NEXT: "isTrivial": true,212// CHECK-NEXT: "isTriviallyCopyable": true,213// CHECK-NEXT: "moveAssign": {214// CHECK-NEXT: "exists": true,215// CHECK-NEXT: "needsImplicit": true,216// CHECK-NEXT: "simple": true,217// CHECK-NEXT: "trivial": true218// CHECK-NEXT: },219// CHECK-NEXT: "moveCtor": {220// CHECK-NEXT: "exists": true,221// CHECK-NEXT: "needsImplicit": true,222// CHECK-NEXT: "simple": true,223// CHECK-NEXT: "trivial": true224// CHECK-NEXT: }225// CHECK-NEXT: },226// CHECK-NEXT: "inner": [227// CHECK-NEXT: {228// CHECK-NEXT: "id": "0x{{.*}}",229// CHECK-NEXT: "kind": "CXXRecordDecl",230// CHECK-NEXT: "loc": {231// CHECK-NEXT: "offset": 123,232// CHECK-NEXT: "line": 6,233// CHECK-NEXT: "col": 8,234// CHECK-NEXT: "tokLen": 1235// CHECK-NEXT: },236// CHECK-NEXT: "range": {237// CHECK-NEXT: "begin": {238// CHECK-NEXT: "offset": 116,239// CHECK-NEXT: "col": 1,240// CHECK-NEXT: "tokLen": 6241// CHECK-NEXT: },242// CHECK-NEXT: "end": {243// CHECK-NEXT: "offset": 123,244// CHECK-NEXT: "col": 8,245// CHECK-NEXT: "tokLen": 1246// CHECK-NEXT: }247// CHECK-NEXT: },248// CHECK-NEXT: "isImplicit": true,249// CHECK-NEXT: "name": "A",250// CHECK-NEXT: "tagUsed": "struct"251// CHECK-NEXT: },252// CHECK-NEXT: {253// CHECK-NEXT: "id": "0x{{.*}}",254// CHECK-NEXT: "kind": "FieldDecl",255// CHECK-NEXT: "loc": {256// CHECK-NEXT: "offset": 133,257// CHECK-NEXT: "line": 7,258// CHECK-NEXT: "col": 7,259// CHECK-NEXT: "tokLen": 1260// CHECK-NEXT: },261// CHECK-NEXT: "range": {262// CHECK-NEXT: "begin": {263// CHECK-NEXT: "offset": 129,264// CHECK-NEXT: "col": 3,265// CHECK-NEXT: "tokLen": 3266// CHECK-NEXT: },267// CHECK-NEXT: "end": {268// CHECK-NEXT: "offset": 133,269// CHECK-NEXT: "col": 7,270// CHECK-NEXT: "tokLen": 1271// CHECK-NEXT: }272// CHECK-NEXT: },273// CHECK-NEXT: "name": "a",274// CHECK-NEXT: "type": {275// CHECK-NEXT: "qualType": "int"276// CHECK-NEXT: }277// CHECK-NEXT: },278// CHECK-NEXT: {279// CHECK-NEXT: "id": "0x{{.*}}",280// CHECK-NEXT: "kind": "FieldDecl",281// CHECK-NEXT: "loc": {282// CHECK-NEXT: "offset": 142,283// CHECK-NEXT: "line": 8,284// CHECK-NEXT: "col": 7,285// CHECK-NEXT: "tokLen": 1286// CHECK-NEXT: },287// CHECK-NEXT: "range": {288// CHECK-NEXT: "begin": {289// CHECK-NEXT: "offset": 138,290// CHECK-NEXT: "col": 3,291// CHECK-NEXT: "tokLen": 3292// CHECK-NEXT: },293// CHECK-NEXT: "end": {294// CHECK-NEXT: "offset": 142,295// CHECK-NEXT: "col": 7,296// CHECK-NEXT: "tokLen": 1297// CHECK-NEXT: }298// CHECK-NEXT: },299// CHECK-NEXT: "name": "b",300// CHECK-NEXT: "type": {301// CHECK-NEXT: "qualType": "int"302// CHECK-NEXT: }303// CHECK-NEXT: },304// CHECK-NEXT: {305// CHECK-NEXT: "id": "0x{{.*}}",306// CHECK-NEXT: "kind": "FieldDecl",307// CHECK-NEXT: "loc": {308// CHECK-NEXT: "offset": 145,309// CHECK-NEXT: "col": 10,310// CHECK-NEXT: "tokLen": 1311// CHECK-NEXT: },312// CHECK-NEXT: "range": {313// CHECK-NEXT: "begin": {314// CHECK-NEXT: "offset": 138,315// CHECK-NEXT: "col": 3,316// CHECK-NEXT: "tokLen": 3317// CHECK-NEXT: },318// CHECK-NEXT: "end": {319// CHECK-NEXT: "offset": 145,320// CHECK-NEXT: "col": 10,321// CHECK-NEXT: "tokLen": 1322// CHECK-NEXT: }323// CHECK-NEXT: },324// CHECK-NEXT: "name": "c",325// CHECK-NEXT: "type": {326// CHECK-NEXT: "qualType": "int"327// CHECK-NEXT: }328// CHECK-NEXT: },329// CHECK-NEXT: {330// CHECK-NEXT: "id": "0x{{.*}}",331// CHECK-NEXT: "kind": "FieldDecl",332// CHECK-NEXT: "loc": {333// CHECK-NEXT: "offset": 154,334// CHECK-NEXT: "line": 9,335// CHECK-NEXT: "col": 7,336// CHECK-NEXT: "tokLen": 1337// CHECK-NEXT: },338// CHECK-NEXT: "range": {339// CHECK-NEXT: "begin": {340// CHECK-NEXT: "offset": 150,341// CHECK-NEXT: "col": 3,342// CHECK-NEXT: "tokLen": 3343// CHECK-NEXT: },344// CHECK-NEXT: "end": {345// CHECK-NEXT: "offset": 158,346// CHECK-NEXT: "col": 11,347// CHECK-NEXT: "tokLen": 2348// CHECK-NEXT: }349// CHECK-NEXT: },350// CHECK-NEXT: "name": "d",351// CHECK-NEXT: "type": {352// CHECK-NEXT: "qualType": "int"353// CHECK-NEXT: },354// CHECK-NEXT: "isBitfield": true,355// CHECK-NEXT: "inner": [356// CHECK-NEXT: {357// CHECK-NEXT: "id": "0x{{.*}}",358// CHECK-NEXT: "kind": "ConstantExpr",359// CHECK-NEXT: "range": {360// CHECK-NEXT: "begin": {361// CHECK-NEXT: "offset": 158,362// CHECK-NEXT: "col": 11,363// CHECK-NEXT: "tokLen": 2364// CHECK-NEXT: },365// CHECK-NEXT: "end": {366// CHECK-NEXT: "offset": 158,367// CHECK-NEXT: "col": 11,368// CHECK-NEXT: "tokLen": 2369// CHECK-NEXT: }370// CHECK-NEXT: },371// CHECK-NEXT: "type": {372// CHECK-NEXT: "qualType": "int"373// CHECK-NEXT: },374// CHECK-NEXT: "valueCategory": "prvalue",375// CHECK-NEXT: "value": "12",376// CHECK-NEXT: "inner": [377// CHECK-NEXT: {378// CHECK-NEXT: "id": "0x{{.*}}",379// CHECK-NEXT: "kind": "IntegerLiteral",380// CHECK-NEXT: "range": {381// CHECK-NEXT: "begin": {382// CHECK-NEXT: "offset": 158,383// CHECK-NEXT: "col": 11,384// CHECK-NEXT: "tokLen": 2385// CHECK-NEXT: },386// CHECK-NEXT: "end": {387// CHECK-NEXT: "offset": 158,388// CHECK-NEXT: "col": 11,389// CHECK-NEXT: "tokLen": 2390// CHECK-NEXT: }391// CHECK-NEXT: },392// CHECK-NEXT: "type": {393// CHECK-NEXT: "qualType": "int"394// CHECK-NEXT: },395// CHECK-NEXT: "valueCategory": "prvalue",396// CHECK-NEXT: "value": "12"397// CHECK-NEXT: }398// CHECK-NEXT: ]399// CHECK-NEXT: }400// CHECK-NEXT: ]401// CHECK-NEXT: },402// CHECK-NEXT: {403// CHECK-NEXT: "id": "0x{{.*}}",404// CHECK-NEXT: "kind": "FieldDecl",405// CHECK-NEXT: "loc": {406// CHECK-NEXT: "offset": 168,407// CHECK-NEXT: "line": 10,408// CHECK-NEXT: "col": 7,409// CHECK-NEXT: "tokLen": 1410// CHECK-NEXT: },411// CHECK-NEXT: "range": {412// CHECK-NEXT: "begin": {413// CHECK-NEXT: "offset": 164,414// CHECK-NEXT: "col": 3,415// CHECK-NEXT: "tokLen": 3416// CHECK-NEXT: },417// CHECK-NEXT: "end": {418// CHECK-NEXT: "offset": 170,419// CHECK-NEXT: "col": 9,420// CHECK-NEXT: "tokLen": 1421// CHECK-NEXT: }422// CHECK-NEXT: },423// CHECK-NEXT: "type": {424// CHECK-NEXT: "qualType": "int"425// CHECK-NEXT: },426// CHECK-NEXT: "isBitfield": true,427// CHECK-NEXT: "inner": [428// CHECK-NEXT: {429// CHECK-NEXT: "id": "0x{{.*}}",430// CHECK-NEXT: "kind": "ConstantExpr",431// CHECK-NEXT: "range": {432// CHECK-NEXT: "begin": {433// CHECK-NEXT: "offset": 170,434// CHECK-NEXT: "col": 9,435// CHECK-NEXT: "tokLen": 1436// CHECK-NEXT: },437// CHECK-NEXT: "end": {438// CHECK-NEXT: "offset": 170,439// CHECK-NEXT: "col": 9,440// CHECK-NEXT: "tokLen": 1441// CHECK-NEXT: }442// CHECK-NEXT: },443// CHECK-NEXT: "type": {444// CHECK-NEXT: "qualType": "int"445// CHECK-NEXT: },446// CHECK-NEXT: "valueCategory": "prvalue",447// CHECK-NEXT: "value": "0",448// CHECK-NEXT: "inner": [449// CHECK-NEXT: {450// CHECK-NEXT: "id": "0x{{.*}}",451// CHECK-NEXT: "kind": "IntegerLiteral",452// CHECK-NEXT: "range": {453// CHECK-NEXT: "begin": {454// CHECK-NEXT: "offset": 170,455// CHECK-NEXT: "col": 9,456// CHECK-NEXT: "tokLen": 1457// CHECK-NEXT: },458// CHECK-NEXT: "end": {459// CHECK-NEXT: "offset": 170,460// CHECK-NEXT: "col": 9,461// CHECK-NEXT: "tokLen": 1462// CHECK-NEXT: }463// CHECK-NEXT: },464// CHECK-NEXT: "type": {465// CHECK-NEXT: "qualType": "int"466// CHECK-NEXT: },467// CHECK-NEXT: "valueCategory": "prvalue",468// CHECK-NEXT: "value": "0"469// CHECK-NEXT: }470// CHECK-NEXT: ]471// CHECK-NEXT: }472// CHECK-NEXT: ]473// CHECK-NEXT: },474// CHECK-NEXT: {475// CHECK-NEXT: "id": "0x{{.*}}",476// CHECK-NEXT: "kind": "FieldDecl",477// CHECK-NEXT: "loc": {478// CHECK-NEXT: "offset": 179,479// CHECK-NEXT: "line": 11,480// CHECK-NEXT: "col": 7,481// CHECK-NEXT: "tokLen": 1482// CHECK-NEXT: },483// CHECK-NEXT: "range": {484// CHECK-NEXT: "begin": {485// CHECK-NEXT: "offset": 175,486// CHECK-NEXT: "col": 3,487// CHECK-NEXT: "tokLen": 3488// CHECK-NEXT: },489// CHECK-NEXT: "end": {490// CHECK-NEXT: "offset": 183,491// CHECK-NEXT: "col": 11,492// CHECK-NEXT: "tokLen": 2493// CHECK-NEXT: }494// CHECK-NEXT: },495// CHECK-NEXT: "name": "e",496// CHECK-NEXT: "type": {497// CHECK-NEXT: "qualType": "int"498// CHECK-NEXT: },499// CHECK-NEXT: "isBitfield": true,500// CHECK-NEXT: "inner": [501// CHECK-NEXT: {502// CHECK-NEXT: "id": "0x{{.*}}",503// CHECK-NEXT: "kind": "ConstantExpr",504// CHECK-NEXT: "range": {505// CHECK-NEXT: "begin": {506// CHECK-NEXT: "offset": 183,507// CHECK-NEXT: "col": 11,508// CHECK-NEXT: "tokLen": 2509// CHECK-NEXT: },510// CHECK-NEXT: "end": {511// CHECK-NEXT: "offset": 183,512// CHECK-NEXT: "col": 11,513// CHECK-NEXT: "tokLen": 2514// CHECK-NEXT: }515// CHECK-NEXT: },516// CHECK-NEXT: "type": {517// CHECK-NEXT: "qualType": "int"518// CHECK-NEXT: },519// CHECK-NEXT: "valueCategory": "prvalue",520// CHECK-NEXT: "value": "10",521// CHECK-NEXT: "inner": [522// CHECK-NEXT: {523// CHECK-NEXT: "id": "0x{{.*}}",524// CHECK-NEXT: "kind": "IntegerLiteral",525// CHECK-NEXT: "range": {526// CHECK-NEXT: "begin": {527// CHECK-NEXT: "offset": 183,528// CHECK-NEXT: "col": 11,529// CHECK-NEXT: "tokLen": 2530// CHECK-NEXT: },531// CHECK-NEXT: "end": {532// CHECK-NEXT: "offset": 183,533// CHECK-NEXT: "col": 11,534// CHECK-NEXT: "tokLen": 2535// CHECK-NEXT: }536// CHECK-NEXT: },537// CHECK-NEXT: "type": {538// CHECK-NEXT: "qualType": "int"539// CHECK-NEXT: },540// CHECK-NEXT: "valueCategory": "prvalue",541// CHECK-NEXT: "value": "10"542// CHECK-NEXT: }543// CHECK-NEXT: ]544// CHECK-NEXT: }545// CHECK-NEXT: ]546// CHECK-NEXT: },547// CHECK-NEXT: {548// CHECK-NEXT: "id": "0x{{.*}}",549// CHECK-NEXT: "kind": "FieldDecl",550// CHECK-NEXT: "loc": {551// CHECK-NEXT: "offset": 192,552// CHECK-NEXT: "line": 12,553// CHECK-NEXT: "col": 6,554// CHECK-NEXT: "tokLen": 1555// CHECK-NEXT: },556// CHECK-NEXT: "range": {557// CHECK-NEXT: "begin": {558// CHECK-NEXT: "offset": 189,559// CHECK-NEXT: "col": 3,560// CHECK-NEXT: "tokLen": 1561// CHECK-NEXT: },562// CHECK-NEXT: "end": {563// CHECK-NEXT: "offset": 192,564// CHECK-NEXT: "col": 6,565// CHECK-NEXT: "tokLen": 1566// CHECK-NEXT: }567// CHECK-NEXT: },568// CHECK-NEXT: "name": "f",569// CHECK-NEXT: "type": {570// CHECK-NEXT: "qualType": "B *"571// CHECK-NEXT: }572// CHECK-NEXT: }573// CHECK-NEXT: ]574// CHECK-NEXT: }575 576 577// CHECK-NOT: {{^}}Dumping578// CHECK: "kind": "CXXRecordDecl",579// CHECK-NEXT: "loc": {580// CHECK-NEXT: "offset": 206,581// CHECK-NEXT: "line": 15,582// CHECK-NEXT: "col": 8,583// CHECK-NEXT: "tokLen": 1584// CHECK-NEXT: },585// CHECK-NEXT: "range": {586// CHECK-NEXT: "begin": {587// CHECK-NEXT: "offset": 199,588// CHECK-NEXT: "col": 1,589// CHECK-NEXT: "tokLen": 6590// CHECK-NEXT: },591// CHECK-NEXT: "end": {592// CHECK-NEXT: "offset": 310,593// CHECK-NEXT: "line": 28,594// CHECK-NEXT: "col": 1,595// CHECK-NEXT: "tokLen": 1596// CHECK-NEXT: }597// CHECK-NEXT: },598// CHECK-NEXT: "name": "C",599// CHECK-NEXT: "tagUsed": "struct",600// CHECK-NEXT: "completeDefinition": true,601// CHECK-NEXT: "definitionData": {602// CHECK-NEXT: "canPassInRegisters": true,603// CHECK-NEXT: "copyAssign": {604// CHECK-NEXT: "hasConstParam": true,605// CHECK-NEXT: "implicitHasConstParam": true,606// CHECK-NEXT: "needsImplicit": true,607// CHECK-NEXT: "simple": true,608// CHECK-NEXT: "trivial": true609// CHECK-NEXT: },610// CHECK-NEXT: "copyCtor": {611// CHECK-NEXT: "hasConstParam": true,612// CHECK-NEXT: "implicitHasConstParam": true,613// CHECK-NEXT: "needsImplicit": true,614// CHECK-NEXT: "simple": true,615// CHECK-NEXT: "trivial": true616// CHECK-NEXT: },617// CHECK-NEXT: "defaultCtor": {618// CHECK-NEXT: "exists": true,619// CHECK-NEXT: "needsImplicit": true,620// CHECK-NEXT: "trivial": true621// CHECK-NEXT: },622// CHECK-NEXT: "dtor": {623// CHECK-NEXT: "irrelevant": true,624// CHECK-NEXT: "needsImplicit": true,625// CHECK-NEXT: "simple": true,626// CHECK-NEXT: "trivial": true627// CHECK-NEXT: },628// CHECK-NEXT: "hasVariantMembers": true,629// CHECK-NEXT: "isAggregate": true,630// CHECK-NEXT: "isLiteral": true,631// CHECK-NEXT: "isPOD": true,632// CHECK-NEXT: "isStandardLayout": true,633// CHECK-NEXT: "isTrivial": true,634// CHECK-NEXT: "isTriviallyCopyable": true,635// CHECK-NEXT: "moveAssign": {636// CHECK-NEXT: "exists": true,637// CHECK-NEXT: "needsImplicit": true,638// CHECK-NEXT: "simple": true,639// CHECK-NEXT: "trivial": true640// CHECK-NEXT: },641// CHECK-NEXT: "moveCtor": {642// CHECK-NEXT: "exists": true,643// CHECK-NEXT: "needsImplicit": true,644// CHECK-NEXT: "simple": true,645// CHECK-NEXT: "trivial": true646// CHECK-NEXT: }647// CHECK-NEXT: },648// CHECK-NEXT: "inner": [649// CHECK-NEXT: {650// CHECK-NEXT: "id": "0x{{.*}}",651// CHECK-NEXT: "kind": "CXXRecordDecl",652// CHECK-NEXT: "loc": {653// CHECK-NEXT: "offset": 206,654// CHECK-NEXT: "line": 15,655// CHECK-NEXT: "col": 8,656// CHECK-NEXT: "tokLen": 1657// CHECK-NEXT: },658// CHECK-NEXT: "range": {659// CHECK-NEXT: "begin": {660// CHECK-NEXT: "offset": 199,661// CHECK-NEXT: "col": 1,662// CHECK-NEXT: "tokLen": 6663// CHECK-NEXT: },664// CHECK-NEXT: "end": {665// CHECK-NEXT: "offset": 206,666// CHECK-NEXT: "col": 8,667// CHECK-NEXT: "tokLen": 1668// CHECK-NEXT: }669// CHECK-NEXT: },670// CHECK-NEXT: "isImplicit": true,671// CHECK-NEXT: "name": "C",672// CHECK-NEXT: "tagUsed": "struct"673// CHECK-NEXT: },674// CHECK-NEXT: {675// CHECK-NEXT: "id": "0x{{.*}}",676// CHECK-NEXT: "kind": "CXXRecordDecl",677// CHECK-NEXT: "loc": {678// CHECK-NEXT: "offset": 212,679// CHECK-NEXT: "line": 16,680// CHECK-NEXT: "col": 3,681// CHECK-NEXT: "tokLen": 6682// CHECK-NEXT: },683// CHECK-NEXT: "range": {684// CHECK-NEXT: "begin": {685// CHECK-NEXT: "offset": 212,686// CHECK-NEXT: "col": 3,687// CHECK-NEXT: "tokLen": 6688// CHECK-NEXT: },689// CHECK-NEXT: "end": {690// CHECK-NEXT: "offset": 234,691// CHECK-NEXT: "line": 18,692// CHECK-NEXT: "col": 3,693// CHECK-NEXT: "tokLen": 1694// CHECK-NEXT: }695// CHECK-NEXT: },696// CHECK-NEXT: "tagUsed": "struct",697// CHECK-NEXT: "completeDefinition": true,698// CHECK-NEXT: "definitionData": {699// CHECK-NEXT: "canPassInRegisters": true,700// CHECK-NEXT: "copyAssign": {701// CHECK-NEXT: "hasConstParam": true,702// CHECK-NEXT: "implicitHasConstParam": true,703// CHECK-NEXT: "needsImplicit": true,704// CHECK-NEXT: "simple": true,705// CHECK-NEXT: "trivial": true706// CHECK-NEXT: },707// CHECK-NEXT: "copyCtor": {708// CHECK-NEXT: "hasConstParam": true,709// CHECK-NEXT: "implicitHasConstParam": true,710// CHECK-NEXT: "needsImplicit": true,711// CHECK-NEXT: "simple": true,712// CHECK-NEXT: "trivial": true713// CHECK-NEXT: },714// CHECK-NEXT: "defaultCtor": {715// CHECK-NEXT: "exists": true,716// CHECK-NEXT: "needsImplicit": true,717// CHECK-NEXT: "trivial": true718// CHECK-NEXT: },719// CHECK-NEXT: "dtor": {720// CHECK-NEXT: "irrelevant": true,721// CHECK-NEXT: "needsImplicit": true,722// CHECK-NEXT: "simple": true,723// CHECK-NEXT: "trivial": true724// CHECK-NEXT: },725// CHECK-NEXT: "isAggregate": true,726// CHECK-NEXT: "isLiteral": true,727// CHECK-NEXT: "isPOD": true,728// CHECK-NEXT: "isStandardLayout": true,729// CHECK-NEXT: "isTrivial": true,730// CHECK-NEXT: "isTriviallyCopyable": true,731// CHECK-NEXT: "moveAssign": {732// CHECK-NEXT: "exists": true,733// CHECK-NEXT: "needsImplicit": true,734// CHECK-NEXT: "simple": true,735// CHECK-NEXT: "trivial": true736// CHECK-NEXT: },737// CHECK-NEXT: "moveCtor": {738// CHECK-NEXT: "exists": true,739// CHECK-NEXT: "needsImplicit": true,740// CHECK-NEXT: "simple": true,741// CHECK-NEXT: "trivial": true742// CHECK-NEXT: }743// CHECK-NEXT: },744// CHECK-NEXT: "inner": [745// CHECK-NEXT: {746// CHECK-NEXT: "id": "0x{{.*}}",747// CHECK-NEXT: "kind": "FieldDecl",748// CHECK-NEXT: "loc": {749// CHECK-NEXT: "offset": 229,750// CHECK-NEXT: "line": 17,751// CHECK-NEXT: "col": 9,752// CHECK-NEXT: "tokLen": 1753// CHECK-NEXT: },754// CHECK-NEXT: "range": {755// CHECK-NEXT: "begin": {756// CHECK-NEXT: "offset": 225,757// CHECK-NEXT: "col": 5,758// CHECK-NEXT: "tokLen": 3759// CHECK-NEXT: },760// CHECK-NEXT: "end": {761// CHECK-NEXT: "offset": 229,762// CHECK-NEXT: "col": 9,763// CHECK-NEXT: "tokLen": 1764// CHECK-NEXT: }765// CHECK-NEXT: },766// CHECK-NEXT: "name": "a",767// CHECK-NEXT: "type": {768// CHECK-NEXT: "qualType": "int"769// CHECK-NEXT: }770// CHECK-NEXT: }771// CHECK-NEXT: ]772// CHECK-NEXT: },773// CHECK-NEXT: {774// CHECK-NEXT: "id": "0x{{.*}}",775// CHECK-NEXT: "kind": "FieldDecl",776// CHECK-NEXT: "loc": {777// CHECK-NEXT: "offset": 236,778// CHECK-NEXT: "line": 18,779// CHECK-NEXT: "col": 5,780// CHECK-NEXT: "tokLen": 1781// CHECK-NEXT: },782// CHECK-NEXT: "range": {783// CHECK-NEXT: "begin": {784// CHECK-NEXT: "offset": 212,785// CHECK-NEXT: "line": 16,786// CHECK-NEXT: "col": 3,787// CHECK-NEXT: "tokLen": 6788// CHECK-NEXT: },789// CHECK-NEXT: "end": {790// CHECK-NEXT: "offset": 236,791// CHECK-NEXT: "line": 18,792// CHECK-NEXT: "col": 5,793// CHECK-NEXT: "tokLen": 1794// CHECK-NEXT: }795// CHECK-NEXT: },796// CHECK-NEXT: "name": "b",797// CHECK-NEXT: "type": {798// CHECK-NEXT: "qualType": "struct (unnamed struct at {{.*}}:16:3)"799// CHECK-NEXT: }800// CHECK-NEXT: },801// CHECK-NEXT: {802// CHECK-NEXT: "id": "0x{{.*}}",803// CHECK-NEXT: "kind": "CXXRecordDecl",804// CHECK-NEXT: "loc": {805// CHECK-NEXT: "offset": 242,806// CHECK-NEXT: "line": 20,807// CHECK-NEXT: "col": 3,808// CHECK-NEXT: "tokLen": 5809// CHECK-NEXT: },810// CHECK-NEXT: "range": {811// CHECK-NEXT: "begin": {812// CHECK-NEXT: "offset": 242,813// CHECK-NEXT: "col": 3,814// CHECK-NEXT: "tokLen": 5815// CHECK-NEXT: },816// CHECK-NEXT: "end": {817// CHECK-NEXT: "offset": 276,818// CHECK-NEXT: "line": 23,819// CHECK-NEXT: "col": 3,820// CHECK-NEXT: "tokLen": 1821// CHECK-NEXT: }822// CHECK-NEXT: },823// CHECK-NEXT: "tagUsed": "union",824// CHECK-NEXT: "completeDefinition": true,825// CHECK-NEXT: "definitionData": {826// CHECK-NEXT: "canPassInRegisters": true,827// CHECK-NEXT: "copyAssign": {828// CHECK-NEXT: "hasConstParam": true,829// CHECK-NEXT: "implicitHasConstParam": true,830// CHECK-NEXT: "needsImplicit": true,831// CHECK-NEXT: "simple": true,832// CHECK-NEXT: "trivial": true833// CHECK-NEXT: },834// CHECK-NEXT: "copyCtor": {835// CHECK-NEXT: "hasConstParam": true,836// CHECK-NEXT: "implicitHasConstParam": true,837// CHECK-NEXT: "needsImplicit": true,838// CHECK-NEXT: "simple": true,839// CHECK-NEXT: "trivial": true840// CHECK-NEXT: },841// CHECK-NEXT: "defaultCtor": {842// CHECK-NEXT: "exists": true,843// CHECK-NEXT: "needsImplicit": true,844// CHECK-NEXT: "trivial": true845// CHECK-NEXT: },846// CHECK-NEXT: "dtor": {847// CHECK-NEXT: "irrelevant": true,848// CHECK-NEXT: "needsImplicit": true,849// CHECK-NEXT: "simple": true,850// CHECK-NEXT: "trivial": true851// CHECK-NEXT: },852// CHECK-NEXT: "hasVariantMembers": true,853// CHECK-NEXT: "isAggregate": true,854// CHECK-NEXT: "isLiteral": true,855// CHECK-NEXT: "isPOD": true,856// CHECK-NEXT: "isStandardLayout": true,857// CHECK-NEXT: "isTrivial": true,858// CHECK-NEXT: "isTriviallyCopyable": true,859// CHECK-NEXT: "moveAssign": {860// CHECK-NEXT: "exists": true,861// CHECK-NEXT: "needsImplicit": true,862// CHECK-NEXT: "simple": true,863// CHECK-NEXT: "trivial": true864// CHECK-NEXT: },865// CHECK-NEXT: "moveCtor": {866// CHECK-NEXT: "exists": true,867// CHECK-NEXT: "needsImplicit": true,868// CHECK-NEXT: "simple": true,869// CHECK-NEXT: "trivial": true870// CHECK-NEXT: }871// CHECK-NEXT: },872// CHECK-NEXT: "inner": [873// CHECK-NEXT: {874// CHECK-NEXT: "id": "0x{{.*}}",875// CHECK-NEXT: "kind": "FieldDecl",876// CHECK-NEXT: "loc": {877// CHECK-NEXT: "offset": 258,878// CHECK-NEXT: "line": 21,879// CHECK-NEXT: "col": 9,880// CHECK-NEXT: "tokLen": 1881// CHECK-NEXT: },882// CHECK-NEXT: "range": {883// CHECK-NEXT: "begin": {884// CHECK-NEXT: "offset": 254,885// CHECK-NEXT: "col": 5,886// CHECK-NEXT: "tokLen": 3887// CHECK-NEXT: },888// CHECK-NEXT: "end": {889// CHECK-NEXT: "offset": 258,890// CHECK-NEXT: "col": 9,891// CHECK-NEXT: "tokLen": 1892// CHECK-NEXT: }893// CHECK-NEXT: },894// CHECK-NEXT: "name": "c",895// CHECK-NEXT: "type": {896// CHECK-NEXT: "qualType": "int"897// CHECK-NEXT: }898// CHECK-NEXT: },899// CHECK-NEXT: {900// CHECK-NEXT: "id": "0x{{.*}}",901// CHECK-NEXT: "kind": "FieldDecl",902// CHECK-NEXT: "loc": {903// CHECK-NEXT: "offset": 271,904// CHECK-NEXT: "line": 22,905// CHECK-NEXT: "col": 11,906// CHECK-NEXT: "tokLen": 1907// CHECK-NEXT: },908// CHECK-NEXT: "range": {909// CHECK-NEXT: "begin": {910// CHECK-NEXT: "offset": 265,911// CHECK-NEXT: "col": 5,912// CHECK-NEXT: "tokLen": 5913// CHECK-NEXT: },914// CHECK-NEXT: "end": {915// CHECK-NEXT: "offset": 271,916// CHECK-NEXT: "col": 11,917// CHECK-NEXT: "tokLen": 1918// CHECK-NEXT: }919// CHECK-NEXT: },920// CHECK-NEXT: "name": "d",921// CHECK-NEXT: "type": {922// CHECK-NEXT: "qualType": "float"923// CHECK-NEXT: }924// CHECK-NEXT: }925// CHECK-NEXT: ]926// CHECK-NEXT: },927// CHECK-NEXT: {928// CHECK-NEXT: "id": "0x{{.*}}",929// CHECK-NEXT: "kind": "FieldDecl",930// CHECK-NEXT: "loc": {931// CHECK-NEXT: "offset": 242,932// CHECK-NEXT: "line": 20,933// CHECK-NEXT: "col": 3,934// CHECK-NEXT: "tokLen": 5935// CHECK-NEXT: },936// CHECK-NEXT: "range": {937// CHECK-NEXT: "begin": {938// CHECK-NEXT: "offset": 242,939// CHECK-NEXT: "col": 3,940// CHECK-NEXT: "tokLen": 5941// CHECK-NEXT: },942// CHECK-NEXT: "end": {943// CHECK-NEXT: "offset": 242,944// CHECK-NEXT: "col": 3,945// CHECK-NEXT: "tokLen": 5946// CHECK-NEXT: }947// CHECK-NEXT: },948// CHECK-NEXT: "isImplicit": true,949// CHECK-NEXT: "type": {950// CHECK-NEXT: "qualType": "C::(anonymous union at {{.*}}:20:3)"951// CHECK-NEXT: }952// CHECK-NEXT: },953// CHECK-NEXT: {954// CHECK-NEXT: "id": "0x{{.*}}",955// CHECK-NEXT: "kind": "IndirectFieldDecl",956// CHECK-NEXT: "loc": {957// CHECK-NEXT: "offset": 258,958// CHECK-NEXT: "line": 21,959// CHECK-NEXT: "col": 9,960// CHECK-NEXT: "tokLen": 1961// CHECK-NEXT: },962// CHECK-NEXT: "range": {963// CHECK-NEXT: "begin": {964// CHECK-NEXT: "offset": 258,965// CHECK-NEXT: "col": 9,966// CHECK-NEXT: "tokLen": 1967// CHECK-NEXT: },968// CHECK-NEXT: "end": {969// CHECK-NEXT: "offset": 258,970// CHECK-NEXT: "col": 9,971// CHECK-NEXT: "tokLen": 1972// CHECK-NEXT: }973// CHECK-NEXT: },974// CHECK-NEXT: "isImplicit": true,975// CHECK-NEXT: "name": "c"976// CHECK-NEXT: },977// CHECK-NEXT: {978// CHECK-NEXT: "id": "0x{{.*}}",979// CHECK-NEXT: "kind": "IndirectFieldDecl",980// CHECK-NEXT: "loc": {981// CHECK-NEXT: "offset": 271,982// CHECK-NEXT: "line": 22,983// CHECK-NEXT: "col": 11,984// CHECK-NEXT: "tokLen": 1985// CHECK-NEXT: },986// CHECK-NEXT: "range": {987// CHECK-NEXT: "begin": {988// CHECK-NEXT: "offset": 271,989// CHECK-NEXT: "col": 11,990// CHECK-NEXT: "tokLen": 1991// CHECK-NEXT: },992// CHECK-NEXT: "end": {993// CHECK-NEXT: "offset": 271,994// CHECK-NEXT: "col": 11,995// CHECK-NEXT: "tokLen": 1996// CHECK-NEXT: }997// CHECK-NEXT: },998// CHECK-NEXT: "isImplicit": true,999// CHECK-NEXT: "name": "d"1000// CHECK-NEXT: },1001// CHECK-NEXT: {1002// CHECK-NEXT: "id": "0x{{.*}}",1003// CHECK-NEXT: "kind": "CXXRecordDecl",1004// CHECK-NEXT: "loc": {1005// CHECK-NEXT: "offset": 282,1006// CHECK-NEXT: "line": 25,1007// CHECK-NEXT: "col": 3,1008// CHECK-NEXT: "tokLen": 61009// CHECK-NEXT: },1010// CHECK-NEXT: "range": {1011// CHECK-NEXT: "begin": {1012// CHECK-NEXT: "offset": 282,1013// CHECK-NEXT: "col": 3,1014// CHECK-NEXT: "tokLen": 61015// CHECK-NEXT: },1016// CHECK-NEXT: "end": {1017// CHECK-NEXT: "offset": 307,1018// CHECK-NEXT: "line": 27,1019// CHECK-NEXT: "col": 3,1020// CHECK-NEXT: "tokLen": 11021// CHECK-NEXT: }1022// CHECK-NEXT: },1023// CHECK-NEXT: "tagUsed": "struct",1024// CHECK-NEXT: "completeDefinition": true,1025// CHECK-NEXT: "definitionData": {1026// CHECK-NEXT: "canPassInRegisters": true,1027// CHECK-NEXT: "copyAssign": {1028// CHECK-NEXT: "hasConstParam": true,1029// CHECK-NEXT: "implicitHasConstParam": true,1030// CHECK-NEXT: "needsImplicit": true,1031// CHECK-NEXT: "simple": true,1032// CHECK-NEXT: "trivial": true1033// CHECK-NEXT: },1034// CHECK-NEXT: "copyCtor": {1035// CHECK-NEXT: "hasConstParam": true,1036// CHECK-NEXT: "implicitHasConstParam": true,1037// CHECK-NEXT: "needsImplicit": true,1038// CHECK-NEXT: "simple": true,1039// CHECK-NEXT: "trivial": true1040// CHECK-NEXT: },1041// CHECK-NEXT: "defaultCtor": {1042// CHECK-NEXT: "exists": true,1043// CHECK-NEXT: "needsImplicit": true,1044// CHECK-NEXT: "trivial": true1045// CHECK-NEXT: },1046// CHECK-NEXT: "dtor": {1047// CHECK-NEXT: "irrelevant": true,1048// CHECK-NEXT: "needsImplicit": true,1049// CHECK-NEXT: "simple": true,1050// CHECK-NEXT: "trivial": true1051// CHECK-NEXT: },1052// CHECK-NEXT: "isAggregate": true,1053// CHECK-NEXT: "isLiteral": true,1054// CHECK-NEXT: "isPOD": true,1055// CHECK-NEXT: "isStandardLayout": true,1056// CHECK-NEXT: "isTrivial": true,1057// CHECK-NEXT: "isTriviallyCopyable": true,1058// CHECK-NEXT: "moveAssign": {1059// CHECK-NEXT: "exists": true,1060// CHECK-NEXT: "needsImplicit": true,1061// CHECK-NEXT: "simple": true,1062// CHECK-NEXT: "trivial": true1063// CHECK-NEXT: },1064// CHECK-NEXT: "moveCtor": {1065// CHECK-NEXT: "exists": true,1066// CHECK-NEXT: "needsImplicit": true,1067// CHECK-NEXT: "simple": true,1068// CHECK-NEXT: "trivial": true1069// CHECK-NEXT: }1070// CHECK-NEXT: },1071// CHECK-NEXT: "inner": [1072// CHECK-NEXT: {1073// CHECK-NEXT: "id": "0x{{.*}}",1074// CHECK-NEXT: "kind": "FieldDecl",1075// CHECK-NEXT: "loc": {1076// CHECK-NEXT: "offset": 299,1077// CHECK-NEXT: "line": 26,1078// CHECK-NEXT: "col": 9,1079// CHECK-NEXT: "tokLen": 11080// CHECK-NEXT: },1081// CHECK-NEXT: "range": {1082// CHECK-NEXT: "begin": {1083// CHECK-NEXT: "offset": 295,1084// CHECK-NEXT: "col": 5,1085// CHECK-NEXT: "tokLen": 31086// CHECK-NEXT: },1087// CHECK-NEXT: "end": {1088// CHECK-NEXT: "offset": 299,1089// CHECK-NEXT: "col": 9,1090// CHECK-NEXT: "tokLen": 11091// CHECK-NEXT: }1092// CHECK-NEXT: },1093// CHECK-NEXT: "name": "e",1094// CHECK-NEXT: "type": {1095// CHECK-NEXT: "qualType": "int"1096// CHECK-NEXT: }1097// CHECK-NEXT: },1098// CHECK-NEXT: {1099// CHECK-NEXT: "id": "0x{{.*}}",1100// CHECK-NEXT: "kind": "FieldDecl",1101// CHECK-NEXT: "loc": {1102// CHECK-NEXT: "offset": 302,1103// CHECK-NEXT: "col": 12,1104// CHECK-NEXT: "tokLen": 11105// CHECK-NEXT: },1106// CHECK-NEXT: "range": {1107// CHECK-NEXT: "begin": {1108// CHECK-NEXT: "offset": 295,1109// CHECK-NEXT: "col": 5,1110// CHECK-NEXT: "tokLen": 31111// CHECK-NEXT: },1112// CHECK-NEXT: "end": {1113// CHECK-NEXT: "offset": 302,1114// CHECK-NEXT: "col": 12,1115// CHECK-NEXT: "tokLen": 11116// CHECK-NEXT: }1117// CHECK-NEXT: },1118// CHECK-NEXT: "name": "f",1119// CHECK-NEXT: "type": {1120// CHECK-NEXT: "qualType": "int"1121// CHECK-NEXT: }1122// CHECK-NEXT: }1123// CHECK-NEXT: ]1124// CHECK-NEXT: },1125// CHECK-NEXT: {1126// CHECK-NEXT: "id": "0x{{.*}}",1127// CHECK-NEXT: "kind": "FieldDecl",1128// CHECK-NEXT: "loc": {1129// CHECK-NEXT: "offset": 282,1130// CHECK-NEXT: "line": 25,1131// CHECK-NEXT: "col": 3,1132// CHECK-NEXT: "tokLen": 61133// CHECK-NEXT: },1134// CHECK-NEXT: "range": {1135// CHECK-NEXT: "begin": {1136// CHECK-NEXT: "offset": 282,1137// CHECK-NEXT: "col": 3,1138// CHECK-NEXT: "tokLen": 61139// CHECK-NEXT: },1140// CHECK-NEXT: "end": {1141// CHECK-NEXT: "offset": 282,1142// CHECK-NEXT: "col": 3,1143// CHECK-NEXT: "tokLen": 61144// CHECK-NEXT: }1145// CHECK-NEXT: },1146// CHECK-NEXT: "isImplicit": true,1147// CHECK-NEXT: "type": {1148// CHECK-NEXT: "qualType": "C::(anonymous struct at {{.*}}:25:3)"1149// CHECK-NEXT: }1150// CHECK-NEXT: },1151// CHECK-NEXT: {1152// CHECK-NEXT: "id": "0x{{.*}}",1153// CHECK-NEXT: "kind": "IndirectFieldDecl",1154// CHECK-NEXT: "loc": {1155// CHECK-NEXT: "offset": 299,1156// CHECK-NEXT: "line": 26,1157// CHECK-NEXT: "col": 9,1158// CHECK-NEXT: "tokLen": 11159// CHECK-NEXT: },1160// CHECK-NEXT: "range": {1161// CHECK-NEXT: "begin": {1162// CHECK-NEXT: "offset": 299,1163// CHECK-NEXT: "col": 9,1164// CHECK-NEXT: "tokLen": 11165// CHECK-NEXT: },1166// CHECK-NEXT: "end": {1167// CHECK-NEXT: "offset": 299,1168// CHECK-NEXT: "col": 9,1169// CHECK-NEXT: "tokLen": 11170// CHECK-NEXT: }1171// CHECK-NEXT: },1172// CHECK-NEXT: "isImplicit": true,1173// CHECK-NEXT: "name": "e"1174// CHECK-NEXT: },1175// CHECK-NEXT: {1176// CHECK-NEXT: "id": "0x{{.*}}",1177// CHECK-NEXT: "kind": "IndirectFieldDecl",1178// CHECK-NEXT: "loc": {1179// CHECK-NEXT: "offset": 302,1180// CHECK-NEXT: "col": 12,1181// CHECK-NEXT: "tokLen": 11182// CHECK-NEXT: },1183// CHECK-NEXT: "range": {1184// CHECK-NEXT: "begin": {1185// CHECK-NEXT: "offset": 302,1186// CHECK-NEXT: "col": 12,1187// CHECK-NEXT: "tokLen": 11188// CHECK-NEXT: },1189// CHECK-NEXT: "end": {1190// CHECK-NEXT: "offset": 302,1191// CHECK-NEXT: "col": 12,1192// CHECK-NEXT: "tokLen": 11193// CHECK-NEXT: }1194// CHECK-NEXT: },1195// CHECK-NEXT: "isImplicit": true,1196// CHECK-NEXT: "name": "f"1197// CHECK-NEXT: }1198// CHECK-NEXT: ]1199// CHECK-NEXT: }1200 1201 1202// CHECK-NOT: {{^}}Dumping1203// CHECK: "kind": "CXXRecordDecl",1204// CHECK-NEXT: "loc": {1205// CHECK-NEXT: "offset": 321,1206// CHECK-NEXT: "line": 30,1207// CHECK-NEXT: "col": 8,1208// CHECK-NEXT: "tokLen": 11209// CHECK-NEXT: },1210// CHECK-NEXT: "range": {1211// CHECK-NEXT: "begin": {1212// CHECK-NEXT: "offset": 314,1213// CHECK-NEXT: "col": 1,1214// CHECK-NEXT: "tokLen": 61215// CHECK-NEXT: },1216// CHECK-NEXT: "end": {1217// CHECK-NEXT: "offset": 358,1218// CHECK-NEXT: "line": 34,1219// CHECK-NEXT: "col": 1,1220// CHECK-NEXT: "tokLen": 11221// CHECK-NEXT: }1222// CHECK-NEXT: },1223// CHECK-NEXT: "name": "D",1224// CHECK-NEXT: "tagUsed": "struct",1225// CHECK-NEXT: "completeDefinition": true,1226// CHECK-NEXT: "definitionData": {1227// CHECK-NEXT: "canPassInRegisters": true,1228// CHECK-NEXT: "copyAssign": {1229// CHECK-NEXT: "hasConstParam": true,1230// CHECK-NEXT: "implicitHasConstParam": true,1231// CHECK-NEXT: "needsImplicit": true,1232// CHECK-NEXT: "simple": true,1233// CHECK-NEXT: "trivial": true1234// CHECK-NEXT: },1235// CHECK-NEXT: "copyCtor": {1236// CHECK-NEXT: "hasConstParam": true,1237// CHECK-NEXT: "implicitHasConstParam": true,1238// CHECK-NEXT: "needsImplicit": true,1239// CHECK-NEXT: "simple": true,1240// CHECK-NEXT: "trivial": true1241// CHECK-NEXT: },1242// CHECK-NEXT: "defaultCtor": {1243// CHECK-NEXT: "exists": true,1244// CHECK-NEXT: "needsImplicit": true,1245// CHECK-NEXT: "trivial": true1246// CHECK-NEXT: },1247// CHECK-NEXT: "dtor": {1248// CHECK-NEXT: "irrelevant": true,1249// CHECK-NEXT: "needsImplicit": true,1250// CHECK-NEXT: "simple": true,1251// CHECK-NEXT: "trivial": true1252// CHECK-NEXT: },1253// CHECK-NEXT: "isAggregate": true,1254// CHECK-NEXT: "isLiteral": true,1255// CHECK-NEXT: "isPOD": true,1256// CHECK-NEXT: "isStandardLayout": true,1257// CHECK-NEXT: "isTrivial": true,1258// CHECK-NEXT: "isTriviallyCopyable": true,1259// CHECK-NEXT: "moveAssign": {1260// CHECK-NEXT: "exists": true,1261// CHECK-NEXT: "needsImplicit": true,1262// CHECK-NEXT: "simple": true,1263// CHECK-NEXT: "trivial": true1264// CHECK-NEXT: },1265// CHECK-NEXT: "moveCtor": {1266// CHECK-NEXT: "exists": true,1267// CHECK-NEXT: "needsImplicit": true,1268// CHECK-NEXT: "simple": true,1269// CHECK-NEXT: "trivial": true1270// CHECK-NEXT: }1271// CHECK-NEXT: },1272// CHECK-NEXT: "inner": [1273// CHECK-NEXT: {1274// CHECK-NEXT: "id": "0x{{.*}}",1275// CHECK-NEXT: "kind": "CXXRecordDecl",1276// CHECK-NEXT: "loc": {1277// CHECK-NEXT: "offset": 321,1278// CHECK-NEXT: "line": 30,1279// CHECK-NEXT: "col": 8,1280// CHECK-NEXT: "tokLen": 11281// CHECK-NEXT: },1282// CHECK-NEXT: "range": {1283// CHECK-NEXT: "begin": {1284// CHECK-NEXT: "offset": 314,1285// CHECK-NEXT: "col": 1,1286// CHECK-NEXT: "tokLen": 61287// CHECK-NEXT: },1288// CHECK-NEXT: "end": {1289// CHECK-NEXT: "offset": 321,1290// CHECK-NEXT: "col": 8,1291// CHECK-NEXT: "tokLen": 11292// CHECK-NEXT: }1293// CHECK-NEXT: },1294// CHECK-NEXT: "isImplicit": true,1295// CHECK-NEXT: "name": "D",1296// CHECK-NEXT: "tagUsed": "struct"1297// CHECK-NEXT: },1298// CHECK-NEXT: {1299// CHECK-NEXT: "id": "0x{{.*}}",1300// CHECK-NEXT: "kind": "FieldDecl",1301// CHECK-NEXT: "loc": {1302// CHECK-NEXT: "offset": 331,1303// CHECK-NEXT: "line": 31,1304// CHECK-NEXT: "col": 7,1305// CHECK-NEXT: "tokLen": 11306// CHECK-NEXT: },1307// CHECK-NEXT: "range": {1308// CHECK-NEXT: "begin": {1309// CHECK-NEXT: "offset": 327,1310// CHECK-NEXT: "col": 3,1311// CHECK-NEXT: "tokLen": 31312// CHECK-NEXT: },1313// CHECK-NEXT: "end": {1314// CHECK-NEXT: "offset": 331,1315// CHECK-NEXT: "col": 7,1316// CHECK-NEXT: "tokLen": 11317// CHECK-NEXT: }1318// CHECK-NEXT: },1319// CHECK-NEXT: "name": "a",1320// CHECK-NEXT: "type": {1321// CHECK-NEXT: "qualType": "int"1322// CHECK-NEXT: }1323// CHECK-NEXT: },1324// CHECK-NEXT: {1325// CHECK-NEXT: "id": "0x{{.*}}",1326// CHECK-NEXT: "kind": "FieldDecl",1327// CHECK-NEXT: "loc": {1328// CHECK-NEXT: "offset": 340,1329// CHECK-NEXT: "line": 32,1330// CHECK-NEXT: "col": 7,1331// CHECK-NEXT: "tokLen": 11332// CHECK-NEXT: },1333// CHECK-NEXT: "range": {1334// CHECK-NEXT: "begin": {1335// CHECK-NEXT: "offset": 336,1336// CHECK-NEXT: "col": 3,1337// CHECK-NEXT: "tokLen": 31338// CHECK-NEXT: },1339// CHECK-NEXT: "end": {1340// CHECK-NEXT: "offset": 344,1341// CHECK-NEXT: "col": 11,1342// CHECK-NEXT: "tokLen": 11343// CHECK-NEXT: }1344// CHECK-NEXT: },1345// CHECK-NEXT: "name": "b",1346// CHECK-NEXT: "type": {1347// CHECK-NEXT: "qualType": "int[10]"1348// CHECK-NEXT: }1349// CHECK-NEXT: },1350// CHECK-NEXT: {1351// CHECK-NEXT: "id": "0x{{.*}}",1352// CHECK-NEXT: "kind": "FieldDecl",1353// CHECK-NEXT: "loc": {1354// CHECK-NEXT: "offset": 353,1355// CHECK-NEXT: "line": 33,1356// CHECK-NEXT: "col": 7,1357// CHECK-NEXT: "tokLen": 11358// CHECK-NEXT: },1359// CHECK-NEXT: "range": {1360// CHECK-NEXT: "begin": {1361// CHECK-NEXT: "offset": 349,1362// CHECK-NEXT: "col": 3,1363// CHECK-NEXT: "tokLen": 31364// CHECK-NEXT: },1365// CHECK-NEXT: "end": {1366// CHECK-NEXT: "offset": 355,1367// CHECK-NEXT: "col": 9,1368// CHECK-NEXT: "tokLen": 11369// CHECK-NEXT: }1370// CHECK-NEXT: },1371// CHECK-NEXT: "name": "c",1372// CHECK-NEXT: "type": {1373// CHECK-NEXT: "qualType": "int[]"1374// CHECK-NEXT: }1375// CHECK-NEXT: }1376// CHECK-NEXT: ]1377// CHECK-NEXT: }1378 1379 1380// CHECK-NOT: {{^}}Dumping1381// CHECK: "kind": "CXXRecordDecl",1382// CHECK-NEXT: "loc": {1383// CHECK-NEXT: "offset": 368,1384// CHECK-NEXT: "line": 36,1385// CHECK-NEXT: "col": 7,1386// CHECK-NEXT: "tokLen": 11387// CHECK-NEXT: },1388// CHECK-NEXT: "range": {1389// CHECK-NEXT: "begin": {1390// CHECK-NEXT: "offset": 362,1391// CHECK-NEXT: "col": 1,1392// CHECK-NEXT: "tokLen": 51393// CHECK-NEXT: },1394// CHECK-NEXT: "end": {1395// CHECK-NEXT: "offset": 368,1396// CHECK-NEXT: "col": 7,1397// CHECK-NEXT: "tokLen": 11398// CHECK-NEXT: }1399// CHECK-NEXT: },1400// CHECK-NEXT: "name": "E",1401// CHECK-NEXT: "tagUsed": "union"1402// CHECK-NEXT: }1403 1404 1405// CHECK-NOT: {{^}}Dumping1406// CHECK: "kind": "CXXRecordDecl",1407// CHECK-NEXT: "loc": {1408// CHECK-NEXT: "offset": 378,1409// CHECK-NEXT: "line": 38,1410// CHECK-NEXT: "col": 7,1411// CHECK-NEXT: "tokLen": 11412// CHECK-NEXT: },1413// CHECK-NEXT: "range": {1414// CHECK-NEXT: "begin": {1415// CHECK-NEXT: "offset": 372,1416// CHECK-NEXT: "col": 1,1417// CHECK-NEXT: "tokLen": 51418// CHECK-NEXT: },1419// CHECK-NEXT: "end": {1420// CHECK-NEXT: "offset": 378,1421// CHECK-NEXT: "col": 7,1422// CHECK-NEXT: "tokLen": 11423// CHECK-NEXT: }1424// CHECK-NEXT: },1425// CHECK-NEXT: "name": "F",1426// CHECK-NEXT: "tagUsed": "union"1427// CHECK-NEXT: }1428 1429 1430// CHECK-NOT: {{^}}Dumping1431// CHECK: "kind": "CXXRecordDecl",1432// CHECK-NEXT: "loc": {1433// CHECK-NEXT: "offset": 388,1434// CHECK-NEXT: "line": 40,1435// CHECK-NEXT: "col": 7,1436// CHECK-NEXT: "tokLen": 11437// CHECK-NEXT: },1438// CHECK-NEXT: "range": {1439// CHECK-NEXT: "begin": {1440// CHECK-NEXT: "offset": 382,1441// CHECK-NEXT: "col": 1,1442// CHECK-NEXT: "tokLen": 51443// CHECK-NEXT: },1444// CHECK-NEXT: "end": {1445// CHECK-NEXT: "offset": 460,1446// CHECK-NEXT: "line": 47,1447// CHECK-NEXT: "col": 1,1448// CHECK-NEXT: "tokLen": 11449// CHECK-NEXT: }1450// CHECK-NEXT: },1451// CHECK-NEXT: "previousDecl": "0x{{.*}}",1452// CHECK-NEXT: "name": "E",1453// CHECK-NEXT: "tagUsed": "union",1454// CHECK-NEXT: "completeDefinition": true,1455// CHECK-NEXT: "definitionData": {1456// CHECK-NEXT: "canPassInRegisters": true,1457// CHECK-NEXT: "copyAssign": {1458// CHECK-NEXT: "hasConstParam": true,1459// CHECK-NEXT: "implicitHasConstParam": true,1460// CHECK-NEXT: "needsImplicit": true,1461// CHECK-NEXT: "simple": true,1462// CHECK-NEXT: "trivial": true1463// CHECK-NEXT: },1464// CHECK-NEXT: "copyCtor": {1465// CHECK-NEXT: "hasConstParam": true,1466// CHECK-NEXT: "implicitHasConstParam": true,1467// CHECK-NEXT: "needsImplicit": true,1468// CHECK-NEXT: "simple": true,1469// CHECK-NEXT: "trivial": true1470// CHECK-NEXT: },1471// CHECK-NEXT: "defaultCtor": {1472// CHECK-NEXT: "exists": true,1473// CHECK-NEXT: "needsImplicit": true,1474// CHECK-NEXT: "trivial": true1475// CHECK-NEXT: },1476// CHECK-NEXT: "dtor": {1477// CHECK-NEXT: "irrelevant": true,1478// CHECK-NEXT: "needsImplicit": true,1479// CHECK-NEXT: "simple": true,1480// CHECK-NEXT: "trivial": true1481// CHECK-NEXT: },1482// CHECK-NEXT: "hasVariantMembers": true,1483// CHECK-NEXT: "isAggregate": true,1484// CHECK-NEXT: "isLiteral": true,1485// CHECK-NEXT: "isPOD": true,1486// CHECK-NEXT: "isStandardLayout": true,1487// CHECK-NEXT: "isTrivial": true,1488// CHECK-NEXT: "isTriviallyCopyable": true,1489// CHECK-NEXT: "moveAssign": {1490// CHECK-NEXT: "exists": true,1491// CHECK-NEXT: "needsImplicit": true,1492// CHECK-NEXT: "simple": true,1493// CHECK-NEXT: "trivial": true1494// CHECK-NEXT: },1495// CHECK-NEXT: "moveCtor": {1496// CHECK-NEXT: "exists": true,1497// CHECK-NEXT: "needsImplicit": true,1498// CHECK-NEXT: "simple": true,1499// CHECK-NEXT: "trivial": true1500// CHECK-NEXT: }1501// CHECK-NEXT: },1502// CHECK-NEXT: "inner": [1503// CHECK-NEXT: {1504// CHECK-NEXT: "id": "0x{{.*}}",1505// CHECK-NEXT: "kind": "CXXRecordDecl",1506// CHECK-NEXT: "loc": {1507// CHECK-NEXT: "offset": 388,1508// CHECK-NEXT: "line": 40,1509// CHECK-NEXT: "col": 7,1510// CHECK-NEXT: "tokLen": 11511// CHECK-NEXT: },1512// CHECK-NEXT: "range": {1513// CHECK-NEXT: "begin": {1514// CHECK-NEXT: "offset": 382,1515// CHECK-NEXT: "col": 1,1516// CHECK-NEXT: "tokLen": 51517// CHECK-NEXT: },1518// CHECK-NEXT: "end": {1519// CHECK-NEXT: "offset": 388,1520// CHECK-NEXT: "col": 7,1521// CHECK-NEXT: "tokLen": 11522// CHECK-NEXT: }1523// CHECK-NEXT: },1524// CHECK-NEXT: "isImplicit": true,1525// CHECK-NEXT: "name": "E",1526// CHECK-NEXT: "tagUsed": "union"1527// CHECK-NEXT: },1528// CHECK-NEXT: {1529// CHECK-NEXT: "id": "0x{{.*}}",1530// CHECK-NEXT: "kind": "FieldDecl",1531// CHECK-NEXT: "loc": {1532// CHECK-NEXT: "offset": 398,1533// CHECK-NEXT: "line": 41,1534// CHECK-NEXT: "col": 7,1535// CHECK-NEXT: "tokLen": 11536// CHECK-NEXT: },1537// CHECK-NEXT: "range": {1538// CHECK-NEXT: "begin": {1539// CHECK-NEXT: "offset": 394,1540// CHECK-NEXT: "col": 3,1541// CHECK-NEXT: "tokLen": 31542// CHECK-NEXT: },1543// CHECK-NEXT: "end": {1544// CHECK-NEXT: "offset": 398,1545// CHECK-NEXT: "col": 7,1546// CHECK-NEXT: "tokLen": 11547// CHECK-NEXT: }1548// CHECK-NEXT: },1549// CHECK-NEXT: "name": "a",1550// CHECK-NEXT: "type": {1551// CHECK-NEXT: "qualType": "int"1552// CHECK-NEXT: }1553// CHECK-NEXT: },1554// CHECK-NEXT: {1555// CHECK-NEXT: "id": "0x{{.*}}",1556// CHECK-NEXT: "kind": "FieldDecl",1557// CHECK-NEXT: "loc": {1558// CHECK-NEXT: "offset": 407,1559// CHECK-NEXT: "line": 42,1560// CHECK-NEXT: "col": 7,1561// CHECK-NEXT: "tokLen": 11562// CHECK-NEXT: },1563// CHECK-NEXT: "range": {1564// CHECK-NEXT: "begin": {1565// CHECK-NEXT: "offset": 403,1566// CHECK-NEXT: "col": 3,1567// CHECK-NEXT: "tokLen": 31568// CHECK-NEXT: },1569// CHECK-NEXT: "end": {1570// CHECK-NEXT: "offset": 407,1571// CHECK-NEXT: "col": 7,1572// CHECK-NEXT: "tokLen": 11573// CHECK-NEXT: }1574// CHECK-NEXT: },1575// CHECK-NEXT: "name": "b",1576// CHECK-NEXT: "type": {1577// CHECK-NEXT: "qualType": "int"1578// CHECK-NEXT: }1579// CHECK-NEXT: },1580// CHECK-NEXT: {1581// CHECK-NEXT: "id": "0x{{.*}}",1582// CHECK-NEXT: "kind": "FieldDecl",1583// CHECK-NEXT: "loc": {1584// CHECK-NEXT: "offset": 410,1585// CHECK-NEXT: "col": 10,1586// CHECK-NEXT: "tokLen": 11587// CHECK-NEXT: },1588// CHECK-NEXT: "range": {1589// CHECK-NEXT: "begin": {1590// CHECK-NEXT: "offset": 403,1591// CHECK-NEXT: "col": 3,1592// CHECK-NEXT: "tokLen": 31593// CHECK-NEXT: },1594// CHECK-NEXT: "end": {1595// CHECK-NEXT: "offset": 410,1596// CHECK-NEXT: "col": 10,1597// CHECK-NEXT: "tokLen": 11598// CHECK-NEXT: }1599// CHECK-NEXT: },1600// CHECK-NEXT: "name": "c",1601// CHECK-NEXT: "type": {1602// CHECK-NEXT: "qualType": "int"1603// CHECK-NEXT: }1604// CHECK-NEXT: },1605// CHECK-NEXT: {1606// CHECK-NEXT: "id": "0x{{.*}}",1607// CHECK-NEXT: "kind": "FieldDecl",1608// CHECK-NEXT: "loc": {1609// CHECK-NEXT: "offset": 419,1610// CHECK-NEXT: "line": 43,1611// CHECK-NEXT: "col": 7,1612// CHECK-NEXT: "tokLen": 11613// CHECK-NEXT: },1614// CHECK-NEXT: "range": {1615// CHECK-NEXT: "begin": {1616// CHECK-NEXT: "offset": 415,1617// CHECK-NEXT: "col": 3,1618// CHECK-NEXT: "tokLen": 31619// CHECK-NEXT: },1620// CHECK-NEXT: "end": {1621// CHECK-NEXT: "offset": 423,1622// CHECK-NEXT: "col": 11,1623// CHECK-NEXT: "tokLen": 21624// CHECK-NEXT: }1625// CHECK-NEXT: },1626// CHECK-NEXT: "name": "d",1627// CHECK-NEXT: "type": {1628// CHECK-NEXT: "qualType": "int"1629// CHECK-NEXT: },1630// CHECK-NEXT: "isBitfield": true,1631// CHECK-NEXT: "inner": [1632// CHECK-NEXT: {1633// CHECK-NEXT: "id": "0x{{.*}}",1634// CHECK-NEXT: "kind": "ConstantExpr",1635// CHECK-NEXT: "range": {1636// CHECK-NEXT: "begin": {1637// CHECK-NEXT: "offset": 423,1638// CHECK-NEXT: "col": 11,1639// CHECK-NEXT: "tokLen": 21640// CHECK-NEXT: },1641// CHECK-NEXT: "end": {1642// CHECK-NEXT: "offset": 423,1643// CHECK-NEXT: "col": 11,1644// CHECK-NEXT: "tokLen": 21645// CHECK-NEXT: }1646// CHECK-NEXT: },1647// CHECK-NEXT: "type": {1648// CHECK-NEXT: "qualType": "int"1649// CHECK-NEXT: },1650// CHECK-NEXT: "valueCategory": "prvalue",1651// CHECK-NEXT: "value": "12",1652// CHECK-NEXT: "inner": [1653// CHECK-NEXT: {1654// CHECK-NEXT: "id": "0x{{.*}}",1655// CHECK-NEXT: "kind": "IntegerLiteral",1656// CHECK-NEXT: "range": {1657// CHECK-NEXT: "begin": {1658// CHECK-NEXT: "offset": 423,1659// CHECK-NEXT: "col": 11,1660// CHECK-NEXT: "tokLen": 21661// CHECK-NEXT: },1662// CHECK-NEXT: "end": {1663// CHECK-NEXT: "offset": 423,1664// CHECK-NEXT: "col": 11,1665// CHECK-NEXT: "tokLen": 21666// CHECK-NEXT: }1667// CHECK-NEXT: },1668// CHECK-NEXT: "type": {1669// CHECK-NEXT: "qualType": "int"1670// CHECK-NEXT: },1671// CHECK-NEXT: "valueCategory": "prvalue",1672// CHECK-NEXT: "value": "12"1673// CHECK-NEXT: }1674// CHECK-NEXT: ]1675// CHECK-NEXT: }1676// CHECK-NEXT: ]1677// CHECK-NEXT: },1678// CHECK-NEXT: {1679// CHECK-NEXT: "id": "0x{{.*}}",1680// CHECK-NEXT: "kind": "FieldDecl",1681// CHECK-NEXT: "loc": {1682// CHECK-NEXT: "offset": 433,1683// CHECK-NEXT: "line": 44,1684// CHECK-NEXT: "col": 7,1685// CHECK-NEXT: "tokLen": 11686// CHECK-NEXT: },1687// CHECK-NEXT: "range": {1688// CHECK-NEXT: "begin": {1689// CHECK-NEXT: "offset": 429,1690// CHECK-NEXT: "col": 3,1691// CHECK-NEXT: "tokLen": 31692// CHECK-NEXT: },1693// CHECK-NEXT: "end": {1694// CHECK-NEXT: "offset": 435,1695// CHECK-NEXT: "col": 9,1696// CHECK-NEXT: "tokLen": 11697// CHECK-NEXT: }1698// CHECK-NEXT: },1699// CHECK-NEXT: "type": {1700// CHECK-NEXT: "qualType": "int"1701// CHECK-NEXT: },1702// CHECK-NEXT: "isBitfield": true,1703// CHECK-NEXT: "inner": [1704// CHECK-NEXT: {1705// CHECK-NEXT: "id": "0x{{.*}}",1706// CHECK-NEXT: "kind": "ConstantExpr",1707// CHECK-NEXT: "range": {1708// CHECK-NEXT: "begin": {1709// CHECK-NEXT: "offset": 435,1710// CHECK-NEXT: "col": 9,1711// CHECK-NEXT: "tokLen": 11712// CHECK-NEXT: },1713// CHECK-NEXT: "end": {1714// CHECK-NEXT: "offset": 435,1715// CHECK-NEXT: "col": 9,1716// CHECK-NEXT: "tokLen": 11717// CHECK-NEXT: }1718// CHECK-NEXT: },1719// CHECK-NEXT: "type": {1720// CHECK-NEXT: "qualType": "int"1721// CHECK-NEXT: },1722// CHECK-NEXT: "valueCategory": "prvalue",1723// CHECK-NEXT: "value": "0",1724// CHECK-NEXT: "inner": [1725// CHECK-NEXT: {1726// CHECK-NEXT: "id": "0x{{.*}}",1727// CHECK-NEXT: "kind": "IntegerLiteral",1728// CHECK-NEXT: "range": {1729// CHECK-NEXT: "begin": {1730// CHECK-NEXT: "offset": 435,1731// CHECK-NEXT: "col": 9,1732// CHECK-NEXT: "tokLen": 11733// CHECK-NEXT: },1734// CHECK-NEXT: "end": {1735// CHECK-NEXT: "offset": 435,1736// CHECK-NEXT: "col": 9,1737// CHECK-NEXT: "tokLen": 11738// CHECK-NEXT: }1739// CHECK-NEXT: },1740// CHECK-NEXT: "type": {1741// CHECK-NEXT: "qualType": "int"1742// CHECK-NEXT: },1743// CHECK-NEXT: "valueCategory": "prvalue",1744// CHECK-NEXT: "value": "0"1745// CHECK-NEXT: }1746// CHECK-NEXT: ]1747// CHECK-NEXT: }1748// CHECK-NEXT: ]1749// CHECK-NEXT: },1750// CHECK-NEXT: {1751// CHECK-NEXT: "id": "0x{{.*}}",1752// CHECK-NEXT: "kind": "FieldDecl",1753// CHECK-NEXT: "loc": {1754// CHECK-NEXT: "offset": 444,1755// CHECK-NEXT: "line": 45,1756// CHECK-NEXT: "col": 7,1757// CHECK-NEXT: "tokLen": 11758// CHECK-NEXT: },1759// CHECK-NEXT: "range": {1760// CHECK-NEXT: "begin": {1761// CHECK-NEXT: "offset": 440,1762// CHECK-NEXT: "col": 3,1763// CHECK-NEXT: "tokLen": 31764// CHECK-NEXT: },1765// CHECK-NEXT: "end": {1766// CHECK-NEXT: "offset": 448,1767// CHECK-NEXT: "col": 11,1768// CHECK-NEXT: "tokLen": 21769// CHECK-NEXT: }1770// CHECK-NEXT: },1771// CHECK-NEXT: "name": "e",1772// CHECK-NEXT: "type": {1773// CHECK-NEXT: "qualType": "int"1774// CHECK-NEXT: },1775// CHECK-NEXT: "isBitfield": true,1776// CHECK-NEXT: "inner": [1777// CHECK-NEXT: {1778// CHECK-NEXT: "id": "0x{{.*}}",1779// CHECK-NEXT: "kind": "ConstantExpr",1780// CHECK-NEXT: "range": {1781// CHECK-NEXT: "begin": {1782// CHECK-NEXT: "offset": 448,1783// CHECK-NEXT: "col": 11,1784// CHECK-NEXT: "tokLen": 21785// CHECK-NEXT: },1786// CHECK-NEXT: "end": {1787// CHECK-NEXT: "offset": 448,1788// CHECK-NEXT: "col": 11,1789// CHECK-NEXT: "tokLen": 21790// CHECK-NEXT: }1791// CHECK-NEXT: },1792// CHECK-NEXT: "type": {1793// CHECK-NEXT: "qualType": "int"1794// CHECK-NEXT: },1795// CHECK-NEXT: "valueCategory": "prvalue",1796// CHECK-NEXT: "value": "10",1797// CHECK-NEXT: "inner": [1798// CHECK-NEXT: {1799// CHECK-NEXT: "id": "0x{{.*}}",1800// CHECK-NEXT: "kind": "IntegerLiteral",1801// CHECK-NEXT: "range": {1802// CHECK-NEXT: "begin": {1803// CHECK-NEXT: "offset": 448,1804// CHECK-NEXT: "col": 11,1805// CHECK-NEXT: "tokLen": 21806// CHECK-NEXT: },1807// CHECK-NEXT: "end": {1808// CHECK-NEXT: "offset": 448,1809// CHECK-NEXT: "col": 11,1810// CHECK-NEXT: "tokLen": 21811// CHECK-NEXT: }1812// CHECK-NEXT: },1813// CHECK-NEXT: "type": {1814// CHECK-NEXT: "qualType": "int"1815// CHECK-NEXT: },1816// CHECK-NEXT: "valueCategory": "prvalue",1817// CHECK-NEXT: "value": "10"1818// CHECK-NEXT: }1819// CHECK-NEXT: ]1820// CHECK-NEXT: }1821// CHECK-NEXT: ]1822// CHECK-NEXT: },1823// CHECK-NEXT: {1824// CHECK-NEXT: "id": "0x{{.*}}",1825// CHECK-NEXT: "kind": "FieldDecl",1826// CHECK-NEXT: "loc": {1827// CHECK-NEXT: "offset": 457,1828// CHECK-NEXT: "line": 46,1829// CHECK-NEXT: "col": 6,1830// CHECK-NEXT: "tokLen": 11831// CHECK-NEXT: },1832// CHECK-NEXT: "range": {1833// CHECK-NEXT: "begin": {1834// CHECK-NEXT: "offset": 454,1835// CHECK-NEXT: "col": 3,1836// CHECK-NEXT: "tokLen": 11837// CHECK-NEXT: },1838// CHECK-NEXT: "end": {1839// CHECK-NEXT: "offset": 457,1840// CHECK-NEXT: "col": 6,1841// CHECK-NEXT: "tokLen": 11842// CHECK-NEXT: }1843// CHECK-NEXT: },1844// CHECK-NEXT: "name": "f",1845// CHECK-NEXT: "type": {1846// CHECK-NEXT: "qualType": "B *"1847// CHECK-NEXT: }1848// CHECK-NEXT: }1849// CHECK-NEXT: ]1850// CHECK-NEXT: }1851 1852 1853// CHECK-NOT: {{^}}Dumping1854// CHECK: "kind": "CXXRecordDecl",1855// CHECK-NEXT: "loc": {1856// CHECK-NEXT: "offset": 470,1857// CHECK-NEXT: "line": 49,1858// CHECK-NEXT: "col": 7,1859// CHECK-NEXT: "tokLen": 11860// CHECK-NEXT: },1861// CHECK-NEXT: "range": {1862// CHECK-NEXT: "begin": {1863// CHECK-NEXT: "offset": 464,1864// CHECK-NEXT: "col": 1,1865// CHECK-NEXT: "tokLen": 51866// CHECK-NEXT: },1867// CHECK-NEXT: "end": {1868// CHECK-NEXT: "offset": 574,1869// CHECK-NEXT: "line": 62,1870// CHECK-NEXT: "col": 1,1871// CHECK-NEXT: "tokLen": 11872// CHECK-NEXT: }1873// CHECK-NEXT: },1874// CHECK-NEXT: "name": "G",1875// CHECK-NEXT: "tagUsed": "union",1876// CHECK-NEXT: "completeDefinition": true,1877// CHECK-NEXT: "definitionData": {1878// CHECK-NEXT: "canPassInRegisters": true,1879// CHECK-NEXT: "copyAssign": {1880// CHECK-NEXT: "hasConstParam": true,1881// CHECK-NEXT: "implicitHasConstParam": true,1882// CHECK-NEXT: "needsImplicit": true,1883// CHECK-NEXT: "simple": true,1884// CHECK-NEXT: "trivial": true1885// CHECK-NEXT: },1886// CHECK-NEXT: "copyCtor": {1887// CHECK-NEXT: "hasConstParam": true,1888// CHECK-NEXT: "implicitHasConstParam": true,1889// CHECK-NEXT: "needsImplicit": true,1890// CHECK-NEXT: "simple": true,1891// CHECK-NEXT: "trivial": true1892// CHECK-NEXT: },1893// CHECK-NEXT: "defaultCtor": {1894// CHECK-NEXT: "exists": true,1895// CHECK-NEXT: "needsImplicit": true,1896// CHECK-NEXT: "trivial": true1897// CHECK-NEXT: },1898// CHECK-NEXT: "dtor": {1899// CHECK-NEXT: "irrelevant": true,1900// CHECK-NEXT: "needsImplicit": true,1901// CHECK-NEXT: "simple": true,1902// CHECK-NEXT: "trivial": true1903// CHECK-NEXT: },1904// CHECK-NEXT: "hasVariantMembers": true,1905// CHECK-NEXT: "isAggregate": true,1906// CHECK-NEXT: "isLiteral": true,1907// CHECK-NEXT: "isPOD": true,1908// CHECK-NEXT: "isStandardLayout": true,1909// CHECK-NEXT: "isTrivial": true,1910// CHECK-NEXT: "isTriviallyCopyable": true,1911// CHECK-NEXT: "moveAssign": {1912// CHECK-NEXT: "exists": true,1913// CHECK-NEXT: "needsImplicit": true,1914// CHECK-NEXT: "simple": true,1915// CHECK-NEXT: "trivial": true1916// CHECK-NEXT: },1917// CHECK-NEXT: "moveCtor": {1918// CHECK-NEXT: "exists": true,1919// CHECK-NEXT: "needsImplicit": true,1920// CHECK-NEXT: "simple": true,1921// CHECK-NEXT: "trivial": true1922// CHECK-NEXT: }1923// CHECK-NEXT: },1924// CHECK-NEXT: "inner": [1925// CHECK-NEXT: {1926// CHECK-NEXT: "id": "0x{{.*}}",1927// CHECK-NEXT: "kind": "CXXRecordDecl",1928// CHECK-NEXT: "loc": {1929// CHECK-NEXT: "offset": 470,1930// CHECK-NEXT: "line": 49,1931// CHECK-NEXT: "col": 7,1932// CHECK-NEXT: "tokLen": 11933// CHECK-NEXT: },1934// CHECK-NEXT: "range": {1935// CHECK-NEXT: "begin": {1936// CHECK-NEXT: "offset": 464,1937// CHECK-NEXT: "col": 1,1938// CHECK-NEXT: "tokLen": 51939// CHECK-NEXT: },1940// CHECK-NEXT: "end": {1941// CHECK-NEXT: "offset": 470,1942// CHECK-NEXT: "col": 7,1943// CHECK-NEXT: "tokLen": 11944// CHECK-NEXT: }1945// CHECK-NEXT: },1946// CHECK-NEXT: "isImplicit": true,1947// CHECK-NEXT: "name": "G",1948// CHECK-NEXT: "tagUsed": "union"1949// CHECK-NEXT: },1950// CHECK-NEXT: {1951// CHECK-NEXT: "id": "0x{{.*}}",1952// CHECK-NEXT: "kind": "CXXRecordDecl",1953// CHECK-NEXT: "loc": {1954// CHECK-NEXT: "offset": 476,1955// CHECK-NEXT: "line": 50,1956// CHECK-NEXT: "col": 3,1957// CHECK-NEXT: "tokLen": 61958// CHECK-NEXT: },1959// CHECK-NEXT: "range": {1960// CHECK-NEXT: "begin": {1961// CHECK-NEXT: "offset": 476,1962// CHECK-NEXT: "col": 3,1963// CHECK-NEXT: "tokLen": 61964// CHECK-NEXT: },1965// CHECK-NEXT: "end": {1966// CHECK-NEXT: "offset": 498,1967// CHECK-NEXT: "line": 52,1968// CHECK-NEXT: "col": 3,1969// CHECK-NEXT: "tokLen": 11970// CHECK-NEXT: }1971// CHECK-NEXT: },1972// CHECK-NEXT: "tagUsed": "struct",1973// CHECK-NEXT: "completeDefinition": true,1974// CHECK-NEXT: "definitionData": {1975// CHECK-NEXT: "canPassInRegisters": true,1976// CHECK-NEXT: "copyAssign": {1977// CHECK-NEXT: "hasConstParam": true,1978// CHECK-NEXT: "implicitHasConstParam": true,1979// CHECK-NEXT: "needsImplicit": true,1980// CHECK-NEXT: "simple": true,1981// CHECK-NEXT: "trivial": true1982// CHECK-NEXT: },1983// CHECK-NEXT: "copyCtor": {1984// CHECK-NEXT: "hasConstParam": true,1985// CHECK-NEXT: "implicitHasConstParam": true,1986// CHECK-NEXT: "needsImplicit": true,1987// CHECK-NEXT: "simple": true,1988// CHECK-NEXT: "trivial": true1989// CHECK-NEXT: },1990// CHECK-NEXT: "defaultCtor": {1991// CHECK-NEXT: "exists": true,1992// CHECK-NEXT: "needsImplicit": true,1993// CHECK-NEXT: "trivial": true1994// CHECK-NEXT: },1995// CHECK-NEXT: "dtor": {1996// CHECK-NEXT: "irrelevant": true,1997// CHECK-NEXT: "needsImplicit": true,1998// CHECK-NEXT: "simple": true,1999// CHECK-NEXT: "trivial": true2000// CHECK-NEXT: },2001// CHECK-NEXT: "isAggregate": true,2002// CHECK-NEXT: "isLiteral": true,2003// CHECK-NEXT: "isPOD": true,2004// CHECK-NEXT: "isStandardLayout": true,2005// CHECK-NEXT: "isTrivial": true,2006// CHECK-NEXT: "isTriviallyCopyable": true,2007// CHECK-NEXT: "moveAssign": {2008// CHECK-NEXT: "exists": true,2009// CHECK-NEXT: "needsImplicit": true,2010// CHECK-NEXT: "simple": true,2011// CHECK-NEXT: "trivial": true2012// CHECK-NEXT: },2013// CHECK-NEXT: "moveCtor": {2014// CHECK-NEXT: "exists": true,2015// CHECK-NEXT: "needsImplicit": true,2016// CHECK-NEXT: "simple": true,2017// CHECK-NEXT: "trivial": true2018// CHECK-NEXT: }2019// CHECK-NEXT: },2020// CHECK-NEXT: "inner": [2021// CHECK-NEXT: {2022// CHECK-NEXT: "id": "0x{{.*}}",2023// CHECK-NEXT: "kind": "FieldDecl",2024// CHECK-NEXT: "loc": {2025// CHECK-NEXT: "offset": 493,2026// CHECK-NEXT: "line": 51,2027// CHECK-NEXT: "col": 9,2028// CHECK-NEXT: "tokLen": 12029// CHECK-NEXT: },2030// CHECK-NEXT: "range": {2031// CHECK-NEXT: "begin": {2032// CHECK-NEXT: "offset": 489,2033// CHECK-NEXT: "col": 5,2034// CHECK-NEXT: "tokLen": 32035// CHECK-NEXT: },2036// CHECK-NEXT: "end": {2037// CHECK-NEXT: "offset": 493,2038// CHECK-NEXT: "col": 9,2039// CHECK-NEXT: "tokLen": 12040// CHECK-NEXT: }2041// CHECK-NEXT: },2042// CHECK-NEXT: "name": "a",2043// CHECK-NEXT: "type": {2044// CHECK-NEXT: "qualType": "int"2045// CHECK-NEXT: }2046// CHECK-NEXT: }2047// CHECK-NEXT: ]2048// CHECK-NEXT: },2049// CHECK-NEXT: {2050// CHECK-NEXT: "id": "0x{{.*}}",2051// CHECK-NEXT: "kind": "FieldDecl",2052// CHECK-NEXT: "loc": {2053// CHECK-NEXT: "offset": 500,2054// CHECK-NEXT: "line": 52,2055// CHECK-NEXT: "col": 5,2056// CHECK-NEXT: "tokLen": 12057// CHECK-NEXT: },2058// CHECK-NEXT: "range": {2059// CHECK-NEXT: "begin": {2060// CHECK-NEXT: "offset": 476,2061// CHECK-NEXT: "line": 50,2062// CHECK-NEXT: "col": 3,2063// CHECK-NEXT: "tokLen": 62064// CHECK-NEXT: },2065// CHECK-NEXT: "end": {2066// CHECK-NEXT: "offset": 500,2067// CHECK-NEXT: "line": 52,2068// CHECK-NEXT: "col": 5,2069// CHECK-NEXT: "tokLen": 12070// CHECK-NEXT: }2071// CHECK-NEXT: },2072// CHECK-NEXT: "name": "b",2073// CHECK-NEXT: "type": {2074// CHECK-NEXT: "qualType": "struct (unnamed struct at {{.*}}:50:3)"2075// CHECK-NEXT: }2076// CHECK-NEXT: },2077// CHECK-NEXT: {2078// CHECK-NEXT: "id": "0x{{.*}}",2079// CHECK-NEXT: "kind": "CXXRecordDecl",2080// CHECK-NEXT: "loc": {2081// CHECK-NEXT: "offset": 506,2082// CHECK-NEXT: "line": 54,2083// CHECK-NEXT: "col": 3,2084// CHECK-NEXT: "tokLen": 52085// CHECK-NEXT: },2086// CHECK-NEXT: "range": {2087// CHECK-NEXT: "begin": {2088// CHECK-NEXT: "offset": 506,2089// CHECK-NEXT: "col": 3,2090// CHECK-NEXT: "tokLen": 52091// CHECK-NEXT: },2092// CHECK-NEXT: "end": {2093// CHECK-NEXT: "offset": 540,2094// CHECK-NEXT: "line": 57,2095// CHECK-NEXT: "col": 3,2096// CHECK-NEXT: "tokLen": 12097// CHECK-NEXT: }2098// CHECK-NEXT: },2099// CHECK-NEXT: "tagUsed": "union",2100// CHECK-NEXT: "completeDefinition": true,2101// CHECK-NEXT: "definitionData": {2102// CHECK-NEXT: "canPassInRegisters": true,2103// CHECK-NEXT: "copyAssign": {2104// CHECK-NEXT: "hasConstParam": true,2105// CHECK-NEXT: "implicitHasConstParam": true,2106// CHECK-NEXT: "needsImplicit": true,2107// CHECK-NEXT: "simple": true,2108// CHECK-NEXT: "trivial": true2109// CHECK-NEXT: },2110// CHECK-NEXT: "copyCtor": {2111// CHECK-NEXT: "hasConstParam": true,2112// CHECK-NEXT: "implicitHasConstParam": true,2113// CHECK-NEXT: "needsImplicit": true,2114// CHECK-NEXT: "simple": true,2115// CHECK-NEXT: "trivial": true2116// CHECK-NEXT: },2117// CHECK-NEXT: "defaultCtor": {2118// CHECK-NEXT: "exists": true,2119// CHECK-NEXT: "needsImplicit": true,2120// CHECK-NEXT: "trivial": true2121// CHECK-NEXT: },2122// CHECK-NEXT: "dtor": {2123// CHECK-NEXT: "irrelevant": true,2124// CHECK-NEXT: "needsImplicit": true,2125// CHECK-NEXT: "simple": true,2126// CHECK-NEXT: "trivial": true2127// CHECK-NEXT: },2128// CHECK-NEXT: "hasVariantMembers": true,2129// CHECK-NEXT: "isAggregate": true,2130// CHECK-NEXT: "isLiteral": true,2131// CHECK-NEXT: "isPOD": true,2132// CHECK-NEXT: "isStandardLayout": true,2133// CHECK-NEXT: "isTrivial": true,2134// CHECK-NEXT: "isTriviallyCopyable": true,2135// CHECK-NEXT: "moveAssign": {2136// CHECK-NEXT: "exists": true,2137// CHECK-NEXT: "needsImplicit": true,2138// CHECK-NEXT: "simple": true,2139// CHECK-NEXT: "trivial": true2140// CHECK-NEXT: },2141// CHECK-NEXT: "moveCtor": {2142// CHECK-NEXT: "exists": true,2143// CHECK-NEXT: "needsImplicit": true,2144// CHECK-NEXT: "simple": true,2145// CHECK-NEXT: "trivial": true2146// CHECK-NEXT: }2147// CHECK-NEXT: },2148// CHECK-NEXT: "inner": [2149// CHECK-NEXT: {2150// CHECK-NEXT: "id": "0x{{.*}}",2151// CHECK-NEXT: "kind": "FieldDecl",2152// CHECK-NEXT: "loc": {2153// CHECK-NEXT: "offset": 522,2154// CHECK-NEXT: "line": 55,2155// CHECK-NEXT: "col": 9,2156// CHECK-NEXT: "tokLen": 12157// CHECK-NEXT: },2158// CHECK-NEXT: "range": {2159// CHECK-NEXT: "begin": {2160// CHECK-NEXT: "offset": 518,2161// CHECK-NEXT: "col": 5,2162// CHECK-NEXT: "tokLen": 32163// CHECK-NEXT: },2164// CHECK-NEXT: "end": {2165// CHECK-NEXT: "offset": 522,2166// CHECK-NEXT: "col": 9,2167// CHECK-NEXT: "tokLen": 12168// CHECK-NEXT: }2169// CHECK-NEXT: },2170// CHECK-NEXT: "name": "c",2171// CHECK-NEXT: "type": {2172// CHECK-NEXT: "qualType": "int"2173// CHECK-NEXT: }2174// CHECK-NEXT: },2175// CHECK-NEXT: {2176// CHECK-NEXT: "id": "0x{{.*}}",2177// CHECK-NEXT: "kind": "FieldDecl",2178// CHECK-NEXT: "loc": {2179// CHECK-NEXT: "offset": 535,2180// CHECK-NEXT: "line": 56,2181// CHECK-NEXT: "col": 11,2182// CHECK-NEXT: "tokLen": 12183// CHECK-NEXT: },2184// CHECK-NEXT: "range": {2185// CHECK-NEXT: "begin": {2186// CHECK-NEXT: "offset": 529,2187// CHECK-NEXT: "col": 5,2188// CHECK-NEXT: "tokLen": 52189// CHECK-NEXT: },2190// CHECK-NEXT: "end": {2191// CHECK-NEXT: "offset": 535,2192// CHECK-NEXT: "col": 11,2193// CHECK-NEXT: "tokLen": 12194// CHECK-NEXT: }2195// CHECK-NEXT: },2196// CHECK-NEXT: "name": "d",2197// CHECK-NEXT: "type": {2198// CHECK-NEXT: "qualType": "float"2199// CHECK-NEXT: }2200// CHECK-NEXT: }2201// CHECK-NEXT: ]2202// CHECK-NEXT: },2203// CHECK-NEXT: {2204// CHECK-NEXT: "id": "0x{{.*}}",2205// CHECK-NEXT: "kind": "FieldDecl",2206// CHECK-NEXT: "loc": {2207// CHECK-NEXT: "offset": 506,2208// CHECK-NEXT: "line": 54,2209// CHECK-NEXT: "col": 3,2210// CHECK-NEXT: "tokLen": 52211// CHECK-NEXT: },2212// CHECK-NEXT: "range": {2213// CHECK-NEXT: "begin": {2214// CHECK-NEXT: "offset": 506,2215// CHECK-NEXT: "col": 3,2216// CHECK-NEXT: "tokLen": 52217// CHECK-NEXT: },2218// CHECK-NEXT: "end": {2219// CHECK-NEXT: "offset": 506,2220// CHECK-NEXT: "col": 3,2221// CHECK-NEXT: "tokLen": 52222// CHECK-NEXT: }2223// CHECK-NEXT: },2224// CHECK-NEXT: "isImplicit": true,2225// CHECK-NEXT: "type": {2226// CHECK-NEXT: "qualType": "G::(anonymous union at {{.*}}:54:3)"2227// CHECK-NEXT: }2228// CHECK-NEXT: },2229// CHECK-NEXT: {2230// CHECK-NEXT: "id": "0x{{.*}}",2231// CHECK-NEXT: "kind": "IndirectFieldDecl",2232// CHECK-NEXT: "loc": {2233// CHECK-NEXT: "offset": 522,2234// CHECK-NEXT: "line": 55,2235// CHECK-NEXT: "col": 9,2236// CHECK-NEXT: "tokLen": 12237// CHECK-NEXT: },2238// CHECK-NEXT: "range": {2239// CHECK-NEXT: "begin": {2240// CHECK-NEXT: "offset": 522,2241// CHECK-NEXT: "col": 9,2242// CHECK-NEXT: "tokLen": 12243// CHECK-NEXT: },2244// CHECK-NEXT: "end": {2245// CHECK-NEXT: "offset": 522,2246// CHECK-NEXT: "col": 9,2247// CHECK-NEXT: "tokLen": 12248// CHECK-NEXT: }2249// CHECK-NEXT: },2250// CHECK-NEXT: "isImplicit": true,2251// CHECK-NEXT: "name": "c"2252// CHECK-NEXT: },2253// CHECK-NEXT: {2254// CHECK-NEXT: "id": "0x{{.*}}",2255// CHECK-NEXT: "kind": "IndirectFieldDecl",2256// CHECK-NEXT: "loc": {2257// CHECK-NEXT: "offset": 535,2258// CHECK-NEXT: "line": 56,2259// CHECK-NEXT: "col": 11,2260// CHECK-NEXT: "tokLen": 12261// CHECK-NEXT: },2262// CHECK-NEXT: "range": {2263// CHECK-NEXT: "begin": {2264// CHECK-NEXT: "offset": 535,2265// CHECK-NEXT: "col": 11,2266// CHECK-NEXT: "tokLen": 12267// CHECK-NEXT: },2268// CHECK-NEXT: "end": {2269// CHECK-NEXT: "offset": 535,2270// CHECK-NEXT: "col": 11,2271// CHECK-NEXT: "tokLen": 12272// CHECK-NEXT: }2273// CHECK-NEXT: },2274// CHECK-NEXT: "isImplicit": true,2275// CHECK-NEXT: "name": "d"2276// CHECK-NEXT: },2277// CHECK-NEXT: {2278// CHECK-NEXT: "id": "0x{{.*}}",2279// CHECK-NEXT: "kind": "CXXRecordDecl",2280// CHECK-NEXT: "loc": {2281// CHECK-NEXT: "offset": 546,2282// CHECK-NEXT: "line": 59,2283// CHECK-NEXT: "col": 3,2284// CHECK-NEXT: "tokLen": 62285// CHECK-NEXT: },2286// CHECK-NEXT: "range": {2287// CHECK-NEXT: "begin": {2288// CHECK-NEXT: "offset": 546,2289// CHECK-NEXT: "col": 3,2290// CHECK-NEXT: "tokLen": 62291// CHECK-NEXT: },2292// CHECK-NEXT: "end": {2293// CHECK-NEXT: "offset": 571,2294// CHECK-NEXT: "line": 61,2295// CHECK-NEXT: "col": 3,2296// CHECK-NEXT: "tokLen": 12297// CHECK-NEXT: }2298// CHECK-NEXT: },2299// CHECK-NEXT: "tagUsed": "struct",2300// CHECK-NEXT: "completeDefinition": true,2301// CHECK-NEXT: "definitionData": {2302// CHECK-NEXT: "canPassInRegisters": true,2303// CHECK-NEXT: "copyAssign": {2304// CHECK-NEXT: "hasConstParam": true,2305// CHECK-NEXT: "implicitHasConstParam": true,2306// CHECK-NEXT: "needsImplicit": true,2307// CHECK-NEXT: "simple": true,2308// CHECK-NEXT: "trivial": true2309// CHECK-NEXT: },2310// CHECK-NEXT: "copyCtor": {2311// CHECK-NEXT: "hasConstParam": true,2312// CHECK-NEXT: "implicitHasConstParam": true,2313// CHECK-NEXT: "needsImplicit": true,2314// CHECK-NEXT: "simple": true,2315// CHECK-NEXT: "trivial": true2316// CHECK-NEXT: },2317// CHECK-NEXT: "defaultCtor": {2318// CHECK-NEXT: "exists": true,2319// CHECK-NEXT: "needsImplicit": true,2320// CHECK-NEXT: "trivial": true2321// CHECK-NEXT: },2322// CHECK-NEXT: "dtor": {2323// CHECK-NEXT: "irrelevant": true,2324// CHECK-NEXT: "needsImplicit": true,2325// CHECK-NEXT: "simple": true,2326// CHECK-NEXT: "trivial": true2327// CHECK-NEXT: },2328// CHECK-NEXT: "isAggregate": true,2329// CHECK-NEXT: "isLiteral": true,2330// CHECK-NEXT: "isPOD": true,2331// CHECK-NEXT: "isStandardLayout": true,2332// CHECK-NEXT: "isTrivial": true,2333// CHECK-NEXT: "isTriviallyCopyable": true,2334// CHECK-NEXT: "moveAssign": {2335// CHECK-NEXT: "exists": true,2336// CHECK-NEXT: "needsImplicit": true,2337// CHECK-NEXT: "simple": true,2338// CHECK-NEXT: "trivial": true2339// CHECK-NEXT: },2340// CHECK-NEXT: "moveCtor": {2341// CHECK-NEXT: "exists": true,2342// CHECK-NEXT: "needsImplicit": true,2343// CHECK-NEXT: "simple": true,2344// CHECK-NEXT: "trivial": true2345// CHECK-NEXT: }2346// CHECK-NEXT: },2347// CHECK-NEXT: "inner": [2348// CHECK-NEXT: {2349// CHECK-NEXT: "id": "0x{{.*}}",2350// CHECK-NEXT: "kind": "FieldDecl",2351// CHECK-NEXT: "loc": {2352// CHECK-NEXT: "offset": 563,2353// CHECK-NEXT: "line": 60,2354// CHECK-NEXT: "col": 9,2355// CHECK-NEXT: "tokLen": 12356// CHECK-NEXT: },2357// CHECK-NEXT: "range": {2358// CHECK-NEXT: "begin": {2359// CHECK-NEXT: "offset": 559,2360// CHECK-NEXT: "col": 5,2361// CHECK-NEXT: "tokLen": 32362// CHECK-NEXT: },2363// CHECK-NEXT: "end": {2364// CHECK-NEXT: "offset": 563,2365// CHECK-NEXT: "col": 9,2366// CHECK-NEXT: "tokLen": 12367// CHECK-NEXT: }2368// CHECK-NEXT: },2369// CHECK-NEXT: "name": "e",2370// CHECK-NEXT: "type": {2371// CHECK-NEXT: "qualType": "int"2372// CHECK-NEXT: }2373// CHECK-NEXT: },2374// CHECK-NEXT: {2375// CHECK-NEXT: "id": "0x{{.*}}",2376// CHECK-NEXT: "kind": "FieldDecl",2377// CHECK-NEXT: "loc": {2378// CHECK-NEXT: "offset": 566,2379// CHECK-NEXT: "col": 12,2380// CHECK-NEXT: "tokLen": 12381// CHECK-NEXT: },2382// CHECK-NEXT: "range": {2383// CHECK-NEXT: "begin": {2384// CHECK-NEXT: "offset": 559,2385// CHECK-NEXT: "col": 5,2386// CHECK-NEXT: "tokLen": 32387// CHECK-NEXT: },2388// CHECK-NEXT: "end": {2389// CHECK-NEXT: "offset": 566,2390// CHECK-NEXT: "col": 12,2391// CHECK-NEXT: "tokLen": 12392// CHECK-NEXT: }2393// CHECK-NEXT: },2394// CHECK-NEXT: "name": "f",2395// CHECK-NEXT: "type": {2396// CHECK-NEXT: "qualType": "int"2397// CHECK-NEXT: }2398// CHECK-NEXT: }2399// CHECK-NEXT: ]2400// CHECK-NEXT: },2401// CHECK-NEXT: {2402// CHECK-NEXT: "id": "0x{{.*}}",2403// CHECK-NEXT: "kind": "FieldDecl",2404// CHECK-NEXT: "loc": {2405// CHECK-NEXT: "offset": 546,2406// CHECK-NEXT: "line": 59,2407// CHECK-NEXT: "col": 3,2408// CHECK-NEXT: "tokLen": 62409// CHECK-NEXT: },2410// CHECK-NEXT: "range": {2411// CHECK-NEXT: "begin": {2412// CHECK-NEXT: "offset": 546,2413// CHECK-NEXT: "col": 3,2414// CHECK-NEXT: "tokLen": 62415// CHECK-NEXT: },2416// CHECK-NEXT: "end": {2417// CHECK-NEXT: "offset": 546,2418// CHECK-NEXT: "col": 3,2419// CHECK-NEXT: "tokLen": 62420// CHECK-NEXT: }2421// CHECK-NEXT: },2422// CHECK-NEXT: "isImplicit": true,2423// CHECK-NEXT: "type": {2424// CHECK-NEXT: "qualType": "G::(anonymous struct at {{.*}}:59:3)"2425// CHECK-NEXT: }2426// CHECK-NEXT: },2427// CHECK-NEXT: {2428// CHECK-NEXT: "id": "0x{{.*}}",2429// CHECK-NEXT: "kind": "IndirectFieldDecl",2430// CHECK-NEXT: "loc": {2431// CHECK-NEXT: "offset": 563,2432// CHECK-NEXT: "line": 60,2433// CHECK-NEXT: "col": 9,2434// CHECK-NEXT: "tokLen": 12435// CHECK-NEXT: },2436// CHECK-NEXT: "range": {2437// CHECK-NEXT: "begin": {2438// CHECK-NEXT: "offset": 563,2439// CHECK-NEXT: "col": 9,2440// CHECK-NEXT: "tokLen": 12441// CHECK-NEXT: },2442// CHECK-NEXT: "end": {2443// CHECK-NEXT: "offset": 563,2444// CHECK-NEXT: "col": 9,2445// CHECK-NEXT: "tokLen": 12446// CHECK-NEXT: }2447// CHECK-NEXT: },2448// CHECK-NEXT: "isImplicit": true,2449// CHECK-NEXT: "name": "e"2450// CHECK-NEXT: },2451// CHECK-NEXT: {2452// CHECK-NEXT: "id": "0x{{.*}}",2453// CHECK-NEXT: "kind": "IndirectFieldDecl",2454// CHECK-NEXT: "loc": {2455// CHECK-NEXT: "offset": 566,2456// CHECK-NEXT: "col": 12,2457// CHECK-NEXT: "tokLen": 12458// CHECK-NEXT: },2459// CHECK-NEXT: "range": {2460// CHECK-NEXT: "begin": {2461// CHECK-NEXT: "offset": 566,2462// CHECK-NEXT: "col": 12,2463// CHECK-NEXT: "tokLen": 12464// CHECK-NEXT: },2465// CHECK-NEXT: "end": {2466// CHECK-NEXT: "offset": 566,2467// CHECK-NEXT: "col": 12,2468// CHECK-NEXT: "tokLen": 12469// CHECK-NEXT: }2470// CHECK-NEXT: },2471// CHECK-NEXT: "isImplicit": true,2472// CHECK-NEXT: "name": "f"2473// CHECK-NEXT: }2474// CHECK-NEXT: ]2475// CHECK-NEXT: }2476 2477 2478// CHECK-NOT: {{^}}Dumping2479// CHECK: "kind": "CXXRecordDecl",2480// CHECK-NEXT: "loc": {2481// CHECK-NEXT: "offset": 585,2482// CHECK-NEXT: "line": 64,2483// CHECK-NEXT: "col": 8,2484// CHECK-NEXT: "tokLen": 52485// CHECK-NEXT: },2486// CHECK-NEXT: "range": {2487// CHECK-NEXT: "begin": {2488// CHECK-NEXT: "offset": 578,2489// CHECK-NEXT: "col": 1,2490// CHECK-NEXT: "tokLen": 62491// CHECK-NEXT: },2492// CHECK-NEXT: "end": {2493// CHECK-NEXT: "offset": 592,2494// CHECK-NEXT: "col": 15,2495// CHECK-NEXT: "tokLen": 12496// CHECK-NEXT: }2497// CHECK-NEXT: },2498// CHECK-NEXT: "isReferenced": true,2499// CHECK-NEXT: "name": "Base1",2500// CHECK-NEXT: "tagUsed": "struct",2501// CHECK-NEXT: "completeDefinition": true,2502// CHECK-NEXT: "definitionData": {2503// CHECK-NEXT: "canConstDefaultInit": true,2504// CHECK-NEXT: "canPassInRegisters": true,2505// CHECK-NEXT: "copyAssign": {2506// CHECK-NEXT: "hasConstParam": true,2507// CHECK-NEXT: "implicitHasConstParam": true,2508// CHECK-NEXT: "simple": true,2509// CHECK-NEXT: "trivial": true2510// CHECK-NEXT: },2511// CHECK-NEXT: "copyCtor": {2512// CHECK-NEXT: "hasConstParam": true,2513// CHECK-NEXT: "implicitHasConstParam": true,2514// CHECK-NEXT: "needsImplicit": true,2515// CHECK-NEXT: "simple": true,2516// CHECK-NEXT: "trivial": true2517// CHECK-NEXT: },2518// CHECK-NEXT: "defaultCtor": {2519// CHECK-NEXT: "defaultedIsConstexpr": true,2520// CHECK-NEXT: "exists": true,2521// CHECK-NEXT: "isConstexpr": true,2522// CHECK-NEXT: "needsImplicit": true,2523// CHECK-NEXT: "trivial": true2524// CHECK-NEXT: },2525// CHECK-NEXT: "dtor": {2526// CHECK-NEXT: "irrelevant": true,2527// CHECK-NEXT: "simple": true,2528// CHECK-NEXT: "trivial": true2529// CHECK-NEXT: },2530// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true,2531// CHECK-NEXT: "isAggregate": true,2532// CHECK-NEXT: "isEmpty": true,2533// CHECK-NEXT: "isLiteral": true,2534// CHECK-NEXT: "isPOD": true,2535// CHECK-NEXT: "isStandardLayout": true,2536// CHECK-NEXT: "isTrivial": true,2537// CHECK-NEXT: "isTriviallyCopyable": true,2538// CHECK-NEXT: "moveAssign": {2539// CHECK-NEXT: "exists": true,2540// CHECK-NEXT: "simple": true,2541// CHECK-NEXT: "trivial": true2542// CHECK-NEXT: },2543// CHECK-NEXT: "moveCtor": {2544// CHECK-NEXT: "exists": true,2545// CHECK-NEXT: "needsImplicit": true,2546// CHECK-NEXT: "simple": true,2547// CHECK-NEXT: "trivial": true2548// CHECK-NEXT: }2549// CHECK-NEXT: },2550// CHECK-NEXT: "inner": [2551// CHECK-NEXT: {2552// CHECK-NEXT: "id": "0x{{.*}}",2553// CHECK-NEXT: "kind": "CXXRecordDecl",2554// CHECK-NEXT: "loc": {2555// CHECK-NEXT: "offset": 585,2556// CHECK-NEXT: "col": 8,2557// CHECK-NEXT: "tokLen": 52558// CHECK-NEXT: },2559// CHECK-NEXT: "range": {2560// CHECK-NEXT: "begin": {2561// CHECK-NEXT: "offset": 578,2562// CHECK-NEXT: "col": 1,2563// CHECK-NEXT: "tokLen": 62564// CHECK-NEXT: },2565// CHECK-NEXT: "end": {2566// CHECK-NEXT: "offset": 585,2567// CHECK-NEXT: "col": 8,2568// CHECK-NEXT: "tokLen": 52569// CHECK-NEXT: }2570// CHECK-NEXT: },2571// CHECK-NEXT: "isImplicit": true,2572// CHECK-NEXT: "name": "Base1",2573// CHECK-NEXT: "tagUsed": "struct"2574// CHECK-NEXT: },2575// CHECK-NEXT: {2576// CHECK-NEXT: "id": "0x{{.*}}",2577// CHECK-NEXT: "kind": "CXXMethodDecl",2578// CHECK-NEXT: "loc": {2579// CHECK-NEXT: "offset": 585,2580// CHECK-NEXT: "col": 8,2581// CHECK-NEXT: "tokLen": 52582// CHECK-NEXT: },2583// CHECK-NEXT: "range": {2584// CHECK-NEXT: "begin": {2585// CHECK-NEXT: "offset": 585,2586// CHECK-NEXT: "col": 8,2587// CHECK-NEXT: "tokLen": 52588// CHECK-NEXT: },2589// CHECK-NEXT: "end": {2590// CHECK-NEXT: "offset": 585,2591// CHECK-NEXT: "col": 8,2592// CHECK-NEXT: "tokLen": 52593// CHECK-NEXT: }2594// CHECK-NEXT: },2595// CHECK-NEXT: "isImplicit": true,2596// CHECK-NEXT: "name": "operator=",2597// CHECK-NEXT: "mangledName": "_ZN5Base1aSERKS_",2598// CHECK-NEXT: "type": {2599// CHECK-NEXT: "qualType": "Base1 &(const Base1 &)"2600// CHECK-NEXT: },2601// CHECK-NEXT: "inline": true,2602// CHECK-NEXT: "constexpr": true,2603// CHECK-NEXT: "explicitlyDefaulted": "default",2604// CHECK-NEXT: "inner": [2605// CHECK-NEXT: {2606// CHECK-NEXT: "id": "0x{{.*}}",2607// CHECK-NEXT: "kind": "ParmVarDecl",2608// CHECK-NEXT: "loc": {2609// CHECK-NEXT: "offset": 585,2610// CHECK-NEXT: "col": 8,2611// CHECK-NEXT: "tokLen": 52612// CHECK-NEXT: },2613// CHECK-NEXT: "range": {2614// CHECK-NEXT: "begin": {2615// CHECK-NEXT: "offset": 585,2616// CHECK-NEXT: "col": 8,2617// CHECK-NEXT: "tokLen": 52618// CHECK-NEXT: },2619// CHECK-NEXT: "end": {2620// CHECK-NEXT: "offset": 585,2621// CHECK-NEXT: "col": 8,2622// CHECK-NEXT: "tokLen": 52623// CHECK-NEXT: }2624// CHECK-NEXT: },2625// CHECK-NEXT: "type": {2626// CHECK-NEXT: "qualType": "const Base1 &"2627// CHECK-NEXT: }2628// CHECK-NEXT: }2629// CHECK-NEXT: ]2630// CHECK-NEXT: },2631// CHECK-NEXT: {2632// CHECK-NEXT: "id": "0x{{.*}}",2633// CHECK-NEXT: "kind": "CXXMethodDecl",2634// CHECK-NEXT: "loc": {2635// CHECK-NEXT: "offset": 585,2636// CHECK-NEXT: "col": 8,2637// CHECK-NEXT: "tokLen": 52638// CHECK-NEXT: },2639// CHECK-NEXT: "range": {2640// CHECK-NEXT: "begin": {2641// CHECK-NEXT: "offset": 585,2642// CHECK-NEXT: "col": 8,2643// CHECK-NEXT: "tokLen": 52644// CHECK-NEXT: },2645// CHECK-NEXT: "end": {2646// CHECK-NEXT: "offset": 585,2647// CHECK-NEXT: "col": 8,2648// CHECK-NEXT: "tokLen": 52649// CHECK-NEXT: }2650// CHECK-NEXT: },2651// CHECK-NEXT: "isImplicit": true,2652// CHECK-NEXT: "name": "operator=",2653// CHECK-NEXT: "mangledName": "_ZN5Base1aSEOS_",2654// CHECK-NEXT: "type": {2655// CHECK-NEXT: "qualType": "Base1 &(Base1 &&)"2656// CHECK-NEXT: },2657// CHECK-NEXT: "inline": true,2658// CHECK-NEXT: "constexpr": true,2659// CHECK-NEXT: "explicitlyDefaulted": "default",2660// CHECK-NEXT: "inner": [2661// CHECK-NEXT: {2662// CHECK-NEXT: "id": "0x{{.*}}",2663// CHECK-NEXT: "kind": "ParmVarDecl",2664// CHECK-NEXT: "loc": {2665// CHECK-NEXT: "offset": 585,2666// CHECK-NEXT: "col": 8,2667// CHECK-NEXT: "tokLen": 52668// CHECK-NEXT: },2669// CHECK-NEXT: "range": {2670// CHECK-NEXT: "begin": {2671// CHECK-NEXT: "offset": 585,2672// CHECK-NEXT: "col": 8,2673// CHECK-NEXT: "tokLen": 52674// CHECK-NEXT: },2675// CHECK-NEXT: "end": {2676// CHECK-NEXT: "offset": 585,2677// CHECK-NEXT: "col": 8,2678// CHECK-NEXT: "tokLen": 52679// CHECK-NEXT: }2680// CHECK-NEXT: },2681// CHECK-NEXT: "type": {2682// CHECK-NEXT: "qualType": "Base1 &&"2683// CHECK-NEXT: }2684// CHECK-NEXT: }2685// CHECK-NEXT: ]2686// CHECK-NEXT: },2687// CHECK-NEXT: {2688// CHECK-NEXT: "id": "0x{{.*}}",2689// CHECK-NEXT: "kind": "CXXDestructorDecl",2690// CHECK-NEXT: "loc": {2691// CHECK-NEXT: "offset": 585,2692// CHECK-NEXT: "col": 8,2693// CHECK-NEXT: "tokLen": 52694// CHECK-NEXT: },2695// CHECK-NEXT: "range": {2696// CHECK-NEXT: "begin": {2697// CHECK-NEXT: "offset": 585,2698// CHECK-NEXT: "col": 8,2699// CHECK-NEXT: "tokLen": 52700// CHECK-NEXT: },2701// CHECK-NEXT: "end": {2702// CHECK-NEXT: "offset": 585,2703// CHECK-NEXT: "col": 8,2704// CHECK-NEXT: "tokLen": 52705// CHECK-NEXT: }2706// CHECK-NEXT: },2707// CHECK-NEXT: "isImplicit": true,2708// CHECK-NEXT: "name": "~Base1",2709// CHECK-NEXT: "mangledName": "_ZN5Base1D1Ev",2710// CHECK-NEXT: "type": {2711// CHECK-NEXT: "qualType": "void ()"2712// CHECK-NEXT: },2713// CHECK-NEXT: "inline": true,2714// CHECK-NEXT: "explicitlyDefaulted": "default"2715// CHECK-NEXT: }2716// CHECK-NEXT: ]2717// CHECK-NEXT: }2718 2719 2720// CHECK-NOT: {{^}}Dumping2721// CHECK: "kind": "CXXRecordDecl",2722// CHECK-NEXT: "loc": {2723// CHECK-NEXT: "offset": 602,2724// CHECK-NEXT: "line": 65,2725// CHECK-NEXT: "col": 8,2726// CHECK-NEXT: "tokLen": 52727// CHECK-NEXT: },2728// CHECK-NEXT: "range": {2729// CHECK-NEXT: "begin": {2730// CHECK-NEXT: "offset": 595,2731// CHECK-NEXT: "col": 1,2732// CHECK-NEXT: "tokLen": 62733// CHECK-NEXT: },2734// CHECK-NEXT: "end": {2735// CHECK-NEXT: "offset": 609,2736// CHECK-NEXT: "col": 15,2737// CHECK-NEXT: "tokLen": 12738// CHECK-NEXT: }2739// CHECK-NEXT: },2740// CHECK-NEXT: "isReferenced": true,2741// CHECK-NEXT: "name": "Base2",2742// CHECK-NEXT: "tagUsed": "struct",2743// CHECK-NEXT: "completeDefinition": true,2744// CHECK-NEXT: "definitionData": {2745// CHECK-NEXT: "canConstDefaultInit": true,2746// CHECK-NEXT: "canPassInRegisters": true,2747// CHECK-NEXT: "copyAssign": {2748// CHECK-NEXT: "hasConstParam": true,2749// CHECK-NEXT: "implicitHasConstParam": true,2750// CHECK-NEXT: "simple": true,2751// CHECK-NEXT: "trivial": true2752// CHECK-NEXT: },2753// CHECK-NEXT: "copyCtor": {2754// CHECK-NEXT: "hasConstParam": true,2755// CHECK-NEXT: "implicitHasConstParam": true,2756// CHECK-NEXT: "needsImplicit": true,2757// CHECK-NEXT: "simple": true,2758// CHECK-NEXT: "trivial": true2759// CHECK-NEXT: },2760// CHECK-NEXT: "defaultCtor": {2761// CHECK-NEXT: "defaultedIsConstexpr": true,2762// CHECK-NEXT: "exists": true,2763// CHECK-NEXT: "isConstexpr": true,2764// CHECK-NEXT: "needsImplicit": true,2765// CHECK-NEXT: "trivial": true2766// CHECK-NEXT: },2767// CHECK-NEXT: "dtor": {2768// CHECK-NEXT: "irrelevant": true,2769// CHECK-NEXT: "simple": true,2770// CHECK-NEXT: "trivial": true2771// CHECK-NEXT: },2772// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true,2773// CHECK-NEXT: "isAggregate": true,2774// CHECK-NEXT: "isEmpty": true,2775// CHECK-NEXT: "isLiteral": true,2776// CHECK-NEXT: "isPOD": true,2777// CHECK-NEXT: "isStandardLayout": true,2778// CHECK-NEXT: "isTrivial": true,2779// CHECK-NEXT: "isTriviallyCopyable": true,2780// CHECK-NEXT: "moveAssign": {2781// CHECK-NEXT: "exists": true,2782// CHECK-NEXT: "simple": true,2783// CHECK-NEXT: "trivial": true2784// CHECK-NEXT: },2785// CHECK-NEXT: "moveCtor": {2786// CHECK-NEXT: "exists": true,2787// CHECK-NEXT: "needsImplicit": true,2788// CHECK-NEXT: "simple": true,2789// CHECK-NEXT: "trivial": true2790// CHECK-NEXT: }2791// CHECK-NEXT: },2792// CHECK-NEXT: "inner": [2793// CHECK-NEXT: {2794// CHECK-NEXT: "id": "0x{{.*}}",2795// CHECK-NEXT: "kind": "CXXRecordDecl",2796// CHECK-NEXT: "loc": {2797// CHECK-NEXT: "offset": 602,2798// CHECK-NEXT: "col": 8,2799// CHECK-NEXT: "tokLen": 52800// CHECK-NEXT: },2801// CHECK-NEXT: "range": {2802// CHECK-NEXT: "begin": {2803// CHECK-NEXT: "offset": 595,2804// CHECK-NEXT: "col": 1,2805// CHECK-NEXT: "tokLen": 62806// CHECK-NEXT: },2807// CHECK-NEXT: "end": {2808// CHECK-NEXT: "offset": 602,2809// CHECK-NEXT: "col": 8,2810// CHECK-NEXT: "tokLen": 52811// CHECK-NEXT: }2812// CHECK-NEXT: },2813// CHECK-NEXT: "isImplicit": true,2814// CHECK-NEXT: "name": "Base2",2815// CHECK-NEXT: "tagUsed": "struct"2816// CHECK-NEXT: },2817// CHECK-NEXT: {2818// CHECK-NEXT: "id": "0x{{.*}}",2819// CHECK-NEXT: "kind": "CXXMethodDecl",2820// CHECK-NEXT: "loc": {2821// CHECK-NEXT: "offset": 602,2822// CHECK-NEXT: "col": 8,2823// CHECK-NEXT: "tokLen": 52824// CHECK-NEXT: },2825// CHECK-NEXT: "range": {2826// CHECK-NEXT: "begin": {2827// CHECK-NEXT: "offset": 602,2828// CHECK-NEXT: "col": 8,2829// CHECK-NEXT: "tokLen": 52830// CHECK-NEXT: },2831// CHECK-NEXT: "end": {2832// CHECK-NEXT: "offset": 602,2833// CHECK-NEXT: "col": 8,2834// CHECK-NEXT: "tokLen": 52835// CHECK-NEXT: }2836// CHECK-NEXT: },2837// CHECK-NEXT: "isImplicit": true,2838// CHECK-NEXT: "name": "operator=",2839// CHECK-NEXT: "mangledName": "_ZN5Base2aSERKS_",2840// CHECK-NEXT: "type": {2841// CHECK-NEXT: "qualType": "Base2 &(const Base2 &)"2842// CHECK-NEXT: },2843// CHECK-NEXT: "inline": true,2844// CHECK-NEXT: "constexpr": true,2845// CHECK-NEXT: "explicitlyDefaulted": "default",2846// CHECK-NEXT: "inner": [2847// CHECK-NEXT: {2848// CHECK-NEXT: "id": "0x{{.*}}",2849// CHECK-NEXT: "kind": "ParmVarDecl",2850// CHECK-NEXT: "loc": {2851// CHECK-NEXT: "offset": 602,2852// CHECK-NEXT: "col": 8,2853// CHECK-NEXT: "tokLen": 52854// CHECK-NEXT: },2855// CHECK-NEXT: "range": {2856// CHECK-NEXT: "begin": {2857// CHECK-NEXT: "offset": 602,2858// CHECK-NEXT: "col": 8,2859// CHECK-NEXT: "tokLen": 52860// CHECK-NEXT: },2861// CHECK-NEXT: "end": {2862// CHECK-NEXT: "offset": 602,2863// CHECK-NEXT: "col": 8,2864// CHECK-NEXT: "tokLen": 52865// CHECK-NEXT: }2866// CHECK-NEXT: },2867// CHECK-NEXT: "type": {2868// CHECK-NEXT: "qualType": "const Base2 &"2869// CHECK-NEXT: }2870// CHECK-NEXT: }2871// CHECK-NEXT: ]2872// CHECK-NEXT: },2873// CHECK-NEXT: {2874// CHECK-NEXT: "id": "0x{{.*}}",2875// CHECK-NEXT: "kind": "CXXMethodDecl",2876// CHECK-NEXT: "loc": {2877// CHECK-NEXT: "offset": 602,2878// CHECK-NEXT: "col": 8,2879// CHECK-NEXT: "tokLen": 52880// CHECK-NEXT: },2881// CHECK-NEXT: "range": {2882// CHECK-NEXT: "begin": {2883// CHECK-NEXT: "offset": 602,2884// CHECK-NEXT: "col": 8,2885// CHECK-NEXT: "tokLen": 52886// CHECK-NEXT: },2887// CHECK-NEXT: "end": {2888// CHECK-NEXT: "offset": 602,2889// CHECK-NEXT: "col": 8,2890// CHECK-NEXT: "tokLen": 52891// CHECK-NEXT: }2892// CHECK-NEXT: },2893// CHECK-NEXT: "isImplicit": true,2894// CHECK-NEXT: "name": "operator=",2895// CHECK-NEXT: "mangledName": "_ZN5Base2aSEOS_",2896// CHECK-NEXT: "type": {2897// CHECK-NEXT: "qualType": "Base2 &(Base2 &&)"2898// CHECK-NEXT: },2899// CHECK-NEXT: "inline": true,2900// CHECK-NEXT: "constexpr": true,2901// CHECK-NEXT: "explicitlyDefaulted": "default",2902// CHECK-NEXT: "inner": [2903// CHECK-NEXT: {2904// CHECK-NEXT: "id": "0x{{.*}}",2905// CHECK-NEXT: "kind": "ParmVarDecl",2906// CHECK-NEXT: "loc": {2907// CHECK-NEXT: "offset": 602,2908// CHECK-NEXT: "col": 8,2909// CHECK-NEXT: "tokLen": 52910// CHECK-NEXT: },2911// CHECK-NEXT: "range": {2912// CHECK-NEXT: "begin": {2913// CHECK-NEXT: "offset": 602,2914// CHECK-NEXT: "col": 8,2915// CHECK-NEXT: "tokLen": 52916// CHECK-NEXT: },2917// CHECK-NEXT: "end": {2918// CHECK-NEXT: "offset": 602,2919// CHECK-NEXT: "col": 8,2920// CHECK-NEXT: "tokLen": 52921// CHECK-NEXT: }2922// CHECK-NEXT: },2923// CHECK-NEXT: "type": {2924// CHECK-NEXT: "qualType": "Base2 &&"2925// CHECK-NEXT: }2926// CHECK-NEXT: }2927// CHECK-NEXT: ]2928// CHECK-NEXT: },2929// CHECK-NEXT: {2930// CHECK-NEXT: "id": "0x{{.*}}",2931// CHECK-NEXT: "kind": "CXXDestructorDecl",2932// CHECK-NEXT: "loc": {2933// CHECK-NEXT: "offset": 602,2934// CHECK-NEXT: "col": 8,2935// CHECK-NEXT: "tokLen": 52936// CHECK-NEXT: },2937// CHECK-NEXT: "range": {2938// CHECK-NEXT: "begin": {2939// CHECK-NEXT: "offset": 602,2940// CHECK-NEXT: "col": 8,2941// CHECK-NEXT: "tokLen": 52942// CHECK-NEXT: },2943// CHECK-NEXT: "end": {2944// CHECK-NEXT: "offset": 602,2945// CHECK-NEXT: "col": 8,2946// CHECK-NEXT: "tokLen": 52947// CHECK-NEXT: }2948// CHECK-NEXT: },2949// CHECK-NEXT: "isImplicit": true,2950// CHECK-NEXT: "name": "~Base2",2951// CHECK-NEXT: "mangledName": "_ZN5Base2D1Ev",2952// CHECK-NEXT: "type": {2953// CHECK-NEXT: "qualType": "void ()"2954// CHECK-NEXT: },2955// CHECK-NEXT: "inline": true,2956// CHECK-NEXT: "explicitlyDefaulted": "default"2957// CHECK-NEXT: }2958// CHECK-NEXT: ]2959// CHECK-NEXT: }2960 2961 2962// CHECK-NOT: {{^}}Dumping2963// CHECK: "kind": "CXXRecordDecl",2964// CHECK-NEXT: "loc": {2965// CHECK-NEXT: "offset": 619,2966// CHECK-NEXT: "line": 66,2967// CHECK-NEXT: "col": 8,2968// CHECK-NEXT: "tokLen": 52969// CHECK-NEXT: },2970// CHECK-NEXT: "range": {2971// CHECK-NEXT: "begin": {2972// CHECK-NEXT: "offset": 612,2973// CHECK-NEXT: "col": 1,2974// CHECK-NEXT: "tokLen": 62975// CHECK-NEXT: },2976// CHECK-NEXT: "end": {2977// CHECK-NEXT: "offset": 626,2978// CHECK-NEXT: "col": 15,2979// CHECK-NEXT: "tokLen": 12980// CHECK-NEXT: }2981// CHECK-NEXT: },2982// CHECK-NEXT: "isReferenced": true,2983// CHECK-NEXT: "name": "Base3",2984// CHECK-NEXT: "tagUsed": "struct",2985// CHECK-NEXT: "completeDefinition": true,2986// CHECK-NEXT: "definitionData": {2987// CHECK-NEXT: "canConstDefaultInit": true,2988// CHECK-NEXT: "canPassInRegisters": true,2989// CHECK-NEXT: "copyAssign": {2990// CHECK-NEXT: "hasConstParam": true,2991// CHECK-NEXT: "implicitHasConstParam": true,2992// CHECK-NEXT: "simple": true,2993// CHECK-NEXT: "trivial": true2994// CHECK-NEXT: },2995// CHECK-NEXT: "copyCtor": {2996// CHECK-NEXT: "hasConstParam": true,2997// CHECK-NEXT: "implicitHasConstParam": true,2998// CHECK-NEXT: "needsImplicit": true,2999// CHECK-NEXT: "simple": true,3000// CHECK-NEXT: "trivial": true3001// CHECK-NEXT: },3002// CHECK-NEXT: "defaultCtor": {3003// CHECK-NEXT: "defaultedIsConstexpr": true,3004// CHECK-NEXT: "exists": true,3005// CHECK-NEXT: "isConstexpr": true,3006// CHECK-NEXT: "needsImplicit": true,3007// CHECK-NEXT: "trivial": true3008// CHECK-NEXT: },3009// CHECK-NEXT: "dtor": {3010// CHECK-NEXT: "irrelevant": true,3011// CHECK-NEXT: "simple": true,3012// CHECK-NEXT: "trivial": true3013// CHECK-NEXT: },3014// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true,3015// CHECK-NEXT: "isAggregate": true,3016// CHECK-NEXT: "isEmpty": true,3017// CHECK-NEXT: "isLiteral": true,3018// CHECK-NEXT: "isPOD": true,3019// CHECK-NEXT: "isStandardLayout": true,3020// CHECK-NEXT: "isTrivial": true,3021// CHECK-NEXT: "isTriviallyCopyable": true,3022// CHECK-NEXT: "moveAssign": {3023// CHECK-NEXT: "exists": true,3024// CHECK-NEXT: "simple": true,3025// CHECK-NEXT: "trivial": true3026// CHECK-NEXT: },3027// CHECK-NEXT: "moveCtor": {3028// CHECK-NEXT: "exists": true,3029// CHECK-NEXT: "needsImplicit": true,3030// CHECK-NEXT: "simple": true,3031// CHECK-NEXT: "trivial": true3032// CHECK-NEXT: }3033// CHECK-NEXT: },3034// CHECK-NEXT: "inner": [3035// CHECK-NEXT: {3036// CHECK-NEXT: "id": "0x{{.*}}",3037// CHECK-NEXT: "kind": "CXXRecordDecl",3038// CHECK-NEXT: "loc": {3039// CHECK-NEXT: "offset": 619,3040// CHECK-NEXT: "col": 8,3041// CHECK-NEXT: "tokLen": 53042// CHECK-NEXT: },3043// CHECK-NEXT: "range": {3044// CHECK-NEXT: "begin": {3045// CHECK-NEXT: "offset": 612,3046// CHECK-NEXT: "col": 1,3047// CHECK-NEXT: "tokLen": 63048// CHECK-NEXT: },3049// CHECK-NEXT: "end": {3050// CHECK-NEXT: "offset": 619,3051// CHECK-NEXT: "col": 8,3052// CHECK-NEXT: "tokLen": 53053// CHECK-NEXT: }3054// CHECK-NEXT: },3055// CHECK-NEXT: "isImplicit": true,3056// CHECK-NEXT: "name": "Base3",3057// CHECK-NEXT: "tagUsed": "struct"3058// CHECK-NEXT: },3059// CHECK-NEXT: {3060// CHECK-NEXT: "id": "0x{{.*}}",3061// CHECK-NEXT: "kind": "CXXMethodDecl",3062// CHECK-NEXT: "loc": {3063// CHECK-NEXT: "offset": 619,3064// CHECK-NEXT: "col": 8,3065// CHECK-NEXT: "tokLen": 53066// CHECK-NEXT: },3067// CHECK-NEXT: "range": {3068// CHECK-NEXT: "begin": {3069// CHECK-NEXT: "offset": 619,3070// CHECK-NEXT: "col": 8,3071// CHECK-NEXT: "tokLen": 53072// CHECK-NEXT: },3073// CHECK-NEXT: "end": {3074// CHECK-NEXT: "offset": 619,3075// CHECK-NEXT: "col": 8,3076// CHECK-NEXT: "tokLen": 53077// CHECK-NEXT: }3078// CHECK-NEXT: },3079// CHECK-NEXT: "isImplicit": true,3080// CHECK-NEXT: "name": "operator=",3081// CHECK-NEXT: "mangledName": "_ZN5Base3aSERKS_",3082// CHECK-NEXT: "type": {3083// CHECK-NEXT: "qualType": "Base3 &(const Base3 &)"3084// CHECK-NEXT: },3085// CHECK-NEXT: "inline": true,3086// CHECK-NEXT: "constexpr": true,3087// CHECK-NEXT: "explicitlyDefaulted": "default",3088// CHECK-NEXT: "inner": [3089// CHECK-NEXT: {3090// CHECK-NEXT: "id": "0x{{.*}}",3091// CHECK-NEXT: "kind": "ParmVarDecl",3092// CHECK-NEXT: "loc": {3093// CHECK-NEXT: "offset": 619,3094// CHECK-NEXT: "col": 8,3095// CHECK-NEXT: "tokLen": 53096// CHECK-NEXT: },3097// CHECK-NEXT: "range": {3098// CHECK-NEXT: "begin": {3099// CHECK-NEXT: "offset": 619,3100// CHECK-NEXT: "col": 8,3101// CHECK-NEXT: "tokLen": 53102// CHECK-NEXT: },3103// CHECK-NEXT: "end": {3104// CHECK-NEXT: "offset": 619,3105// CHECK-NEXT: "col": 8,3106// CHECK-NEXT: "tokLen": 53107// CHECK-NEXT: }3108// CHECK-NEXT: },3109// CHECK-NEXT: "type": {3110// CHECK-NEXT: "qualType": "const Base3 &"3111// CHECK-NEXT: }3112// CHECK-NEXT: }3113// CHECK-NEXT: ]3114// CHECK-NEXT: },3115// CHECK-NEXT: {3116// CHECK-NEXT: "id": "0x{{.*}}",3117// CHECK-NEXT: "kind": "CXXMethodDecl",3118// CHECK-NEXT: "loc": {3119// CHECK-NEXT: "offset": 619,3120// CHECK-NEXT: "col": 8,3121// CHECK-NEXT: "tokLen": 53122// CHECK-NEXT: },3123// CHECK-NEXT: "range": {3124// CHECK-NEXT: "begin": {3125// CHECK-NEXT: "offset": 619,3126// CHECK-NEXT: "col": 8,3127// CHECK-NEXT: "tokLen": 53128// CHECK-NEXT: },3129// CHECK-NEXT: "end": {3130// CHECK-NEXT: "offset": 619,3131// CHECK-NEXT: "col": 8,3132// CHECK-NEXT: "tokLen": 53133// CHECK-NEXT: }3134// CHECK-NEXT: },3135// CHECK-NEXT: "isImplicit": true,3136// CHECK-NEXT: "name": "operator=",3137// CHECK-NEXT: "mangledName": "_ZN5Base3aSEOS_",3138// CHECK-NEXT: "type": {3139// CHECK-NEXT: "qualType": "Base3 &(Base3 &&)"3140// CHECK-NEXT: },3141// CHECK-NEXT: "inline": true,3142// CHECK-NEXT: "constexpr": true,3143// CHECK-NEXT: "explicitlyDefaulted": "default",3144// CHECK-NEXT: "inner": [3145// CHECK-NEXT: {3146// CHECK-NEXT: "id": "0x{{.*}}",3147// CHECK-NEXT: "kind": "ParmVarDecl",3148// CHECK-NEXT: "loc": {3149// CHECK-NEXT: "offset": 619,3150// CHECK-NEXT: "col": 8,3151// CHECK-NEXT: "tokLen": 53152// CHECK-NEXT: },3153// CHECK-NEXT: "range": {3154// CHECK-NEXT: "begin": {3155// CHECK-NEXT: "offset": 619,3156// CHECK-NEXT: "col": 8,3157// CHECK-NEXT: "tokLen": 53158// CHECK-NEXT: },3159// CHECK-NEXT: "end": {3160// CHECK-NEXT: "offset": 619,3161// CHECK-NEXT: "col": 8,3162// CHECK-NEXT: "tokLen": 53163// CHECK-NEXT: }3164// CHECK-NEXT: },3165// CHECK-NEXT: "type": {3166// CHECK-NEXT: "qualType": "Base3 &&"3167// CHECK-NEXT: }3168// CHECK-NEXT: }3169// CHECK-NEXT: ]3170// CHECK-NEXT: },3171// CHECK-NEXT: {3172// CHECK-NEXT: "id": "0x{{.*}}",3173// CHECK-NEXT: "kind": "CXXDestructorDecl",3174// CHECK-NEXT: "loc": {3175// CHECK-NEXT: "offset": 619,3176// CHECK-NEXT: "col": 8,3177// CHECK-NEXT: "tokLen": 53178// CHECK-NEXT: },3179// CHECK-NEXT: "range": {3180// CHECK-NEXT: "begin": {3181// CHECK-NEXT: "offset": 619,3182// CHECK-NEXT: "col": 8,3183// CHECK-NEXT: "tokLen": 53184// CHECK-NEXT: },3185// CHECK-NEXT: "end": {3186// CHECK-NEXT: "offset": 619,3187// CHECK-NEXT: "col": 8,3188// CHECK-NEXT: "tokLen": 53189// CHECK-NEXT: }3190// CHECK-NEXT: },3191// CHECK-NEXT: "isImplicit": true,3192// CHECK-NEXT: "name": "~Base3",3193// CHECK-NEXT: "mangledName": "_ZN5Base3D1Ev",3194// CHECK-NEXT: "type": {3195// CHECK-NEXT: "qualType": "void ()"3196// CHECK-NEXT: },3197// CHECK-NEXT: "inline": true,3198// CHECK-NEXT: "explicitlyDefaulted": "default"3199// CHECK-NEXT: }3200// CHECK-NEXT: ]3201// CHECK-NEXT: }3202 3203 3204// CHECK-NOT: {{^}}Dumping3205// CHECK: "kind": "CXXRecordDecl",3206// CHECK-NEXT: "loc": {3207// CHECK-NEXT: "offset": 637,3208// CHECK-NEXT: "line": 68,3209// CHECK-NEXT: "col": 8,3210// CHECK-NEXT: "tokLen": 83211// CHECK-NEXT: },3212// CHECK-NEXT: "range": {3213// CHECK-NEXT: "begin": {3214// CHECK-NEXT: "offset": 630,3215// CHECK-NEXT: "col": 1,3216// CHECK-NEXT: "tokLen": 63217// CHECK-NEXT: },3218// CHECK-NEXT: "end": {3219// CHECK-NEXT: "offset": 656,3220// CHECK-NEXT: "line": 69,3221// CHECK-NEXT: "col": 1,3222// CHECK-NEXT: "tokLen": 13223// CHECK-NEXT: }3224// CHECK-NEXT: },3225// CHECK-NEXT: "name": "Derived1",3226// CHECK-NEXT: "tagUsed": "struct",3227// CHECK-NEXT: "completeDefinition": true,3228// CHECK-NEXT: "definitionData": {3229// CHECK-NEXT: "canConstDefaultInit": true,3230// CHECK-NEXT: "canPassInRegisters": true,3231// CHECK-NEXT: "copyAssign": {3232// CHECK-NEXT: "hasConstParam": true,3233// CHECK-NEXT: "implicitHasConstParam": true,3234// CHECK-NEXT: "needsImplicit": true,3235// CHECK-NEXT: "simple": true,3236// CHECK-NEXT: "trivial": true3237// CHECK-NEXT: },3238// CHECK-NEXT: "copyCtor": {3239// CHECK-NEXT: "hasConstParam": true,3240// CHECK-NEXT: "implicitHasConstParam": true,3241// CHECK-NEXT: "needsImplicit": true,3242// CHECK-NEXT: "simple": true,3243// CHECK-NEXT: "trivial": true3244// CHECK-NEXT: },3245// CHECK-NEXT: "defaultCtor": {3246// CHECK-NEXT: "defaultedIsConstexpr": true,3247// CHECK-NEXT: "exists": true,3248// CHECK-NEXT: "isConstexpr": true,3249// CHECK-NEXT: "needsImplicit": true,3250// CHECK-NEXT: "trivial": true3251// CHECK-NEXT: },3252// CHECK-NEXT: "dtor": {3253// CHECK-NEXT: "irrelevant": true,3254// CHECK-NEXT: "needsImplicit": true,3255// CHECK-NEXT: "simple": true,3256// CHECK-NEXT: "trivial": true3257// CHECK-NEXT: },3258// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true,3259// CHECK-NEXT: "isAggregate": true,3260// CHECK-NEXT: "isEmpty": true,3261// CHECK-NEXT: "isLiteral": true,3262// CHECK-NEXT: "isStandardLayout": true,3263// CHECK-NEXT: "isTrivial": true,3264// CHECK-NEXT: "isTriviallyCopyable": true,3265// CHECK-NEXT: "moveAssign": {3266// CHECK-NEXT: "exists": true,3267// CHECK-NEXT: "needsImplicit": true,3268// CHECK-NEXT: "simple": true,3269// CHECK-NEXT: "trivial": true3270// CHECK-NEXT: },3271// CHECK-NEXT: "moveCtor": {3272// CHECK-NEXT: "exists": true,3273// CHECK-NEXT: "needsImplicit": true,3274// CHECK-NEXT: "simple": true,3275// CHECK-NEXT: "trivial": true3276// CHECK-NEXT: }3277// CHECK-NEXT: },3278// CHECK-NEXT: "bases": [3279// CHECK-NEXT: {3280// CHECK-NEXT: "access": "public",3281// CHECK-NEXT: "type": {3282// CHECK-NEXT: "qualType": "Base1"3283// CHECK-NEXT: },3284// CHECK-NEXT: "writtenAccess": "none"3285// CHECK-NEXT: }3286// CHECK-NEXT: ],3287// CHECK-NEXT: "inner": [3288// CHECK-NEXT: {3289// CHECK-NEXT: "id": "0x{{.*}}",3290// CHECK-NEXT: "kind": "CXXRecordDecl",3291// CHECK-NEXT: "loc": {3292// CHECK-NEXT: "offset": 637,3293// CHECK-NEXT: "line": 68,3294// CHECK-NEXT: "col": 8,3295// CHECK-NEXT: "tokLen": 83296// CHECK-NEXT: },3297// CHECK-NEXT: "range": {3298// CHECK-NEXT: "begin": {3299// CHECK-NEXT: "offset": 630,3300// CHECK-NEXT: "col": 1,3301// CHECK-NEXT: "tokLen": 63302// CHECK-NEXT: },3303// CHECK-NEXT: "end": {3304// CHECK-NEXT: "offset": 637,3305// CHECK-NEXT: "col": 8,3306// CHECK-NEXT: "tokLen": 83307// CHECK-NEXT: }3308// CHECK-NEXT: },3309// CHECK-NEXT: "isImplicit": true,3310// CHECK-NEXT: "name": "Derived1",3311// CHECK-NEXT: "tagUsed": "struct"3312// CHECK-NEXT: }3313// CHECK-NEXT: ]3314// CHECK-NEXT: }3315 3316 3317// CHECK-NOT: {{^}}Dumping3318// CHECK: "kind": "CXXRecordDecl",3319// CHECK-NEXT: "loc": {3320// CHECK-NEXT: "offset": 667,3321// CHECK-NEXT: "line": 71,3322// CHECK-NEXT: "col": 8,3323// CHECK-NEXT: "tokLen": 83324// CHECK-NEXT: },3325// CHECK-NEXT: "range": {3326// CHECK-NEXT: "begin": {3327// CHECK-NEXT: "offset": 660,3328// CHECK-NEXT: "col": 1,3329// CHECK-NEXT: "tokLen": 63330// CHECK-NEXT: },3331// CHECK-NEXT: "end": {3332// CHECK-NEXT: "offset": 694,3333// CHECK-NEXT: "line": 72,3334// CHECK-NEXT: "col": 1,3335// CHECK-NEXT: "tokLen": 13336// CHECK-NEXT: }3337// CHECK-NEXT: },3338// CHECK-NEXT: "name": "Derived2",3339// CHECK-NEXT: "tagUsed": "struct",3340// CHECK-NEXT: "completeDefinition": true,3341// CHECK-NEXT: "definitionData": {3342// CHECK-NEXT: "canConstDefaultInit": true,3343// CHECK-NEXT: "canPassInRegisters": true,3344// CHECK-NEXT: "copyAssign": {3345// CHECK-NEXT: "hasConstParam": true,3346// CHECK-NEXT: "implicitHasConstParam": true,3347// CHECK-NEXT: "needsImplicit": true,3348// CHECK-NEXT: "simple": true,3349// CHECK-NEXT: "trivial": true3350// CHECK-NEXT: },3351// CHECK-NEXT: "copyCtor": {3352// CHECK-NEXT: "hasConstParam": true,3353// CHECK-NEXT: "implicitHasConstParam": true,3354// CHECK-NEXT: "needsImplicit": true,3355// CHECK-NEXT: "simple": true,3356// CHECK-NEXT: "trivial": true3357// CHECK-NEXT: },3358// CHECK-NEXT: "defaultCtor": {3359// CHECK-NEXT: "defaultedIsConstexpr": true,3360// CHECK-NEXT: "exists": true,3361// CHECK-NEXT: "isConstexpr": true,3362// CHECK-NEXT: "needsImplicit": true,3363// CHECK-NEXT: "trivial": true3364// CHECK-NEXT: },3365// CHECK-NEXT: "dtor": {3366// CHECK-NEXT: "irrelevant": true,3367// CHECK-NEXT: "needsImplicit": true,3368// CHECK-NEXT: "simple": true,3369// CHECK-NEXT: "trivial": true3370// CHECK-NEXT: },3371// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true,3372// CHECK-NEXT: "isEmpty": true,3373// CHECK-NEXT: "isLiteral": true,3374// CHECK-NEXT: "isStandardLayout": true,3375// CHECK-NEXT: "isTrivial": true,3376// CHECK-NEXT: "isTriviallyCopyable": true,3377// CHECK-NEXT: "moveAssign": {3378// CHECK-NEXT: "exists": true,3379// CHECK-NEXT: "needsImplicit": true,3380// CHECK-NEXT: "simple": true,3381// CHECK-NEXT: "trivial": true3382// CHECK-NEXT: },3383// CHECK-NEXT: "moveCtor": {3384// CHECK-NEXT: "exists": true,3385// CHECK-NEXT: "needsImplicit": true,3386// CHECK-NEXT: "simple": true,3387// CHECK-NEXT: "trivial": true3388// CHECK-NEXT: }3389// CHECK-NEXT: },3390// CHECK-NEXT: "bases": [3391// CHECK-NEXT: {3392// CHECK-NEXT: "access": "private",3393// CHECK-NEXT: "type": {3394// CHECK-NEXT: "qualType": "Base1"3395// CHECK-NEXT: },3396// CHECK-NEXT: "writtenAccess": "private"3397// CHECK-NEXT: }3398// CHECK-NEXT: ],3399// CHECK-NEXT: "inner": [3400// CHECK-NEXT: {3401// CHECK-NEXT: "id": "0x{{.*}}",3402// CHECK-NEXT: "kind": "CXXRecordDecl",3403// CHECK-NEXT: "loc": {3404// CHECK-NEXT: "offset": 667,3405// CHECK-NEXT: "line": 71,3406// CHECK-NEXT: "col": 8,3407// CHECK-NEXT: "tokLen": 83408// CHECK-NEXT: },3409// CHECK-NEXT: "range": {3410// CHECK-NEXT: "begin": {3411// CHECK-NEXT: "offset": 660,3412// CHECK-NEXT: "col": 1,3413// CHECK-NEXT: "tokLen": 63414// CHECK-NEXT: },3415// CHECK-NEXT: "end": {3416// CHECK-NEXT: "offset": 667,3417// CHECK-NEXT: "col": 8,3418// CHECK-NEXT: "tokLen": 83419// CHECK-NEXT: }3420// CHECK-NEXT: },3421// CHECK-NEXT: "isImplicit": true,3422// CHECK-NEXT: "name": "Derived2",3423// CHECK-NEXT: "tagUsed": "struct"3424// CHECK-NEXT: }3425// CHECK-NEXT: ]3426// CHECK-NEXT: }3427 3428 3429// CHECK-NOT: {{^}}Dumping3430// CHECK: "kind": "CXXRecordDecl",3431// CHECK-NEXT: "loc": {3432// CHECK-NEXT: "offset": 705,3433// CHECK-NEXT: "line": 74,3434// CHECK-NEXT: "col": 8,3435// CHECK-NEXT: "tokLen": 83436// CHECK-NEXT: },3437// CHECK-NEXT: "range": {3438// CHECK-NEXT: "begin": {3439// CHECK-NEXT: "offset": 698,3440// CHECK-NEXT: "col": 1,3441// CHECK-NEXT: "tokLen": 63442// CHECK-NEXT: },3443// CHECK-NEXT: "end": {3444// CHECK-NEXT: "offset": 732,3445// CHECK-NEXT: "line": 75,3446// CHECK-NEXT: "col": 1,3447// CHECK-NEXT: "tokLen": 13448// CHECK-NEXT: }3449// CHECK-NEXT: },3450// CHECK-NEXT: "name": "Derived3",3451// CHECK-NEXT: "tagUsed": "struct",3452// CHECK-NEXT: "completeDefinition": true,3453// CHECK-NEXT: "definitionData": {3454// CHECK-NEXT: "canConstDefaultInit": true,3455// CHECK-NEXT: "copyAssign": {3456// CHECK-NEXT: "hasConstParam": true,3457// CHECK-NEXT: "implicitHasConstParam": true,3458// CHECK-NEXT: "nonTrivial": true,3459// CHECK-NEXT: "simple": true3460// CHECK-NEXT: },3461// CHECK-NEXT: "copyCtor": {3462// CHECK-NEXT: "hasConstParam": true,3463// CHECK-NEXT: "implicitHasConstParam": true,3464// CHECK-NEXT: "needsImplicit": true,3465// CHECK-NEXT: "nonTrivial": true,3466// CHECK-NEXT: "simple": true3467// CHECK-NEXT: },3468// CHECK-NEXT: "defaultCtor": {3469// CHECK-NEXT: "exists": true,3470// CHECK-NEXT: "needsImplicit": true,3471// CHECK-NEXT: "nonTrivial": true3472// CHECK-NEXT: },3473// CHECK-NEXT: "dtor": {3474// CHECK-NEXT: "irrelevant": true,3475// CHECK-NEXT: "simple": true,3476// CHECK-NEXT: "trivial": true3477// CHECK-NEXT: },3478// CHECK-NEXT: "moveAssign": {3479// CHECK-NEXT: "exists": true,3480// CHECK-NEXT: "nonTrivial": true,3481// CHECK-NEXT: "simple": true3482// CHECK-NEXT: },3483// CHECK-NEXT: "moveCtor": {3484// CHECK-NEXT: "exists": true,3485// CHECK-NEXT: "needsImplicit": true,3486// CHECK-NEXT: "nonTrivial": true,3487// CHECK-NEXT: "simple": true3488// CHECK-NEXT: }3489// CHECK-NEXT: },3490// CHECK-NEXT: "bases": [3491// CHECK-NEXT: {3492// CHECK-NEXT: "access": "public",3493// CHECK-NEXT: "isVirtual": true,3494// CHECK-NEXT: "type": {3495// CHECK-NEXT: "qualType": "Base1"3496// CHECK-NEXT: },3497// CHECK-NEXT: "writtenAccess": "none"3498// CHECK-NEXT: }3499// CHECK-NEXT: ],3500// CHECK-NEXT: "inner": [3501// CHECK-NEXT: {3502// CHECK-NEXT: "id": "0x{{.*}}",3503// CHECK-NEXT: "kind": "CXXRecordDecl",3504// CHECK-NEXT: "loc": {3505// CHECK-NEXT: "offset": 705,3506// CHECK-NEXT: "line": 74,3507// CHECK-NEXT: "col": 8,3508// CHECK-NEXT: "tokLen": 83509// CHECK-NEXT: },3510// CHECK-NEXT: "range": {3511// CHECK-NEXT: "begin": {3512// CHECK-NEXT: "offset": 698,3513// CHECK-NEXT: "col": 1,3514// CHECK-NEXT: "tokLen": 63515// CHECK-NEXT: },3516// CHECK-NEXT: "end": {3517// CHECK-NEXT: "offset": 705,3518// CHECK-NEXT: "col": 8,3519// CHECK-NEXT: "tokLen": 83520// CHECK-NEXT: }3521// CHECK-NEXT: },3522// CHECK-NEXT: "isImplicit": true,3523// CHECK-NEXT: "name": "Derived3",3524// CHECK-NEXT: "tagUsed": "struct"3525// CHECK-NEXT: },3526// CHECK-NEXT: {3527// CHECK-NEXT: "id": "0x{{.*}}",3528// CHECK-NEXT: "kind": "CXXMethodDecl",3529// CHECK-NEXT: "loc": {3530// CHECK-NEXT: "offset": 705,3531// CHECK-NEXT: "col": 8,3532// CHECK-NEXT: "tokLen": 83533// CHECK-NEXT: },3534// CHECK-NEXT: "range": {3535// CHECK-NEXT: "begin": {3536// CHECK-NEXT: "offset": 705,3537// CHECK-NEXT: "col": 8,3538// CHECK-NEXT: "tokLen": 83539// CHECK-NEXT: },3540// CHECK-NEXT: "end": {3541// CHECK-NEXT: "offset": 705,3542// CHECK-NEXT: "col": 8,3543// CHECK-NEXT: "tokLen": 83544// CHECK-NEXT: }3545// CHECK-NEXT: },3546// CHECK-NEXT: "isImplicit": true,3547// CHECK-NEXT: "name": "operator=",3548// CHECK-NEXT: "mangledName": "_ZN8Derived3aSERKS_",3549// CHECK-NEXT: "type": {3550// CHECK-NEXT: "qualType": "Derived3 &(const Derived3 &)"3551// CHECK-NEXT: },3552// CHECK-NEXT: "inline": true,3553// CHECK-NEXT: "explicitlyDefaulted": "default",3554// CHECK-NEXT: "inner": [3555// CHECK-NEXT: {3556// CHECK-NEXT: "id": "0x{{.*}}",3557// CHECK-NEXT: "kind": "ParmVarDecl",3558// CHECK-NEXT: "loc": {3559// CHECK-NEXT: "offset": 705,3560// CHECK-NEXT: "col": 8,3561// CHECK-NEXT: "tokLen": 83562// CHECK-NEXT: },3563// CHECK-NEXT: "range": {3564// CHECK-NEXT: "begin": {3565// CHECK-NEXT: "offset": 705,3566// CHECK-NEXT: "col": 8,3567// CHECK-NEXT: "tokLen": 83568// CHECK-NEXT: },3569// CHECK-NEXT: "end": {3570// CHECK-NEXT: "offset": 705,3571// CHECK-NEXT: "col": 8,3572// CHECK-NEXT: "tokLen": 83573// CHECK-NEXT: }3574// CHECK-NEXT: },3575// CHECK-NEXT: "type": {3576// CHECK-NEXT: "qualType": "const Derived3 &"3577// CHECK-NEXT: }3578// CHECK-NEXT: }3579// CHECK-NEXT: ]3580// CHECK-NEXT: },3581// CHECK-NEXT: {3582// CHECK-NEXT: "id": "0x{{.*}}",3583// CHECK-NEXT: "kind": "CXXMethodDecl",3584// CHECK-NEXT: "loc": {3585// CHECK-NEXT: "offset": 705,3586// CHECK-NEXT: "col": 8,3587// CHECK-NEXT: "tokLen": 83588// CHECK-NEXT: },3589// CHECK-NEXT: "range": {3590// CHECK-NEXT: "begin": {3591// CHECK-NEXT: "offset": 705,3592// CHECK-NEXT: "col": 8,3593// CHECK-NEXT: "tokLen": 83594// CHECK-NEXT: },3595// CHECK-NEXT: "end": {3596// CHECK-NEXT: "offset": 705,3597// CHECK-NEXT: "col": 8,3598// CHECK-NEXT: "tokLen": 83599// CHECK-NEXT: }3600// CHECK-NEXT: },3601// CHECK-NEXT: "isImplicit": true,3602// CHECK-NEXT: "name": "operator=",3603// CHECK-NEXT: "mangledName": "_ZN8Derived3aSEOS_",3604// CHECK-NEXT: "type": {3605// CHECK-NEXT: "qualType": "Derived3 &(Derived3 &&)"3606// CHECK-NEXT: },3607// CHECK-NEXT: "inline": true,3608// CHECK-NEXT: "explicitlyDefaulted": "default",3609// CHECK-NEXT: "inner": [3610// CHECK-NEXT: {3611// CHECK-NEXT: "id": "0x{{.*}}",3612// CHECK-NEXT: "kind": "ParmVarDecl",3613// CHECK-NEXT: "loc": {3614// CHECK-NEXT: "offset": 705,3615// CHECK-NEXT: "col": 8,3616// CHECK-NEXT: "tokLen": 83617// CHECK-NEXT: },3618// CHECK-NEXT: "range": {3619// CHECK-NEXT: "begin": {3620// CHECK-NEXT: "offset": 705,3621// CHECK-NEXT: "col": 8,3622// CHECK-NEXT: "tokLen": 83623// CHECK-NEXT: },3624// CHECK-NEXT: "end": {3625// CHECK-NEXT: "offset": 705,3626// CHECK-NEXT: "col": 8,3627// CHECK-NEXT: "tokLen": 83628// CHECK-NEXT: }3629// CHECK-NEXT: },3630// CHECK-NEXT: "type": {3631// CHECK-NEXT: "qualType": "Derived3 &&"3632// CHECK-NEXT: }3633// CHECK-NEXT: }3634// CHECK-NEXT: ]3635// CHECK-NEXT: },3636// CHECK-NEXT: {3637// CHECK-NEXT: "id": "0x{{.*}}",3638// CHECK-NEXT: "kind": "CXXDestructorDecl",3639// CHECK-NEXT: "loc": {3640// CHECK-NEXT: "offset": 705,3641// CHECK-NEXT: "col": 8,3642// CHECK-NEXT: "tokLen": 83643// CHECK-NEXT: },3644// CHECK-NEXT: "range": {3645// CHECK-NEXT: "begin": {3646// CHECK-NEXT: "offset": 705,3647// CHECK-NEXT: "col": 8,3648// CHECK-NEXT: "tokLen": 83649// CHECK-NEXT: },3650// CHECK-NEXT: "end": {3651// CHECK-NEXT: "offset": 705,3652// CHECK-NEXT: "col": 8,3653// CHECK-NEXT: "tokLen": 83654// CHECK-NEXT: }3655// CHECK-NEXT: },3656// CHECK-NEXT: "isImplicit": true,3657// CHECK-NEXT: "name": "~Derived3",3658// CHECK-NEXT: "mangledName": "_ZN8Derived3D1Ev",3659// CHECK-NEXT: "type": {3660// CHECK-NEXT: "qualType": "void ()"3661// CHECK-NEXT: },3662// CHECK-NEXT: "inline": true,3663// CHECK-NEXT: "explicitlyDefaulted": "default"3664// CHECK-NEXT: }3665// CHECK-NEXT: ]3666// CHECK-NEXT: }3667 3668 3669// CHECK-NOT: {{^}}Dumping3670// CHECK: "kind": "CXXRecordDecl",3671// CHECK-NEXT: "loc": {3672// CHECK-NEXT: "offset": 743,3673// CHECK-NEXT: "line": 77,3674// CHECK-NEXT: "col": 8,3675// CHECK-NEXT: "tokLen": 83676// CHECK-NEXT: },3677// CHECK-NEXT: "range": {3678// CHECK-NEXT: "begin": {3679// CHECK-NEXT: "offset": 736,3680// CHECK-NEXT: "col": 1,3681// CHECK-NEXT: "tokLen": 63682// CHECK-NEXT: },3683// CHECK-NEXT: "end": {3684// CHECK-NEXT: "offset": 794,3685// CHECK-NEXT: "line": 78,3686// CHECK-NEXT: "col": 1,3687// CHECK-NEXT: "tokLen": 13688// CHECK-NEXT: }3689// CHECK-NEXT: },3690// CHECK-NEXT: "name": "Derived4",3691// CHECK-NEXT: "tagUsed": "struct",3692// CHECK-NEXT: "completeDefinition": true,3693// CHECK-NEXT: "definitionData": {3694// CHECK-NEXT: "canConstDefaultInit": true,3695// CHECK-NEXT: "copyAssign": {3696// CHECK-NEXT: "hasConstParam": true,3697// CHECK-NEXT: "implicitHasConstParam": true,3698// CHECK-NEXT: "nonTrivial": true,3699// CHECK-NEXT: "simple": true3700// CHECK-NEXT: },3701// CHECK-NEXT: "copyCtor": {3702// CHECK-NEXT: "hasConstParam": true,3703// CHECK-NEXT: "implicitHasConstParam": true,3704// CHECK-NEXT: "needsImplicit": true,3705// CHECK-NEXT: "nonTrivial": true,3706// CHECK-NEXT: "simple": true3707// CHECK-NEXT: },3708// CHECK-NEXT: "defaultCtor": {3709// CHECK-NEXT: "exists": true,3710// CHECK-NEXT: "needsImplicit": true,3711// CHECK-NEXT: "nonTrivial": true3712// CHECK-NEXT: },3713// CHECK-NEXT: "dtor": {3714// CHECK-NEXT: "irrelevant": true,3715// CHECK-NEXT: "simple": true,3716// CHECK-NEXT: "trivial": true3717// CHECK-NEXT: },3718// CHECK-NEXT: "moveAssign": {3719// CHECK-NEXT: "exists": true,3720// CHECK-NEXT: "nonTrivial": true,3721// CHECK-NEXT: "simple": true3722// CHECK-NEXT: },3723// CHECK-NEXT: "moveCtor": {3724// CHECK-NEXT: "exists": true,3725// CHECK-NEXT: "needsImplicit": true,3726// CHECK-NEXT: "nonTrivial": true,3727// CHECK-NEXT: "simple": true3728// CHECK-NEXT: }3729// CHECK-NEXT: },3730// CHECK-NEXT: "bases": [3731// CHECK-NEXT: {3732// CHECK-NEXT: "access": "public",3733// CHECK-NEXT: "type": {3734// CHECK-NEXT: "qualType": "Base1"3735// CHECK-NEXT: },3736// CHECK-NEXT: "writtenAccess": "none"3737// CHECK-NEXT: },3738// CHECK-NEXT: {3739// CHECK-NEXT: "access": "public",3740// CHECK-NEXT: "isVirtual": true,3741// CHECK-NEXT: "type": {3742// CHECK-NEXT: "qualType": "Base2"3743// CHECK-NEXT: },3744// CHECK-NEXT: "writtenAccess": "none"3745// CHECK-NEXT: },3746// CHECK-NEXT: {3747// CHECK-NEXT: "access": "protected",3748// CHECK-NEXT: "type": {3749// CHECK-NEXT: "qualType": "Base3"3750// CHECK-NEXT: },3751// CHECK-NEXT: "writtenAccess": "protected"3752// CHECK-NEXT: }3753// CHECK-NEXT: ],3754// CHECK-NEXT: "inner": [3755// CHECK-NEXT: {3756// CHECK-NEXT: "id": "0x{{.*}}",3757// CHECK-NEXT: "kind": "CXXRecordDecl",3758// CHECK-NEXT: "loc": {3759// CHECK-NEXT: "offset": 743,3760// CHECK-NEXT: "line": 77,3761// CHECK-NEXT: "col": 8,3762// CHECK-NEXT: "tokLen": 83763// CHECK-NEXT: },3764// CHECK-NEXT: "range": {3765// CHECK-NEXT: "begin": {3766// CHECK-NEXT: "offset": 736,3767// CHECK-NEXT: "col": 1,3768// CHECK-NEXT: "tokLen": 63769// CHECK-NEXT: },3770// CHECK-NEXT: "end": {3771// CHECK-NEXT: "offset": 743,3772// CHECK-NEXT: "col": 8,3773// CHECK-NEXT: "tokLen": 83774// CHECK-NEXT: }3775// CHECK-NEXT: },3776// CHECK-NEXT: "isImplicit": true,3777// CHECK-NEXT: "name": "Derived4",3778// CHECK-NEXT: "tagUsed": "struct"3779// CHECK-NEXT: },3780// CHECK-NEXT: {3781// CHECK-NEXT: "id": "0x{{.*}}",3782// CHECK-NEXT: "kind": "CXXMethodDecl",3783// CHECK-NEXT: "loc": {3784// CHECK-NEXT: "offset": 743,3785// CHECK-NEXT: "col": 8,3786// CHECK-NEXT: "tokLen": 83787// CHECK-NEXT: },3788// CHECK-NEXT: "range": {3789// CHECK-NEXT: "begin": {3790// CHECK-NEXT: "offset": 743,3791// CHECK-NEXT: "col": 8,3792// CHECK-NEXT: "tokLen": 83793// CHECK-NEXT: },3794// CHECK-NEXT: "end": {3795// CHECK-NEXT: "offset": 743,3796// CHECK-NEXT: "col": 8,3797// CHECK-NEXT: "tokLen": 83798// CHECK-NEXT: }3799// CHECK-NEXT: },3800// CHECK-NEXT: "isImplicit": true,3801// CHECK-NEXT: "name": "operator=",3802// CHECK-NEXT: "mangledName": "_ZN8Derived4aSERKS_",3803// CHECK-NEXT: "type": {3804// CHECK-NEXT: "qualType": "Derived4 &(const Derived4 &)"3805// CHECK-NEXT: },3806// CHECK-NEXT: "inline": true,3807// CHECK-NEXT: "explicitlyDefaulted": "default",3808// CHECK-NEXT: "inner": [3809// CHECK-NEXT: {3810// CHECK-NEXT: "id": "0x{{.*}}",3811// CHECK-NEXT: "kind": "ParmVarDecl",3812// CHECK-NEXT: "loc": {3813// CHECK-NEXT: "offset": 743,3814// CHECK-NEXT: "col": 8,3815// CHECK-NEXT: "tokLen": 83816// CHECK-NEXT: },3817// CHECK-NEXT: "range": {3818// CHECK-NEXT: "begin": {3819// CHECK-NEXT: "offset": 743,3820// CHECK-NEXT: "col": 8,3821// CHECK-NEXT: "tokLen": 83822// CHECK-NEXT: },3823// CHECK-NEXT: "end": {3824// CHECK-NEXT: "offset": 743,3825// CHECK-NEXT: "col": 8,3826// CHECK-NEXT: "tokLen": 83827// CHECK-NEXT: }3828// CHECK-NEXT: },3829// CHECK-NEXT: "type": {3830// CHECK-NEXT: "qualType": "const Derived4 &"3831// CHECK-NEXT: }3832// CHECK-NEXT: }3833// CHECK-NEXT: ]3834// CHECK-NEXT: },3835// CHECK-NEXT: {3836// CHECK-NEXT: "id": "0x{{.*}}",3837// CHECK-NEXT: "kind": "CXXMethodDecl",3838// CHECK-NEXT: "loc": {3839// CHECK-NEXT: "offset": 743,3840// CHECK-NEXT: "col": 8,3841// CHECK-NEXT: "tokLen": 83842// CHECK-NEXT: },3843// CHECK-NEXT: "range": {3844// CHECK-NEXT: "begin": {3845// CHECK-NEXT: "offset": 743,3846// CHECK-NEXT: "col": 8,3847// CHECK-NEXT: "tokLen": 83848// CHECK-NEXT: },3849// CHECK-NEXT: "end": {3850// CHECK-NEXT: "offset": 743,3851// CHECK-NEXT: "col": 8,3852// CHECK-NEXT: "tokLen": 83853// CHECK-NEXT: }3854// CHECK-NEXT: },3855// CHECK-NEXT: "isImplicit": true,3856// CHECK-NEXT: "name": "operator=",3857// CHECK-NEXT: "mangledName": "_ZN8Derived4aSEOS_",3858// CHECK-NEXT: "type": {3859// CHECK-NEXT: "qualType": "Derived4 &(Derived4 &&)"3860// CHECK-NEXT: },3861// CHECK-NEXT: "inline": true,3862// CHECK-NEXT: "explicitlyDefaulted": "default",3863// CHECK-NEXT: "inner": [3864// CHECK-NEXT: {3865// CHECK-NEXT: "id": "0x{{.*}}",3866// CHECK-NEXT: "kind": "ParmVarDecl",3867// CHECK-NEXT: "loc": {3868// CHECK-NEXT: "offset": 743,3869// CHECK-NEXT: "col": 8,3870// CHECK-NEXT: "tokLen": 83871// CHECK-NEXT: },3872// CHECK-NEXT: "range": {3873// CHECK-NEXT: "begin": {3874// CHECK-NEXT: "offset": 743,3875// CHECK-NEXT: "col": 8,3876// CHECK-NEXT: "tokLen": 83877// CHECK-NEXT: },3878// CHECK-NEXT: "end": {3879// CHECK-NEXT: "offset": 743,3880// CHECK-NEXT: "col": 8,3881// CHECK-NEXT: "tokLen": 83882// CHECK-NEXT: }3883// CHECK-NEXT: },3884// CHECK-NEXT: "type": {3885// CHECK-NEXT: "qualType": "Derived4 &&"3886// CHECK-NEXT: }3887// CHECK-NEXT: }3888// CHECK-NEXT: ]3889// CHECK-NEXT: },3890// CHECK-NEXT: {3891// CHECK-NEXT: "id": "0x{{.*}}",3892// CHECK-NEXT: "kind": "CXXDestructorDecl",3893// CHECK-NEXT: "loc": {3894// CHECK-NEXT: "offset": 743,3895// CHECK-NEXT: "col": 8,3896// CHECK-NEXT: "tokLen": 83897// CHECK-NEXT: },3898// CHECK-NEXT: "range": {3899// CHECK-NEXT: "begin": {3900// CHECK-NEXT: "offset": 743,3901// CHECK-NEXT: "col": 8,3902// CHECK-NEXT: "tokLen": 83903// CHECK-NEXT: },3904// CHECK-NEXT: "end": {3905// CHECK-NEXT: "offset": 743,3906// CHECK-NEXT: "col": 8,3907// CHECK-NEXT: "tokLen": 83908// CHECK-NEXT: }3909// CHECK-NEXT: },3910// CHECK-NEXT: "isImplicit": true,3911// CHECK-NEXT: "name": "~Derived4",3912// CHECK-NEXT: "mangledName": "_ZN8Derived4D1Ev",3913// CHECK-NEXT: "type": {3914// CHECK-NEXT: "qualType": "void ()"3915// CHECK-NEXT: },3916// CHECK-NEXT: "inline": true,3917// CHECK-NEXT: "explicitlyDefaulted": "default"3918// CHECK-NEXT: }3919// CHECK-NEXT: ]3920// CHECK-NEXT: }3921 3922 3923// CHECK-NOT: {{^}}Dumping3924// CHECK: "kind": "CXXRecordDecl",3925// CHECK-NEXT: "loc": {3926// CHECK-NEXT: "offset": 805,3927// CHECK-NEXT: "line": 80,3928// CHECK-NEXT: "col": 8,3929// CHECK-NEXT: "tokLen": 83930// CHECK-NEXT: },3931// CHECK-NEXT: "range": {3932// CHECK-NEXT: "begin": {3933// CHECK-NEXT: "offset": 798,3934// CHECK-NEXT: "col": 1,3935// CHECK-NEXT: "tokLen": 63936// CHECK-NEXT: },3937// CHECK-NEXT: "end": {3938// CHECK-NEXT: "offset": 842,3939// CHECK-NEXT: "line": 81,3940// CHECK-NEXT: "col": 1,3941// CHECK-NEXT: "tokLen": 13942// CHECK-NEXT: }3943// CHECK-NEXT: },3944// CHECK-NEXT: "name": "Derived5",3945// CHECK-NEXT: "tagUsed": "struct",3946// CHECK-NEXT: "completeDefinition": true,3947// CHECK-NEXT: "definitionData": {3948// CHECK-NEXT: "canConstDefaultInit": true,3949// CHECK-NEXT: "copyAssign": {3950// CHECK-NEXT: "hasConstParam": true,3951// CHECK-NEXT: "implicitHasConstParam": true,3952// CHECK-NEXT: "nonTrivial": true,3953// CHECK-NEXT: "simple": true3954// CHECK-NEXT: },3955// CHECK-NEXT: "copyCtor": {3956// CHECK-NEXT: "hasConstParam": true,3957// CHECK-NEXT: "implicitHasConstParam": true,3958// CHECK-NEXT: "needsImplicit": true,3959// CHECK-NEXT: "nonTrivial": true,3960// CHECK-NEXT: "simple": true3961// CHECK-NEXT: },3962// CHECK-NEXT: "defaultCtor": {3963// CHECK-NEXT: "exists": true,3964// CHECK-NEXT: "needsImplicit": true,3965// CHECK-NEXT: "nonTrivial": true3966// CHECK-NEXT: },3967// CHECK-NEXT: "dtor": {3968// CHECK-NEXT: "irrelevant": true,3969// CHECK-NEXT: "simple": true,3970// CHECK-NEXT: "trivial": true3971// CHECK-NEXT: },3972// CHECK-NEXT: "moveAssign": {3973// CHECK-NEXT: "exists": true,3974// CHECK-NEXT: "nonTrivial": true,3975// CHECK-NEXT: "simple": true3976// CHECK-NEXT: },3977// CHECK-NEXT: "moveCtor": {3978// CHECK-NEXT: "exists": true,3979// CHECK-NEXT: "needsImplicit": true,3980// CHECK-NEXT: "nonTrivial": true,3981// CHECK-NEXT: "simple": true3982// CHECK-NEXT: }3983// CHECK-NEXT: },3984// CHECK-NEXT: "bases": [3985// CHECK-NEXT: {3986// CHECK-NEXT: "access": "protected",3987// CHECK-NEXT: "isVirtual": true,3988// CHECK-NEXT: "type": {3989// CHECK-NEXT: "qualType": "Base1"3990// CHECK-NEXT: },3991// CHECK-NEXT: "writtenAccess": "protected"3992// CHECK-NEXT: }3993// CHECK-NEXT: ],3994// CHECK-NEXT: "inner": [3995// CHECK-NEXT: {3996// CHECK-NEXT: "id": "0x{{.*}}",3997// CHECK-NEXT: "kind": "CXXRecordDecl",3998// CHECK-NEXT: "loc": {3999// CHECK-NEXT: "offset": 805,4000// CHECK-NEXT: "line": 80,4001// CHECK-NEXT: "col": 8,4002// CHECK-NEXT: "tokLen": 84003// CHECK-NEXT: },4004// CHECK-NEXT: "range": {4005// CHECK-NEXT: "begin": {4006// CHECK-NEXT: "offset": 798,4007// CHECK-NEXT: "col": 1,4008// CHECK-NEXT: "tokLen": 64009// CHECK-NEXT: },4010// CHECK-NEXT: "end": {4011// CHECK-NEXT: "offset": 805,4012// CHECK-NEXT: "col": 8,4013// CHECK-NEXT: "tokLen": 84014// CHECK-NEXT: }4015// CHECK-NEXT: },4016// CHECK-NEXT: "isImplicit": true,4017// CHECK-NEXT: "name": "Derived5",4018// CHECK-NEXT: "tagUsed": "struct"4019// CHECK-NEXT: },4020// CHECK-NEXT: {4021// CHECK-NEXT: "id": "0x{{.*}}",4022// CHECK-NEXT: "kind": "CXXMethodDecl",4023// CHECK-NEXT: "loc": {4024// CHECK-NEXT: "offset": 805,4025// CHECK-NEXT: "col": 8,4026// CHECK-NEXT: "tokLen": 84027// CHECK-NEXT: },4028// CHECK-NEXT: "range": {4029// CHECK-NEXT: "begin": {4030// CHECK-NEXT: "offset": 805,4031// CHECK-NEXT: "col": 8,4032// CHECK-NEXT: "tokLen": 84033// CHECK-NEXT: },4034// CHECK-NEXT: "end": {4035// CHECK-NEXT: "offset": 805,4036// CHECK-NEXT: "col": 8,4037// CHECK-NEXT: "tokLen": 84038// CHECK-NEXT: }4039// CHECK-NEXT: },4040// CHECK-NEXT: "isImplicit": true,4041// CHECK-NEXT: "name": "operator=",4042// CHECK-NEXT: "mangledName": "_ZN8Derived5aSERKS_",4043// CHECK-NEXT: "type": {4044// CHECK-NEXT: "qualType": "Derived5 &(const Derived5 &)"4045// CHECK-NEXT: },4046// CHECK-NEXT: "inline": true,4047// CHECK-NEXT: "explicitlyDefaulted": "default",4048// CHECK-NEXT: "inner": [4049// CHECK-NEXT: {4050// CHECK-NEXT: "id": "0x{{.*}}",4051// CHECK-NEXT: "kind": "ParmVarDecl",4052// CHECK-NEXT: "loc": {4053// CHECK-NEXT: "offset": 805,4054// CHECK-NEXT: "col": 8,4055// CHECK-NEXT: "tokLen": 84056// CHECK-NEXT: },4057// CHECK-NEXT: "range": {4058// CHECK-NEXT: "begin": {4059// CHECK-NEXT: "offset": 805,4060// CHECK-NEXT: "col": 8,4061// CHECK-NEXT: "tokLen": 84062// CHECK-NEXT: },4063// CHECK-NEXT: "end": {4064// CHECK-NEXT: "offset": 805,4065// CHECK-NEXT: "col": 8,4066// CHECK-NEXT: "tokLen": 84067// CHECK-NEXT: }4068// CHECK-NEXT: },4069// CHECK-NEXT: "type": {4070// CHECK-NEXT: "qualType": "const Derived5 &"4071// CHECK-NEXT: }4072// CHECK-NEXT: }4073// CHECK-NEXT: ]4074// CHECK-NEXT: },4075// CHECK-NEXT: {4076// CHECK-NEXT: "id": "0x{{.*}}",4077// CHECK-NEXT: "kind": "CXXMethodDecl",4078// CHECK-NEXT: "loc": {4079// CHECK-NEXT: "offset": 805,4080// CHECK-NEXT: "col": 8,4081// CHECK-NEXT: "tokLen": 84082// CHECK-NEXT: },4083// CHECK-NEXT: "range": {4084// CHECK-NEXT: "begin": {4085// CHECK-NEXT: "offset": 805,4086// CHECK-NEXT: "col": 8,4087// CHECK-NEXT: "tokLen": 84088// CHECK-NEXT: },4089// CHECK-NEXT: "end": {4090// CHECK-NEXT: "offset": 805,4091// CHECK-NEXT: "col": 8,4092// CHECK-NEXT: "tokLen": 84093// CHECK-NEXT: }4094// CHECK-NEXT: },4095// CHECK-NEXT: "isImplicit": true,4096// CHECK-NEXT: "name": "operator=",4097// CHECK-NEXT: "mangledName": "_ZN8Derived5aSEOS_",4098// CHECK-NEXT: "type": {4099// CHECK-NEXT: "qualType": "Derived5 &(Derived5 &&)"4100// CHECK-NEXT: },4101// CHECK-NEXT: "inline": true,4102// CHECK-NEXT: "explicitlyDefaulted": "default",4103// CHECK-NEXT: "inner": [4104// CHECK-NEXT: {4105// CHECK-NEXT: "id": "0x{{.*}}",4106// CHECK-NEXT: "kind": "ParmVarDecl",4107// CHECK-NEXT: "loc": {4108// CHECK-NEXT: "offset": 805,4109// CHECK-NEXT: "col": 8,4110// CHECK-NEXT: "tokLen": 84111// CHECK-NEXT: },4112// CHECK-NEXT: "range": {4113// CHECK-NEXT: "begin": {4114// CHECK-NEXT: "offset": 805,4115// CHECK-NEXT: "col": 8,4116// CHECK-NEXT: "tokLen": 84117// CHECK-NEXT: },4118// CHECK-NEXT: "end": {4119// CHECK-NEXT: "offset": 805,4120// CHECK-NEXT: "col": 8,4121// CHECK-NEXT: "tokLen": 84122// CHECK-NEXT: }4123// CHECK-NEXT: },4124// CHECK-NEXT: "type": {4125// CHECK-NEXT: "qualType": "Derived5 &&"4126// CHECK-NEXT: }4127// CHECK-NEXT: }4128// CHECK-NEXT: ]4129// CHECK-NEXT: },4130// CHECK-NEXT: {4131// CHECK-NEXT: "id": "0x{{.*}}",4132// CHECK-NEXT: "kind": "CXXDestructorDecl",4133// CHECK-NEXT: "loc": {4134// CHECK-NEXT: "offset": 805,4135// CHECK-NEXT: "col": 8,4136// CHECK-NEXT: "tokLen": 84137// CHECK-NEXT: },4138// CHECK-NEXT: "range": {4139// CHECK-NEXT: "begin": {4140// CHECK-NEXT: "offset": 805,4141// CHECK-NEXT: "col": 8,4142// CHECK-NEXT: "tokLen": 84143// CHECK-NEXT: },4144// CHECK-NEXT: "end": {4145// CHECK-NEXT: "offset": 805,4146// CHECK-NEXT: "col": 8,4147// CHECK-NEXT: "tokLen": 84148// CHECK-NEXT: }4149// CHECK-NEXT: },4150// CHECK-NEXT: "isImplicit": true,4151// CHECK-NEXT: "name": "~Derived5",4152// CHECK-NEXT: "mangledName": "_ZN8Derived5D1Ev",4153// CHECK-NEXT: "type": {4154// CHECK-NEXT: "qualType": "void ()"4155// CHECK-NEXT: },4156// CHECK-NEXT: "inline": true,4157// CHECK-NEXT: "explicitlyDefaulted": "default"4158// CHECK-NEXT: }4159// CHECK-NEXT: ]4160// CHECK-NEXT: }4161 4162 4163// CHECK-NOT: {{^}}Dumping4164// CHECK: "kind": "CXXRecordDecl",4165// CHECK-NEXT: "loc": {4166// CHECK-NEXT: "offset": 882,4167// CHECK-NEXT: "line": 84,4168// CHECK-NEXT: "col": 8,4169// CHECK-NEXT: "tokLen": 84170// CHECK-NEXT: },4171// CHECK-NEXT: "range": {4172// CHECK-NEXT: "begin": {4173// CHECK-NEXT: "offset": 875,4174// CHECK-NEXT: "col": 1,4175// CHECK-NEXT: "tokLen": 64176// CHECK-NEXT: },4177// CHECK-NEXT: "end": {4178// CHECK-NEXT: "offset": 919,4179// CHECK-NEXT: "line": 85,4180// CHECK-NEXT: "col": 1,4181// CHECK-NEXT: "tokLen": 14182// CHECK-NEXT: }4183// CHECK-NEXT: },4184// CHECK-NEXT: "name": "Derived6",4185// CHECK-NEXT: "tagUsed": "struct",4186// CHECK-NEXT: "completeDefinition": true,4187// CHECK-NEXT: "definitionData": {4188// CHECK-NEXT: "canConstDefaultInit": true,4189// CHECK-NEXT: "copyAssign": {4190// CHECK-NEXT: "hasConstParam": true,4191// CHECK-NEXT: "implicitHasConstParam": true,4192// CHECK-NEXT: "needsImplicit": true,4193// CHECK-NEXT: "simple": true,4194// CHECK-NEXT: "trivial": true4195// CHECK-NEXT: },4196// CHECK-NEXT: "copyCtor": {4197// CHECK-NEXT: "hasConstParam": true,4198// CHECK-NEXT: "implicitHasConstParam": true,4199// CHECK-NEXT: "needsImplicit": true,4200// CHECK-NEXT: "simple": true,4201// CHECK-NEXT: "trivial": true4202// CHECK-NEXT: },4203// CHECK-NEXT: "defaultCtor": {4204// CHECK-NEXT: "defaultedIsConstexpr": true,4205// CHECK-NEXT: "exists": true,4206// CHECK-NEXT: "isConstexpr": true,4207// CHECK-NEXT: "needsImplicit": true,4208// CHECK-NEXT: "trivial": true4209// CHECK-NEXT: },4210// CHECK-NEXT: "dtor": {4211// CHECK-NEXT: "irrelevant": true,4212// CHECK-NEXT: "needsImplicit": true,4213// CHECK-NEXT: "simple": true,4214// CHECK-NEXT: "trivial": true4215// CHECK-NEXT: },4216// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true,4217// CHECK-NEXT: "isAggregate": true,4218// CHECK-NEXT: "isEmpty": true,4219// CHECK-NEXT: "isLiteral": true,4220// CHECK-NEXT: "isStandardLayout": true,4221// CHECK-NEXT: "isTrivial": true,4222// CHECK-NEXT: "isTriviallyCopyable": true,4223// CHECK-NEXT: "moveAssign": {4224// CHECK-NEXT: "exists": true,4225// CHECK-NEXT: "needsImplicit": true,4226// CHECK-NEXT: "simple": true,4227// CHECK-NEXT: "trivial": true4228// CHECK-NEXT: },4229// CHECK-NEXT: "moveCtor": {4230// CHECK-NEXT: "exists": true,4231// CHECK-NEXT: "needsImplicit": true,4232// CHECK-NEXT: "simple": true,4233// CHECK-NEXT: "trivial": true4234// CHECK-NEXT: }4235// CHECK-NEXT: },4236// CHECK-NEXT: "bases": [4237// CHECK-NEXT: {4238// CHECK-NEXT: "access": "public",4239// CHECK-NEXT: "isPackExpansion": true,4240// CHECK-NEXT: "isVirtual": true,4241// CHECK-NEXT: "type": {4242// CHECK-NEXT: "qualType": "Bases"4243// CHECK-NEXT: },4244// CHECK-NEXT: "writtenAccess": "public"4245// CHECK-NEXT: }4246// CHECK-NEXT: ],4247// CHECK-NEXT: "inner": [4248// CHECK-NEXT: {4249// CHECK-NEXT: "id": "0x{{.*}}",4250// CHECK-NEXT: "kind": "CXXRecordDecl",4251// CHECK-NEXT: "loc": {4252// CHECK-NEXT: "offset": 882,4253// CHECK-NEXT: "line": 84,4254// CHECK-NEXT: "col": 8,4255// CHECK-NEXT: "tokLen": 84256// CHECK-NEXT: },4257// CHECK-NEXT: "range": {4258// CHECK-NEXT: "begin": {4259// CHECK-NEXT: "offset": 875,4260// CHECK-NEXT: "col": 1,4261// CHECK-NEXT: "tokLen": 64262// CHECK-NEXT: },4263// CHECK-NEXT: "end": {4264// CHECK-NEXT: "offset": 882,4265// CHECK-NEXT: "col": 8,4266// CHECK-NEXT: "tokLen": 84267// CHECK-NEXT: }4268// CHECK-NEXT: },4269// CHECK-NEXT: "isImplicit": true,4270// CHECK-NEXT: "name": "Derived6",4271// CHECK-NEXT: "tagUsed": "struct"4272// CHECK-NEXT: }4273// CHECK-NEXT: ]4274// CHECK-NEXT: }4275