3388 lines · cpp
1// RUN: %clang_cc1 -triple x86_64-pc-linux -std=c++23 -ast-dump=json %s | FileCheck %s2 3void Test() {4 int a;5 bool b;6 char c;7 double d;8 []() {};9 [] {};10 []() -> int { return 0; };11 [] -> int { return 0; };12 [a,b,c,d](){};13 [a]{};14 [&](){};15 struct S {16 void f(){17 [this] {};18 [this]() {};19 }20 };21 [](void){};22};23 24// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py25 26 27// CHECK-NOT: {{^}}Dumping28// CHECK: "kind": "TranslationUnitDecl",29// CHECK-NEXT: "loc": {},30// CHECK-NEXT: "range": {31// CHECK-NEXT: "begin": {},32// CHECK-NEXT: "end": {}33// CHECK-NEXT: },34// CHECK-NEXT: "inner": [35// CHECK-NEXT: {36// CHECK-NEXT: "id": "0x{{.*}}",37// CHECK-NEXT: "kind": "TypedefDecl",38// CHECK-NEXT: "loc": {},39// CHECK-NEXT: "range": {40// CHECK-NEXT: "begin": {},41// CHECK-NEXT: "end": {}42// CHECK-NEXT: },43// CHECK-NEXT: "isImplicit": true,44// CHECK-NEXT: "name": "__int128_t",45// CHECK-NEXT: "type": {46// CHECK-NEXT: "qualType": "__int128"47// CHECK-NEXT: },48// CHECK-NEXT: "inner": [49// CHECK-NEXT: {50// CHECK-NEXT: "id": "0x{{.*}}",51// CHECK-NEXT: "kind": "BuiltinType",52// CHECK-NEXT: "type": {53// CHECK-NEXT: "qualType": "__int128"54// CHECK-NEXT: }55// CHECK-NEXT: }56// CHECK-NEXT: ]57// CHECK-NEXT: },58// CHECK-NEXT: {59// CHECK-NEXT: "id": "0x{{.*}}",60// CHECK-NEXT: "kind": "TypedefDecl",61// CHECK-NEXT: "loc": {},62// CHECK-NEXT: "range": {63// CHECK-NEXT: "begin": {},64// CHECK-NEXT: "end": {}65// CHECK-NEXT: },66// CHECK-NEXT: "isImplicit": true,67// CHECK-NEXT: "name": "__uint128_t",68// CHECK-NEXT: "type": {69// CHECK-NEXT: "qualType": "unsigned __int128"70// CHECK-NEXT: },71// CHECK-NEXT: "inner": [72// CHECK-NEXT: {73// CHECK-NEXT: "id": "0x{{.*}}",74// CHECK-NEXT: "kind": "BuiltinType",75// CHECK-NEXT: "type": {76// CHECK-NEXT: "qualType": "unsigned __int128"77// CHECK-NEXT: }78// CHECK-NEXT: }79// CHECK-NEXT: ]80// CHECK-NEXT: },81// CHECK-NEXT: {82// CHECK-NEXT: "id": "0x{{.*}}",83// CHECK-NEXT: "kind": "TypedefDecl",84// CHECK-NEXT: "loc": {},85// CHECK-NEXT: "range": {86// CHECK-NEXT: "begin": {},87// CHECK-NEXT: "end": {}88// CHECK-NEXT: },89// CHECK-NEXT: "isImplicit": true,90// CHECK-NEXT: "name": "__NSConstantString",91// CHECK-NEXT: "type": {92// CHECK-NEXT: "qualType": "__NSConstantString_tag"93// CHECK-NEXT: },94// CHECK-NEXT: "inner": [95// CHECK-NEXT: {96// CHECK-NEXT: "id": "0x{{.*}}",97// CHECK-NEXT: "kind": "RecordType",98// CHECK-NEXT: "type": {99// CHECK-NEXT: "qualType": "__NSConstantString_tag"100// CHECK-NEXT: },101// CHECK-NEXT: "decl": {102// CHECK-NEXT: "id": "0x{{.*}}",103// CHECK-NEXT: "kind": "CXXRecordDecl",104// CHECK-NEXT: "name": "__NSConstantString_tag"105// CHECK-NEXT: }106// CHECK-NEXT: }107// CHECK-NEXT: ]108// CHECK-NEXT: },109// CHECK-NEXT: {110// CHECK-NEXT: "id": "0x{{.*}}",111// CHECK-NEXT: "kind": "TypedefDecl",112// CHECK-NEXT: "loc": {},113// CHECK-NEXT: "range": {114// CHECK-NEXT: "begin": {},115// CHECK-NEXT: "end": {}116// CHECK-NEXT: },117// CHECK-NEXT: "isImplicit": true,118// CHECK-NEXT: "name": "__builtin_ms_va_list",119// CHECK-NEXT: "type": {120// CHECK-NEXT: "qualType": "char *"121// CHECK-NEXT: },122// CHECK-NEXT: "inner": [123// CHECK-NEXT: {124// CHECK-NEXT: "id": "0x{{.*}}",125// CHECK-NEXT: "kind": "PointerType",126// CHECK-NEXT: "type": {127// CHECK-NEXT: "qualType": "char *"128// CHECK-NEXT: },129// CHECK-NEXT: "inner": [130// CHECK-NEXT: {131// CHECK-NEXT: "id": "0x{{.*}}",132// CHECK-NEXT: "kind": "BuiltinType",133// CHECK-NEXT: "type": {134// CHECK-NEXT: "qualType": "char"135// CHECK-NEXT: }136// CHECK-NEXT: }137// CHECK-NEXT: ]138// CHECK-NEXT: }139// CHECK-NEXT: ]140// CHECK-NEXT: },141// CHECK-NEXT: {142// CHECK-NEXT: "id": "0x{{.*}}",143// CHECK-NEXT: "kind": "TypedefDecl",144// CHECK-NEXT: "loc": {},145// CHECK-NEXT: "range": {146// CHECK-NEXT: "begin": {},147// CHECK-NEXT: "end": {}148// CHECK-NEXT: },149// CHECK-NEXT: "isImplicit": true,150// CHECK-NEXT: "name": "__builtin_va_list",151// CHECK-NEXT: "type": {152// CHECK-NEXT: "qualType": "__va_list_tag[1]"153// CHECK-NEXT: },154// CHECK-NEXT: "inner": [155// CHECK-NEXT: {156// CHECK-NEXT: "id": "0x{{.*}}",157// CHECK-NEXT: "kind": "ConstantArrayType",158// CHECK-NEXT: "type": {159// CHECK-NEXT: "qualType": "__va_list_tag[1]"160// CHECK-NEXT: },161// CHECK-NEXT: "size": 1,162// CHECK-NEXT: "inner": [163// CHECK-NEXT: {164// CHECK-NEXT: "id": "0x{{.*}}",165// CHECK-NEXT: "kind": "RecordType",166// CHECK-NEXT: "type": {167// CHECK-NEXT: "qualType": "__va_list_tag"168// CHECK-NEXT: },169// CHECK-NEXT: "decl": {170// CHECK-NEXT: "id": "0x{{.*}}",171// CHECK-NEXT: "kind": "CXXRecordDecl",172// CHECK-NEXT: "name": "__va_list_tag"173// CHECK-NEXT: }174// CHECK-NEXT: }175// CHECK-NEXT: ]176// CHECK-NEXT: }177// CHECK-NEXT: ]178// CHECK-NEXT: },179// CHECK-NEXT: {180// CHECK-NEXT: "id": "0x{{.*}}",181// CHECK-NEXT: "kind": "FunctionDecl",182// CHECK-NEXT: "loc": {183// CHECK-NEXT: "offset": 93,184// CHECK-NEXT: "file": "{{.*}}",185// CHECK-NEXT: "line": 3,186// CHECK-NEXT: "col": 6,187// CHECK-NEXT: "tokLen": 4188// CHECK-NEXT: },189// CHECK-NEXT: "range": {190// CHECK-NEXT: "begin": {191// CHECK-NEXT: "offset": 88,192// CHECK-NEXT: "col": 1,193// CHECK-NEXT: "tokLen": 4194// CHECK-NEXT: },195// CHECK-NEXT: "end": {196// CHECK-NEXT: "offset": 344,197// CHECK-NEXT: "line": 22,198// CHECK-NEXT: "col": 1,199// CHECK-NEXT: "tokLen": 1200// CHECK-NEXT: }201// CHECK-NEXT: },202// CHECK-NEXT: "name": "Test",203// CHECK-NEXT: "mangledName": "_Z4Testv",204// CHECK-NEXT: "type": {205// CHECK-NEXT: "qualType": "void ()"206// CHECK-NEXT: },207// CHECK-NEXT: "inner": [208// CHECK-NEXT: {209// CHECK-NEXT: "id": "0x{{.*}}",210// CHECK-NEXT: "kind": "CompoundStmt",211// CHECK-NEXT: "range": {212// CHECK-NEXT: "begin": {213// CHECK-NEXT: "offset": 100,214// CHECK-NEXT: "line": 3,215// CHECK-NEXT: "col": 13,216// CHECK-NEXT: "tokLen": 1217// CHECK-NEXT: },218// CHECK-NEXT: "end": {219// CHECK-NEXT: "offset": 344,220// CHECK-NEXT: "line": 22,221// CHECK-NEXT: "col": 1,222// CHECK-NEXT: "tokLen": 1223// CHECK-NEXT: }224// CHECK-NEXT: },225// CHECK-NEXT: "inner": [226// CHECK-NEXT: {227// CHECK-NEXT: "id": "0x{{.*}}",228// CHECK-NEXT: "kind": "DeclStmt",229// CHECK-NEXT: "range": {230// CHECK-NEXT: "begin": {231// CHECK-NEXT: "offset": 104,232// CHECK-NEXT: "line": 4,233// CHECK-NEXT: "col": 3,234// CHECK-NEXT: "tokLen": 3235// CHECK-NEXT: },236// CHECK-NEXT: "end": {237// CHECK-NEXT: "offset": 109,238// CHECK-NEXT: "col": 8,239// CHECK-NEXT: "tokLen": 1240// CHECK-NEXT: }241// CHECK-NEXT: },242// CHECK-NEXT: "inner": [243// CHECK-NEXT: {244// CHECK-NEXT: "id": "0x{{.*}}",245// CHECK-NEXT: "kind": "VarDecl",246// CHECK-NEXT: "loc": {247// CHECK-NEXT: "offset": 108,248// CHECK-NEXT: "col": 7,249// CHECK-NEXT: "tokLen": 1250// CHECK-NEXT: },251// CHECK-NEXT: "range": {252// CHECK-NEXT: "begin": {253// CHECK-NEXT: "offset": 104,254// CHECK-NEXT: "col": 3,255// CHECK-NEXT: "tokLen": 3256// CHECK-NEXT: },257// CHECK-NEXT: "end": {258// CHECK-NEXT: "offset": 108,259// CHECK-NEXT: "col": 7,260// CHECK-NEXT: "tokLen": 1261// CHECK-NEXT: }262// CHECK-NEXT: },263// CHECK-NEXT: "isUsed": true,264// CHECK-NEXT: "name": "a",265// CHECK-NEXT: "type": {266// CHECK-NEXT: "qualType": "int"267// CHECK-NEXT: }268// CHECK-NEXT: }269// CHECK-NEXT: ]270// CHECK-NEXT: },271// CHECK-NEXT: {272// CHECK-NEXT: "id": "0x{{.*}}",273// CHECK-NEXT: "kind": "DeclStmt",274// CHECK-NEXT: "range": {275// CHECK-NEXT: "begin": {276// CHECK-NEXT: "offset": 113,277// CHECK-NEXT: "line": 5,278// CHECK-NEXT: "col": 3,279// CHECK-NEXT: "tokLen": 4280// CHECK-NEXT: },281// CHECK-NEXT: "end": {282// CHECK-NEXT: "offset": 119,283// CHECK-NEXT: "col": 9,284// CHECK-NEXT: "tokLen": 1285// CHECK-NEXT: }286// CHECK-NEXT: },287// CHECK-NEXT: "inner": [288// CHECK-NEXT: {289// CHECK-NEXT: "id": "0x{{.*}}",290// CHECK-NEXT: "kind": "VarDecl",291// CHECK-NEXT: "loc": {292// CHECK-NEXT: "offset": 118,293// CHECK-NEXT: "col": 8,294// CHECK-NEXT: "tokLen": 1295// CHECK-NEXT: },296// CHECK-NEXT: "range": {297// CHECK-NEXT: "begin": {298// CHECK-NEXT: "offset": 113,299// CHECK-NEXT: "col": 3,300// CHECK-NEXT: "tokLen": 4301// CHECK-NEXT: },302// CHECK-NEXT: "end": {303// CHECK-NEXT: "offset": 118,304// CHECK-NEXT: "col": 8,305// CHECK-NEXT: "tokLen": 1306// CHECK-NEXT: }307// CHECK-NEXT: },308// CHECK-NEXT: "isUsed": true,309// CHECK-NEXT: "name": "b",310// CHECK-NEXT: "type": {311// CHECK-NEXT: "qualType": "bool"312// CHECK-NEXT: }313// CHECK-NEXT: }314// CHECK-NEXT: ]315// CHECK-NEXT: },316// CHECK-NEXT: {317// CHECK-NEXT: "id": "0x{{.*}}",318// CHECK-NEXT: "kind": "DeclStmt",319// CHECK-NEXT: "range": {320// CHECK-NEXT: "begin": {321// CHECK-NEXT: "offset": 123,322// CHECK-NEXT: "line": 6,323// CHECK-NEXT: "col": 3,324// CHECK-NEXT: "tokLen": 4325// CHECK-NEXT: },326// CHECK-NEXT: "end": {327// CHECK-NEXT: "offset": 129,328// CHECK-NEXT: "col": 9,329// CHECK-NEXT: "tokLen": 1330// CHECK-NEXT: }331// CHECK-NEXT: },332// CHECK-NEXT: "inner": [333// CHECK-NEXT: {334// CHECK-NEXT: "id": "0x{{.*}}",335// CHECK-NEXT: "kind": "VarDecl",336// CHECK-NEXT: "loc": {337// CHECK-NEXT: "offset": 128,338// CHECK-NEXT: "col": 8,339// CHECK-NEXT: "tokLen": 1340// CHECK-NEXT: },341// CHECK-NEXT: "range": {342// CHECK-NEXT: "begin": {343// CHECK-NEXT: "offset": 123,344// CHECK-NEXT: "col": 3,345// CHECK-NEXT: "tokLen": 4346// CHECK-NEXT: },347// CHECK-NEXT: "end": {348// CHECK-NEXT: "offset": 128,349// CHECK-NEXT: "col": 8,350// CHECK-NEXT: "tokLen": 1351// CHECK-NEXT: }352// CHECK-NEXT: },353// CHECK-NEXT: "isUsed": true,354// CHECK-NEXT: "name": "c",355// CHECK-NEXT: "type": {356// CHECK-NEXT: "qualType": "char"357// CHECK-NEXT: }358// CHECK-NEXT: }359// CHECK-NEXT: ]360// CHECK-NEXT: },361// CHECK-NEXT: {362// CHECK-NEXT: "id": "0x{{.*}}",363// CHECK-NEXT: "kind": "DeclStmt",364// CHECK-NEXT: "range": {365// CHECK-NEXT: "begin": {366// CHECK-NEXT: "offset": 133,367// CHECK-NEXT: "line": 7,368// CHECK-NEXT: "col": 3,369// CHECK-NEXT: "tokLen": 6370// CHECK-NEXT: },371// CHECK-NEXT: "end": {372// CHECK-NEXT: "offset": 141,373// CHECK-NEXT: "col": 11,374// CHECK-NEXT: "tokLen": 1375// CHECK-NEXT: }376// CHECK-NEXT: },377// CHECK-NEXT: "inner": [378// CHECK-NEXT: {379// CHECK-NEXT: "id": "0x{{.*}}",380// CHECK-NEXT: "kind": "VarDecl",381// CHECK-NEXT: "loc": {382// CHECK-NEXT: "offset": 140,383// CHECK-NEXT: "col": 10,384// CHECK-NEXT: "tokLen": 1385// CHECK-NEXT: },386// CHECK-NEXT: "range": {387// CHECK-NEXT: "begin": {388// CHECK-NEXT: "offset": 133,389// CHECK-NEXT: "col": 3,390// CHECK-NEXT: "tokLen": 6391// CHECK-NEXT: },392// CHECK-NEXT: "end": {393// CHECK-NEXT: "offset": 140,394// CHECK-NEXT: "col": 10,395// CHECK-NEXT: "tokLen": 1396// CHECK-NEXT: }397// CHECK-NEXT: },398// CHECK-NEXT: "isUsed": true,399// CHECK-NEXT: "name": "d",400// CHECK-NEXT: "type": {401// CHECK-NEXT: "qualType": "double"402// CHECK-NEXT: }403// CHECK-NEXT: }404// CHECK-NEXT: ]405// CHECK-NEXT: },406// CHECK-NEXT: {407// CHECK-NEXT: "id": "0x{{.*}}",408// CHECK-NEXT: "kind": "LambdaExpr",409// CHECK-NEXT: "range": {410// CHECK-NEXT: "begin": {411// CHECK-NEXT: "offset": 145,412// CHECK-NEXT: "line": 8,413// CHECK-NEXT: "col": 3,414// CHECK-NEXT: "tokLen": 1415// CHECK-NEXT: },416// CHECK-NEXT: "end": {417// CHECK-NEXT: "offset": 151,418// CHECK-NEXT: "col": 9,419// CHECK-NEXT: "tokLen": 1420// CHECK-NEXT: }421// CHECK-NEXT: },422// CHECK-NEXT: "type": {423// CHECK-NEXT: "qualType": "(lambda at {{.*}}:8:3)"424// CHECK-NEXT: },425// CHECK-NEXT: "valueCategory": "prvalue",426// CHECK-NEXT: "hasExplicitParameters": true,427// CHECK-NEXT: "inner": [428// CHECK-NEXT: {429// CHECK-NEXT: "id": "0x{{.*}}",430// CHECK-NEXT: "kind": "CXXRecordDecl",431// CHECK-NEXT: "loc": {432// CHECK-NEXT: "offset": 145,433// CHECK-NEXT: "col": 3,434// CHECK-NEXT: "tokLen": 1435// CHECK-NEXT: },436// CHECK-NEXT: "range": {437// CHECK-NEXT: "begin": {438// CHECK-NEXT: "offset": 145,439// CHECK-NEXT: "col": 3,440// CHECK-NEXT: "tokLen": 1441// CHECK-NEXT: },442// CHECK-NEXT: "end": {443// CHECK-NEXT: "offset": 145,444// CHECK-NEXT: "col": 3,445// CHECK-NEXT: "tokLen": 1446// CHECK-NEXT: }447// CHECK-NEXT: },448// CHECK-NEXT: "isImplicit": true,449// CHECK-NEXT: "tagUsed": "class",450// CHECK-NEXT: "completeDefinition": true,451// CHECK-NEXT: "definitionData": {452// CHECK-NEXT: "canConstDefaultInit": true,453// CHECK-NEXT: "canPassInRegisters": true,454// CHECK-NEXT: "copyAssign": {455// CHECK-NEXT: "hasConstParam": true,456// CHECK-NEXT: "implicitHasConstParam": true,457// CHECK-NEXT: "needsImplicit": true,458// CHECK-NEXT: "simple": true,459// CHECK-NEXT: "trivial": true460// CHECK-NEXT: },461// CHECK-NEXT: "copyCtor": {462// CHECK-NEXT: "hasConstParam": true,463// CHECK-NEXT: "implicitHasConstParam": true,464// CHECK-NEXT: "needsImplicit": true,465// CHECK-NEXT: "simple": true,466// CHECK-NEXT: "trivial": true467// CHECK-NEXT: },468// CHECK-NEXT: "defaultCtor": {469// CHECK-NEXT: "defaultedIsConstexpr": true,470// CHECK-NEXT: "exists": true,471// CHECK-NEXT: "isConstexpr": true,472// CHECK-NEXT: "needsImplicit": true,473// CHECK-NEXT: "trivial": true474// CHECK-NEXT: },475// CHECK-NEXT: "dtor": {476// CHECK-NEXT: "irrelevant": true,477// CHECK-NEXT: "simple": true,478// CHECK-NEXT: "trivial": true479// CHECK-NEXT: },480// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true,481// CHECK-NEXT: "isEmpty": true,482// CHECK-NEXT: "isLambda": true,483// CHECK-NEXT: "isLiteral": true,484// CHECK-NEXT: "isStandardLayout": true,485// CHECK-NEXT: "isTrivial": true,486// CHECK-NEXT: "isTriviallyCopyable": true,487// CHECK-NEXT: "moveAssign": {488// CHECK-NEXT: "exists": true,489// CHECK-NEXT: "needsImplicit": true,490// CHECK-NEXT: "simple": true,491// CHECK-NEXT: "trivial": true492// CHECK-NEXT: },493// CHECK-NEXT: "moveCtor": {494// CHECK-NEXT: "exists": true,495// CHECK-NEXT: "needsImplicit": true,496// CHECK-NEXT: "simple": true,497// CHECK-NEXT: "trivial": true498// CHECK-NEXT: }499// CHECK-NEXT: },500// CHECK-NEXT: "inner": [501// CHECK-NEXT: {502// CHECK-NEXT: "id": "0x{{.*}}",503// CHECK-NEXT: "kind": "CXXMethodDecl",504// CHECK-NEXT: "loc": {505// CHECK-NEXT: "offset": 145,506// CHECK-NEXT: "col": 3,507// CHECK-NEXT: "tokLen": 1508// CHECK-NEXT: },509// CHECK-NEXT: "range": {510// CHECK-NEXT: "begin": {511// CHECK-NEXT: "offset": 148,512// CHECK-NEXT: "col": 6,513// CHECK-NEXT: "tokLen": 1514// CHECK-NEXT: },515// CHECK-NEXT: "end": {516// CHECK-NEXT: "offset": 151,517// CHECK-NEXT: "col": 9,518// CHECK-NEXT: "tokLen": 1519// CHECK-NEXT: }520// CHECK-NEXT: },521// CHECK-NEXT: "name": "operator()",522// CHECK-NEXT: "mangledName": "_ZZ4TestvENK3$_0clEv",523// CHECK-NEXT: "type": {524// CHECK-NEXT: "qualType": "void () const"525// CHECK-NEXT: },526// CHECK-NEXT: "inline": true,527// CHECK-NEXT: "constexpr": true,528// CHECK-NEXT: "inner": [529// CHECK-NEXT: {530// CHECK-NEXT: "id": "0x{{.*}}",531// CHECK-NEXT: "kind": "CompoundStmt",532// CHECK-NEXT: "range": {533// CHECK-NEXT: "begin": {534// CHECK-NEXT: "offset": 150,535// CHECK-NEXT: "col": 8,536// CHECK-NEXT: "tokLen": 1537// CHECK-NEXT: },538// CHECK-NEXT: "end": {539// CHECK-NEXT: "offset": 151,540// CHECK-NEXT: "col": 9,541// CHECK-NEXT: "tokLen": 1542// 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": "CXXConversionDecl",550// CHECK-NEXT: "loc": {551// CHECK-NEXT: "offset": 145,552// CHECK-NEXT: "col": 3,553// CHECK-NEXT: "tokLen": 1554// CHECK-NEXT: },555// CHECK-NEXT: "range": {556// CHECK-NEXT: "begin": {557// CHECK-NEXT: "offset": 145,558// CHECK-NEXT: "col": 3,559// CHECK-NEXT: "tokLen": 1560// CHECK-NEXT: },561// CHECK-NEXT: "end": {562// CHECK-NEXT: "offset": 151,563// CHECK-NEXT: "col": 9,564// CHECK-NEXT: "tokLen": 1565// CHECK-NEXT: }566// CHECK-NEXT: },567// CHECK-NEXT: "isImplicit": true,568// CHECK-NEXT: "name": "operator void (*)()",569// CHECK-NEXT: "mangledName": "_ZZ4TestvENK3$_0cvPFvvEEv",570// CHECK-NEXT: "type": {571// CHECK-NEXT: "qualType": "void (*() const noexcept)()"572// CHECK-NEXT: },573// CHECK-NEXT: "inline": true,574// CHECK-NEXT: "constexpr": true575// CHECK-NEXT: },576// CHECK-NEXT: {577// CHECK-NEXT: "id": "0x{{.*}}",578// CHECK-NEXT: "kind": "CXXMethodDecl",579// CHECK-NEXT: "loc": {580// CHECK-NEXT: "offset": 145,581// CHECK-NEXT: "col": 3,582// CHECK-NEXT: "tokLen": 1583// CHECK-NEXT: },584// CHECK-NEXT: "range": {585// CHECK-NEXT: "begin": {586// CHECK-NEXT: "offset": 145,587// CHECK-NEXT: "col": 3,588// CHECK-NEXT: "tokLen": 1589// CHECK-NEXT: },590// CHECK-NEXT: "end": {591// CHECK-NEXT: "offset": 151,592// CHECK-NEXT: "col": 9,593// CHECK-NEXT: "tokLen": 1594// CHECK-NEXT: }595// CHECK-NEXT: },596// CHECK-NEXT: "isImplicit": true,597// CHECK-NEXT: "name": "__invoke",598// CHECK-NEXT: "mangledName": "_ZZ4TestvEN3$_08__invokeEv",599// CHECK-NEXT: "type": {600// CHECK-NEXT: "qualType": "void ()"601// CHECK-NEXT: },602// CHECK-NEXT: "storageClass": "static",603// CHECK-NEXT: "inline": true604// CHECK-NEXT: },605// CHECK-NEXT: {606// CHECK-NEXT: "id": "0x{{.*}}",607// CHECK-NEXT: "kind": "CXXDestructorDecl",608// CHECK-NEXT: "loc": {609// CHECK-NEXT: "offset": 145,610// CHECK-NEXT: "col": 3,611// CHECK-NEXT: "tokLen": 1612// CHECK-NEXT: },613// CHECK-NEXT: "range": {614// CHECK-NEXT: "begin": {615// CHECK-NEXT: "offset": 145,616// CHECK-NEXT: "col": 3,617// CHECK-NEXT: "tokLen": 1618// CHECK-NEXT: },619// CHECK-NEXT: "end": {620// CHECK-NEXT: "offset": 145,621// CHECK-NEXT: "col": 3,622// CHECK-NEXT: "tokLen": 1623// CHECK-NEXT: }624// CHECK-NEXT: },625// CHECK-NEXT: "isImplicit": true,626// CHECK-NEXT: "isReferenced": true,627// CHECK-NEXT: "name": "~(lambda at {{.*}}:8:3)",628// CHECK-NEXT: "mangledName": "_ZZ4TestvEN3$_0D1Ev",629// CHECK-NEXT: "type": {630// CHECK-NEXT: "qualType": "void () noexcept"631// CHECK-NEXT: },632// CHECK-NEXT: "inline": true,633// CHECK-NEXT: "constexpr": true,634// CHECK-NEXT: "explicitlyDefaulted": "default"635// CHECK-NEXT: }636// CHECK-NEXT: ]637// CHECK-NEXT: },638// CHECK-NEXT: {639// CHECK-NEXT: "id": "0x{{.*}}",640// CHECK-NEXT: "kind": "CompoundStmt",641// CHECK-NEXT: "range": {642// CHECK-NEXT: "begin": {643// CHECK-NEXT: "offset": 150,644// CHECK-NEXT: "col": 8,645// CHECK-NEXT: "tokLen": 1646// CHECK-NEXT: },647// CHECK-NEXT: "end": {648// CHECK-NEXT: "offset": 151,649// CHECK-NEXT: "col": 9,650// CHECK-NEXT: "tokLen": 1651// CHECK-NEXT: }652// CHECK-NEXT: }653// CHECK-NEXT: }654// CHECK-NEXT: ]655// CHECK-NEXT: },656// CHECK-NEXT: {657// CHECK-NEXT: "id": "0x{{.*}}",658// CHECK-NEXT: "kind": "LambdaExpr",659// CHECK-NEXT: "range": {660// CHECK-NEXT: "begin": {661// CHECK-NEXT: "offset": 156,662// CHECK-NEXT: "line": 9,663// CHECK-NEXT: "col": 3,664// CHECK-NEXT: "tokLen": 1665// CHECK-NEXT: },666// CHECK-NEXT: "end": {667// CHECK-NEXT: "offset": 160,668// CHECK-NEXT: "col": 7,669// CHECK-NEXT: "tokLen": 1670// CHECK-NEXT: }671// CHECK-NEXT: },672// CHECK-NEXT: "type": {673// CHECK-NEXT: "qualType": "(lambda at {{.*}}:9:3)"674// CHECK-NEXT: },675// CHECK-NEXT: "valueCategory": "prvalue",676// CHECK-NEXT: "hasExplicitParameters": false,677// CHECK-NEXT: "inner": [678// CHECK-NEXT: {679// CHECK-NEXT: "id": "0x{{.*}}",680// CHECK-NEXT: "kind": "CXXRecordDecl",681// CHECK-NEXT: "loc": {682// CHECK-NEXT: "offset": 156,683// CHECK-NEXT: "col": 3,684// CHECK-NEXT: "tokLen": 1685// CHECK-NEXT: },686// CHECK-NEXT: "range": {687// CHECK-NEXT: "begin": {688// CHECK-NEXT: "offset": 156,689// CHECK-NEXT: "col": 3,690// CHECK-NEXT: "tokLen": 1691// CHECK-NEXT: },692// CHECK-NEXT: "end": {693// CHECK-NEXT: "offset": 156,694// CHECK-NEXT: "col": 3,695// CHECK-NEXT: "tokLen": 1696// CHECK-NEXT: }697// CHECK-NEXT: },698// CHECK-NEXT: "isImplicit": true,699// CHECK-NEXT: "tagUsed": "class",700// CHECK-NEXT: "completeDefinition": true,701// CHECK-NEXT: "definitionData": {702// CHECK-NEXT: "canConstDefaultInit": true,703// CHECK-NEXT: "canPassInRegisters": true,704// CHECK-NEXT: "copyAssign": {705// CHECK-NEXT: "hasConstParam": true,706// CHECK-NEXT: "implicitHasConstParam": true,707// CHECK-NEXT: "needsImplicit": true,708// CHECK-NEXT: "simple": true,709// CHECK-NEXT: "trivial": true710// CHECK-NEXT: },711// CHECK-NEXT: "copyCtor": {712// CHECK-NEXT: "hasConstParam": true,713// CHECK-NEXT: "implicitHasConstParam": true,714// CHECK-NEXT: "needsImplicit": true,715// CHECK-NEXT: "simple": true,716// CHECK-NEXT: "trivial": true717// CHECK-NEXT: },718// CHECK-NEXT: "defaultCtor": {719// CHECK-NEXT: "defaultedIsConstexpr": true,720// CHECK-NEXT: "exists": true,721// CHECK-NEXT: "isConstexpr": true,722// CHECK-NEXT: "needsImplicit": true,723// CHECK-NEXT: "trivial": true724// CHECK-NEXT: },725// CHECK-NEXT: "dtor": {726// CHECK-NEXT: "irrelevant": true,727// CHECK-NEXT: "simple": true,728// CHECK-NEXT: "trivial": true729// CHECK-NEXT: },730// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true,731// CHECK-NEXT: "isEmpty": true,732// CHECK-NEXT: "isLambda": true,733// CHECK-NEXT: "isLiteral": true,734// CHECK-NEXT: "isStandardLayout": true,735// CHECK-NEXT: "isTrivial": true,736// CHECK-NEXT: "isTriviallyCopyable": true,737// CHECK-NEXT: "moveAssign": {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: "moveCtor": {744// CHECK-NEXT: "exists": true,745// CHECK-NEXT: "needsImplicit": true,746// CHECK-NEXT: "simple": true,747// CHECK-NEXT: "trivial": true748// CHECK-NEXT: }749// CHECK-NEXT: },750// CHECK-NEXT: "inner": [751// CHECK-NEXT: {752// CHECK-NEXT: "id": "0x{{.*}}",753// CHECK-NEXT: "kind": "CXXMethodDecl",754// CHECK-NEXT: "loc": {755// CHECK-NEXT: "offset": 156,756// CHECK-NEXT: "col": 3,757// CHECK-NEXT: "tokLen": 1758// CHECK-NEXT: },759// CHECK-NEXT: "range": {760// CHECK-NEXT: "begin": {761// CHECK-NEXT: "offset": 157,762// CHECK-NEXT: "col": 4,763// CHECK-NEXT: "tokLen": 1764// CHECK-NEXT: },765// CHECK-NEXT: "end": {766// CHECK-NEXT: "offset": 160,767// CHECK-NEXT: "col": 7,768// CHECK-NEXT: "tokLen": 1769// CHECK-NEXT: }770// CHECK-NEXT: },771// CHECK-NEXT: "name": "operator()",772// CHECK-NEXT: "mangledName": "_ZZ4TestvENK3$_1clEv",773// CHECK-NEXT: "type": {774// CHECK-NEXT: "qualType": "auto () const -> void"775// CHECK-NEXT: },776// CHECK-NEXT: "inline": true,777// CHECK-NEXT: "constexpr": true,778// CHECK-NEXT: "inner": [779// CHECK-NEXT: {780// CHECK-NEXT: "id": "0x{{.*}}",781// CHECK-NEXT: "kind": "CompoundStmt",782// CHECK-NEXT: "range": {783// CHECK-NEXT: "begin": {784// CHECK-NEXT: "offset": 159,785// CHECK-NEXT: "col": 6,786// CHECK-NEXT: "tokLen": 1787// CHECK-NEXT: },788// CHECK-NEXT: "end": {789// CHECK-NEXT: "offset": 160,790// CHECK-NEXT: "col": 7,791// CHECK-NEXT: "tokLen": 1792// CHECK-NEXT: }793// CHECK-NEXT: }794// CHECK-NEXT: }795// CHECK-NEXT: ]796// CHECK-NEXT: },797// CHECK-NEXT: {798// CHECK-NEXT: "id": "0x{{.*}}",799// CHECK-NEXT: "kind": "CXXConversionDecl",800// CHECK-NEXT: "loc": {801// CHECK-NEXT: "offset": 156,802// CHECK-NEXT: "col": 3,803// CHECK-NEXT: "tokLen": 1804// CHECK-NEXT: },805// CHECK-NEXT: "range": {806// CHECK-NEXT: "begin": {807// CHECK-NEXT: "offset": 156,808// CHECK-NEXT: "col": 3,809// CHECK-NEXT: "tokLen": 1810// CHECK-NEXT: },811// CHECK-NEXT: "end": {812// CHECK-NEXT: "offset": 160,813// CHECK-NEXT: "col": 7,814// CHECK-NEXT: "tokLen": 1815// CHECK-NEXT: }816// CHECK-NEXT: },817// CHECK-NEXT: "isImplicit": true,818// CHECK-NEXT: "name": "operator void (*)()",819// CHECK-NEXT: "mangledName": "_ZZ4TestvENK3$_1cvPFvvEEv",820// CHECK-NEXT: "type": {821// CHECK-NEXT: "qualType": "auto (*() const noexcept)() -> void"822// CHECK-NEXT: },823// CHECK-NEXT: "inline": true,824// CHECK-NEXT: "constexpr": true825// CHECK-NEXT: },826// CHECK-NEXT: {827// CHECK-NEXT: "id": "0x{{.*}}",828// CHECK-NEXT: "kind": "CXXMethodDecl",829// CHECK-NEXT: "loc": {830// CHECK-NEXT: "offset": 156,831// CHECK-NEXT: "col": 3,832// CHECK-NEXT: "tokLen": 1833// CHECK-NEXT: },834// CHECK-NEXT: "range": {835// CHECK-NEXT: "begin": {836// CHECK-NEXT: "offset": 156,837// CHECK-NEXT: "col": 3,838// CHECK-NEXT: "tokLen": 1839// CHECK-NEXT: },840// CHECK-NEXT: "end": {841// CHECK-NEXT: "offset": 160,842// CHECK-NEXT: "col": 7,843// CHECK-NEXT: "tokLen": 1844// CHECK-NEXT: }845// CHECK-NEXT: },846// CHECK-NEXT: "isImplicit": true,847// CHECK-NEXT: "name": "__invoke",848// CHECK-NEXT: "mangledName": "_ZZ4TestvEN3$_18__invokeEv",849// CHECK-NEXT: "type": {850// CHECK-NEXT: "qualType": "auto () -> void"851// CHECK-NEXT: },852// CHECK-NEXT: "storageClass": "static",853// CHECK-NEXT: "inline": true854// CHECK-NEXT: },855// CHECK-NEXT: {856// CHECK-NEXT: "id": "0x{{.*}}",857// CHECK-NEXT: "kind": "CXXDestructorDecl",858// CHECK-NEXT: "loc": {859// CHECK-NEXT: "offset": 156,860// CHECK-NEXT: "col": 3,861// CHECK-NEXT: "tokLen": 1862// CHECK-NEXT: },863// CHECK-NEXT: "range": {864// CHECK-NEXT: "begin": {865// CHECK-NEXT: "offset": 156,866// CHECK-NEXT: "col": 3,867// CHECK-NEXT: "tokLen": 1868// CHECK-NEXT: },869// CHECK-NEXT: "end": {870// CHECK-NEXT: "offset": 156,871// CHECK-NEXT: "col": 3,872// CHECK-NEXT: "tokLen": 1873// CHECK-NEXT: }874// CHECK-NEXT: },875// CHECK-NEXT: "isImplicit": true,876// CHECK-NEXT: "isReferenced": true,877// CHECK-NEXT: "name": "~(lambda at {{.*}}:9:3)",878// CHECK-NEXT: "mangledName": "_ZZ4TestvEN3$_1D1Ev",879// CHECK-NEXT: "type": {880// CHECK-NEXT: "qualType": "void () noexcept"881// CHECK-NEXT: },882// CHECK-NEXT: "inline": true,883// CHECK-NEXT: "constexpr": true,884// CHECK-NEXT: "explicitlyDefaulted": "default"885// CHECK-NEXT: }886// CHECK-NEXT: ]887// CHECK-NEXT: },888// CHECK-NEXT: {889// CHECK-NEXT: "id": "0x{{.*}}",890// CHECK-NEXT: "kind": "CompoundStmt",891// CHECK-NEXT: "range": {892// CHECK-NEXT: "begin": {893// CHECK-NEXT: "offset": 159,894// CHECK-NEXT: "col": 6,895// CHECK-NEXT: "tokLen": 1896// CHECK-NEXT: },897// CHECK-NEXT: "end": {898// CHECK-NEXT: "offset": 160,899// CHECK-NEXT: "col": 7,900// CHECK-NEXT: "tokLen": 1901// CHECK-NEXT: }902// CHECK-NEXT: }903// CHECK-NEXT: }904// CHECK-NEXT: ]905// CHECK-NEXT: },906// CHECK-NEXT: {907// CHECK-NEXT: "id": "0x{{.*}}",908// CHECK-NEXT: "kind": "LambdaExpr",909// CHECK-NEXT: "range": {910// CHECK-NEXT: "begin": {911// CHECK-NEXT: "offset": 165,912// CHECK-NEXT: "line": 10,913// CHECK-NEXT: "col": 3,914// CHECK-NEXT: "tokLen": 1915// CHECK-NEXT: },916// CHECK-NEXT: "end": {917// CHECK-NEXT: "offset": 189,918// CHECK-NEXT: "col": 27,919// CHECK-NEXT: "tokLen": 1920// CHECK-NEXT: }921// CHECK-NEXT: },922// CHECK-NEXT: "type": {923// CHECK-NEXT: "qualType": "(lambda at {{.*}}:10:3)"924// CHECK-NEXT: },925// CHECK-NEXT: "valueCategory": "prvalue",926// CHECK-NEXT: "hasExplicitParameters": true,927// CHECK-NEXT: "inner": [928// CHECK-NEXT: {929// CHECK-NEXT: "id": "0x{{.*}}",930// CHECK-NEXT: "kind": "CXXRecordDecl",931// CHECK-NEXT: "loc": {932// CHECK-NEXT: "offset": 165,933// CHECK-NEXT: "col": 3,934// CHECK-NEXT: "tokLen": 1935// CHECK-NEXT: },936// CHECK-NEXT: "range": {937// CHECK-NEXT: "begin": {938// CHECK-NEXT: "offset": 165,939// CHECK-NEXT: "col": 3,940// CHECK-NEXT: "tokLen": 1941// CHECK-NEXT: },942// CHECK-NEXT: "end": {943// CHECK-NEXT: "offset": 165,944// CHECK-NEXT: "col": 3,945// CHECK-NEXT: "tokLen": 1946// CHECK-NEXT: }947// CHECK-NEXT: },948// CHECK-NEXT: "isImplicit": true,949// CHECK-NEXT: "tagUsed": "class",950// CHECK-NEXT: "completeDefinition": true,951// CHECK-NEXT: "definitionData": {952// CHECK-NEXT: "canConstDefaultInit": true,953// CHECK-NEXT: "canPassInRegisters": true,954// CHECK-NEXT: "copyAssign": {955// CHECK-NEXT: "hasConstParam": true,956// CHECK-NEXT: "implicitHasConstParam": true,957// CHECK-NEXT: "needsImplicit": true,958// CHECK-NEXT: "simple": true,959// CHECK-NEXT: "trivial": true960// CHECK-NEXT: },961// CHECK-NEXT: "copyCtor": {962// CHECK-NEXT: "hasConstParam": true,963// CHECK-NEXT: "implicitHasConstParam": true,964// CHECK-NEXT: "needsImplicit": true,965// CHECK-NEXT: "simple": true,966// CHECK-NEXT: "trivial": true967// CHECK-NEXT: },968// CHECK-NEXT: "defaultCtor": {969// CHECK-NEXT: "defaultedIsConstexpr": true,970// CHECK-NEXT: "exists": true,971// CHECK-NEXT: "isConstexpr": true,972// CHECK-NEXT: "needsImplicit": true,973// CHECK-NEXT: "trivial": true974// CHECK-NEXT: },975// CHECK-NEXT: "dtor": {976// CHECK-NEXT: "irrelevant": true,977// CHECK-NEXT: "simple": true,978// CHECK-NEXT: "trivial": true979// CHECK-NEXT: },980// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true,981// CHECK-NEXT: "isEmpty": true,982// CHECK-NEXT: "isLambda": true,983// CHECK-NEXT: "isLiteral": true,984// CHECK-NEXT: "isStandardLayout": true,985// CHECK-NEXT: "isTrivial": true,986// CHECK-NEXT: "isTriviallyCopyable": true,987// CHECK-NEXT: "moveAssign": {988// CHECK-NEXT: "exists": true,989// CHECK-NEXT: "needsImplicit": true,990// CHECK-NEXT: "simple": true,991// CHECK-NEXT: "trivial": true992// CHECK-NEXT: },993// CHECK-NEXT: "moveCtor": {994// CHECK-NEXT: "exists": true,995// CHECK-NEXT: "needsImplicit": true,996// CHECK-NEXT: "simple": true,997// CHECK-NEXT: "trivial": true998// CHECK-NEXT: }999// CHECK-NEXT: },1000// CHECK-NEXT: "inner": [1001// CHECK-NEXT: {1002// CHECK-NEXT: "id": "0x{{.*}}",1003// CHECK-NEXT: "kind": "CXXMethodDecl",1004// CHECK-NEXT: "loc": {1005// CHECK-NEXT: "offset": 165,1006// CHECK-NEXT: "col": 3,1007// CHECK-NEXT: "tokLen": 11008// CHECK-NEXT: },1009// CHECK-NEXT: "range": {1010// CHECK-NEXT: "begin": {1011// CHECK-NEXT: "offset": 173,1012// CHECK-NEXT: "col": 11,1013// CHECK-NEXT: "tokLen": 31014// CHECK-NEXT: },1015// CHECK-NEXT: "end": {1016// CHECK-NEXT: "offset": 189,1017// CHECK-NEXT: "col": 27,1018// CHECK-NEXT: "tokLen": 11019// CHECK-NEXT: }1020// CHECK-NEXT: },1021// CHECK-NEXT: "name": "operator()",1022// CHECK-NEXT: "mangledName": "_ZZ4TestvENK3$_2clEv",1023// CHECK-NEXT: "type": {1024// CHECK-NEXT: "qualType": "auto () const -> int"1025// CHECK-NEXT: },1026// CHECK-NEXT: "inline": true,1027// CHECK-NEXT: "constexpr": true,1028// CHECK-NEXT: "inner": [1029// CHECK-NEXT: {1030// CHECK-NEXT: "id": "0x{{.*}}",1031// CHECK-NEXT: "kind": "CompoundStmt",1032// CHECK-NEXT: "range": {1033// CHECK-NEXT: "begin": {1034// CHECK-NEXT: "offset": 177,1035// CHECK-NEXT: "col": 15,1036// CHECK-NEXT: "tokLen": 11037// CHECK-NEXT: },1038// CHECK-NEXT: "end": {1039// CHECK-NEXT: "offset": 189,1040// CHECK-NEXT: "col": 27,1041// CHECK-NEXT: "tokLen": 11042// CHECK-NEXT: }1043// CHECK-NEXT: },1044// CHECK-NEXT: "inner": [1045// CHECK-NEXT: {1046// CHECK-NEXT: "id": "0x{{.*}}",1047// CHECK-NEXT: "kind": "ReturnStmt",1048// CHECK-NEXT: "range": {1049// CHECK-NEXT: "begin": {1050// CHECK-NEXT: "offset": 179,1051// CHECK-NEXT: "col": 17,1052// CHECK-NEXT: "tokLen": 61053// CHECK-NEXT: },1054// CHECK-NEXT: "end": {1055// CHECK-NEXT: "offset": 186,1056// CHECK-NEXT: "col": 24,1057// CHECK-NEXT: "tokLen": 11058// CHECK-NEXT: }1059// CHECK-NEXT: },1060// CHECK-NEXT: "inner": [1061// CHECK-NEXT: {1062// CHECK-NEXT: "id": "0x{{.*}}",1063// CHECK-NEXT: "kind": "IntegerLiteral",1064// CHECK-NEXT: "range": {1065// CHECK-NEXT: "begin": {1066// CHECK-NEXT: "offset": 186,1067// CHECK-NEXT: "col": 24,1068// CHECK-NEXT: "tokLen": 11069// CHECK-NEXT: },1070// CHECK-NEXT: "end": {1071// CHECK-NEXT: "offset": 186,1072// CHECK-NEXT: "col": 24,1073// CHECK-NEXT: "tokLen": 11074// CHECK-NEXT: }1075// CHECK-NEXT: },1076// CHECK-NEXT: "type": {1077// CHECK-NEXT: "qualType": "int"1078// CHECK-NEXT: },1079// CHECK-NEXT: "valueCategory": "prvalue",1080// CHECK-NEXT: "value": "0"1081// CHECK-NEXT: }1082// CHECK-NEXT: ]1083// CHECK-NEXT: }1084// CHECK-NEXT: ]1085// CHECK-NEXT: }1086// CHECK-NEXT: ]1087// CHECK-NEXT: },1088// CHECK-NEXT: {1089// CHECK-NEXT: "id": "0x{{.*}}",1090// CHECK-NEXT: "kind": "CXXConversionDecl",1091// CHECK-NEXT: "loc": {1092// CHECK-NEXT: "offset": 165,1093// CHECK-NEXT: "col": 3,1094// CHECK-NEXT: "tokLen": 11095// CHECK-NEXT: },1096// CHECK-NEXT: "range": {1097// CHECK-NEXT: "begin": {1098// CHECK-NEXT: "offset": 165,1099// CHECK-NEXT: "col": 3,1100// CHECK-NEXT: "tokLen": 11101// CHECK-NEXT: },1102// CHECK-NEXT: "end": {1103// CHECK-NEXT: "offset": 189,1104// CHECK-NEXT: "col": 27,1105// CHECK-NEXT: "tokLen": 11106// CHECK-NEXT: }1107// CHECK-NEXT: },1108// CHECK-NEXT: "isImplicit": true,1109// CHECK-NEXT: "name": "operator int (*)()",1110// CHECK-NEXT: "mangledName": "_ZZ4TestvENK3$_2cvPFivEEv",1111// CHECK-NEXT: "type": {1112// CHECK-NEXT: "qualType": "auto (*() const noexcept)() -> int"1113// CHECK-NEXT: },1114// CHECK-NEXT: "inline": true,1115// CHECK-NEXT: "constexpr": true1116// CHECK-NEXT: },1117// CHECK-NEXT: {1118// CHECK-NEXT: "id": "0x{{.*}}",1119// CHECK-NEXT: "kind": "CXXMethodDecl",1120// CHECK-NEXT: "loc": {1121// CHECK-NEXT: "offset": 165,1122// CHECK-NEXT: "col": 3,1123// CHECK-NEXT: "tokLen": 11124// CHECK-NEXT: },1125// CHECK-NEXT: "range": {1126// CHECK-NEXT: "begin": {1127// CHECK-NEXT: "offset": 165,1128// CHECK-NEXT: "col": 3,1129// CHECK-NEXT: "tokLen": 11130// CHECK-NEXT: },1131// CHECK-NEXT: "end": {1132// CHECK-NEXT: "offset": 189,1133// CHECK-NEXT: "col": 27,1134// CHECK-NEXT: "tokLen": 11135// CHECK-NEXT: }1136// CHECK-NEXT: },1137// CHECK-NEXT: "isImplicit": true,1138// CHECK-NEXT: "name": "__invoke",1139// CHECK-NEXT: "mangledName": "_ZZ4TestvEN3$_28__invokeEv",1140// CHECK-NEXT: "type": {1141// CHECK-NEXT: "qualType": "auto () -> int"1142// CHECK-NEXT: },1143// CHECK-NEXT: "storageClass": "static",1144// CHECK-NEXT: "inline": true1145// CHECK-NEXT: },1146// CHECK-NEXT: {1147// CHECK-NEXT: "id": "0x{{.*}}",1148// CHECK-NEXT: "kind": "CXXDestructorDecl",1149// CHECK-NEXT: "loc": {1150// CHECK-NEXT: "offset": 165,1151// CHECK-NEXT: "col": 3,1152// CHECK-NEXT: "tokLen": 11153// CHECK-NEXT: },1154// CHECK-NEXT: "range": {1155// CHECK-NEXT: "begin": {1156// CHECK-NEXT: "offset": 165,1157// CHECK-NEXT: "col": 3,1158// CHECK-NEXT: "tokLen": 11159// CHECK-NEXT: },1160// CHECK-NEXT: "end": {1161// CHECK-NEXT: "offset": 165,1162// CHECK-NEXT: "col": 3,1163// CHECK-NEXT: "tokLen": 11164// CHECK-NEXT: }1165// CHECK-NEXT: },1166// CHECK-NEXT: "isImplicit": true,1167// CHECK-NEXT: "isReferenced": true,1168// CHECK-NEXT: "name": "~(lambda at {{.*}}:10:3)",1169// CHECK-NEXT: "mangledName": "_ZZ4TestvEN3$_2D1Ev",1170// CHECK-NEXT: "type": {1171// CHECK-NEXT: "qualType": "void () noexcept"1172// CHECK-NEXT: },1173// CHECK-NEXT: "inline": true,1174// CHECK-NEXT: "constexpr": true,1175// CHECK-NEXT: "explicitlyDefaulted": "default"1176// CHECK-NEXT: }1177// CHECK-NEXT: ]1178// CHECK-NEXT: },1179// CHECK-NEXT: {1180// CHECK-NEXT: "id": "0x{{.*}}",1181// CHECK-NEXT: "kind": "CompoundStmt",1182// CHECK-NEXT: "range": {1183// CHECK-NEXT: "begin": {1184// CHECK-NEXT: "offset": 177,1185// CHECK-NEXT: "col": 15,1186// CHECK-NEXT: "tokLen": 11187// CHECK-NEXT: },1188// CHECK-NEXT: "end": {1189// CHECK-NEXT: "offset": 189,1190// CHECK-NEXT: "col": 27,1191// CHECK-NEXT: "tokLen": 11192// CHECK-NEXT: }1193// CHECK-NEXT: },1194// CHECK-NEXT: "inner": [1195// CHECK-NEXT: {1196// CHECK-NEXT: "id": "0x{{.*}}",1197// CHECK-NEXT: "kind": "ReturnStmt",1198// CHECK-NEXT: "range": {1199// CHECK-NEXT: "begin": {1200// CHECK-NEXT: "offset": 179,1201// CHECK-NEXT: "col": 17,1202// CHECK-NEXT: "tokLen": 61203// CHECK-NEXT: },1204// CHECK-NEXT: "end": {1205// CHECK-NEXT: "offset": 186,1206// CHECK-NEXT: "col": 24,1207// CHECK-NEXT: "tokLen": 11208// CHECK-NEXT: }1209// CHECK-NEXT: },1210// CHECK-NEXT: "inner": [1211// CHECK-NEXT: {1212// CHECK-NEXT: "id": "0x{{.*}}",1213// CHECK-NEXT: "kind": "IntegerLiteral",1214// CHECK-NEXT: "range": {1215// CHECK-NEXT: "begin": {1216// CHECK-NEXT: "offset": 186,1217// CHECK-NEXT: "col": 24,1218// CHECK-NEXT: "tokLen": 11219// CHECK-NEXT: },1220// CHECK-NEXT: "end": {1221// CHECK-NEXT: "offset": 186,1222// CHECK-NEXT: "col": 24,1223// CHECK-NEXT: "tokLen": 11224// CHECK-NEXT: }1225// CHECK-NEXT: },1226// CHECK-NEXT: "type": {1227// CHECK-NEXT: "qualType": "int"1228// CHECK-NEXT: },1229// CHECK-NEXT: "valueCategory": "prvalue",1230// CHECK-NEXT: "value": "0"1231// CHECK-NEXT: }1232// CHECK-NEXT: ]1233// CHECK-NEXT: }1234// CHECK-NEXT: ]1235// CHECK-NEXT: }1236// CHECK-NEXT: ]1237// CHECK-NEXT: },1238// CHECK-NEXT: {1239// CHECK-NEXT: "id": "0x{{.*}}",1240// CHECK-NEXT: "kind": "LambdaExpr",1241// CHECK-NEXT: "range": {1242// CHECK-NEXT: "begin": {1243// CHECK-NEXT: "offset": 194,1244// CHECK-NEXT: "line": 11,1245// CHECK-NEXT: "col": 3,1246// CHECK-NEXT: "tokLen": 11247// CHECK-NEXT: },1248// CHECK-NEXT: "end": {1249// CHECK-NEXT: "offset": 216,1250// CHECK-NEXT: "col": 25,1251// CHECK-NEXT: "tokLen": 11252// CHECK-NEXT: }1253// CHECK-NEXT: },1254// CHECK-NEXT: "type": {1255// CHECK-NEXT: "qualType": "(lambda at {{.*}}:11:3)"1256// CHECK-NEXT: },1257// CHECK-NEXT: "valueCategory": "prvalue",1258// CHECK-NEXT: "hasExplicitParameters": false,1259// CHECK-NEXT: "inner": [1260// CHECK-NEXT: {1261// CHECK-NEXT: "id": "0x{{.*}}",1262// CHECK-NEXT: "kind": "CXXRecordDecl",1263// CHECK-NEXT: "loc": {1264// CHECK-NEXT: "offset": 194,1265// CHECK-NEXT: "col": 3,1266// CHECK-NEXT: "tokLen": 11267// CHECK-NEXT: },1268// CHECK-NEXT: "range": {1269// CHECK-NEXT: "begin": {1270// CHECK-NEXT: "offset": 194,1271// CHECK-NEXT: "col": 3,1272// CHECK-NEXT: "tokLen": 11273// CHECK-NEXT: },1274// CHECK-NEXT: "end": {1275// CHECK-NEXT: "offset": 194,1276// CHECK-NEXT: "col": 3,1277// CHECK-NEXT: "tokLen": 11278// CHECK-NEXT: }1279// CHECK-NEXT: },1280// CHECK-NEXT: "isImplicit": true,1281// CHECK-NEXT: "tagUsed": "class",1282// CHECK-NEXT: "completeDefinition": true,1283// CHECK-NEXT: "definitionData": {1284// CHECK-NEXT: "canConstDefaultInit": true,1285// CHECK-NEXT: "canPassInRegisters": true,1286// CHECK-NEXT: "copyAssign": {1287// CHECK-NEXT: "hasConstParam": true,1288// CHECK-NEXT: "implicitHasConstParam": true,1289// CHECK-NEXT: "needsImplicit": true,1290// CHECK-NEXT: "simple": true,1291// CHECK-NEXT: "trivial": true1292// CHECK-NEXT: },1293// CHECK-NEXT: "copyCtor": {1294// CHECK-NEXT: "hasConstParam": true,1295// CHECK-NEXT: "implicitHasConstParam": true,1296// CHECK-NEXT: "needsImplicit": true,1297// CHECK-NEXT: "simple": true,1298// CHECK-NEXT: "trivial": true1299// CHECK-NEXT: },1300// CHECK-NEXT: "defaultCtor": {1301// CHECK-NEXT: "defaultedIsConstexpr": true,1302// CHECK-NEXT: "exists": true,1303// CHECK-NEXT: "isConstexpr": true,1304// CHECK-NEXT: "needsImplicit": true,1305// CHECK-NEXT: "trivial": true1306// CHECK-NEXT: },1307// CHECK-NEXT: "dtor": {1308// CHECK-NEXT: "irrelevant": true,1309// CHECK-NEXT: "simple": true,1310// CHECK-NEXT: "trivial": true1311// CHECK-NEXT: },1312// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true,1313// CHECK-NEXT: "isEmpty": true,1314// CHECK-NEXT: "isLambda": true,1315// CHECK-NEXT: "isLiteral": true,1316// CHECK-NEXT: "isStandardLayout": true,1317// CHECK-NEXT: "isTrivial": true,1318// CHECK-NEXT: "isTriviallyCopyable": true,1319// CHECK-NEXT: "moveAssign": {1320// CHECK-NEXT: "exists": true,1321// CHECK-NEXT: "needsImplicit": true,1322// CHECK-NEXT: "simple": true,1323// CHECK-NEXT: "trivial": true1324// CHECK-NEXT: },1325// CHECK-NEXT: "moveCtor": {1326// CHECK-NEXT: "exists": true,1327// CHECK-NEXT: "needsImplicit": true,1328// CHECK-NEXT: "simple": true,1329// CHECK-NEXT: "trivial": true1330// CHECK-NEXT: }1331// CHECK-NEXT: },1332// CHECK-NEXT: "inner": [1333// CHECK-NEXT: {1334// CHECK-NEXT: "id": "0x{{.*}}",1335// CHECK-NEXT: "kind": "CXXMethodDecl",1336// CHECK-NEXT: "loc": {1337// CHECK-NEXT: "offset": 194,1338// CHECK-NEXT: "col": 3,1339// CHECK-NEXT: "tokLen": 11340// CHECK-NEXT: },1341// CHECK-NEXT: "range": {1342// CHECK-NEXT: "begin": {1343// CHECK-NEXT: "offset": 200,1344// CHECK-NEXT: "col": 9,1345// CHECK-NEXT: "tokLen": 31346// CHECK-NEXT: },1347// CHECK-NEXT: "end": {1348// CHECK-NEXT: "offset": 216,1349// CHECK-NEXT: "col": 25,1350// CHECK-NEXT: "tokLen": 11351// CHECK-NEXT: }1352// CHECK-NEXT: },1353// CHECK-NEXT: "name": "operator()",1354// CHECK-NEXT: "mangledName": "_ZZ4TestvENK3$_3clEv",1355// CHECK-NEXT: "type": {1356// CHECK-NEXT: "qualType": "auto () const -> int"1357// CHECK-NEXT: },1358// CHECK-NEXT: "inline": true,1359// CHECK-NEXT: "constexpr": true,1360// CHECK-NEXT: "inner": [1361// CHECK-NEXT: {1362// CHECK-NEXT: "id": "0x{{.*}}",1363// CHECK-NEXT: "kind": "CompoundStmt",1364// CHECK-NEXT: "range": {1365// CHECK-NEXT: "begin": {1366// CHECK-NEXT: "offset": 204,1367// CHECK-NEXT: "col": 13,1368// CHECK-NEXT: "tokLen": 11369// CHECK-NEXT: },1370// CHECK-NEXT: "end": {1371// CHECK-NEXT: "offset": 216,1372// CHECK-NEXT: "col": 25,1373// CHECK-NEXT: "tokLen": 11374// CHECK-NEXT: }1375// CHECK-NEXT: },1376// CHECK-NEXT: "inner": [1377// CHECK-NEXT: {1378// CHECK-NEXT: "id": "0x{{.*}}",1379// CHECK-NEXT: "kind": "ReturnStmt",1380// CHECK-NEXT: "range": {1381// CHECK-NEXT: "begin": {1382// CHECK-NEXT: "offset": 206,1383// CHECK-NEXT: "col": 15,1384// CHECK-NEXT: "tokLen": 61385// CHECK-NEXT: },1386// CHECK-NEXT: "end": {1387// CHECK-NEXT: "offset": 213,1388// CHECK-NEXT: "col": 22,1389// CHECK-NEXT: "tokLen": 11390// CHECK-NEXT: }1391// CHECK-NEXT: },1392// CHECK-NEXT: "inner": [1393// CHECK-NEXT: {1394// CHECK-NEXT: "id": "0x{{.*}}",1395// CHECK-NEXT: "kind": "IntegerLiteral",1396// CHECK-NEXT: "range": {1397// CHECK-NEXT: "begin": {1398// CHECK-NEXT: "offset": 213,1399// CHECK-NEXT: "col": 22,1400// CHECK-NEXT: "tokLen": 11401// CHECK-NEXT: },1402// CHECK-NEXT: "end": {1403// CHECK-NEXT: "offset": 213,1404// CHECK-NEXT: "col": 22,1405// CHECK-NEXT: "tokLen": 11406// CHECK-NEXT: }1407// CHECK-NEXT: },1408// CHECK-NEXT: "type": {1409// CHECK-NEXT: "qualType": "int"1410// CHECK-NEXT: },1411// CHECK-NEXT: "valueCategory": "prvalue",1412// CHECK-NEXT: "value": "0"1413// CHECK-NEXT: }1414// CHECK-NEXT: ]1415// CHECK-NEXT: }1416// CHECK-NEXT: ]1417// CHECK-NEXT: }1418// CHECK-NEXT: ]1419// CHECK-NEXT: },1420// CHECK-NEXT: {1421// CHECK-NEXT: "id": "0x{{.*}}",1422// CHECK-NEXT: "kind": "CXXConversionDecl",1423// CHECK-NEXT: "loc": {1424// CHECK-NEXT: "offset": 194,1425// CHECK-NEXT: "col": 3,1426// CHECK-NEXT: "tokLen": 11427// CHECK-NEXT: },1428// CHECK-NEXT: "range": {1429// CHECK-NEXT: "begin": {1430// CHECK-NEXT: "offset": 194,1431// CHECK-NEXT: "col": 3,1432// CHECK-NEXT: "tokLen": 11433// CHECK-NEXT: },1434// CHECK-NEXT: "end": {1435// CHECK-NEXT: "offset": 216,1436// CHECK-NEXT: "col": 25,1437// CHECK-NEXT: "tokLen": 11438// CHECK-NEXT: }1439// CHECK-NEXT: },1440// CHECK-NEXT: "isImplicit": true,1441// CHECK-NEXT: "name": "operator int (*)()",1442// CHECK-NEXT: "mangledName": "_ZZ4TestvENK3$_3cvPFivEEv",1443// CHECK-NEXT: "type": {1444// CHECK-NEXT: "qualType": "auto (*() const noexcept)() -> int"1445// CHECK-NEXT: },1446// CHECK-NEXT: "inline": true,1447// CHECK-NEXT: "constexpr": true1448// CHECK-NEXT: },1449// CHECK-NEXT: {1450// CHECK-NEXT: "id": "0x{{.*}}",1451// CHECK-NEXT: "kind": "CXXMethodDecl",1452// CHECK-NEXT: "loc": {1453// CHECK-NEXT: "offset": 194,1454// CHECK-NEXT: "col": 3,1455// CHECK-NEXT: "tokLen": 11456// CHECK-NEXT: },1457// CHECK-NEXT: "range": {1458// CHECK-NEXT: "begin": {1459// CHECK-NEXT: "offset": 194,1460// CHECK-NEXT: "col": 3,1461// CHECK-NEXT: "tokLen": 11462// CHECK-NEXT: },1463// CHECK-NEXT: "end": {1464// CHECK-NEXT: "offset": 216,1465// CHECK-NEXT: "col": 25,1466// CHECK-NEXT: "tokLen": 11467// CHECK-NEXT: }1468// CHECK-NEXT: },1469// CHECK-NEXT: "isImplicit": true,1470// CHECK-NEXT: "name": "__invoke",1471// CHECK-NEXT: "mangledName": "_ZZ4TestvEN3$_38__invokeEv",1472// CHECK-NEXT: "type": {1473// CHECK-NEXT: "qualType": "auto () -> int"1474// CHECK-NEXT: },1475// CHECK-NEXT: "storageClass": "static",1476// CHECK-NEXT: "inline": true1477// CHECK-NEXT: },1478// CHECK-NEXT: {1479// CHECK-NEXT: "id": "0x{{.*}}",1480// CHECK-NEXT: "kind": "CXXDestructorDecl",1481// CHECK-NEXT: "loc": {1482// CHECK-NEXT: "offset": 194,1483// CHECK-NEXT: "col": 3,1484// CHECK-NEXT: "tokLen": 11485// CHECK-NEXT: },1486// CHECK-NEXT: "range": {1487// CHECK-NEXT: "begin": {1488// CHECK-NEXT: "offset": 194,1489// CHECK-NEXT: "col": 3,1490// CHECK-NEXT: "tokLen": 11491// CHECK-NEXT: },1492// CHECK-NEXT: "end": {1493// CHECK-NEXT: "offset": 194,1494// CHECK-NEXT: "col": 3,1495// CHECK-NEXT: "tokLen": 11496// CHECK-NEXT: }1497// CHECK-NEXT: },1498// CHECK-NEXT: "isImplicit": true,1499// CHECK-NEXT: "isReferenced": true,1500// CHECK-NEXT: "name": "~(lambda at {{.*}}:11:3)",1501// CHECK-NEXT: "mangledName": "_ZZ4TestvEN3$_3D1Ev",1502// CHECK-NEXT: "type": {1503// CHECK-NEXT: "qualType": "void () noexcept"1504// CHECK-NEXT: },1505// CHECK-NEXT: "inline": true,1506// CHECK-NEXT: "constexpr": true,1507// CHECK-NEXT: "explicitlyDefaulted": "default"1508// CHECK-NEXT: }1509// CHECK-NEXT: ]1510// CHECK-NEXT: },1511// CHECK-NEXT: {1512// CHECK-NEXT: "id": "0x{{.*}}",1513// CHECK-NEXT: "kind": "CompoundStmt",1514// CHECK-NEXT: "range": {1515// CHECK-NEXT: "begin": {1516// CHECK-NEXT: "offset": 204,1517// CHECK-NEXT: "col": 13,1518// CHECK-NEXT: "tokLen": 11519// CHECK-NEXT: },1520// CHECK-NEXT: "end": {1521// CHECK-NEXT: "offset": 216,1522// CHECK-NEXT: "col": 25,1523// CHECK-NEXT: "tokLen": 11524// CHECK-NEXT: }1525// CHECK-NEXT: },1526// CHECK-NEXT: "inner": [1527// CHECK-NEXT: {1528// CHECK-NEXT: "id": "0x{{.*}}",1529// CHECK-NEXT: "kind": "ReturnStmt",1530// CHECK-NEXT: "range": {1531// CHECK-NEXT: "begin": {1532// CHECK-NEXT: "offset": 206,1533// CHECK-NEXT: "col": 15,1534// CHECK-NEXT: "tokLen": 61535// CHECK-NEXT: },1536// CHECK-NEXT: "end": {1537// CHECK-NEXT: "offset": 213,1538// CHECK-NEXT: "col": 22,1539// CHECK-NEXT: "tokLen": 11540// CHECK-NEXT: }1541// CHECK-NEXT: },1542// CHECK-NEXT: "inner": [1543// CHECK-NEXT: {1544// CHECK-NEXT: "id": "0x{{.*}}",1545// CHECK-NEXT: "kind": "IntegerLiteral",1546// CHECK-NEXT: "range": {1547// CHECK-NEXT: "begin": {1548// CHECK-NEXT: "offset": 213,1549// CHECK-NEXT: "col": 22,1550// CHECK-NEXT: "tokLen": 11551// CHECK-NEXT: },1552// CHECK-NEXT: "end": {1553// CHECK-NEXT: "offset": 213,1554// CHECK-NEXT: "col": 22,1555// CHECK-NEXT: "tokLen": 11556// CHECK-NEXT: }1557// CHECK-NEXT: },1558// CHECK-NEXT: "type": {1559// CHECK-NEXT: "qualType": "int"1560// CHECK-NEXT: },1561// CHECK-NEXT: "valueCategory": "prvalue",1562// CHECK-NEXT: "value": "0"1563// CHECK-NEXT: }1564// CHECK-NEXT: ]1565// CHECK-NEXT: }1566// CHECK-NEXT: ]1567// CHECK-NEXT: }1568// CHECK-NEXT: ]1569// CHECK-NEXT: },1570// CHECK-NEXT: {1571// CHECK-NEXT: "id": "0x{{.*}}",1572// CHECK-NEXT: "kind": "LambdaExpr",1573// CHECK-NEXT: "range": {1574// CHECK-NEXT: "begin": {1575// CHECK-NEXT: "offset": 221,1576// CHECK-NEXT: "line": 12,1577// CHECK-NEXT: "col": 3,1578// CHECK-NEXT: "tokLen": 11579// CHECK-NEXT: },1580// CHECK-NEXT: "end": {1581// CHECK-NEXT: "offset": 233,1582// CHECK-NEXT: "col": 15,1583// CHECK-NEXT: "tokLen": 11584// CHECK-NEXT: }1585// CHECK-NEXT: },1586// CHECK-NEXT: "type": {1587// CHECK-NEXT: "qualType": "(lambda at {{.*}}:12:3)"1588// CHECK-NEXT: },1589// CHECK-NEXT: "valueCategory": "prvalue",1590// CHECK-NEXT: "hasExplicitParameters": true,1591// CHECK-NEXT: "inner": [1592// CHECK-NEXT: {1593// CHECK-NEXT: "id": "0x{{.*}}",1594// CHECK-NEXT: "kind": "CXXRecordDecl",1595// CHECK-NEXT: "loc": {1596// CHECK-NEXT: "offset": 221,1597// CHECK-NEXT: "col": 3,1598// CHECK-NEXT: "tokLen": 11599// CHECK-NEXT: },1600// CHECK-NEXT: "range": {1601// CHECK-NEXT: "begin": {1602// CHECK-NEXT: "offset": 221,1603// CHECK-NEXT: "col": 3,1604// CHECK-NEXT: "tokLen": 11605// CHECK-NEXT: },1606// CHECK-NEXT: "end": {1607// CHECK-NEXT: "offset": 221,1608// CHECK-NEXT: "col": 3,1609// CHECK-NEXT: "tokLen": 11610// CHECK-NEXT: }1611// CHECK-NEXT: },1612// CHECK-NEXT: "isImplicit": true,1613// CHECK-NEXT: "tagUsed": "class",1614// CHECK-NEXT: "completeDefinition": true,1615// CHECK-NEXT: "definitionData": {1616// CHECK-NEXT: "canConstDefaultInit": true,1617// CHECK-NEXT: "canPassInRegisters": true,1618// CHECK-NEXT: "copyAssign": {1619// CHECK-NEXT: "hasConstParam": true,1620// CHECK-NEXT: "implicitHasConstParam": true,1621// CHECK-NEXT: "needsImplicit": true,1622// CHECK-NEXT: "trivial": true1623// CHECK-NEXT: },1624// CHECK-NEXT: "copyCtor": {1625// CHECK-NEXT: "hasConstParam": true,1626// CHECK-NEXT: "implicitHasConstParam": true,1627// CHECK-NEXT: "needsImplicit": true,1628// CHECK-NEXT: "simple": true,1629// CHECK-NEXT: "trivial": true1630// CHECK-NEXT: },1631// CHECK-NEXT: "defaultCtor": {1632// CHECK-NEXT: "defaultedIsConstexpr": true1633// CHECK-NEXT: },1634// CHECK-NEXT: "dtor": {1635// CHECK-NEXT: "irrelevant": true,1636// CHECK-NEXT: "simple": true,1637// CHECK-NEXT: "trivial": true1638// CHECK-NEXT: },1639// CHECK-NEXT: "isLambda": true,1640// CHECK-NEXT: "isLiteral": true,1641// CHECK-NEXT: "isStandardLayout": true,1642// CHECK-NEXT: "isTriviallyCopyable": true,1643// CHECK-NEXT: "moveAssign": {},1644// CHECK-NEXT: "moveCtor": {1645// CHECK-NEXT: "exists": true,1646// CHECK-NEXT: "needsImplicit": true,1647// CHECK-NEXT: "simple": true,1648// CHECK-NEXT: "trivial": true1649// CHECK-NEXT: }1650// CHECK-NEXT: },1651// CHECK-NEXT: "inner": [1652// CHECK-NEXT: {1653// CHECK-NEXT: "id": "0x{{.*}}",1654// CHECK-NEXT: "kind": "CXXMethodDecl",1655// CHECK-NEXT: "loc": {1656// CHECK-NEXT: "offset": 221,1657// CHECK-NEXT: "col": 3,1658// CHECK-NEXT: "tokLen": 11659// CHECK-NEXT: },1660// CHECK-NEXT: "range": {1661// CHECK-NEXT: "begin": {1662// CHECK-NEXT: "offset": 231,1663// CHECK-NEXT: "col": 13,1664// CHECK-NEXT: "tokLen": 11665// CHECK-NEXT: },1666// CHECK-NEXT: "end": {1667// CHECK-NEXT: "offset": 233,1668// CHECK-NEXT: "col": 15,1669// CHECK-NEXT: "tokLen": 11670// CHECK-NEXT: }1671// CHECK-NEXT: },1672// CHECK-NEXT: "name": "operator()",1673// CHECK-NEXT: "mangledName": "_ZZ4TestvENK3$_4clEv",1674// CHECK-NEXT: "type": {1675// CHECK-NEXT: "qualType": "void () const"1676// CHECK-NEXT: },1677// CHECK-NEXT: "inline": true,1678// CHECK-NEXT: "constexpr": true,1679// CHECK-NEXT: "inner": [1680// CHECK-NEXT: {1681// CHECK-NEXT: "id": "0x{{.*}}",1682// CHECK-NEXT: "kind": "CompoundStmt",1683// CHECK-NEXT: "range": {1684// CHECK-NEXT: "begin": {1685// CHECK-NEXT: "offset": 232,1686// CHECK-NEXT: "col": 14,1687// CHECK-NEXT: "tokLen": 11688// CHECK-NEXT: },1689// CHECK-NEXT: "end": {1690// CHECK-NEXT: "offset": 233,1691// CHECK-NEXT: "col": 15,1692// CHECK-NEXT: "tokLen": 11693// CHECK-NEXT: }1694// CHECK-NEXT: }1695// CHECK-NEXT: }1696// CHECK-NEXT: ]1697// CHECK-NEXT: },1698// CHECK-NEXT: {1699// CHECK-NEXT: "id": "0x{{.*}}",1700// CHECK-NEXT: "kind": "FieldDecl",1701// CHECK-NEXT: "loc": {1702// CHECK-NEXT: "offset": 222,1703// CHECK-NEXT: "col": 4,1704// CHECK-NEXT: "tokLen": 11705// CHECK-NEXT: },1706// CHECK-NEXT: "range": {1707// CHECK-NEXT: "begin": {1708// CHECK-NEXT: "offset": 222,1709// CHECK-NEXT: "col": 4,1710// CHECK-NEXT: "tokLen": 11711// CHECK-NEXT: },1712// CHECK-NEXT: "end": {1713// CHECK-NEXT: "offset": 222,1714// CHECK-NEXT: "col": 4,1715// CHECK-NEXT: "tokLen": 11716// CHECK-NEXT: }1717// CHECK-NEXT: },1718// CHECK-NEXT: "isImplicit": true,1719// CHECK-NEXT: "type": {1720// CHECK-NEXT: "qualType": "int"1721// CHECK-NEXT: }1722// CHECK-NEXT: },1723// CHECK-NEXT: {1724// CHECK-NEXT: "id": "0x{{.*}}",1725// CHECK-NEXT: "kind": "FieldDecl",1726// CHECK-NEXT: "loc": {1727// CHECK-NEXT: "offset": 224,1728// CHECK-NEXT: "col": 6,1729// CHECK-NEXT: "tokLen": 11730// CHECK-NEXT: },1731// CHECK-NEXT: "range": {1732// CHECK-NEXT: "begin": {1733// CHECK-NEXT: "offset": 224,1734// CHECK-NEXT: "col": 6,1735// CHECK-NEXT: "tokLen": 11736// CHECK-NEXT: },1737// CHECK-NEXT: "end": {1738// CHECK-NEXT: "offset": 224,1739// CHECK-NEXT: "col": 6,1740// CHECK-NEXT: "tokLen": 11741// CHECK-NEXT: }1742// CHECK-NEXT: },1743// CHECK-NEXT: "isImplicit": true,1744// CHECK-NEXT: "type": {1745// CHECK-NEXT: "qualType": "bool"1746// CHECK-NEXT: }1747// CHECK-NEXT: },1748// CHECK-NEXT: {1749// CHECK-NEXT: "id": "0x{{.*}}",1750// CHECK-NEXT: "kind": "FieldDecl",1751// CHECK-NEXT: "loc": {1752// CHECK-NEXT: "offset": 226,1753// CHECK-NEXT: "col": 8,1754// CHECK-NEXT: "tokLen": 11755// CHECK-NEXT: },1756// CHECK-NEXT: "range": {1757// CHECK-NEXT: "begin": {1758// CHECK-NEXT: "offset": 226,1759// CHECK-NEXT: "col": 8,1760// CHECK-NEXT: "tokLen": 11761// CHECK-NEXT: },1762// CHECK-NEXT: "end": {1763// CHECK-NEXT: "offset": 226,1764// CHECK-NEXT: "col": 8,1765// CHECK-NEXT: "tokLen": 11766// CHECK-NEXT: }1767// CHECK-NEXT: },1768// CHECK-NEXT: "isImplicit": true,1769// CHECK-NEXT: "type": {1770// CHECK-NEXT: "qualType": "char"1771// CHECK-NEXT: }1772// CHECK-NEXT: },1773// CHECK-NEXT: {1774// CHECK-NEXT: "id": "0x{{.*}}",1775// CHECK-NEXT: "kind": "FieldDecl",1776// CHECK-NEXT: "loc": {1777// CHECK-NEXT: "offset": 228,1778// CHECK-NEXT: "col": 10,1779// CHECK-NEXT: "tokLen": 11780// CHECK-NEXT: },1781// CHECK-NEXT: "range": {1782// CHECK-NEXT: "begin": {1783// CHECK-NEXT: "offset": 228,1784// CHECK-NEXT: "col": 10,1785// CHECK-NEXT: "tokLen": 11786// CHECK-NEXT: },1787// CHECK-NEXT: "end": {1788// CHECK-NEXT: "offset": 228,1789// CHECK-NEXT: "col": 10,1790// CHECK-NEXT: "tokLen": 11791// CHECK-NEXT: }1792// CHECK-NEXT: },1793// CHECK-NEXT: "isImplicit": true,1794// CHECK-NEXT: "type": {1795// CHECK-NEXT: "qualType": "double"1796// CHECK-NEXT: }1797// CHECK-NEXT: },1798// CHECK-NEXT: {1799// CHECK-NEXT: "id": "0x{{.*}}",1800// CHECK-NEXT: "kind": "CXXDestructorDecl",1801// CHECK-NEXT: "loc": {1802// CHECK-NEXT: "offset": 221,1803// CHECK-NEXT: "col": 3,1804// CHECK-NEXT: "tokLen": 11805// CHECK-NEXT: },1806// CHECK-NEXT: "range": {1807// CHECK-NEXT: "begin": {1808// CHECK-NEXT: "offset": 221,1809// CHECK-NEXT: "col": 3,1810// CHECK-NEXT: "tokLen": 11811// CHECK-NEXT: },1812// CHECK-NEXT: "end": {1813// CHECK-NEXT: "offset": 221,1814// CHECK-NEXT: "col": 3,1815// CHECK-NEXT: "tokLen": 11816// CHECK-NEXT: }1817// CHECK-NEXT: },1818// CHECK-NEXT: "isImplicit": true,1819// CHECK-NEXT: "isReferenced": true,1820// CHECK-NEXT: "name": "~(lambda at {{.*}}:12:3)",1821// CHECK-NEXT: "mangledName": "_ZZ4TestvEN3$_4D1Ev",1822// CHECK-NEXT: "type": {1823// CHECK-NEXT: "qualType": "void () noexcept"1824// CHECK-NEXT: },1825// CHECK-NEXT: "inline": true,1826// CHECK-NEXT: "constexpr": true,1827// CHECK-NEXT: "explicitlyDefaulted": "default"1828// CHECK-NEXT: }1829// CHECK-NEXT: ]1830// CHECK-NEXT: },1831// CHECK-NEXT: {1832// CHECK-NEXT: "id": "0x{{.*}}",1833// CHECK-NEXT: "kind": "ImplicitCastExpr",1834// CHECK-NEXT: "range": {1835// CHECK-NEXT: "begin": {1836// CHECK-NEXT: "offset": 222,1837// CHECK-NEXT: "col": 4,1838// CHECK-NEXT: "tokLen": 11839// CHECK-NEXT: },1840// CHECK-NEXT: "end": {1841// CHECK-NEXT: "offset": 222,1842// CHECK-NEXT: "col": 4,1843// CHECK-NEXT: "tokLen": 11844// CHECK-NEXT: }1845// CHECK-NEXT: },1846// CHECK-NEXT: "type": {1847// CHECK-NEXT: "qualType": "int"1848// CHECK-NEXT: },1849// CHECK-NEXT: "valueCategory": "prvalue",1850// CHECK-NEXT: "castKind": "LValueToRValue",1851// CHECK-NEXT: "inner": [1852// CHECK-NEXT: {1853// CHECK-NEXT: "id": "0x{{.*}}",1854// CHECK-NEXT: "kind": "DeclRefExpr",1855// CHECK-NEXT: "range": {1856// CHECK-NEXT: "begin": {1857// CHECK-NEXT: "offset": 222,1858// CHECK-NEXT: "col": 4,1859// CHECK-NEXT: "tokLen": 11860// CHECK-NEXT: },1861// CHECK-NEXT: "end": {1862// CHECK-NEXT: "offset": 222,1863// CHECK-NEXT: "col": 4,1864// CHECK-NEXT: "tokLen": 11865// CHECK-NEXT: }1866// CHECK-NEXT: },1867// CHECK-NEXT: "type": {1868// CHECK-NEXT: "qualType": "int"1869// CHECK-NEXT: },1870// CHECK-NEXT: "valueCategory": "lvalue",1871// CHECK-NEXT: "referencedDecl": {1872// CHECK-NEXT: "id": "0x{{.*}}",1873// CHECK-NEXT: "kind": "VarDecl",1874// CHECK-NEXT: "name": "a",1875// CHECK-NEXT: "type": {1876// CHECK-NEXT: "qualType": "int"1877// CHECK-NEXT: }1878// CHECK-NEXT: }1879// CHECK-NEXT: }1880// CHECK-NEXT: ]1881// CHECK-NEXT: },1882// CHECK-NEXT: {1883// CHECK-NEXT: "id": "0x{{.*}}",1884// CHECK-NEXT: "kind": "ImplicitCastExpr",1885// CHECK-NEXT: "range": {1886// CHECK-NEXT: "begin": {1887// CHECK-NEXT: "offset": 224,1888// CHECK-NEXT: "col": 6,1889// CHECK-NEXT: "tokLen": 11890// CHECK-NEXT: },1891// CHECK-NEXT: "end": {1892// CHECK-NEXT: "offset": 224,1893// CHECK-NEXT: "col": 6,1894// CHECK-NEXT: "tokLen": 11895// CHECK-NEXT: }1896// CHECK-NEXT: },1897// CHECK-NEXT: "type": {1898// CHECK-NEXT: "qualType": "bool"1899// CHECK-NEXT: },1900// CHECK-NEXT: "valueCategory": "prvalue",1901// CHECK-NEXT: "castKind": "LValueToRValue",1902// CHECK-NEXT: "inner": [1903// CHECK-NEXT: {1904// CHECK-NEXT: "id": "0x{{.*}}",1905// CHECK-NEXT: "kind": "DeclRefExpr",1906// CHECK-NEXT: "range": {1907// CHECK-NEXT: "begin": {1908// CHECK-NEXT: "offset": 224,1909// CHECK-NEXT: "col": 6,1910// CHECK-NEXT: "tokLen": 11911// CHECK-NEXT: },1912// CHECK-NEXT: "end": {1913// CHECK-NEXT: "offset": 224,1914// CHECK-NEXT: "col": 6,1915// CHECK-NEXT: "tokLen": 11916// CHECK-NEXT: }1917// CHECK-NEXT: },1918// CHECK-NEXT: "type": {1919// CHECK-NEXT: "qualType": "bool"1920// CHECK-NEXT: },1921// CHECK-NEXT: "valueCategory": "lvalue",1922// CHECK-NEXT: "referencedDecl": {1923// CHECK-NEXT: "id": "0x{{.*}}",1924// CHECK-NEXT: "kind": "VarDecl",1925// CHECK-NEXT: "name": "b",1926// CHECK-NEXT: "type": {1927// CHECK-NEXT: "qualType": "bool"1928// CHECK-NEXT: }1929// CHECK-NEXT: }1930// CHECK-NEXT: }1931// CHECK-NEXT: ]1932// CHECK-NEXT: },1933// CHECK-NEXT: {1934// CHECK-NEXT: "id": "0x{{.*}}",1935// CHECK-NEXT: "kind": "ImplicitCastExpr",1936// CHECK-NEXT: "range": {1937// CHECK-NEXT: "begin": {1938// CHECK-NEXT: "offset": 226,1939// CHECK-NEXT: "col": 8,1940// CHECK-NEXT: "tokLen": 11941// CHECK-NEXT: },1942// CHECK-NEXT: "end": {1943// CHECK-NEXT: "offset": 226,1944// CHECK-NEXT: "col": 8,1945// CHECK-NEXT: "tokLen": 11946// CHECK-NEXT: }1947// CHECK-NEXT: },1948// CHECK-NEXT: "type": {1949// CHECK-NEXT: "qualType": "char"1950// CHECK-NEXT: },1951// CHECK-NEXT: "valueCategory": "prvalue",1952// CHECK-NEXT: "castKind": "LValueToRValue",1953// CHECK-NEXT: "inner": [1954// CHECK-NEXT: {1955// CHECK-NEXT: "id": "0x{{.*}}",1956// CHECK-NEXT: "kind": "DeclRefExpr",1957// CHECK-NEXT: "range": {1958// CHECK-NEXT: "begin": {1959// CHECK-NEXT: "offset": 226,1960// CHECK-NEXT: "col": 8,1961// CHECK-NEXT: "tokLen": 11962// CHECK-NEXT: },1963// CHECK-NEXT: "end": {1964// CHECK-NEXT: "offset": 226,1965// CHECK-NEXT: "col": 8,1966// CHECK-NEXT: "tokLen": 11967// CHECK-NEXT: }1968// CHECK-NEXT: },1969// CHECK-NEXT: "type": {1970// CHECK-NEXT: "qualType": "char"1971// CHECK-NEXT: },1972// CHECK-NEXT: "valueCategory": "lvalue",1973// CHECK-NEXT: "referencedDecl": {1974// CHECK-NEXT: "id": "0x{{.*}}",1975// CHECK-NEXT: "kind": "VarDecl",1976// CHECK-NEXT: "name": "c",1977// CHECK-NEXT: "type": {1978// CHECK-NEXT: "qualType": "char"1979// CHECK-NEXT: }1980// CHECK-NEXT: }1981// CHECK-NEXT: }1982// CHECK-NEXT: ]1983// CHECK-NEXT: },1984// CHECK-NEXT: {1985// CHECK-NEXT: "id": "0x{{.*}}",1986// CHECK-NEXT: "kind": "ImplicitCastExpr",1987// CHECK-NEXT: "range": {1988// CHECK-NEXT: "begin": {1989// CHECK-NEXT: "offset": 228,1990// CHECK-NEXT: "col": 10,1991// CHECK-NEXT: "tokLen": 11992// CHECK-NEXT: },1993// CHECK-NEXT: "end": {1994// CHECK-NEXT: "offset": 228,1995// CHECK-NEXT: "col": 10,1996// CHECK-NEXT: "tokLen": 11997// CHECK-NEXT: }1998// CHECK-NEXT: },1999// CHECK-NEXT: "type": {2000// CHECK-NEXT: "qualType": "double"2001// CHECK-NEXT: },2002// CHECK-NEXT: "valueCategory": "prvalue",2003// CHECK-NEXT: "castKind": "LValueToRValue",2004// CHECK-NEXT: "inner": [2005// CHECK-NEXT: {2006// CHECK-NEXT: "id": "0x{{.*}}",2007// CHECK-NEXT: "kind": "DeclRefExpr",2008// CHECK-NEXT: "range": {2009// CHECK-NEXT: "begin": {2010// CHECK-NEXT: "offset": 228,2011// CHECK-NEXT: "col": 10,2012// CHECK-NEXT: "tokLen": 12013// CHECK-NEXT: },2014// CHECK-NEXT: "end": {2015// CHECK-NEXT: "offset": 228,2016// CHECK-NEXT: "col": 10,2017// CHECK-NEXT: "tokLen": 12018// CHECK-NEXT: }2019// CHECK-NEXT: },2020// CHECK-NEXT: "type": {2021// CHECK-NEXT: "qualType": "double"2022// CHECK-NEXT: },2023// CHECK-NEXT: "valueCategory": "lvalue",2024// CHECK-NEXT: "referencedDecl": {2025// CHECK-NEXT: "id": "0x{{.*}}",2026// CHECK-NEXT: "kind": "VarDecl",2027// CHECK-NEXT: "name": "d",2028// CHECK-NEXT: "type": {2029// CHECK-NEXT: "qualType": "double"2030// CHECK-NEXT: }2031// CHECK-NEXT: }2032// CHECK-NEXT: }2033// CHECK-NEXT: ]2034// CHECK-NEXT: },2035// CHECK-NEXT: {2036// CHECK-NEXT: "id": "0x{{.*}}",2037// CHECK-NEXT: "kind": "CompoundStmt",2038// CHECK-NEXT: "range": {2039// CHECK-NEXT: "begin": {2040// CHECK-NEXT: "offset": 232,2041// CHECK-NEXT: "col": 14,2042// CHECK-NEXT: "tokLen": 12043// CHECK-NEXT: },2044// CHECK-NEXT: "end": {2045// CHECK-NEXT: "offset": 233,2046// CHECK-NEXT: "col": 15,2047// CHECK-NEXT: "tokLen": 12048// CHECK-NEXT: }2049// CHECK-NEXT: }2050// CHECK-NEXT: }2051// CHECK-NEXT: ]2052// CHECK-NEXT: },2053// CHECK-NEXT: {2054// CHECK-NEXT: "id": "0x{{.*}}",2055// CHECK-NEXT: "kind": "LambdaExpr",2056// CHECK-NEXT: "range": {2057// CHECK-NEXT: "begin": {2058// CHECK-NEXT: "offset": 238,2059// CHECK-NEXT: "line": 13,2060// CHECK-NEXT: "col": 3,2061// CHECK-NEXT: "tokLen": 12062// CHECK-NEXT: },2063// CHECK-NEXT: "end": {2064// CHECK-NEXT: "offset": 242,2065// CHECK-NEXT: "col": 7,2066// CHECK-NEXT: "tokLen": 12067// CHECK-NEXT: }2068// CHECK-NEXT: },2069// CHECK-NEXT: "type": {2070// CHECK-NEXT: "qualType": "(lambda at {{.*}}:13:3)"2071// CHECK-NEXT: },2072// CHECK-NEXT: "valueCategory": "prvalue",2073// CHECK-NEXT: "hasExplicitParameters": false,2074// CHECK-NEXT: "inner": [2075// CHECK-NEXT: {2076// CHECK-NEXT: "id": "0x{{.*}}",2077// CHECK-NEXT: "kind": "CXXRecordDecl",2078// CHECK-NEXT: "loc": {2079// CHECK-NEXT: "offset": 238,2080// CHECK-NEXT: "col": 3,2081// CHECK-NEXT: "tokLen": 12082// CHECK-NEXT: },2083// CHECK-NEXT: "range": {2084// CHECK-NEXT: "begin": {2085// CHECK-NEXT: "offset": 238,2086// CHECK-NEXT: "col": 3,2087// CHECK-NEXT: "tokLen": 12088// CHECK-NEXT: },2089// CHECK-NEXT: "end": {2090// CHECK-NEXT: "offset": 238,2091// CHECK-NEXT: "col": 3,2092// CHECK-NEXT: "tokLen": 12093// CHECK-NEXT: }2094// CHECK-NEXT: },2095// CHECK-NEXT: "isImplicit": true,2096// CHECK-NEXT: "tagUsed": "class",2097// CHECK-NEXT: "completeDefinition": true,2098// CHECK-NEXT: "definitionData": {2099// CHECK-NEXT: "canConstDefaultInit": true,2100// CHECK-NEXT: "canPassInRegisters": true,2101// CHECK-NEXT: "copyAssign": {2102// CHECK-NEXT: "hasConstParam": true,2103// CHECK-NEXT: "implicitHasConstParam": true,2104// CHECK-NEXT: "needsImplicit": true,2105// CHECK-NEXT: "trivial": true2106// CHECK-NEXT: },2107// CHECK-NEXT: "copyCtor": {2108// CHECK-NEXT: "hasConstParam": true,2109// CHECK-NEXT: "implicitHasConstParam": true,2110// CHECK-NEXT: "needsImplicit": true,2111// CHECK-NEXT: "simple": true,2112// CHECK-NEXT: "trivial": true2113// CHECK-NEXT: },2114// CHECK-NEXT: "defaultCtor": {2115// CHECK-NEXT: "defaultedIsConstexpr": true2116// CHECK-NEXT: },2117// CHECK-NEXT: "dtor": {2118// CHECK-NEXT: "irrelevant": true,2119// CHECK-NEXT: "simple": true,2120// CHECK-NEXT: "trivial": true2121// CHECK-NEXT: },2122// CHECK-NEXT: "isLambda": true,2123// CHECK-NEXT: "isLiteral": true,2124// CHECK-NEXT: "isStandardLayout": true,2125// CHECK-NEXT: "isTriviallyCopyable": true,2126// CHECK-NEXT: "moveAssign": {},2127// CHECK-NEXT: "moveCtor": {2128// CHECK-NEXT: "exists": true,2129// CHECK-NEXT: "needsImplicit": true,2130// CHECK-NEXT: "simple": true,2131// CHECK-NEXT: "trivial": true2132// CHECK-NEXT: }2133// CHECK-NEXT: },2134// CHECK-NEXT: "inner": [2135// CHECK-NEXT: {2136// CHECK-NEXT: "id": "0x{{.*}}",2137// CHECK-NEXT: "kind": "CXXMethodDecl",2138// CHECK-NEXT: "loc": {2139// CHECK-NEXT: "offset": 238,2140// CHECK-NEXT: "col": 3,2141// CHECK-NEXT: "tokLen": 12142// CHECK-NEXT: },2143// CHECK-NEXT: "range": {2144// CHECK-NEXT: "begin": {2145// CHECK-NEXT: "offset": 240,2146// CHECK-NEXT: "col": 5,2147// CHECK-NEXT: "tokLen": 12148// CHECK-NEXT: },2149// CHECK-NEXT: "end": {2150// CHECK-NEXT: "offset": 242,2151// CHECK-NEXT: "col": 7,2152// CHECK-NEXT: "tokLen": 12153// CHECK-NEXT: }2154// CHECK-NEXT: },2155// CHECK-NEXT: "name": "operator()",2156// CHECK-NEXT: "mangledName": "_ZZ4TestvENK3$_5clEv",2157// CHECK-NEXT: "type": {2158// CHECK-NEXT: "qualType": "auto () const -> void"2159// CHECK-NEXT: },2160// CHECK-NEXT: "inline": true,2161// CHECK-NEXT: "constexpr": true,2162// CHECK-NEXT: "inner": [2163// CHECK-NEXT: {2164// CHECK-NEXT: "id": "0x{{.*}}",2165// CHECK-NEXT: "kind": "CompoundStmt",2166// CHECK-NEXT: "range": {2167// CHECK-NEXT: "begin": {2168// CHECK-NEXT: "offset": 241,2169// CHECK-NEXT: "col": 6,2170// CHECK-NEXT: "tokLen": 12171// CHECK-NEXT: },2172// CHECK-NEXT: "end": {2173// CHECK-NEXT: "offset": 242,2174// CHECK-NEXT: "col": 7,2175// CHECK-NEXT: "tokLen": 12176// CHECK-NEXT: }2177// CHECK-NEXT: }2178// CHECK-NEXT: }2179// CHECK-NEXT: ]2180// CHECK-NEXT: },2181// CHECK-NEXT: {2182// CHECK-NEXT: "id": "0x{{.*}}",2183// CHECK-NEXT: "kind": "FieldDecl",2184// CHECK-NEXT: "loc": {2185// CHECK-NEXT: "offset": 239,2186// CHECK-NEXT: "col": 4,2187// CHECK-NEXT: "tokLen": 12188// CHECK-NEXT: },2189// CHECK-NEXT: "range": {2190// CHECK-NEXT: "begin": {2191// CHECK-NEXT: "offset": 239,2192// CHECK-NEXT: "col": 4,2193// CHECK-NEXT: "tokLen": 12194// CHECK-NEXT: },2195// CHECK-NEXT: "end": {2196// CHECK-NEXT: "offset": 239,2197// CHECK-NEXT: "col": 4,2198// CHECK-NEXT: "tokLen": 12199// CHECK-NEXT: }2200// CHECK-NEXT: },2201// CHECK-NEXT: "isImplicit": true,2202// CHECK-NEXT: "type": {2203// CHECK-NEXT: "qualType": "int"2204// CHECK-NEXT: }2205// CHECK-NEXT: },2206// CHECK-NEXT: {2207// CHECK-NEXT: "id": "0x{{.*}}",2208// CHECK-NEXT: "kind": "CXXDestructorDecl",2209// CHECK-NEXT: "loc": {2210// CHECK-NEXT: "offset": 238,2211// CHECK-NEXT: "col": 3,2212// CHECK-NEXT: "tokLen": 12213// CHECK-NEXT: },2214// CHECK-NEXT: "range": {2215// CHECK-NEXT: "begin": {2216// CHECK-NEXT: "offset": 238,2217// CHECK-NEXT: "col": 3,2218// CHECK-NEXT: "tokLen": 12219// CHECK-NEXT: },2220// CHECK-NEXT: "end": {2221// CHECK-NEXT: "offset": 238,2222// CHECK-NEXT: "col": 3,2223// CHECK-NEXT: "tokLen": 12224// CHECK-NEXT: }2225// CHECK-NEXT: },2226// CHECK-NEXT: "isImplicit": true,2227// CHECK-NEXT: "isReferenced": true,2228// CHECK-NEXT: "name": "~(lambda at {{.*}}:13:3)",2229// CHECK-NEXT: "mangledName": "_ZZ4TestvEN3$_5D1Ev",2230// CHECK-NEXT: "type": {2231// CHECK-NEXT: "qualType": "void () noexcept"2232// CHECK-NEXT: },2233// CHECK-NEXT: "inline": true,2234// CHECK-NEXT: "constexpr": true,2235// CHECK-NEXT: "explicitlyDefaulted": "default"2236// CHECK-NEXT: }2237// CHECK-NEXT: ]2238// CHECK-NEXT: },2239// CHECK-NEXT: {2240// CHECK-NEXT: "id": "0x{{.*}}",2241// CHECK-NEXT: "kind": "ImplicitCastExpr",2242// CHECK-NEXT: "range": {2243// CHECK-NEXT: "begin": {2244// CHECK-NEXT: "offset": 239,2245// CHECK-NEXT: "col": 4,2246// CHECK-NEXT: "tokLen": 12247// CHECK-NEXT: },2248// CHECK-NEXT: "end": {2249// CHECK-NEXT: "offset": 239,2250// CHECK-NEXT: "col": 4,2251// CHECK-NEXT: "tokLen": 12252// CHECK-NEXT: }2253// CHECK-NEXT: },2254// CHECK-NEXT: "type": {2255// CHECK-NEXT: "qualType": "int"2256// CHECK-NEXT: },2257// CHECK-NEXT: "valueCategory": "prvalue",2258// CHECK-NEXT: "castKind": "LValueToRValue",2259// CHECK-NEXT: "inner": [2260// CHECK-NEXT: {2261// CHECK-NEXT: "id": "0x{{.*}}",2262// CHECK-NEXT: "kind": "DeclRefExpr",2263// CHECK-NEXT: "range": {2264// CHECK-NEXT: "begin": {2265// CHECK-NEXT: "offset": 239,2266// CHECK-NEXT: "col": 4,2267// CHECK-NEXT: "tokLen": 12268// CHECK-NEXT: },2269// CHECK-NEXT: "end": {2270// CHECK-NEXT: "offset": 239,2271// CHECK-NEXT: "col": 4,2272// CHECK-NEXT: "tokLen": 12273// CHECK-NEXT: }2274// CHECK-NEXT: },2275// CHECK-NEXT: "type": {2276// CHECK-NEXT: "qualType": "int"2277// CHECK-NEXT: },2278// CHECK-NEXT: "valueCategory": "lvalue",2279// CHECK-NEXT: "referencedDecl": {2280// CHECK-NEXT: "id": "0x{{.*}}",2281// CHECK-NEXT: "kind": "VarDecl",2282// CHECK-NEXT: "name": "a",2283// CHECK-NEXT: "type": {2284// CHECK-NEXT: "qualType": "int"2285// CHECK-NEXT: }2286// CHECK-NEXT: }2287// CHECK-NEXT: }2288// CHECK-NEXT: ]2289// CHECK-NEXT: },2290// CHECK-NEXT: {2291// CHECK-NEXT: "id": "0x{{.*}}",2292// CHECK-NEXT: "kind": "CompoundStmt",2293// CHECK-NEXT: "range": {2294// CHECK-NEXT: "begin": {2295// CHECK-NEXT: "offset": 241,2296// CHECK-NEXT: "col": 6,2297// CHECK-NEXT: "tokLen": 12298// CHECK-NEXT: },2299// CHECK-NEXT: "end": {2300// CHECK-NEXT: "offset": 242,2301// CHECK-NEXT: "col": 7,2302// CHECK-NEXT: "tokLen": 12303// CHECK-NEXT: }2304// CHECK-NEXT: }2305// CHECK-NEXT: }2306// CHECK-NEXT: ]2307// CHECK-NEXT: },2308// CHECK-NEXT: {2309// CHECK-NEXT: "id": "0x{{.*}}",2310// CHECK-NEXT: "kind": "LambdaExpr",2311// CHECK-NEXT: "range": {2312// CHECK-NEXT: "begin": {2313// CHECK-NEXT: "offset": 247,2314// CHECK-NEXT: "line": 14,2315// CHECK-NEXT: "col": 3,2316// CHECK-NEXT: "tokLen": 12317// CHECK-NEXT: },2318// CHECK-NEXT: "end": {2319// CHECK-NEXT: "offset": 253,2320// CHECK-NEXT: "col": 9,2321// CHECK-NEXT: "tokLen": 12322// CHECK-NEXT: }2323// CHECK-NEXT: },2324// CHECK-NEXT: "type": {2325// CHECK-NEXT: "qualType": "(lambda at {{.*}}:14:3)"2326// CHECK-NEXT: },2327// CHECK-NEXT: "valueCategory": "prvalue",2328// CHECK-NEXT: "hasExplicitParameters": true,2329// CHECK-NEXT: "inner": [2330// CHECK-NEXT: {2331// CHECK-NEXT: "id": "0x{{.*}}",2332// CHECK-NEXT: "kind": "CXXRecordDecl",2333// CHECK-NEXT: "loc": {2334// CHECK-NEXT: "offset": 247,2335// CHECK-NEXT: "col": 3,2336// CHECK-NEXT: "tokLen": 12337// CHECK-NEXT: },2338// CHECK-NEXT: "range": {2339// CHECK-NEXT: "begin": {2340// CHECK-NEXT: "offset": 247,2341// CHECK-NEXT: "col": 3,2342// CHECK-NEXT: "tokLen": 12343// CHECK-NEXT: },2344// CHECK-NEXT: "end": {2345// CHECK-NEXT: "offset": 247,2346// CHECK-NEXT: "col": 3,2347// CHECK-NEXT: "tokLen": 12348// CHECK-NEXT: }2349// CHECK-NEXT: },2350// CHECK-NEXT: "isImplicit": true,2351// CHECK-NEXT: "tagUsed": "class",2352// CHECK-NEXT: "completeDefinition": true,2353// CHECK-NEXT: "definitionData": {2354// CHECK-NEXT: "canConstDefaultInit": true,2355// CHECK-NEXT: "canPassInRegisters": true,2356// CHECK-NEXT: "copyAssign": {2357// CHECK-NEXT: "hasConstParam": true,2358// CHECK-NEXT: "implicitHasConstParam": true,2359// CHECK-NEXT: "needsImplicit": true,2360// CHECK-NEXT: "trivial": true2361// CHECK-NEXT: },2362// CHECK-NEXT: "copyCtor": {2363// CHECK-NEXT: "hasConstParam": true,2364// CHECK-NEXT: "implicitHasConstParam": true,2365// CHECK-NEXT: "needsImplicit": true,2366// CHECK-NEXT: "simple": true,2367// CHECK-NEXT: "trivial": true2368// CHECK-NEXT: },2369// CHECK-NEXT: "defaultCtor": {2370// CHECK-NEXT: "defaultedIsConstexpr": true2371// CHECK-NEXT: },2372// CHECK-NEXT: "dtor": {2373// CHECK-NEXT: "irrelevant": true,2374// CHECK-NEXT: "simple": true,2375// CHECK-NEXT: "trivial": true2376// CHECK-NEXT: },2377// CHECK-NEXT: "isEmpty": true,2378// CHECK-NEXT: "isLambda": true,2379// CHECK-NEXT: "isLiteral": true,2380// CHECK-NEXT: "isStandardLayout": true,2381// CHECK-NEXT: "isTriviallyCopyable": true,2382// CHECK-NEXT: "moveAssign": {},2383// CHECK-NEXT: "moveCtor": {2384// CHECK-NEXT: "exists": true,2385// CHECK-NEXT: "needsImplicit": true,2386// CHECK-NEXT: "simple": true,2387// CHECK-NEXT: "trivial": true2388// CHECK-NEXT: }2389// CHECK-NEXT: },2390// CHECK-NEXT: "inner": [2391// CHECK-NEXT: {2392// CHECK-NEXT: "id": "0x{{.*}}",2393// CHECK-NEXT: "kind": "CXXMethodDecl",2394// CHECK-NEXT: "loc": {2395// CHECK-NEXT: "offset": 247,2396// CHECK-NEXT: "col": 3,2397// CHECK-NEXT: "tokLen": 12398// CHECK-NEXT: },2399// CHECK-NEXT: "range": {2400// CHECK-NEXT: "begin": {2401// CHECK-NEXT: "offset": 251,2402// CHECK-NEXT: "col": 7,2403// CHECK-NEXT: "tokLen": 12404// CHECK-NEXT: },2405// CHECK-NEXT: "end": {2406// CHECK-NEXT: "offset": 253,2407// CHECK-NEXT: "col": 9,2408// CHECK-NEXT: "tokLen": 12409// CHECK-NEXT: }2410// CHECK-NEXT: },2411// CHECK-NEXT: "name": "operator()",2412// CHECK-NEXT: "mangledName": "_ZZ4TestvENK3$_6clEv",2413// CHECK-NEXT: "type": {2414// CHECK-NEXT: "qualType": "void () const"2415// CHECK-NEXT: },2416// CHECK-NEXT: "inline": true,2417// CHECK-NEXT: "constexpr": true,2418// CHECK-NEXT: "inner": [2419// CHECK-NEXT: {2420// CHECK-NEXT: "id": "0x{{.*}}",2421// CHECK-NEXT: "kind": "CompoundStmt",2422// CHECK-NEXT: "range": {2423// CHECK-NEXT: "begin": {2424// CHECK-NEXT: "offset": 252,2425// CHECK-NEXT: "col": 8,2426// CHECK-NEXT: "tokLen": 12427// CHECK-NEXT: },2428// CHECK-NEXT: "end": {2429// CHECK-NEXT: "offset": 253,2430// CHECK-NEXT: "col": 9,2431// CHECK-NEXT: "tokLen": 12432// CHECK-NEXT: }2433// CHECK-NEXT: }2434// CHECK-NEXT: }2435// CHECK-NEXT: ]2436// CHECK-NEXT: },2437// CHECK-NEXT: {2438// CHECK-NEXT: "id": "0x{{.*}}",2439// CHECK-NEXT: "kind": "CXXDestructorDecl",2440// CHECK-NEXT: "loc": {2441// CHECK-NEXT: "offset": 247,2442// CHECK-NEXT: "col": 3,2443// CHECK-NEXT: "tokLen": 12444// CHECK-NEXT: },2445// CHECK-NEXT: "range": {2446// CHECK-NEXT: "begin": {2447// CHECK-NEXT: "offset": 247,2448// CHECK-NEXT: "col": 3,2449// CHECK-NEXT: "tokLen": 12450// CHECK-NEXT: },2451// CHECK-NEXT: "end": {2452// CHECK-NEXT: "offset": 247,2453// CHECK-NEXT: "col": 3,2454// CHECK-NEXT: "tokLen": 12455// CHECK-NEXT: }2456// CHECK-NEXT: },2457// CHECK-NEXT: "isImplicit": true,2458// CHECK-NEXT: "isReferenced": true,2459// CHECK-NEXT: "name": "~(lambda at {{.*}}:14:3)",2460// CHECK-NEXT: "mangledName": "_ZZ4TestvEN3$_6D1Ev",2461// CHECK-NEXT: "type": {2462// CHECK-NEXT: "qualType": "void () noexcept"2463// CHECK-NEXT: },2464// CHECK-NEXT: "inline": true,2465// CHECK-NEXT: "constexpr": true,2466// CHECK-NEXT: "explicitlyDefaulted": "default"2467// CHECK-NEXT: }2468// CHECK-NEXT: ]2469// CHECK-NEXT: },2470// CHECK-NEXT: {2471// CHECK-NEXT: "id": "0x{{.*}}",2472// CHECK-NEXT: "kind": "CompoundStmt",2473// CHECK-NEXT: "range": {2474// CHECK-NEXT: "begin": {2475// CHECK-NEXT: "offset": 252,2476// CHECK-NEXT: "col": 8,2477// CHECK-NEXT: "tokLen": 12478// CHECK-NEXT: },2479// CHECK-NEXT: "end": {2480// CHECK-NEXT: "offset": 253,2481// CHECK-NEXT: "col": 9,2482// CHECK-NEXT: "tokLen": 12483// CHECK-NEXT: }2484// CHECK-NEXT: }2485// CHECK-NEXT: }2486// CHECK-NEXT: ]2487// CHECK-NEXT: },2488// CHECK-NEXT: {2489// CHECK-NEXT: "id": "0x{{.*}}",2490// CHECK-NEXT: "kind": "DeclStmt",2491// CHECK-NEXT: "range": {2492// CHECK-NEXT: "begin": {2493// CHECK-NEXT: "offset": 258,2494// CHECK-NEXT: "line": 15,2495// CHECK-NEXT: "col": 3,2496// CHECK-NEXT: "tokLen": 62497// CHECK-NEXT: },2498// CHECK-NEXT: "end": {2499// CHECK-NEXT: "offset": 328,2500// CHECK-NEXT: "line": 20,2501// CHECK-NEXT: "col": 4,2502// CHECK-NEXT: "tokLen": 12503// CHECK-NEXT: }2504// CHECK-NEXT: },2505// CHECK-NEXT: "inner": [2506// CHECK-NEXT: {2507// CHECK-NEXT: "id": "0x{{.*}}",2508// CHECK-NEXT: "kind": "CXXRecordDecl",2509// CHECK-NEXT: "loc": {2510// CHECK-NEXT: "offset": 265,2511// CHECK-NEXT: "line": 15,2512// CHECK-NEXT: "col": 10,2513// CHECK-NEXT: "tokLen": 12514// CHECK-NEXT: },2515// CHECK-NEXT: "range": {2516// CHECK-NEXT: "begin": {2517// CHECK-NEXT: "offset": 258,2518// CHECK-NEXT: "col": 3,2519// CHECK-NEXT: "tokLen": 62520// CHECK-NEXT: },2521// CHECK-NEXT: "end": {2522// CHECK-NEXT: "offset": 327,2523// CHECK-NEXT: "line": 20,2524// CHECK-NEXT: "col": 3,2525// CHECK-NEXT: "tokLen": 12526// CHECK-NEXT: }2527// CHECK-NEXT: },2528// CHECK-NEXT: "name": "S",2529// CHECK-NEXT: "tagUsed": "struct",2530// CHECK-NEXT: "completeDefinition": true,2531// CHECK-NEXT: "definitionData": {2532// CHECK-NEXT: "canConstDefaultInit": true,2533// CHECK-NEXT: "canPassInRegisters": true,2534// CHECK-NEXT: "copyAssign": {2535// CHECK-NEXT: "hasConstParam": true,2536// CHECK-NEXT: "implicitHasConstParam": true,2537// CHECK-NEXT: "needsImplicit": true,2538// CHECK-NEXT: "simple": true,2539// CHECK-NEXT: "trivial": true2540// CHECK-NEXT: },2541// CHECK-NEXT: "copyCtor": {2542// CHECK-NEXT: "hasConstParam": true,2543// CHECK-NEXT: "implicitHasConstParam": true,2544// CHECK-NEXT: "needsImplicit": true,2545// CHECK-NEXT: "simple": true,2546// CHECK-NEXT: "trivial": true2547// CHECK-NEXT: },2548// CHECK-NEXT: "defaultCtor": {2549// CHECK-NEXT: "defaultedIsConstexpr": true,2550// CHECK-NEXT: "exists": true,2551// CHECK-NEXT: "isConstexpr": true,2552// CHECK-NEXT: "needsImplicit": true,2553// CHECK-NEXT: "trivial": true2554// CHECK-NEXT: },2555// CHECK-NEXT: "dtor": {2556// CHECK-NEXT: "irrelevant": true,2557// CHECK-NEXT: "needsImplicit": true,2558// CHECK-NEXT: "simple": true,2559// CHECK-NEXT: "trivial": true2560// CHECK-NEXT: },2561// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true,2562// CHECK-NEXT: "isAggregate": true,2563// CHECK-NEXT: "isEmpty": true,2564// CHECK-NEXT: "isLiteral": true,2565// CHECK-NEXT: "isPOD": true,2566// CHECK-NEXT: "isStandardLayout": true,2567// CHECK-NEXT: "isTrivial": true,2568// CHECK-NEXT: "isTriviallyCopyable": true,2569// CHECK-NEXT: "moveAssign": {2570// CHECK-NEXT: "exists": true,2571// CHECK-NEXT: "needsImplicit": true,2572// CHECK-NEXT: "simple": true,2573// CHECK-NEXT: "trivial": true2574// CHECK-NEXT: },2575// CHECK-NEXT: "moveCtor": {2576// CHECK-NEXT: "exists": true,2577// CHECK-NEXT: "needsImplicit": true,2578// CHECK-NEXT: "simple": true,2579// CHECK-NEXT: "trivial": true2580// CHECK-NEXT: }2581// CHECK-NEXT: },2582// CHECK-NEXT: "inner": [2583// CHECK-NEXT: {2584// CHECK-NEXT: "id": "0x{{.*}}",2585// CHECK-NEXT: "kind": "CXXRecordDecl",2586// CHECK-NEXT: "loc": {2587// CHECK-NEXT: "offset": 265,2588// CHECK-NEXT: "line": 15,2589// CHECK-NEXT: "col": 10,2590// CHECK-NEXT: "tokLen": 12591// CHECK-NEXT: },2592// CHECK-NEXT: "range": {2593// CHECK-NEXT: "begin": {2594// CHECK-NEXT: "offset": 258,2595// CHECK-NEXT: "col": 3,2596// CHECK-NEXT: "tokLen": 62597// CHECK-NEXT: },2598// CHECK-NEXT: "end": {2599// CHECK-NEXT: "offset": 265,2600// CHECK-NEXT: "col": 10,2601// CHECK-NEXT: "tokLen": 12602// CHECK-NEXT: }2603// CHECK-NEXT: },2604// CHECK-NEXT: "isImplicit": true,2605// CHECK-NEXT: "name": "S",2606// CHECK-NEXT: "tagUsed": "struct"2607// CHECK-NEXT: },2608// CHECK-NEXT: {2609// CHECK-NEXT: "id": "0x{{.*}}",2610// CHECK-NEXT: "kind": "CXXMethodDecl",2611// CHECK-NEXT: "loc": {2612// CHECK-NEXT: "offset": 278,2613// CHECK-NEXT: "line": 16,2614// CHECK-NEXT: "col": 10,2615// CHECK-NEXT: "tokLen": 12616// CHECK-NEXT: },2617// CHECK-NEXT: "range": {2618// CHECK-NEXT: "begin": {2619// CHECK-NEXT: "offset": 273,2620// CHECK-NEXT: "col": 5,2621// CHECK-NEXT: "tokLen": 42622// CHECK-NEXT: },2623// CHECK-NEXT: "end": {2624// CHECK-NEXT: "offset": 323,2625// CHECK-NEXT: "line": 19,2626// CHECK-NEXT: "col": 5,2627// CHECK-NEXT: "tokLen": 12628// CHECK-NEXT: }2629// CHECK-NEXT: },2630// CHECK-NEXT: "name": "f",2631// CHECK-NEXT: "mangledName": "_ZZ4TestvEN1S1fEv",2632// CHECK-NEXT: "type": {2633// CHECK-NEXT: "qualType": "void ()"2634// CHECK-NEXT: },2635// CHECK-NEXT: "inner": [2636// CHECK-NEXT: {2637// CHECK-NEXT: "id": "0x{{.*}}",2638// CHECK-NEXT: "kind": "CompoundStmt",2639// CHECK-NEXT: "range": {2640// CHECK-NEXT: "begin": {2641// CHECK-NEXT: "offset": 281,2642// CHECK-NEXT: "line": 16,2643// CHECK-NEXT: "col": 13,2644// CHECK-NEXT: "tokLen": 12645// CHECK-NEXT: },2646// CHECK-NEXT: "end": {2647// CHECK-NEXT: "offset": 323,2648// CHECK-NEXT: "line": 19,2649// CHECK-NEXT: "col": 5,2650// CHECK-NEXT: "tokLen": 12651// CHECK-NEXT: }2652// CHECK-NEXT: },2653// CHECK-NEXT: "inner": [2654// CHECK-NEXT: {2655// CHECK-NEXT: "id": "0x{{.*}}",2656// CHECK-NEXT: "kind": "LambdaExpr",2657// CHECK-NEXT: "range": {2658// CHECK-NEXT: "begin": {2659// CHECK-NEXT: "offset": 289,2660// CHECK-NEXT: "line": 17,2661// CHECK-NEXT: "col": 7,2662// CHECK-NEXT: "tokLen": 12663// CHECK-NEXT: },2664// CHECK-NEXT: "end": {2665// CHECK-NEXT: "offset": 297,2666// CHECK-NEXT: "col": 15,2667// CHECK-NEXT: "tokLen": 12668// CHECK-NEXT: }2669// CHECK-NEXT: },2670// CHECK-NEXT: "type": {2671// CHECK-NEXT: "qualType": "(lambda at {{.*}}:17:7)"2672// CHECK-NEXT: },2673// CHECK-NEXT: "valueCategory": "prvalue",2674// CHECK-NEXT: "hasExplicitParameters": false,2675// CHECK-NEXT: "inner": [2676// CHECK-NEXT: {2677// CHECK-NEXT: "id": "0x{{.*}}",2678// CHECK-NEXT: "kind": "CXXRecordDecl",2679// CHECK-NEXT: "loc": {2680// CHECK-NEXT: "offset": 289,2681// CHECK-NEXT: "col": 7,2682// CHECK-NEXT: "tokLen": 12683// CHECK-NEXT: },2684// CHECK-NEXT: "range": {2685// CHECK-NEXT: "begin": {2686// CHECK-NEXT: "offset": 289,2687// CHECK-NEXT: "col": 7,2688// CHECK-NEXT: "tokLen": 12689// CHECK-NEXT: },2690// CHECK-NEXT: "end": {2691// CHECK-NEXT: "offset": 289,2692// CHECK-NEXT: "col": 7,2693// CHECK-NEXT: "tokLen": 12694// CHECK-NEXT: }2695// CHECK-NEXT: },2696// CHECK-NEXT: "isImplicit": true,2697// CHECK-NEXT: "tagUsed": "class",2698// CHECK-NEXT: "completeDefinition": true,2699// CHECK-NEXT: "definitionData": {2700// CHECK-NEXT: "canConstDefaultInit": true,2701// CHECK-NEXT: "canPassInRegisters": true,2702// CHECK-NEXT: "copyAssign": {2703// CHECK-NEXT: "hasConstParam": true,2704// CHECK-NEXT: "implicitHasConstParam": true,2705// CHECK-NEXT: "needsImplicit": true,2706// CHECK-NEXT: "trivial": true2707// CHECK-NEXT: },2708// CHECK-NEXT: "copyCtor": {2709// CHECK-NEXT: "hasConstParam": true,2710// CHECK-NEXT: "implicitHasConstParam": true,2711// CHECK-NEXT: "needsImplicit": true,2712// CHECK-NEXT: "simple": true,2713// CHECK-NEXT: "trivial": true2714// CHECK-NEXT: },2715// CHECK-NEXT: "defaultCtor": {2716// CHECK-NEXT: "defaultedIsConstexpr": true2717// CHECK-NEXT: },2718// CHECK-NEXT: "dtor": {2719// CHECK-NEXT: "irrelevant": true,2720// CHECK-NEXT: "simple": true,2721// CHECK-NEXT: "trivial": true2722// CHECK-NEXT: },2723// CHECK-NEXT: "isLambda": true,2724// CHECK-NEXT: "isLiteral": true,2725// CHECK-NEXT: "isStandardLayout": true,2726// CHECK-NEXT: "isTriviallyCopyable": true,2727// CHECK-NEXT: "moveAssign": {},2728// CHECK-NEXT: "moveCtor": {2729// CHECK-NEXT: "exists": true,2730// CHECK-NEXT: "needsImplicit": true,2731// CHECK-NEXT: "simple": true,2732// CHECK-NEXT: "trivial": true2733// CHECK-NEXT: }2734// CHECK-NEXT: },2735// CHECK-NEXT: "inner": [2736// CHECK-NEXT: {2737// CHECK-NEXT: "id": "0x{{.*}}",2738// CHECK-NEXT: "kind": "CXXMethodDecl",2739// CHECK-NEXT: "loc": {2740// CHECK-NEXT: "offset": 289,2741// CHECK-NEXT: "col": 7,2742// CHECK-NEXT: "tokLen": 12743// CHECK-NEXT: },2744// CHECK-NEXT: "range": {2745// CHECK-NEXT: "begin": {2746// CHECK-NEXT: "offset": 294,2747// CHECK-NEXT: "col": 12,2748// CHECK-NEXT: "tokLen": 12749// CHECK-NEXT: },2750// CHECK-NEXT: "end": {2751// CHECK-NEXT: "offset": 297,2752// CHECK-NEXT: "col": 15,2753// CHECK-NEXT: "tokLen": 12754// CHECK-NEXT: }2755// CHECK-NEXT: },2756// CHECK-NEXT: "name": "operator()",2757// CHECK-NEXT: "mangledName": "_ZZZ4TestvEN1S1fEvENKUlvE_clEv",2758// CHECK-NEXT: "type": {2759// CHECK-NEXT: "qualType": "auto () const -> void"2760// CHECK-NEXT: },2761// CHECK-NEXT: "inline": true,2762// CHECK-NEXT: "constexpr": true,2763// CHECK-NEXT: "inner": [2764// CHECK-NEXT: {2765// CHECK-NEXT: "id": "0x{{.*}}",2766// CHECK-NEXT: "kind": "CompoundStmt",2767// CHECK-NEXT: "range": {2768// CHECK-NEXT: "begin": {2769// CHECK-NEXT: "offset": 296,2770// CHECK-NEXT: "col": 14,2771// CHECK-NEXT: "tokLen": 12772// CHECK-NEXT: },2773// CHECK-NEXT: "end": {2774// CHECK-NEXT: "offset": 297,2775// CHECK-NEXT: "col": 15,2776// CHECK-NEXT: "tokLen": 12777// CHECK-NEXT: }2778// CHECK-NEXT: }2779// CHECK-NEXT: }2780// CHECK-NEXT: ]2781// CHECK-NEXT: },2782// CHECK-NEXT: {2783// CHECK-NEXT: "id": "0x{{.*}}",2784// CHECK-NEXT: "kind": "FieldDecl",2785// CHECK-NEXT: "loc": {2786// CHECK-NEXT: "offset": 290,2787// CHECK-NEXT: "col": 8,2788// CHECK-NEXT: "tokLen": 42789// CHECK-NEXT: },2790// CHECK-NEXT: "range": {2791// CHECK-NEXT: "begin": {2792// CHECK-NEXT: "offset": 290,2793// CHECK-NEXT: "col": 8,2794// CHECK-NEXT: "tokLen": 42795// CHECK-NEXT: },2796// CHECK-NEXT: "end": {2797// CHECK-NEXT: "offset": 290,2798// CHECK-NEXT: "col": 8,2799// CHECK-NEXT: "tokLen": 42800// CHECK-NEXT: }2801// CHECK-NEXT: },2802// CHECK-NEXT: "isImplicit": true,2803// CHECK-NEXT: "type": {2804// CHECK-NEXT: "qualType": "S *"2805// CHECK-NEXT: }2806// CHECK-NEXT: },2807// CHECK-NEXT: {2808// CHECK-NEXT: "id": "0x{{.*}}",2809// CHECK-NEXT: "kind": "CXXDestructorDecl",2810// CHECK-NEXT: "loc": {2811// CHECK-NEXT: "offset": 289,2812// CHECK-NEXT: "col": 7,2813// CHECK-NEXT: "tokLen": 12814// CHECK-NEXT: },2815// CHECK-NEXT: "range": {2816// CHECK-NEXT: "begin": {2817// CHECK-NEXT: "offset": 289,2818// CHECK-NEXT: "col": 7,2819// CHECK-NEXT: "tokLen": 12820// CHECK-NEXT: },2821// CHECK-NEXT: "end": {2822// CHECK-NEXT: "offset": 289,2823// CHECK-NEXT: "col": 7,2824// CHECK-NEXT: "tokLen": 12825// CHECK-NEXT: }2826// CHECK-NEXT: },2827// CHECK-NEXT: "isImplicit": true,2828// CHECK-NEXT: "isReferenced": true,2829// CHECK-NEXT: "name": "~(lambda at {{.*}}:17:7)",2830// CHECK-NEXT: "mangledName": "_ZZZ4TestvEN1S1fEvENUlvE_D1Ev",2831// CHECK-NEXT: "type": {2832// CHECK-NEXT: "qualType": "void () noexcept"2833// CHECK-NEXT: },2834// CHECK-NEXT: "inline": true,2835// CHECK-NEXT: "constexpr": true,2836// CHECK-NEXT: "explicitlyDefaulted": "default"2837// CHECK-NEXT: }2838// CHECK-NEXT: ]2839// CHECK-NEXT: },2840// CHECK-NEXT: {2841// CHECK-NEXT: "id": "0x{{.*}}",2842// CHECK-NEXT: "kind": "CXXThisExpr",2843// CHECK-NEXT: "range": {2844// CHECK-NEXT: "begin": {2845// CHECK-NEXT: "offset": 290,2846// CHECK-NEXT: "col": 8,2847// CHECK-NEXT: "tokLen": 42848// CHECK-NEXT: },2849// CHECK-NEXT: "end": {2850// CHECK-NEXT: "offset": 290,2851// CHECK-NEXT: "col": 8,2852// CHECK-NEXT: "tokLen": 42853// CHECK-NEXT: }2854// CHECK-NEXT: },2855// CHECK-NEXT: "type": {2856// CHECK-NEXT: "qualType": "S *"2857// CHECK-NEXT: },2858// CHECK-NEXT: "valueCategory": "prvalue"2859// CHECK-NEXT: },2860// CHECK-NEXT: {2861// CHECK-NEXT: "id": "0x{{.*}}",2862// CHECK-NEXT: "kind": "CompoundStmt",2863// CHECK-NEXT: "range": {2864// CHECK-NEXT: "begin": {2865// CHECK-NEXT: "offset": 296,2866// CHECK-NEXT: "col": 14,2867// CHECK-NEXT: "tokLen": 12868// CHECK-NEXT: },2869// CHECK-NEXT: "end": {2870// CHECK-NEXT: "offset": 297,2871// CHECK-NEXT: "col": 15,2872// CHECK-NEXT: "tokLen": 12873// CHECK-NEXT: }2874// CHECK-NEXT: }2875// CHECK-NEXT: }2876// CHECK-NEXT: ]2877// CHECK-NEXT: },2878// CHECK-NEXT: {2879// CHECK-NEXT: "id": "0x{{.*}}",2880// CHECK-NEXT: "kind": "LambdaExpr",2881// CHECK-NEXT: "range": {2882// CHECK-NEXT: "begin": {2883// CHECK-NEXT: "offset": 306,2884// CHECK-NEXT: "line": 18,2885// CHECK-NEXT: "col": 7,2886// CHECK-NEXT: "tokLen": 12887// CHECK-NEXT: },2888// CHECK-NEXT: "end": {2889// CHECK-NEXT: "offset": 316,2890// CHECK-NEXT: "col": 17,2891// CHECK-NEXT: "tokLen": 12892// CHECK-NEXT: }2893// CHECK-NEXT: },2894// CHECK-NEXT: "type": {2895// CHECK-NEXT: "qualType": "(lambda at {{.*}}:18:7)"2896// CHECK-NEXT: },2897// CHECK-NEXT: "valueCategory": "prvalue",2898// CHECK-NEXT: "hasExplicitParameters": true,2899// CHECK-NEXT: "inner": [2900// CHECK-NEXT: {2901// CHECK-NEXT: "id": "0x{{.*}}",2902// CHECK-NEXT: "kind": "CXXRecordDecl",2903// CHECK-NEXT: "loc": {2904// CHECK-NEXT: "offset": 306,2905// CHECK-NEXT: "col": 7,2906// CHECK-NEXT: "tokLen": 12907// CHECK-NEXT: },2908// CHECK-NEXT: "range": {2909// CHECK-NEXT: "begin": {2910// CHECK-NEXT: "offset": 306,2911// CHECK-NEXT: "col": 7,2912// CHECK-NEXT: "tokLen": 12913// CHECK-NEXT: },2914// CHECK-NEXT: "end": {2915// CHECK-NEXT: "offset": 306,2916// CHECK-NEXT: "col": 7,2917// CHECK-NEXT: "tokLen": 12918// CHECK-NEXT: }2919// CHECK-NEXT: },2920// CHECK-NEXT: "isImplicit": true,2921// CHECK-NEXT: "tagUsed": "class",2922// CHECK-NEXT: "completeDefinition": true,2923// CHECK-NEXT: "definitionData": {2924// CHECK-NEXT: "canConstDefaultInit": true,2925// CHECK-NEXT: "canPassInRegisters": true,2926// CHECK-NEXT: "copyAssign": {2927// CHECK-NEXT: "hasConstParam": true,2928// CHECK-NEXT: "implicitHasConstParam": true,2929// CHECK-NEXT: "needsImplicit": true,2930// CHECK-NEXT: "trivial": true2931// CHECK-NEXT: },2932// CHECK-NEXT: "copyCtor": {2933// CHECK-NEXT: "hasConstParam": true,2934// CHECK-NEXT: "implicitHasConstParam": true,2935// CHECK-NEXT: "needsImplicit": true,2936// CHECK-NEXT: "simple": true,2937// CHECK-NEXT: "trivial": true2938// CHECK-NEXT: },2939// CHECK-NEXT: "defaultCtor": {2940// CHECK-NEXT: "defaultedIsConstexpr": true2941// CHECK-NEXT: },2942// CHECK-NEXT: "dtor": {2943// CHECK-NEXT: "irrelevant": true,2944// CHECK-NEXT: "simple": true,2945// CHECK-NEXT: "trivial": true2946// CHECK-NEXT: },2947// CHECK-NEXT: "isLambda": true,2948// CHECK-NEXT: "isLiteral": true,2949// CHECK-NEXT: "isStandardLayout": true,2950// CHECK-NEXT: "isTriviallyCopyable": true,2951// CHECK-NEXT: "moveAssign": {},2952// CHECK-NEXT: "moveCtor": {2953// CHECK-NEXT: "exists": true,2954// CHECK-NEXT: "needsImplicit": true,2955// CHECK-NEXT: "simple": true,2956// CHECK-NEXT: "trivial": true2957// CHECK-NEXT: }2958// CHECK-NEXT: },2959// CHECK-NEXT: "inner": [2960// CHECK-NEXT: {2961// CHECK-NEXT: "id": "0x{{.*}}",2962// CHECK-NEXT: "kind": "CXXMethodDecl",2963// CHECK-NEXT: "loc": {2964// CHECK-NEXT: "offset": 306,2965// CHECK-NEXT: "col": 7,2966// CHECK-NEXT: "tokLen": 12967// CHECK-NEXT: },2968// CHECK-NEXT: "range": {2969// CHECK-NEXT: "begin": {2970// CHECK-NEXT: "offset": 313,2971// CHECK-NEXT: "col": 14,2972// CHECK-NEXT: "tokLen": 12973// CHECK-NEXT: },2974// CHECK-NEXT: "end": {2975// CHECK-NEXT: "offset": 316,2976// CHECK-NEXT: "col": 17,2977// CHECK-NEXT: "tokLen": 12978// CHECK-NEXT: }2979// CHECK-NEXT: },2980// CHECK-NEXT: "name": "operator()",2981// CHECK-NEXT: "mangledName": "_ZZZ4TestvEN1S1fEvENKUlvE0_clEv",2982// CHECK-NEXT: "type": {2983// CHECK-NEXT: "qualType": "void () const"2984// CHECK-NEXT: },2985// CHECK-NEXT: "inline": true,2986// CHECK-NEXT: "constexpr": true,2987// CHECK-NEXT: "inner": [2988// CHECK-NEXT: {2989// CHECK-NEXT: "id": "0x{{.*}}",2990// CHECK-NEXT: "kind": "CompoundStmt",2991// CHECK-NEXT: "range": {2992// CHECK-NEXT: "begin": {2993// CHECK-NEXT: "offset": 315,2994// CHECK-NEXT: "col": 16,2995// CHECK-NEXT: "tokLen": 12996// CHECK-NEXT: },2997// CHECK-NEXT: "end": {2998// CHECK-NEXT: "offset": 316,2999// CHECK-NEXT: "col": 17,3000// CHECK-NEXT: "tokLen": 13001// CHECK-NEXT: }3002// CHECK-NEXT: }3003// CHECK-NEXT: }3004// CHECK-NEXT: ]3005// CHECK-NEXT: },3006// CHECK-NEXT: {3007// CHECK-NEXT: "id": "0x{{.*}}",3008// CHECK-NEXT: "kind": "FieldDecl",3009// CHECK-NEXT: "loc": {3010// CHECK-NEXT: "offset": 307,3011// CHECK-NEXT: "col": 8,3012// CHECK-NEXT: "tokLen": 43013// CHECK-NEXT: },3014// CHECK-NEXT: "range": {3015// CHECK-NEXT: "begin": {3016// CHECK-NEXT: "offset": 307,3017// CHECK-NEXT: "col": 8,3018// CHECK-NEXT: "tokLen": 43019// CHECK-NEXT: },3020// CHECK-NEXT: "end": {3021// CHECK-NEXT: "offset": 307,3022// CHECK-NEXT: "col": 8,3023// CHECK-NEXT: "tokLen": 43024// CHECK-NEXT: }3025// CHECK-NEXT: },3026// CHECK-NEXT: "isImplicit": true,3027// CHECK-NEXT: "type": {3028// CHECK-NEXT: "qualType": "S *"3029// CHECK-NEXT: }3030// CHECK-NEXT: },3031// CHECK-NEXT: {3032// CHECK-NEXT: "id": "0x{{.*}}",3033// CHECK-NEXT: "kind": "CXXDestructorDecl",3034// CHECK-NEXT: "loc": {3035// CHECK-NEXT: "offset": 306,3036// CHECK-NEXT: "col": 7,3037// CHECK-NEXT: "tokLen": 13038// CHECK-NEXT: },3039// CHECK-NEXT: "range": {3040// CHECK-NEXT: "begin": {3041// CHECK-NEXT: "offset": 306,3042// CHECK-NEXT: "col": 7,3043// CHECK-NEXT: "tokLen": 13044// CHECK-NEXT: },3045// CHECK-NEXT: "end": {3046// CHECK-NEXT: "offset": 306,3047// CHECK-NEXT: "col": 7,3048// CHECK-NEXT: "tokLen": 13049// CHECK-NEXT: }3050// CHECK-NEXT: },3051// CHECK-NEXT: "isImplicit": true,3052// CHECK-NEXT: "isReferenced": true,3053// CHECK-NEXT: "name": "~(lambda at {{.*}}:18:7)",3054// CHECK-NEXT: "mangledName": "_ZZZ4TestvEN1S1fEvENUlvE0_D1Ev",3055// CHECK-NEXT: "type": {3056// CHECK-NEXT: "qualType": "void () noexcept"3057// CHECK-NEXT: },3058// CHECK-NEXT: "inline": true,3059// CHECK-NEXT: "constexpr": true,3060// CHECK-NEXT: "explicitlyDefaulted": "default"3061// CHECK-NEXT: }3062// CHECK-NEXT: ]3063// CHECK-NEXT: },3064// CHECK-NEXT: {3065// CHECK-NEXT: "id": "0x{{.*}}",3066// CHECK-NEXT: "kind": "CXXThisExpr",3067// CHECK-NEXT: "range": {3068// CHECK-NEXT: "begin": {3069// CHECK-NEXT: "offset": 307,3070// CHECK-NEXT: "col": 8,3071// CHECK-NEXT: "tokLen": 43072// CHECK-NEXT: },3073// CHECK-NEXT: "end": {3074// CHECK-NEXT: "offset": 307,3075// CHECK-NEXT: "col": 8,3076// CHECK-NEXT: "tokLen": 43077// CHECK-NEXT: }3078// CHECK-NEXT: },3079// CHECK-NEXT: "type": {3080// CHECK-NEXT: "qualType": "S *"3081// CHECK-NEXT: },3082// CHECK-NEXT: "valueCategory": "prvalue"3083// CHECK-NEXT: },3084// CHECK-NEXT: {3085// CHECK-NEXT: "id": "0x{{.*}}",3086// CHECK-NEXT: "kind": "CompoundStmt",3087// CHECK-NEXT: "range": {3088// CHECK-NEXT: "begin": {3089// CHECK-NEXT: "offset": 315,3090// CHECK-NEXT: "col": 16,3091// CHECK-NEXT: "tokLen": 13092// CHECK-NEXT: },3093// CHECK-NEXT: "end": {3094// CHECK-NEXT: "offset": 316,3095// CHECK-NEXT: "col": 17,3096// CHECK-NEXT: "tokLen": 13097// CHECK-NEXT: }3098// CHECK-NEXT: }3099// CHECK-NEXT: }3100// CHECK-NEXT: ]3101// CHECK-NEXT: }3102// CHECK-NEXT: ]3103// CHECK-NEXT: }3104// CHECK-NEXT: ]3105// CHECK-NEXT: }3106// CHECK-NEXT: ]3107// CHECK-NEXT: }3108// CHECK-NEXT: ]3109// CHECK-NEXT: },3110// CHECK-NEXT: {3111// CHECK-NEXT: "id": "0x{{.*}}",3112// CHECK-NEXT: "kind": "LambdaExpr",3113// CHECK-NEXT: "range": {3114// CHECK-NEXT: "begin": {3115// CHECK-NEXT: "offset": 332,3116// CHECK-NEXT: "line": 21,3117// CHECK-NEXT: "col": 3,3118// CHECK-NEXT: "tokLen": 13119// CHECK-NEXT: },3120// CHECK-NEXT: "end": {3121// CHECK-NEXT: "offset": 341,3122// CHECK-NEXT: "col": 12,3123// CHECK-NEXT: "tokLen": 13124// CHECK-NEXT: }3125// CHECK-NEXT: },3126// CHECK-NEXT: "type": {3127// CHECK-NEXT: "qualType": "(lambda at {{.*}}:21:3)"3128// CHECK-NEXT: },3129// CHECK-NEXT: "valueCategory": "prvalue",3130// CHECK-NEXT: "hasExplicitParameters": true,3131// CHECK-NEXT: "inner": [3132// CHECK-NEXT: {3133// CHECK-NEXT: "id": "0x{{.*}}",3134// CHECK-NEXT: "kind": "CXXRecordDecl",3135// CHECK-NEXT: "loc": {3136// CHECK-NEXT: "offset": 332,3137// CHECK-NEXT: "col": 3,3138// CHECK-NEXT: "tokLen": 13139// CHECK-NEXT: },3140// CHECK-NEXT: "range": {3141// CHECK-NEXT: "begin": {3142// CHECK-NEXT: "offset": 332,3143// CHECK-NEXT: "col": 3,3144// CHECK-NEXT: "tokLen": 13145// CHECK-NEXT: },3146// CHECK-NEXT: "end": {3147// CHECK-NEXT: "offset": 332,3148// CHECK-NEXT: "col": 3,3149// CHECK-NEXT: "tokLen": 13150// CHECK-NEXT: }3151// CHECK-NEXT: },3152// CHECK-NEXT: "isImplicit": true,3153// CHECK-NEXT: "tagUsed": "class",3154// CHECK-NEXT: "completeDefinition": true,3155// CHECK-NEXT: "definitionData": {3156// CHECK-NEXT: "canConstDefaultInit": true,3157// CHECK-NEXT: "canPassInRegisters": true,3158// CHECK-NEXT: "copyAssign": {3159// CHECK-NEXT: "hasConstParam": true,3160// CHECK-NEXT: "implicitHasConstParam": true,3161// CHECK-NEXT: "needsImplicit": true,3162// CHECK-NEXT: "simple": true,3163// CHECK-NEXT: "trivial": true3164// CHECK-NEXT: },3165// CHECK-NEXT: "copyCtor": {3166// CHECK-NEXT: "hasConstParam": true,3167// CHECK-NEXT: "implicitHasConstParam": true,3168// CHECK-NEXT: "needsImplicit": true,3169// CHECK-NEXT: "simple": true,3170// CHECK-NEXT: "trivial": true3171// CHECK-NEXT: },3172// CHECK-NEXT: "defaultCtor": {3173// CHECK-NEXT: "defaultedIsConstexpr": true,3174// CHECK-NEXT: "exists": true,3175// CHECK-NEXT: "isConstexpr": true,3176// CHECK-NEXT: "needsImplicit": true,3177// CHECK-NEXT: "trivial": true3178// CHECK-NEXT: },3179// CHECK-NEXT: "dtor": {3180// CHECK-NEXT: "irrelevant": true,3181// CHECK-NEXT: "simple": true,3182// CHECK-NEXT: "trivial": true3183// CHECK-NEXT: },3184// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true,3185// CHECK-NEXT: "isEmpty": true,3186// CHECK-NEXT: "isLambda": true,3187// CHECK-NEXT: "isLiteral": true,3188// CHECK-NEXT: "isStandardLayout": true,3189// CHECK-NEXT: "isTrivial": true,3190// CHECK-NEXT: "isTriviallyCopyable": true,3191// CHECK-NEXT: "moveAssign": {3192// CHECK-NEXT: "exists": true,3193// CHECK-NEXT: "needsImplicit": true,3194// CHECK-NEXT: "simple": true,3195// CHECK-NEXT: "trivial": true3196// CHECK-NEXT: },3197// CHECK-NEXT: "moveCtor": {3198// CHECK-NEXT: "exists": true,3199// CHECK-NEXT: "needsImplicit": true,3200// CHECK-NEXT: "simple": true,3201// CHECK-NEXT: "trivial": true3202// CHECK-NEXT: }3203// CHECK-NEXT: },3204// CHECK-NEXT: "inner": [3205// CHECK-NEXT: {3206// CHECK-NEXT: "id": "0x{{.*}}",3207// CHECK-NEXT: "kind": "CXXMethodDecl",3208// CHECK-NEXT: "loc": {3209// CHECK-NEXT: "offset": 332,3210// CHECK-NEXT: "col": 3,3211// CHECK-NEXT: "tokLen": 13212// CHECK-NEXT: },3213// CHECK-NEXT: "range": {3214// CHECK-NEXT: "begin": {3215// CHECK-NEXT: "offset": 339,3216// CHECK-NEXT: "col": 10,3217// CHECK-NEXT: "tokLen": 13218// CHECK-NEXT: },3219// CHECK-NEXT: "end": {3220// CHECK-NEXT: "offset": 341,3221// CHECK-NEXT: "col": 12,3222// CHECK-NEXT: "tokLen": 13223// CHECK-NEXT: }3224// CHECK-NEXT: },3225// CHECK-NEXT: "name": "operator()",3226// CHECK-NEXT: "mangledName": "_ZZ4TestvENK3$_7clEv",3227// CHECK-NEXT: "type": {3228// CHECK-NEXT: "qualType": "void () const"3229// CHECK-NEXT: },3230// CHECK-NEXT: "inline": true,3231// CHECK-NEXT: "constexpr": true,3232// CHECK-NEXT: "inner": [3233// CHECK-NEXT: {3234// CHECK-NEXT: "id": "0x{{.*}}",3235// CHECK-NEXT: "kind": "CompoundStmt",3236// CHECK-NEXT: "range": {3237// CHECK-NEXT: "begin": {3238// CHECK-NEXT: "offset": 340,3239// CHECK-NEXT: "col": 11,3240// CHECK-NEXT: "tokLen": 13241// CHECK-NEXT: },3242// CHECK-NEXT: "end": {3243// CHECK-NEXT: "offset": 341,3244// CHECK-NEXT: "col": 12,3245// CHECK-NEXT: "tokLen": 13246// CHECK-NEXT: }3247// CHECK-NEXT: }3248// CHECK-NEXT: }3249// CHECK-NEXT: ]3250// CHECK-NEXT: },3251// CHECK-NEXT: {3252// CHECK-NEXT: "id": "0x{{.*}}",3253// CHECK-NEXT: "kind": "CXXConversionDecl",3254// CHECK-NEXT: "loc": {3255// CHECK-NEXT: "offset": 332,3256// CHECK-NEXT: "col": 3,3257// CHECK-NEXT: "tokLen": 13258// CHECK-NEXT: },3259// CHECK-NEXT: "range": {3260// CHECK-NEXT: "begin": {3261// CHECK-NEXT: "offset": 332,3262// CHECK-NEXT: "col": 3,3263// CHECK-NEXT: "tokLen": 13264// CHECK-NEXT: },3265// CHECK-NEXT: "end": {3266// CHECK-NEXT: "offset": 341,3267// CHECK-NEXT: "col": 12,3268// CHECK-NEXT: "tokLen": 13269// CHECK-NEXT: }3270// CHECK-NEXT: },3271// CHECK-NEXT: "isImplicit": true,3272// CHECK-NEXT: "name": "operator void (*)()",3273// CHECK-NEXT: "mangledName": "_ZZ4TestvENK3$_7cvPFvvEEv",3274// CHECK-NEXT: "type": {3275// CHECK-NEXT: "qualType": "void (*() const noexcept)()"3276// CHECK-NEXT: },3277// CHECK-NEXT: "inline": true,3278// CHECK-NEXT: "constexpr": true3279// CHECK-NEXT: },3280// CHECK-NEXT: {3281// CHECK-NEXT: "id": "0x{{.*}}",3282// CHECK-NEXT: "kind": "CXXMethodDecl",3283// CHECK-NEXT: "loc": {3284// CHECK-NEXT: "offset": 332,3285// CHECK-NEXT: "col": 3,3286// CHECK-NEXT: "tokLen": 13287// CHECK-NEXT: },3288// CHECK-NEXT: "range": {3289// CHECK-NEXT: "begin": {3290// CHECK-NEXT: "offset": 332,3291// CHECK-NEXT: "col": 3,3292// CHECK-NEXT: "tokLen": 13293// CHECK-NEXT: },3294// CHECK-NEXT: "end": {3295// CHECK-NEXT: "offset": 341,3296// CHECK-NEXT: "col": 12,3297// CHECK-NEXT: "tokLen": 13298// CHECK-NEXT: }3299// CHECK-NEXT: },3300// CHECK-NEXT: "isImplicit": true,3301// CHECK-NEXT: "name": "__invoke",3302// CHECK-NEXT: "mangledName": "_ZZ4TestvEN3$_78__invokeEv",3303// CHECK-NEXT: "type": {3304// CHECK-NEXT: "qualType": "void ()"3305// CHECK-NEXT: },3306// CHECK-NEXT: "storageClass": "static",3307// CHECK-NEXT: "inline": true3308// CHECK-NEXT: },3309// CHECK-NEXT: {3310// CHECK-NEXT: "id": "0x{{.*}}",3311// CHECK-NEXT: "kind": "CXXDestructorDecl",3312// CHECK-NEXT: "loc": {3313// CHECK-NEXT: "offset": 332,3314// CHECK-NEXT: "col": 3,3315// CHECK-NEXT: "tokLen": 13316// CHECK-NEXT: },3317// CHECK-NEXT: "range": {3318// CHECK-NEXT: "begin": {3319// CHECK-NEXT: "offset": 332,3320// CHECK-NEXT: "col": 3,3321// CHECK-NEXT: "tokLen": 13322// CHECK-NEXT: },3323// CHECK-NEXT: "end": {3324// CHECK-NEXT: "offset": 332,3325// CHECK-NEXT: "col": 3,3326// CHECK-NEXT: "tokLen": 13327// CHECK-NEXT: }3328// CHECK-NEXT: },3329// CHECK-NEXT: "isImplicit": true,3330// CHECK-NEXT: "isReferenced": true,3331// CHECK-NEXT: "name": "~(lambda at {{.*}}:21:3)",3332// CHECK-NEXT: "mangledName": "_ZZ4TestvEN3$_7D1Ev",3333// CHECK-NEXT: "type": {3334// CHECK-NEXT: "qualType": "void () noexcept"3335// CHECK-NEXT: },3336// CHECK-NEXT: "inline": true,3337// CHECK-NEXT: "constexpr": true,3338// CHECK-NEXT: "explicitlyDefaulted": "default"3339// CHECK-NEXT: }3340// CHECK-NEXT: ]3341// CHECK-NEXT: },3342// CHECK-NEXT: {3343// CHECK-NEXT: "id": "0x{{.*}}",3344// CHECK-NEXT: "kind": "CompoundStmt",3345// CHECK-NEXT: "range": {3346// CHECK-NEXT: "begin": {3347// CHECK-NEXT: "offset": 340,3348// CHECK-NEXT: "col": 11,3349// CHECK-NEXT: "tokLen": 13350// CHECK-NEXT: },3351// CHECK-NEXT: "end": {3352// CHECK-NEXT: "offset": 341,3353// CHECK-NEXT: "col": 12,3354// CHECK-NEXT: "tokLen": 13355// CHECK-NEXT: }3356// CHECK-NEXT: }3357// CHECK-NEXT: }3358// CHECK-NEXT: ]3359// CHECK-NEXT: }3360// CHECK-NEXT: ]3361// CHECK-NEXT: }3362// CHECK-NEXT: ]3363// CHECK-NEXT: },3364// CHECK-NEXT: {3365// CHECK-NEXT: "id": "0x{{.*}}",3366// CHECK-NEXT: "kind": "EmptyDecl",3367// CHECK-NEXT: "loc": {3368// CHECK-NEXT: "offset": 345,3369// CHECK-NEXT: "line": 22,3370// CHECK-NEXT: "col": 2,3371// CHECK-NEXT: "tokLen": 13372// CHECK-NEXT: },3373// CHECK-NEXT: "range": {3374// CHECK-NEXT: "begin": {3375// CHECK-NEXT: "offset": 345,3376// CHECK-NEXT: "col": 2,3377// CHECK-NEXT: "tokLen": 13378// CHECK-NEXT: },3379// CHECK-NEXT: "end": {3380// CHECK-NEXT: "offset": 345,3381// CHECK-NEXT: "col": 2,3382// CHECK-NEXT: "tokLen": 13383// CHECK-NEXT: }3384// CHECK-NEXT: }3385// CHECK-NEXT: }3386// CHECK-NEXT: ]3387// CHECK-NEXT: }3388