brintos

brintos / llvm-project-archived public Read only

0
0
Text · 128.5 KiB · fc28cc8 Raw
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