2092 lines · cpp
1// RUN: %clang_cc1 -std=c++23 -triple x86_64-linux-gnu -fsyntax-only -ast-dump=json %s | FileCheck %s2 3struct S {4 int arr[1];5 const int *begin() const { return arr; }6 const int *end() const { return &arr[1]; }7 S() {}8 ~S() {}9};10 11S func(const int &, const S &s = S());12 13void test() {14 for (auto v : func(1)) {}15}16 17// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py18 19 20// CHECK-NOT: {{^}}Dumping21// CHECK: "kind": "TranslationUnitDecl",22// CHECK-NEXT: "loc": {},23// CHECK-NEXT: "range": {24// CHECK-NEXT: "begin": {},25// CHECK-NEXT: "end": {}26// CHECK-NEXT: },27// CHECK-NEXT: "inner": [28// CHECK-NEXT: {29// CHECK-NEXT: "id": "0x{{.*}}",30// CHECK-NEXT: "kind": "TypedefDecl",31// CHECK-NEXT: "loc": {},32// CHECK-NEXT: "range": {33// CHECK-NEXT: "begin": {},34// CHECK-NEXT: "end": {}35// CHECK-NEXT: },36// CHECK-NEXT: "isImplicit": true,37// CHECK-NEXT: "name": "__int128_t",38// CHECK-NEXT: "type": {39// CHECK-NEXT: "qualType": "__int128"40// CHECK-NEXT: },41// CHECK-NEXT: "inner": [42// CHECK-NEXT: {43// CHECK-NEXT: "id": "0x{{.*}}",44// CHECK-NEXT: "kind": "BuiltinType",45// CHECK-NEXT: "type": {46// CHECK-NEXT: "qualType": "__int128"47// CHECK-NEXT: }48// CHECK-NEXT: }49// CHECK-NEXT: ]50// CHECK-NEXT: },51// CHECK-NEXT: {52// CHECK-NEXT: "id": "0x{{.*}}",53// CHECK-NEXT: "kind": "TypedefDecl",54// CHECK-NEXT: "loc": {},55// CHECK-NEXT: "range": {56// CHECK-NEXT: "begin": {},57// CHECK-NEXT: "end": {}58// CHECK-NEXT: },59// CHECK-NEXT: "isImplicit": true,60// CHECK-NEXT: "name": "__uint128_t",61// CHECK-NEXT: "type": {62// CHECK-NEXT: "qualType": "unsigned __int128"63// CHECK-NEXT: },64// CHECK-NEXT: "inner": [65// CHECK-NEXT: {66// CHECK-NEXT: "id": "0x{{.*}}",67// CHECK-NEXT: "kind": "BuiltinType",68// CHECK-NEXT: "type": {69// CHECK-NEXT: "qualType": "unsigned __int128"70// CHECK-NEXT: }71// CHECK-NEXT: }72// CHECK-NEXT: ]73// CHECK-NEXT: },74// CHECK-NEXT: {75// CHECK-NEXT: "id": "0x{{.*}}",76// CHECK-NEXT: "kind": "TypedefDecl",77// CHECK-NEXT: "loc": {},78// CHECK-NEXT: "range": {79// CHECK-NEXT: "begin": {},80// CHECK-NEXT: "end": {}81// CHECK-NEXT: },82// CHECK-NEXT: "isImplicit": true,83// CHECK-NEXT: "name": "__NSConstantString",84// CHECK-NEXT: "type": {85// CHECK-NEXT: "qualType": "__NSConstantString_tag"86// CHECK-NEXT: },87// CHECK-NEXT: "inner": [88// CHECK-NEXT: {89// CHECK-NEXT: "id": "0x{{.*}}",90// CHECK-NEXT: "kind": "RecordType",91// CHECK-NEXT: "type": {92// CHECK-NEXT: "qualType": "__NSConstantString_tag"93// CHECK-NEXT: },94// CHECK-NEXT: "decl": {95// CHECK-NEXT: "id": "0x{{.*}}",96// CHECK-NEXT: "kind": "CXXRecordDecl",97// CHECK-NEXT: "name": "__NSConstantString_tag"98// CHECK-NEXT: }99// CHECK-NEXT: }100// CHECK-NEXT: ]101// CHECK-NEXT: },102// CHECK-NEXT: {103// CHECK-NEXT: "id": "0x{{.*}}",104// CHECK-NEXT: "kind": "TypedefDecl",105// CHECK-NEXT: "loc": {},106// CHECK-NEXT: "range": {107// CHECK-NEXT: "begin": {},108// CHECK-NEXT: "end": {}109// CHECK-NEXT: },110// CHECK-NEXT: "isImplicit": true,111// CHECK-NEXT: "name": "__builtin_ms_va_list",112// CHECK-NEXT: "type": {113// CHECK-NEXT: "qualType": "char *"114// CHECK-NEXT: },115// CHECK-NEXT: "inner": [116// CHECK-NEXT: {117// CHECK-NEXT: "id": "0x{{.*}}",118// CHECK-NEXT: "kind": "PointerType",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": "BuiltinType",126// CHECK-NEXT: "type": {127// CHECK-NEXT: "qualType": "char"128// CHECK-NEXT: }129// CHECK-NEXT: }130// CHECK-NEXT: ]131// CHECK-NEXT: }132// CHECK-NEXT: ]133// CHECK-NEXT: },134// CHECK-NEXT: {135// CHECK-NEXT: "id": "0x{{.*}}",136// CHECK-NEXT: "kind": "TypedefDecl",137// CHECK-NEXT: "loc": {},138// CHECK-NEXT: "range": {139// CHECK-NEXT: "begin": {},140// CHECK-NEXT: "end": {}141// CHECK-NEXT: },142// CHECK-NEXT: "isImplicit": true,143// CHECK-NEXT: "name": "__builtin_va_list",144// CHECK-NEXT: "type": {145// CHECK-NEXT: "qualType": "__va_list_tag[1]"146// CHECK-NEXT: },147// CHECK-NEXT: "inner": [148// CHECK-NEXT: {149// CHECK-NEXT: "id": "0x{{.*}}",150// CHECK-NEXT: "kind": "ConstantArrayType",151// CHECK-NEXT: "type": {152// CHECK-NEXT: "qualType": "__va_list_tag[1]"153// CHECK-NEXT: },154// CHECK-NEXT: "size": 1,155// CHECK-NEXT: "inner": [156// CHECK-NEXT: {157// CHECK-NEXT: "id": "0x{{.*}}",158// CHECK-NEXT: "kind": "RecordType",159// CHECK-NEXT: "type": {160// CHECK-NEXT: "qualType": "__va_list_tag"161// CHECK-NEXT: },162// CHECK-NEXT: "decl": {163// CHECK-NEXT: "id": "0x{{.*}}",164// CHECK-NEXT: "kind": "CXXRecordDecl",165// CHECK-NEXT: "name": "__va_list_tag"166// CHECK-NEXT: }167// CHECK-NEXT: }168// CHECK-NEXT: ]169// CHECK-NEXT: }170// CHECK-NEXT: ]171// CHECK-NEXT: },172// CHECK-NEXT: {173// CHECK-NEXT: "id": "0x{{.*}}",174// CHECK-NEXT: "kind": "CXXRecordDecl",175// CHECK-NEXT: "loc": {176// CHECK-NEXT: "offset": 110,177// CHECK-NEXT: "file": "{{.*}}",178// CHECK-NEXT: "line": 3,179// CHECK-NEXT: "col": 8,180// CHECK-NEXT: "tokLen": 1181// CHECK-NEXT: },182// CHECK-NEXT: "range": {183// CHECK-NEXT: "begin": {184// CHECK-NEXT: "offset": 103,185// CHECK-NEXT: "col": 1,186// CHECK-NEXT: "tokLen": 6187// CHECK-NEXT: },188// CHECK-NEXT: "end": {189// CHECK-NEXT: "offset": 235,190// CHECK-NEXT: "line": 9,191// CHECK-NEXT: "col": 1,192// CHECK-NEXT: "tokLen": 1193// CHECK-NEXT: }194// CHECK-NEXT: },195// CHECK-NEXT: "isReferenced": true,196// CHECK-NEXT: "name": "S",197// CHECK-NEXT: "tagUsed": "struct",198// CHECK-NEXT: "completeDefinition": true,199// CHECK-NEXT: "definitionData": {200// CHECK-NEXT: "canConstDefaultInit": true,201// CHECK-NEXT: "copyAssign": {202// CHECK-NEXT: "hasConstParam": true,203// CHECK-NEXT: "implicitHasConstParam": true,204// CHECK-NEXT: "needsImplicit": true,205// CHECK-NEXT: "simple": true,206// CHECK-NEXT: "trivial": true207// CHECK-NEXT: },208// CHECK-NEXT: "copyCtor": {209// CHECK-NEXT: "hasConstParam": true,210// CHECK-NEXT: "implicitHasConstParam": true,211// CHECK-NEXT: "simple": true,212// CHECK-NEXT: "trivial": true213// CHECK-NEXT: },214// CHECK-NEXT: "defaultCtor": {215// CHECK-NEXT: "defaultedIsConstexpr": true,216// CHECK-NEXT: "exists": true,217// CHECK-NEXT: "nonTrivial": true,218// CHECK-NEXT: "userProvided": true219// CHECK-NEXT: },220// CHECK-NEXT: "dtor": {221// CHECK-NEXT: "nonTrivial": true,222// CHECK-NEXT: "userDeclared": true223// CHECK-NEXT: },224// CHECK-NEXT: "hasUserDeclaredConstructor": true,225// CHECK-NEXT: "isStandardLayout": true,226// CHECK-NEXT: "moveAssign": {},227// CHECK-NEXT: "moveCtor": {}228// CHECK-NEXT: },229// CHECK-NEXT: "inner": [230// CHECK-NEXT: {231// CHECK-NEXT: "id": "0x{{.*}}",232// CHECK-NEXT: "kind": "CXXRecordDecl",233// CHECK-NEXT: "loc": {234// CHECK-NEXT: "offset": 110,235// CHECK-NEXT: "line": 3,236// CHECK-NEXT: "col": 8,237// CHECK-NEXT: "tokLen": 1238// CHECK-NEXT: },239// CHECK-NEXT: "range": {240// CHECK-NEXT: "begin": {241// CHECK-NEXT: "offset": 103,242// CHECK-NEXT: "col": 1,243// CHECK-NEXT: "tokLen": 6244// CHECK-NEXT: },245// CHECK-NEXT: "end": {246// CHECK-NEXT: "offset": 110,247// CHECK-NEXT: "col": 8,248// CHECK-NEXT: "tokLen": 1249// CHECK-NEXT: }250// CHECK-NEXT: },251// CHECK-NEXT: "isImplicit": true,252// CHECK-NEXT: "isReferenced": true,253// CHECK-NEXT: "name": "S",254// CHECK-NEXT: "tagUsed": "struct"255// CHECK-NEXT: },256// CHECK-NEXT: {257// CHECK-NEXT: "id": "0x{{.*}}",258// CHECK-NEXT: "kind": "FieldDecl",259// CHECK-NEXT: "loc": {260// CHECK-NEXT: "offset": 120,261// CHECK-NEXT: "line": 4,262// CHECK-NEXT: "col": 7,263// CHECK-NEXT: "tokLen": 3264// CHECK-NEXT: },265// CHECK-NEXT: "range": {266// CHECK-NEXT: "begin": {267// CHECK-NEXT: "offset": 116,268// CHECK-NEXT: "col": 3,269// CHECK-NEXT: "tokLen": 3270// CHECK-NEXT: },271// CHECK-NEXT: "end": {272// CHECK-NEXT: "offset": 125,273// CHECK-NEXT: "col": 12,274// CHECK-NEXT: "tokLen": 1275// CHECK-NEXT: }276// CHECK-NEXT: },277// CHECK-NEXT: "isReferenced": true,278// CHECK-NEXT: "name": "arr",279// CHECK-NEXT: "type": {280// CHECK-NEXT: "qualType": "int[1]"281// CHECK-NEXT: }282// CHECK-NEXT: },283// CHECK-NEXT: {284// CHECK-NEXT: "id": "0x{{.*}}",285// CHECK-NEXT: "kind": "CXXMethodDecl",286// CHECK-NEXT: "loc": {287// CHECK-NEXT: "offset": 141,288// CHECK-NEXT: "line": 5,289// CHECK-NEXT: "col": 14,290// CHECK-NEXT: "tokLen": 5291// CHECK-NEXT: },292// CHECK-NEXT: "range": {293// CHECK-NEXT: "begin": {294// CHECK-NEXT: "offset": 130,295// CHECK-NEXT: "col": 3,296// CHECK-NEXT: "tokLen": 5297// CHECK-NEXT: },298// CHECK-NEXT: "end": {299// CHECK-NEXT: "offset": 169,300// CHECK-NEXT: "col": 42,301// CHECK-NEXT: "tokLen": 1302// CHECK-NEXT: }303// CHECK-NEXT: },304// CHECK-NEXT: "isUsed": true,305// CHECK-NEXT: "name": "begin",306// CHECK-NEXT: "mangledName": "_ZNK1S5beginEv",307// CHECK-NEXT: "type": {308// CHECK-NEXT: "qualType": "const int *() const"309// CHECK-NEXT: },310// CHECK-NEXT: "inner": [311// CHECK-NEXT: {312// CHECK-NEXT: "id": "0x{{.*}}",313// CHECK-NEXT: "kind": "CompoundStmt",314// CHECK-NEXT: "range": {315// CHECK-NEXT: "begin": {316// CHECK-NEXT: "offset": 155,317// CHECK-NEXT: "col": 28,318// CHECK-NEXT: "tokLen": 1319// CHECK-NEXT: },320// CHECK-NEXT: "end": {321// CHECK-NEXT: "offset": 169,322// CHECK-NEXT: "col": 42,323// CHECK-NEXT: "tokLen": 1324// CHECK-NEXT: }325// CHECK-NEXT: },326// CHECK-NEXT: "inner": [327// CHECK-NEXT: {328// CHECK-NEXT: "id": "0x{{.*}}",329// CHECK-NEXT: "kind": "ReturnStmt",330// CHECK-NEXT: "range": {331// CHECK-NEXT: "begin": {332// CHECK-NEXT: "offset": 157,333// CHECK-NEXT: "col": 30,334// CHECK-NEXT: "tokLen": 6335// CHECK-NEXT: },336// CHECK-NEXT: "end": {337// CHECK-NEXT: "offset": 164,338// CHECK-NEXT: "col": 37,339// CHECK-NEXT: "tokLen": 3340// CHECK-NEXT: }341// CHECK-NEXT: },342// CHECK-NEXT: "inner": [343// CHECK-NEXT: {344// CHECK-NEXT: "id": "0x{{.*}}",345// CHECK-NEXT: "kind": "ImplicitCastExpr",346// CHECK-NEXT: "range": {347// CHECK-NEXT: "begin": {348// CHECK-NEXT: "offset": 164,349// CHECK-NEXT: "col": 37,350// CHECK-NEXT: "tokLen": 3351// CHECK-NEXT: },352// CHECK-NEXT: "end": {353// CHECK-NEXT: "offset": 164,354// CHECK-NEXT: "col": 37,355// CHECK-NEXT: "tokLen": 3356// CHECK-NEXT: }357// CHECK-NEXT: },358// CHECK-NEXT: "type": {359// CHECK-NEXT: "qualType": "const int *"360// CHECK-NEXT: },361// CHECK-NEXT: "valueCategory": "prvalue",362// CHECK-NEXT: "castKind": "ArrayToPointerDecay",363// CHECK-NEXT: "inner": [364// CHECK-NEXT: {365// CHECK-NEXT: "id": "0x{{.*}}",366// CHECK-NEXT: "kind": "MemberExpr",367// CHECK-NEXT: "range": {368// CHECK-NEXT: "begin": {369// CHECK-NEXT: "offset": 164,370// CHECK-NEXT: "col": 37,371// CHECK-NEXT: "tokLen": 3372// CHECK-NEXT: },373// CHECK-NEXT: "end": {374// CHECK-NEXT: "offset": 164,375// CHECK-NEXT: "col": 37,376// CHECK-NEXT: "tokLen": 3377// CHECK-NEXT: }378// CHECK-NEXT: },379// CHECK-NEXT: "type": {380// CHECK-NEXT: "qualType": "const int[1]"381// CHECK-NEXT: },382// CHECK-NEXT: "valueCategory": "lvalue",383// CHECK-NEXT: "name": "arr",384// CHECK-NEXT: "isArrow": true,385// CHECK-NEXT: "referencedMemberDecl": "0x{{.*}}",386// CHECK-NEXT: "inner": [387// CHECK-NEXT: {388// CHECK-NEXT: "id": "0x{{.*}}",389// CHECK-NEXT: "kind": "CXXThisExpr",390// CHECK-NEXT: "range": {391// CHECK-NEXT: "begin": {392// CHECK-NEXT: "offset": 164,393// CHECK-NEXT: "col": 37,394// CHECK-NEXT: "tokLen": 3395// CHECK-NEXT: },396// CHECK-NEXT: "end": {397// CHECK-NEXT: "offset": 164,398// CHECK-NEXT: "col": 37,399// CHECK-NEXT: "tokLen": 3400// CHECK-NEXT: }401// CHECK-NEXT: },402// CHECK-NEXT: "type": {403// CHECK-NEXT: "qualType": "const S *"404// CHECK-NEXT: },405// CHECK-NEXT: "valueCategory": "prvalue",406// CHECK-NEXT: "implicit": true407// CHECK-NEXT: }408// CHECK-NEXT: ]409// CHECK-NEXT: }410// CHECK-NEXT: ]411// CHECK-NEXT: }412// CHECK-NEXT: ]413// CHECK-NEXT: }414// CHECK-NEXT: ]415// CHECK-NEXT: }416// CHECK-NEXT: ]417// CHECK-NEXT: },418// CHECK-NEXT: {419// CHECK-NEXT: "id": "0x{{.*}}",420// CHECK-NEXT: "kind": "CXXMethodDecl",421// CHECK-NEXT: "loc": {422// CHECK-NEXT: "offset": 184,423// CHECK-NEXT: "line": 6,424// CHECK-NEXT: "col": 14,425// CHECK-NEXT: "tokLen": 3426// CHECK-NEXT: },427// CHECK-NEXT: "range": {428// CHECK-NEXT: "begin": {429// CHECK-NEXT: "offset": 173,430// CHECK-NEXT: "col": 3,431// CHECK-NEXT: "tokLen": 5432// CHECK-NEXT: },433// CHECK-NEXT: "end": {434// CHECK-NEXT: "offset": 214,435// CHECK-NEXT: "col": 44,436// CHECK-NEXT: "tokLen": 1437// CHECK-NEXT: }438// CHECK-NEXT: },439// CHECK-NEXT: "isUsed": true,440// CHECK-NEXT: "name": "end",441// CHECK-NEXT: "mangledName": "_ZNK1S3endEv",442// CHECK-NEXT: "type": {443// CHECK-NEXT: "qualType": "const int *() const"444// CHECK-NEXT: },445// CHECK-NEXT: "inner": [446// CHECK-NEXT: {447// CHECK-NEXT: "id": "0x{{.*}}",448// CHECK-NEXT: "kind": "CompoundStmt",449// CHECK-NEXT: "range": {450// CHECK-NEXT: "begin": {451// CHECK-NEXT: "offset": 196,452// CHECK-NEXT: "col": 26,453// CHECK-NEXT: "tokLen": 1454// CHECK-NEXT: },455// CHECK-NEXT: "end": {456// CHECK-NEXT: "offset": 214,457// CHECK-NEXT: "col": 44,458// CHECK-NEXT: "tokLen": 1459// CHECK-NEXT: }460// CHECK-NEXT: },461// CHECK-NEXT: "inner": [462// CHECK-NEXT: {463// CHECK-NEXT: "id": "0x{{.*}}",464// CHECK-NEXT: "kind": "ReturnStmt",465// CHECK-NEXT: "range": {466// CHECK-NEXT: "begin": {467// CHECK-NEXT: "offset": 198,468// CHECK-NEXT: "col": 28,469// CHECK-NEXT: "tokLen": 6470// CHECK-NEXT: },471// CHECK-NEXT: "end": {472// CHECK-NEXT: "offset": 211,473// CHECK-NEXT: "col": 41,474// CHECK-NEXT: "tokLen": 1475// CHECK-NEXT: }476// CHECK-NEXT: },477// CHECK-NEXT: "inner": [478// CHECK-NEXT: {479// CHECK-NEXT: "id": "0x{{.*}}",480// CHECK-NEXT: "kind": "UnaryOperator",481// CHECK-NEXT: "range": {482// CHECK-NEXT: "begin": {483// CHECK-NEXT: "offset": 205,484// CHECK-NEXT: "col": 35,485// CHECK-NEXT: "tokLen": 1486// CHECK-NEXT: },487// CHECK-NEXT: "end": {488// CHECK-NEXT: "offset": 211,489// CHECK-NEXT: "col": 41,490// CHECK-NEXT: "tokLen": 1491// CHECK-NEXT: }492// CHECK-NEXT: },493// CHECK-NEXT: "type": {494// CHECK-NEXT: "qualType": "const int *"495// CHECK-NEXT: },496// CHECK-NEXT: "valueCategory": "prvalue",497// CHECK-NEXT: "isPostfix": false,498// CHECK-NEXT: "opcode": "&",499// CHECK-NEXT: "canOverflow": false,500// CHECK-NEXT: "inner": [501// CHECK-NEXT: {502// CHECK-NEXT: "id": "0x{{.*}}",503// CHECK-NEXT: "kind": "ArraySubscriptExpr",504// CHECK-NEXT: "range": {505// CHECK-NEXT: "begin": {506// CHECK-NEXT: "offset": 206,507// CHECK-NEXT: "col": 36,508// CHECK-NEXT: "tokLen": 3509// CHECK-NEXT: },510// CHECK-NEXT: "end": {511// CHECK-NEXT: "offset": 211,512// CHECK-NEXT: "col": 41,513// CHECK-NEXT: "tokLen": 1514// CHECK-NEXT: }515// CHECK-NEXT: },516// CHECK-NEXT: "type": {517// CHECK-NEXT: "qualType": "const int"518// CHECK-NEXT: },519// CHECK-NEXT: "valueCategory": "lvalue",520// CHECK-NEXT: "inner": [521// CHECK-NEXT: {522// CHECK-NEXT: "id": "0x{{.*}}",523// CHECK-NEXT: "kind": "ImplicitCastExpr",524// CHECK-NEXT: "range": {525// CHECK-NEXT: "begin": {526// CHECK-NEXT: "offset": 206,527// CHECK-NEXT: "col": 36,528// CHECK-NEXT: "tokLen": 3529// CHECK-NEXT: },530// CHECK-NEXT: "end": {531// CHECK-NEXT: "offset": 206,532// CHECK-NEXT: "col": 36,533// CHECK-NEXT: "tokLen": 3534// CHECK-NEXT: }535// CHECK-NEXT: },536// CHECK-NEXT: "type": {537// CHECK-NEXT: "qualType": "const int *"538// CHECK-NEXT: },539// CHECK-NEXT: "valueCategory": "prvalue",540// CHECK-NEXT: "castKind": "ArrayToPointerDecay",541// CHECK-NEXT: "inner": [542// CHECK-NEXT: {543// CHECK-NEXT: "id": "0x{{.*}}",544// CHECK-NEXT: "kind": "MemberExpr",545// CHECK-NEXT: "range": {546// CHECK-NEXT: "begin": {547// CHECK-NEXT: "offset": 206,548// CHECK-NEXT: "col": 36,549// CHECK-NEXT: "tokLen": 3550// CHECK-NEXT: },551// CHECK-NEXT: "end": {552// CHECK-NEXT: "offset": 206,553// CHECK-NEXT: "col": 36,554// CHECK-NEXT: "tokLen": 3555// CHECK-NEXT: }556// CHECK-NEXT: },557// CHECK-NEXT: "type": {558// CHECK-NEXT: "qualType": "const int[1]"559// CHECK-NEXT: },560// CHECK-NEXT: "valueCategory": "lvalue",561// CHECK-NEXT: "name": "arr",562// CHECK-NEXT: "isArrow": true,563// CHECK-NEXT: "referencedMemberDecl": "0x{{.*}}",564// CHECK-NEXT: "inner": [565// CHECK-NEXT: {566// CHECK-NEXT: "id": "0x{{.*}}",567// CHECK-NEXT: "kind": "CXXThisExpr",568// CHECK-NEXT: "range": {569// CHECK-NEXT: "begin": {570// CHECK-NEXT: "offset": 206,571// CHECK-NEXT: "col": 36,572// CHECK-NEXT: "tokLen": 3573// CHECK-NEXT: },574// CHECK-NEXT: "end": {575// CHECK-NEXT: "offset": 206,576// CHECK-NEXT: "col": 36,577// CHECK-NEXT: "tokLen": 3578// CHECK-NEXT: }579// CHECK-NEXT: },580// CHECK-NEXT: "type": {581// CHECK-NEXT: "qualType": "const S *"582// CHECK-NEXT: },583// CHECK-NEXT: "valueCategory": "prvalue",584// CHECK-NEXT: "implicit": true585// CHECK-NEXT: }586// CHECK-NEXT: ]587// CHECK-NEXT: }588// CHECK-NEXT: ]589// CHECK-NEXT: },590// CHECK-NEXT: {591// CHECK-NEXT: "id": "0x{{.*}}",592// CHECK-NEXT: "kind": "IntegerLiteral",593// CHECK-NEXT: "range": {594// CHECK-NEXT: "begin": {595// CHECK-NEXT: "offset": 210,596// CHECK-NEXT: "col": 40,597// CHECK-NEXT: "tokLen": 1598// CHECK-NEXT: },599// CHECK-NEXT: "end": {600// CHECK-NEXT: "offset": 210,601// CHECK-NEXT: "col": 40,602// CHECK-NEXT: "tokLen": 1603// CHECK-NEXT: }604// CHECK-NEXT: },605// CHECK-NEXT: "type": {606// CHECK-NEXT: "qualType": "int"607// CHECK-NEXT: },608// CHECK-NEXT: "valueCategory": "prvalue",609// CHECK-NEXT: "value": "1"610// CHECK-NEXT: }611// CHECK-NEXT: ]612// CHECK-NEXT: }613// CHECK-NEXT: ]614// CHECK-NEXT: }615// CHECK-NEXT: ]616// CHECK-NEXT: }617// CHECK-NEXT: ]618// CHECK-NEXT: }619// CHECK-NEXT: ]620// CHECK-NEXT: },621// CHECK-NEXT: {622// CHECK-NEXT: "id": "0x{{.*}}",623// CHECK-NEXT: "kind": "CXXConstructorDecl",624// CHECK-NEXT: "loc": {625// CHECK-NEXT: "offset": 218,626// CHECK-NEXT: "line": 7,627// CHECK-NEXT: "col": 3,628// CHECK-NEXT: "tokLen": 1629// CHECK-NEXT: },630// CHECK-NEXT: "range": {631// CHECK-NEXT: "begin": {632// CHECK-NEXT: "offset": 218,633// CHECK-NEXT: "col": 3,634// CHECK-NEXT: "tokLen": 1635// CHECK-NEXT: },636// CHECK-NEXT: "end": {637// CHECK-NEXT: "offset": 223,638// CHECK-NEXT: "col": 8,639// CHECK-NEXT: "tokLen": 1640// CHECK-NEXT: }641// CHECK-NEXT: },642// CHECK-NEXT: "isUsed": true,643// CHECK-NEXT: "name": "S",644// CHECK-NEXT: "mangledName": "_ZN1SC1Ev",645// CHECK-NEXT: "type": {646// CHECK-NEXT: "qualType": "void ()"647// CHECK-NEXT: },648// CHECK-NEXT: "inner": [649// CHECK-NEXT: {650// CHECK-NEXT: "id": "0x{{.*}}",651// CHECK-NEXT: "kind": "CompoundStmt",652// CHECK-NEXT: "range": {653// CHECK-NEXT: "begin": {654// CHECK-NEXT: "offset": 222,655// CHECK-NEXT: "col": 7,656// CHECK-NEXT: "tokLen": 1657// CHECK-NEXT: },658// CHECK-NEXT: "end": {659// CHECK-NEXT: "offset": 223,660// CHECK-NEXT: "col": 8,661// CHECK-NEXT: "tokLen": 1662// CHECK-NEXT: }663// CHECK-NEXT: }664// CHECK-NEXT: }665// CHECK-NEXT: ]666// CHECK-NEXT: },667// CHECK-NEXT: {668// CHECK-NEXT: "id": "0x{{.*}}",669// CHECK-NEXT: "kind": "CXXDestructorDecl",670// CHECK-NEXT: "loc": {671// CHECK-NEXT: "offset": 227,672// CHECK-NEXT: "line": 8,673// CHECK-NEXT: "col": 3,674// CHECK-NEXT: "tokLen": 1675// CHECK-NEXT: },676// CHECK-NEXT: "range": {677// CHECK-NEXT: "begin": {678// CHECK-NEXT: "offset": 227,679// CHECK-NEXT: "col": 3,680// CHECK-NEXT: "tokLen": 1681// CHECK-NEXT: },682// CHECK-NEXT: "end": {683// CHECK-NEXT: "offset": 233,684// CHECK-NEXT: "col": 9,685// CHECK-NEXT: "tokLen": 1686// CHECK-NEXT: }687// CHECK-NEXT: },688// CHECK-NEXT: "isUsed": true,689// CHECK-NEXT: "name": "~S",690// CHECK-NEXT: "mangledName": "_ZN1SD1Ev",691// CHECK-NEXT: "type": {692// CHECK-NEXT: "qualType": "void () noexcept"693// CHECK-NEXT: },694// CHECK-NEXT: "inner": [695// CHECK-NEXT: {696// CHECK-NEXT: "id": "0x{{.*}}",697// CHECK-NEXT: "kind": "CompoundStmt",698// CHECK-NEXT: "range": {699// CHECK-NEXT: "begin": {700// CHECK-NEXT: "offset": 232,701// CHECK-NEXT: "col": 8,702// CHECK-NEXT: "tokLen": 1703// CHECK-NEXT: },704// CHECK-NEXT: "end": {705// CHECK-NEXT: "offset": 233,706// CHECK-NEXT: "col": 9,707// CHECK-NEXT: "tokLen": 1708// CHECK-NEXT: }709// CHECK-NEXT: }710// CHECK-NEXT: }711// CHECK-NEXT: ]712// CHECK-NEXT: },713// CHECK-NEXT: {714// CHECK-NEXT: "id": "0x{{.*}}",715// CHECK-NEXT: "kind": "CXXConstructorDecl",716// CHECK-NEXT: "loc": {717// CHECK-NEXT: "offset": 110,718// CHECK-NEXT: "line": 3,719// CHECK-NEXT: "col": 8,720// CHECK-NEXT: "tokLen": 1721// CHECK-NEXT: },722// CHECK-NEXT: "range": {723// CHECK-NEXT: "begin": {724// CHECK-NEXT: "offset": 110,725// CHECK-NEXT: "col": 8,726// CHECK-NEXT: "tokLen": 1727// CHECK-NEXT: },728// CHECK-NEXT: "end": {729// CHECK-NEXT: "offset": 110,730// CHECK-NEXT: "col": 8,731// CHECK-NEXT: "tokLen": 1732// CHECK-NEXT: }733// CHECK-NEXT: },734// CHECK-NEXT: "isImplicit": true,735// CHECK-NEXT: "name": "S",736// CHECK-NEXT: "mangledName": "_ZN1SC1ERKS_",737// CHECK-NEXT: "type": {738// CHECK-NEXT: "qualType": "void (const S &)"739// CHECK-NEXT: },740// CHECK-NEXT: "inline": true,741// CHECK-NEXT: "constexpr": true,742// CHECK-NEXT: "explicitlyDefaulted": "default",743// CHECK-NEXT: "inner": [744// CHECK-NEXT: {745// CHECK-NEXT: "id": "0x{{.*}}",746// CHECK-NEXT: "kind": "ParmVarDecl",747// CHECK-NEXT: "loc": {748// CHECK-NEXT: "offset": 110,749// CHECK-NEXT: "col": 8,750// CHECK-NEXT: "tokLen": 1751// CHECK-NEXT: },752// CHECK-NEXT: "range": {753// CHECK-NEXT: "begin": {754// CHECK-NEXT: "offset": 110,755// CHECK-NEXT: "col": 8,756// CHECK-NEXT: "tokLen": 1757// CHECK-NEXT: },758// CHECK-NEXT: "end": {759// CHECK-NEXT: "offset": 110,760// CHECK-NEXT: "col": 8,761// CHECK-NEXT: "tokLen": 1762// CHECK-NEXT: }763// CHECK-NEXT: },764// CHECK-NEXT: "type": {765// CHECK-NEXT: "qualType": "const S &"766// CHECK-NEXT: }767// CHECK-NEXT: }768// CHECK-NEXT: ]769// CHECK-NEXT: }770// CHECK-NEXT: ]771// CHECK-NEXT: },772// CHECK-NEXT: {773// CHECK-NEXT: "id": "0x{{.*}}",774// CHECK-NEXT: "kind": "FunctionDecl",775// CHECK-NEXT: "loc": {776// CHECK-NEXT: "offset": 241,777// CHECK-NEXT: "line": 11,778// CHECK-NEXT: "col": 3,779// CHECK-NEXT: "tokLen": 4780// CHECK-NEXT: },781// CHECK-NEXT: "range": {782// CHECK-NEXT: "begin": {783// CHECK-NEXT: "offset": 239,784// CHECK-NEXT: "col": 1,785// CHECK-NEXT: "tokLen": 1786// CHECK-NEXT: },787// CHECK-NEXT: "end": {788// CHECK-NEXT: "offset": 275,789// CHECK-NEXT: "col": 37,790// CHECK-NEXT: "tokLen": 1791// CHECK-NEXT: }792// CHECK-NEXT: },793// CHECK-NEXT: "isUsed": true,794// CHECK-NEXT: "name": "func",795// CHECK-NEXT: "mangledName": "_Z4funcRKiRK1S",796// CHECK-NEXT: "type": {797// CHECK-NEXT: "qualType": "S (const int &, const S &)"798// CHECK-NEXT: },799// CHECK-NEXT: "inner": [800// CHECK-NEXT: {801// CHECK-NEXT: "id": "0x{{.*}}",802// CHECK-NEXT: "kind": "ParmVarDecl",803// CHECK-NEXT: "loc": {804// CHECK-NEXT: "offset": 257,805// CHECK-NEXT: "col": 19,806// CHECK-NEXT: "tokLen": 1807// CHECK-NEXT: },808// CHECK-NEXT: "range": {809// CHECK-NEXT: "begin": {810// CHECK-NEXT: "offset": 246,811// CHECK-NEXT: "col": 8,812// CHECK-NEXT: "tokLen": 5813// CHECK-NEXT: },814// CHECK-NEXT: "end": {815// CHECK-NEXT: "offset": 256,816// CHECK-NEXT: "col": 18,817// CHECK-NEXT: "tokLen": 1818// CHECK-NEXT: }819// CHECK-NEXT: },820// CHECK-NEXT: "type": {821// CHECK-NEXT: "qualType": "const int &"822// CHECK-NEXT: }823// CHECK-NEXT: },824// CHECK-NEXT: {825// CHECK-NEXT: "id": "0x{{.*}}",826// CHECK-NEXT: "kind": "ParmVarDecl",827// CHECK-NEXT: "loc": {828// CHECK-NEXT: "offset": 268,829// CHECK-NEXT: "col": 30,830// CHECK-NEXT: "tokLen": 1831// CHECK-NEXT: },832// CHECK-NEXT: "range": {833// CHECK-NEXT: "begin": {834// CHECK-NEXT: "offset": 259,835// CHECK-NEXT: "col": 21,836// CHECK-NEXT: "tokLen": 5837// CHECK-NEXT: },838// CHECK-NEXT: "end": {839// CHECK-NEXT: "offset": 274,840// CHECK-NEXT: "col": 36,841// CHECK-NEXT: "tokLen": 1842// CHECK-NEXT: }843// CHECK-NEXT: },844// CHECK-NEXT: "name": "s",845// CHECK-NEXT: "type": {846// CHECK-NEXT: "qualType": "const S &"847// CHECK-NEXT: },848// CHECK-NEXT: "init": "c",849// CHECK-NEXT: "inner": [850// CHECK-NEXT: {851// CHECK-NEXT: "id": "0x{{.*}}",852// CHECK-NEXT: "kind": "ExprWithCleanups",853// CHECK-NEXT: "range": {854// CHECK-NEXT: "begin": {855// CHECK-NEXT: "offset": 272,856// CHECK-NEXT: "col": 34,857// CHECK-NEXT: "tokLen": 1858// CHECK-NEXT: },859// CHECK-NEXT: "end": {860// CHECK-NEXT: "offset": 274,861// CHECK-NEXT: "col": 36,862// CHECK-NEXT: "tokLen": 1863// CHECK-NEXT: }864// CHECK-NEXT: },865// CHECK-NEXT: "type": {866// CHECK-NEXT: "qualType": "const S"867// CHECK-NEXT: },868// CHECK-NEXT: "valueCategory": "lvalue",869// CHECK-NEXT: "cleanupsHaveSideEffects": true,870// CHECK-NEXT: "inner": [871// CHECK-NEXT: {872// CHECK-NEXT: "id": "0x{{.*}}",873// CHECK-NEXT: "kind": "MaterializeTemporaryExpr",874// CHECK-NEXT: "range": {875// CHECK-NEXT: "begin": {876// CHECK-NEXT: "offset": 272,877// CHECK-NEXT: "col": 34,878// CHECK-NEXT: "tokLen": 1879// CHECK-NEXT: },880// CHECK-NEXT: "end": {881// CHECK-NEXT: "offset": 274,882// CHECK-NEXT: "col": 36,883// CHECK-NEXT: "tokLen": 1884// CHECK-NEXT: }885// CHECK-NEXT: },886// CHECK-NEXT: "type": {887// CHECK-NEXT: "qualType": "const S"888// CHECK-NEXT: },889// CHECK-NEXT: "valueCategory": "lvalue",890// CHECK-NEXT: "storageDuration": "full expression",891// CHECK-NEXT: "boundToLValueRef": true,892// CHECK-NEXT: "inner": [893// CHECK-NEXT: {894// CHECK-NEXT: "id": "0x{{.*}}",895// CHECK-NEXT: "kind": "ImplicitCastExpr",896// CHECK-NEXT: "range": {897// CHECK-NEXT: "begin": {898// CHECK-NEXT: "offset": 272,899// CHECK-NEXT: "col": 34,900// CHECK-NEXT: "tokLen": 1901// CHECK-NEXT: },902// CHECK-NEXT: "end": {903// CHECK-NEXT: "offset": 274,904// CHECK-NEXT: "col": 36,905// CHECK-NEXT: "tokLen": 1906// CHECK-NEXT: }907// CHECK-NEXT: },908// CHECK-NEXT: "type": {909// CHECK-NEXT: "qualType": "const S"910// CHECK-NEXT: },911// CHECK-NEXT: "valueCategory": "prvalue",912// CHECK-NEXT: "castKind": "NoOp",913// CHECK-NEXT: "inner": [914// CHECK-NEXT: {915// CHECK-NEXT: "id": "0x{{.*}}",916// CHECK-NEXT: "kind": "CXXBindTemporaryExpr",917// CHECK-NEXT: "range": {918// CHECK-NEXT: "begin": {919// CHECK-NEXT: "offset": 272,920// CHECK-NEXT: "col": 34,921// CHECK-NEXT: "tokLen": 1922// CHECK-NEXT: },923// CHECK-NEXT: "end": {924// CHECK-NEXT: "offset": 274,925// CHECK-NEXT: "col": 36,926// CHECK-NEXT: "tokLen": 1927// CHECK-NEXT: }928// CHECK-NEXT: },929// CHECK-NEXT: "type": {930// CHECK-NEXT: "qualType": "S"931// CHECK-NEXT: },932// CHECK-NEXT: "valueCategory": "prvalue",933// CHECK-NEXT: "temp": "0x{{.*}}",934// CHECK-NEXT: "dtor": {935// CHECK-NEXT: "id": "0x{{.*}}",936// CHECK-NEXT: "kind": "CXXDestructorDecl",937// CHECK-NEXT: "name": "~S",938// CHECK-NEXT: "type": {939// CHECK-NEXT: "qualType": "void () noexcept"940// CHECK-NEXT: }941// CHECK-NEXT: },942// CHECK-NEXT: "inner": [943// CHECK-NEXT: {944// CHECK-NEXT: "id": "0x{{.*}}",945// CHECK-NEXT: "kind": "CXXTemporaryObjectExpr",946// CHECK-NEXT: "range": {947// CHECK-NEXT: "begin": {948// CHECK-NEXT: "offset": 272,949// CHECK-NEXT: "col": 34,950// CHECK-NEXT: "tokLen": 1951// CHECK-NEXT: },952// CHECK-NEXT: "end": {953// CHECK-NEXT: "offset": 274,954// CHECK-NEXT: "col": 36,955// CHECK-NEXT: "tokLen": 1956// CHECK-NEXT: }957// CHECK-NEXT: },958// CHECK-NEXT: "type": {959// CHECK-NEXT: "qualType": "S"960// CHECK-NEXT: },961// CHECK-NEXT: "valueCategory": "prvalue",962// CHECK-NEXT: "ctorType": {963// CHECK-NEXT: "qualType": "void ()"964// CHECK-NEXT: },965// CHECK-NEXT: "hadMultipleCandidates": true,966// CHECK-NEXT: "constructionKind": "complete"967// CHECK-NEXT: }968// CHECK-NEXT: ]969// CHECK-NEXT: }970// CHECK-NEXT: ]971// CHECK-NEXT: }972// CHECK-NEXT: ]973// CHECK-NEXT: }974// CHECK-NEXT: ]975// CHECK-NEXT: }976// CHECK-NEXT: ]977// CHECK-NEXT: }978// CHECK-NEXT: ]979// CHECK-NEXT: },980// CHECK-NEXT: {981// CHECK-NEXT: "id": "0x{{.*}}",982// CHECK-NEXT: "kind": "FunctionDecl",983// CHECK-NEXT: "loc": {984// CHECK-NEXT: "offset": 284,985// CHECK-NEXT: "line": 13,986// CHECK-NEXT: "col": 6,987// CHECK-NEXT: "tokLen": 4988// CHECK-NEXT: },989// CHECK-NEXT: "range": {990// CHECK-NEXT: "begin": {991// CHECK-NEXT: "offset": 279,992// CHECK-NEXT: "col": 1,993// CHECK-NEXT: "tokLen": 4994// CHECK-NEXT: },995// CHECK-NEXT: "end": {996// CHECK-NEXT: "offset": 321,997// CHECK-NEXT: "line": 15,998// CHECK-NEXT: "col": 1,999// CHECK-NEXT: "tokLen": 11000// CHECK-NEXT: }1001// CHECK-NEXT: },1002// CHECK-NEXT: "name": "test",1003// CHECK-NEXT: "mangledName": "_Z4testv",1004// CHECK-NEXT: "type": {1005// CHECK-NEXT: "qualType": "void ()"1006// CHECK-NEXT: },1007// CHECK-NEXT: "inner": [1008// CHECK-NEXT: {1009// CHECK-NEXT: "id": "0x{{.*}}",1010// CHECK-NEXT: "kind": "CompoundStmt",1011// CHECK-NEXT: "range": {1012// CHECK-NEXT: "begin": {1013// CHECK-NEXT: "offset": 291,1014// CHECK-NEXT: "line": 13,1015// CHECK-NEXT: "col": 13,1016// CHECK-NEXT: "tokLen": 11017// CHECK-NEXT: },1018// CHECK-NEXT: "end": {1019// CHECK-NEXT: "offset": 321,1020// CHECK-NEXT: "line": 15,1021// CHECK-NEXT: "col": 1,1022// CHECK-NEXT: "tokLen": 11023// CHECK-NEXT: }1024// CHECK-NEXT: },1025// CHECK-NEXT: "inner": [1026// CHECK-NEXT: {1027// CHECK-NEXT: "id": "0x{{.*}}",1028// CHECK-NEXT: "kind": "CXXForRangeStmt",1029// CHECK-NEXT: "range": {1030// CHECK-NEXT: "begin": {1031// CHECK-NEXT: "offset": 295,1032// CHECK-NEXT: "line": 14,1033// CHECK-NEXT: "col": 3,1034// CHECK-NEXT: "tokLen": 31035// CHECK-NEXT: },1036// CHECK-NEXT: "end": {1037// CHECK-NEXT: "offset": 319,1038// CHECK-NEXT: "col": 27,1039// CHECK-NEXT: "tokLen": 11040// CHECK-NEXT: }1041// CHECK-NEXT: },1042// CHECK-NEXT: "inner": [1043// CHECK-NEXT: {},1044// CHECK-NEXT: {1045// CHECK-NEXT: "id": "0x{{.*}}",1046// CHECK-NEXT: "kind": "DeclStmt",1047// CHECK-NEXT: "range": {1048// CHECK-NEXT: "begin": {1049// CHECK-NEXT: "offset": 309,1050// CHECK-NEXT: "col": 17,1051// CHECK-NEXT: "tokLen": 41052// CHECK-NEXT: },1053// CHECK-NEXT: "end": {1054// CHECK-NEXT: "offset": 309,1055// CHECK-NEXT: "col": 17,1056// CHECK-NEXT: "tokLen": 41057// CHECK-NEXT: }1058// CHECK-NEXT: },1059// CHECK-NEXT: "inner": [1060// CHECK-NEXT: {1061// CHECK-NEXT: "id": "0x{{.*}}",1062// CHECK-NEXT: "kind": "VarDecl",1063// CHECK-NEXT: "loc": {1064// CHECK-NEXT: "offset": 309,1065// CHECK-NEXT: "col": 17,1066// CHECK-NEXT: "tokLen": 41067// CHECK-NEXT: },1068// CHECK-NEXT: "range": {1069// CHECK-NEXT: "begin": {1070// CHECK-NEXT: "offset": 309,1071// CHECK-NEXT: "col": 17,1072// CHECK-NEXT: "tokLen": 41073// CHECK-NEXT: },1074// CHECK-NEXT: "end": {1075// CHECK-NEXT: "offset": 315,1076// CHECK-NEXT: "col": 23,1077// CHECK-NEXT: "tokLen": 11078// CHECK-NEXT: }1079// CHECK-NEXT: },1080// CHECK-NEXT: "isImplicit": true,1081// CHECK-NEXT: "isUsed": true,1082// CHECK-NEXT: "name": "__range1",1083// CHECK-NEXT: "type": {1084// CHECK-NEXT: "qualType": "S &&"1085// CHECK-NEXT: },1086// CHECK-NEXT: "init": "c",1087// CHECK-NEXT: "inner": [1088// CHECK-NEXT: {1089// CHECK-NEXT: "id": "0x{{.*}}",1090// CHECK-NEXT: "kind": "ExprWithCleanups",1091// CHECK-NEXT: "range": {1092// CHECK-NEXT: "begin": {1093// CHECK-NEXT: "offset": 309,1094// CHECK-NEXT: "col": 17,1095// CHECK-NEXT: "tokLen": 41096// CHECK-NEXT: },1097// CHECK-NEXT: "end": {1098// CHECK-NEXT: "offset": 315,1099// CHECK-NEXT: "col": 23,1100// CHECK-NEXT: "tokLen": 11101// CHECK-NEXT: }1102// CHECK-NEXT: },1103// CHECK-NEXT: "type": {1104// CHECK-NEXT: "qualType": "S"1105// CHECK-NEXT: },1106// CHECK-NEXT: "valueCategory": "xvalue",1107// CHECK-NEXT: "cleanupsHaveSideEffects": true,1108// CHECK-NEXT: "inner": [1109// CHECK-NEXT: {1110// CHECK-NEXT: "id": "0x{{.*}}",1111// CHECK-NEXT: "kind": "MaterializeTemporaryExpr",1112// CHECK-NEXT: "range": {1113// CHECK-NEXT: "begin": {1114// CHECK-NEXT: "offset": 309,1115// CHECK-NEXT: "col": 17,1116// CHECK-NEXT: "tokLen": 41117// CHECK-NEXT: },1118// CHECK-NEXT: "end": {1119// CHECK-NEXT: "offset": 315,1120// CHECK-NEXT: "col": 23,1121// CHECK-NEXT: "tokLen": 11122// CHECK-NEXT: }1123// CHECK-NEXT: },1124// CHECK-NEXT: "type": {1125// CHECK-NEXT: "qualType": "S"1126// CHECK-NEXT: },1127// CHECK-NEXT: "valueCategory": "xvalue",1128// CHECK-NEXT: "extendingDecl": {1129// CHECK-NEXT: "id": "0x{{.*}}",1130// CHECK-NEXT: "kind": "VarDecl",1131// CHECK-NEXT: "name": "__range1",1132// CHECK-NEXT: "type": {1133// CHECK-NEXT: "qualType": "S &&"1134// CHECK-NEXT: }1135// CHECK-NEXT: },1136// CHECK-NEXT: "storageDuration": "automatic",1137// CHECK-NEXT: "inner": [1138// CHECK-NEXT: {1139// CHECK-NEXT: "id": "0x{{.*}}",1140// CHECK-NEXT: "kind": "CXXBindTemporaryExpr",1141// CHECK-NEXT: "range": {1142// CHECK-NEXT: "begin": {1143// CHECK-NEXT: "offset": 309,1144// CHECK-NEXT: "col": 17,1145// CHECK-NEXT: "tokLen": 41146// CHECK-NEXT: },1147// CHECK-NEXT: "end": {1148// CHECK-NEXT: "offset": 315,1149// CHECK-NEXT: "col": 23,1150// CHECK-NEXT: "tokLen": 11151// CHECK-NEXT: }1152// CHECK-NEXT: },1153// CHECK-NEXT: "type": {1154// CHECK-NEXT: "qualType": "S"1155// CHECK-NEXT: },1156// CHECK-NEXT: "valueCategory": "prvalue",1157// CHECK-NEXT: "temp": "0x{{.*}}",1158// CHECK-NEXT: "dtor": {1159// CHECK-NEXT: "id": "0x{{.*}}",1160// CHECK-NEXT: "kind": "CXXDestructorDecl",1161// CHECK-NEXT: "name": "~S",1162// CHECK-NEXT: "type": {1163// CHECK-NEXT: "qualType": "void () noexcept"1164// CHECK-NEXT: }1165// CHECK-NEXT: },1166// CHECK-NEXT: "inner": [1167// CHECK-NEXT: {1168// CHECK-NEXT: "id": "0x{{.*}}",1169// CHECK-NEXT: "kind": "CallExpr",1170// CHECK-NEXT: "range": {1171// CHECK-NEXT: "begin": {1172// CHECK-NEXT: "offset": 309,1173// CHECK-NEXT: "col": 17,1174// CHECK-NEXT: "tokLen": 41175// CHECK-NEXT: },1176// CHECK-NEXT: "end": {1177// CHECK-NEXT: "offset": 315,1178// CHECK-NEXT: "col": 23,1179// CHECK-NEXT: "tokLen": 11180// CHECK-NEXT: }1181// CHECK-NEXT: },1182// CHECK-NEXT: "type": {1183// CHECK-NEXT: "qualType": "S"1184// CHECK-NEXT: },1185// CHECK-NEXT: "valueCategory": "prvalue",1186// CHECK-NEXT: "inner": [1187// CHECK-NEXT: {1188// CHECK-NEXT: "id": "0x{{.*}}",1189// CHECK-NEXT: "kind": "ImplicitCastExpr",1190// CHECK-NEXT: "range": {1191// CHECK-NEXT: "begin": {1192// CHECK-NEXT: "offset": 309,1193// CHECK-NEXT: "col": 17,1194// CHECK-NEXT: "tokLen": 41195// CHECK-NEXT: },1196// CHECK-NEXT: "end": {1197// CHECK-NEXT: "offset": 309,1198// CHECK-NEXT: "col": 17,1199// CHECK-NEXT: "tokLen": 41200// CHECK-NEXT: }1201// CHECK-NEXT: },1202// CHECK-NEXT: "type": {1203// CHECK-NEXT: "qualType": "S (*)(const int &, const S &)"1204// CHECK-NEXT: },1205// CHECK-NEXT: "valueCategory": "prvalue",1206// CHECK-NEXT: "castKind": "FunctionToPointerDecay",1207// CHECK-NEXT: "inner": [1208// CHECK-NEXT: {1209// CHECK-NEXT: "id": "0x{{.*}}",1210// CHECK-NEXT: "kind": "DeclRefExpr",1211// CHECK-NEXT: "range": {1212// CHECK-NEXT: "begin": {1213// CHECK-NEXT: "offset": 309,1214// CHECK-NEXT: "col": 17,1215// CHECK-NEXT: "tokLen": 41216// CHECK-NEXT: },1217// CHECK-NEXT: "end": {1218// CHECK-NEXT: "offset": 309,1219// CHECK-NEXT: "col": 17,1220// CHECK-NEXT: "tokLen": 41221// CHECK-NEXT: }1222// CHECK-NEXT: },1223// CHECK-NEXT: "type": {1224// CHECK-NEXT: "qualType": "S (const int &, const S &)"1225// CHECK-NEXT: },1226// CHECK-NEXT: "valueCategory": "lvalue",1227// CHECK-NEXT: "referencedDecl": {1228// CHECK-NEXT: "id": "0x{{.*}}",1229// CHECK-NEXT: "kind": "FunctionDecl",1230// CHECK-NEXT: "name": "func",1231// CHECK-NEXT: "type": {1232// CHECK-NEXT: "qualType": "S (const int &, const S &)"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": "MaterializeTemporaryExpr",1241// CHECK-NEXT: "range": {1242// CHECK-NEXT: "begin": {1243// CHECK-NEXT: "offset": 314,1244// CHECK-NEXT: "col": 22,1245// CHECK-NEXT: "tokLen": 11246// CHECK-NEXT: },1247// CHECK-NEXT: "end": {1248// CHECK-NEXT: "offset": 314,1249// CHECK-NEXT: "col": 22,1250// CHECK-NEXT: "tokLen": 11251// CHECK-NEXT: }1252// CHECK-NEXT: },1253// CHECK-NEXT: "type": {1254// CHECK-NEXT: "qualType": "const int"1255// CHECK-NEXT: },1256// CHECK-NEXT: "valueCategory": "lvalue",1257// CHECK-NEXT: "extendingDecl": {1258// CHECK-NEXT: "id": "0x{{.*}}",1259// CHECK-NEXT: "kind": "VarDecl",1260// CHECK-NEXT: "name": "__range1",1261// CHECK-NEXT: "type": {1262// CHECK-NEXT: "qualType": "S &&"1263// CHECK-NEXT: }1264// CHECK-NEXT: },1265// CHECK-NEXT: "storageDuration": "automatic",1266// CHECK-NEXT: "boundToLValueRef": true,1267// CHECK-NEXT: "inner": [1268// CHECK-NEXT: {1269// CHECK-NEXT: "id": "0x{{.*}}",1270// CHECK-NEXT: "kind": "ImplicitCastExpr",1271// CHECK-NEXT: "range": {1272// CHECK-NEXT: "begin": {1273// CHECK-NEXT: "offset": 314,1274// CHECK-NEXT: "col": 22,1275// CHECK-NEXT: "tokLen": 11276// CHECK-NEXT: },1277// CHECK-NEXT: "end": {1278// CHECK-NEXT: "offset": 314,1279// CHECK-NEXT: "col": 22,1280// CHECK-NEXT: "tokLen": 11281// CHECK-NEXT: }1282// CHECK-NEXT: },1283// CHECK-NEXT: "type": {1284// CHECK-NEXT: "qualType": "const int"1285// CHECK-NEXT: },1286// CHECK-NEXT: "valueCategory": "prvalue",1287// CHECK-NEXT: "castKind": "NoOp",1288// CHECK-NEXT: "inner": [1289// CHECK-NEXT: {1290// CHECK-NEXT: "id": "0x{{.*}}",1291// CHECK-NEXT: "kind": "IntegerLiteral",1292// CHECK-NEXT: "range": {1293// CHECK-NEXT: "begin": {1294// CHECK-NEXT: "offset": 314,1295// CHECK-NEXT: "col": 22,1296// CHECK-NEXT: "tokLen": 11297// CHECK-NEXT: },1298// CHECK-NEXT: "end": {1299// CHECK-NEXT: "offset": 314,1300// CHECK-NEXT: "col": 22,1301// CHECK-NEXT: "tokLen": 11302// CHECK-NEXT: }1303// CHECK-NEXT: },1304// CHECK-NEXT: "type": {1305// CHECK-NEXT: "qualType": "int"1306// CHECK-NEXT: },1307// CHECK-NEXT: "valueCategory": "prvalue",1308// CHECK-NEXT: "value": "1"1309// CHECK-NEXT: }1310// CHECK-NEXT: ]1311// CHECK-NEXT: }1312// CHECK-NEXT: ]1313// CHECK-NEXT: },1314// CHECK-NEXT: {1315// CHECK-NEXT: "id": "0x{{.*}}",1316// CHECK-NEXT: "kind": "CXXDefaultArgExpr",1317// CHECK-NEXT: "range": {1318// CHECK-NEXT: "begin": {},1319// CHECK-NEXT: "end": {}1320// CHECK-NEXT: },1321// CHECK-NEXT: "type": {1322// CHECK-NEXT: "qualType": "const S"1323// CHECK-NEXT: },1324// CHECK-NEXT: "valueCategory": "lvalue",1325// CHECK-NEXT: "hasRewrittenInit": true,1326// CHECK-NEXT: "inner": [1327// CHECK-NEXT: {1328// CHECK-NEXT: "id": "0x{{.*}}",1329// CHECK-NEXT: "kind": "MaterializeTemporaryExpr",1330// CHECK-NEXT: "range": {1331// CHECK-NEXT: "begin": {1332// CHECK-NEXT: "offset": 272,1333// CHECK-NEXT: "line": 11,1334// CHECK-NEXT: "col": 34,1335// CHECK-NEXT: "tokLen": 11336// CHECK-NEXT: },1337// CHECK-NEXT: "end": {1338// CHECK-NEXT: "offset": 274,1339// CHECK-NEXT: "col": 36,1340// CHECK-NEXT: "tokLen": 11341// CHECK-NEXT: }1342// CHECK-NEXT: },1343// CHECK-NEXT: "type": {1344// CHECK-NEXT: "qualType": "const S"1345// CHECK-NEXT: },1346// CHECK-NEXT: "valueCategory": "lvalue",1347// CHECK-NEXT: "extendingDecl": {1348// CHECK-NEXT: "id": "0x{{.*}}",1349// CHECK-NEXT: "kind": "VarDecl",1350// CHECK-NEXT: "name": "__range1",1351// CHECK-NEXT: "type": {1352// CHECK-NEXT: "qualType": "S &&"1353// CHECK-NEXT: }1354// CHECK-NEXT: },1355// CHECK-NEXT: "storageDuration": "automatic",1356// CHECK-NEXT: "boundToLValueRef": true,1357// CHECK-NEXT: "inner": [1358// CHECK-NEXT: {1359// CHECK-NEXT: "id": "0x{{.*}}",1360// CHECK-NEXT: "kind": "ImplicitCastExpr",1361// CHECK-NEXT: "range": {1362// CHECK-NEXT: "begin": {1363// CHECK-NEXT: "offset": 272,1364// CHECK-NEXT: "col": 34,1365// CHECK-NEXT: "tokLen": 11366// CHECK-NEXT: },1367// CHECK-NEXT: "end": {1368// CHECK-NEXT: "offset": 274,1369// CHECK-NEXT: "col": 36,1370// CHECK-NEXT: "tokLen": 11371// CHECK-NEXT: }1372// CHECK-NEXT: },1373// CHECK-NEXT: "type": {1374// CHECK-NEXT: "qualType": "const S"1375// CHECK-NEXT: },1376// CHECK-NEXT: "valueCategory": "prvalue",1377// CHECK-NEXT: "castKind": "NoOp",1378// CHECK-NEXT: "inner": [1379// CHECK-NEXT: {1380// CHECK-NEXT: "id": "0x{{.*}}",1381// CHECK-NEXT: "kind": "CXXBindTemporaryExpr",1382// CHECK-NEXT: "range": {1383// CHECK-NEXT: "begin": {1384// CHECK-NEXT: "offset": 272,1385// CHECK-NEXT: "col": 34,1386// CHECK-NEXT: "tokLen": 11387// CHECK-NEXT: },1388// CHECK-NEXT: "end": {1389// CHECK-NEXT: "offset": 274,1390// CHECK-NEXT: "col": 36,1391// CHECK-NEXT: "tokLen": 11392// CHECK-NEXT: }1393// CHECK-NEXT: },1394// CHECK-NEXT: "type": {1395// CHECK-NEXT: "qualType": "S"1396// CHECK-NEXT: },1397// CHECK-NEXT: "valueCategory": "prvalue",1398// CHECK-NEXT: "temp": "0x{{.*}}",1399// CHECK-NEXT: "dtor": {1400// CHECK-NEXT: "id": "0x{{.*}}",1401// CHECK-NEXT: "kind": "CXXDestructorDecl",1402// CHECK-NEXT: "name": "~S",1403// CHECK-NEXT: "type": {1404// CHECK-NEXT: "qualType": "void () noexcept"1405// CHECK-NEXT: }1406// CHECK-NEXT: },1407// CHECK-NEXT: "inner": [1408// CHECK-NEXT: {1409// CHECK-NEXT: "id": "0x{{.*}}",1410// CHECK-NEXT: "kind": "CXXTemporaryObjectExpr",1411// CHECK-NEXT: "range": {1412// CHECK-NEXT: "begin": {1413// CHECK-NEXT: "offset": 272,1414// CHECK-NEXT: "col": 34,1415// CHECK-NEXT: "tokLen": 11416// CHECK-NEXT: },1417// CHECK-NEXT: "end": {1418// CHECK-NEXT: "offset": 274,1419// CHECK-NEXT: "col": 36,1420// CHECK-NEXT: "tokLen": 11421// CHECK-NEXT: }1422// CHECK-NEXT: },1423// CHECK-NEXT: "type": {1424// CHECK-NEXT: "qualType": "S"1425// CHECK-NEXT: },1426// CHECK-NEXT: "valueCategory": "prvalue",1427// CHECK-NEXT: "ctorType": {1428// CHECK-NEXT: "qualType": "void ()"1429// CHECK-NEXT: },1430// CHECK-NEXT: "hadMultipleCandidates": true,1431// CHECK-NEXT: "constructionKind": "complete"1432// CHECK-NEXT: }1433// CHECK-NEXT: ]1434// CHECK-NEXT: }1435// CHECK-NEXT: ]1436// CHECK-NEXT: }1437// CHECK-NEXT: ]1438// CHECK-NEXT: }1439// CHECK-NEXT: ]1440// CHECK-NEXT: }1441// CHECK-NEXT: ]1442// CHECK-NEXT: }1443// CHECK-NEXT: ]1444// CHECK-NEXT: }1445// CHECK-NEXT: ]1446// CHECK-NEXT: }1447// CHECK-NEXT: ]1448// CHECK-NEXT: }1449// CHECK-NEXT: ]1450// CHECK-NEXT: }1451// CHECK-NEXT: ]1452// CHECK-NEXT: },1453// CHECK-NEXT: {1454// CHECK-NEXT: "id": "0x{{.*}}",1455// CHECK-NEXT: "kind": "DeclStmt",1456// CHECK-NEXT: "range": {1457// CHECK-NEXT: "begin": {1458// CHECK-NEXT: "offset": 307,1459// CHECK-NEXT: "line": 14,1460// CHECK-NEXT: "col": 15,1461// CHECK-NEXT: "tokLen": 11462// CHECK-NEXT: },1463// CHECK-NEXT: "end": {1464// CHECK-NEXT: "offset": 307,1465// CHECK-NEXT: "col": 15,1466// CHECK-NEXT: "tokLen": 11467// CHECK-NEXT: }1468// CHECK-NEXT: },1469// CHECK-NEXT: "inner": [1470// CHECK-NEXT: {1471// CHECK-NEXT: "id": "0x{{.*}}",1472// CHECK-NEXT: "kind": "VarDecl",1473// CHECK-NEXT: "loc": {1474// CHECK-NEXT: "offset": 307,1475// CHECK-NEXT: "col": 15,1476// CHECK-NEXT: "tokLen": 11477// CHECK-NEXT: },1478// CHECK-NEXT: "range": {1479// CHECK-NEXT: "begin": {1480// CHECK-NEXT: "offset": 307,1481// CHECK-NEXT: "col": 15,1482// CHECK-NEXT: "tokLen": 11483// CHECK-NEXT: },1484// CHECK-NEXT: "end": {1485// CHECK-NEXT: "offset": 307,1486// CHECK-NEXT: "col": 15,1487// CHECK-NEXT: "tokLen": 11488// CHECK-NEXT: }1489// CHECK-NEXT: },1490// CHECK-NEXT: "isImplicit": true,1491// CHECK-NEXT: "isUsed": true,1492// CHECK-NEXT: "name": "__begin1",1493// CHECK-NEXT: "type": {1494// CHECK-NEXT: "qualType": "const int *"1495// CHECK-NEXT: },1496// CHECK-NEXT: "init": "c",1497// CHECK-NEXT: "inner": [1498// CHECK-NEXT: {1499// CHECK-NEXT: "id": "0x{{.*}}",1500// CHECK-NEXT: "kind": "CXXMemberCallExpr",1501// CHECK-NEXT: "range": {1502// CHECK-NEXT: "begin": {1503// CHECK-NEXT: "offset": 307,1504// CHECK-NEXT: "col": 15,1505// CHECK-NEXT: "tokLen": 11506// CHECK-NEXT: },1507// CHECK-NEXT: "end": {1508// CHECK-NEXT: "offset": 307,1509// CHECK-NEXT: "col": 15,1510// CHECK-NEXT: "tokLen": 11511// CHECK-NEXT: }1512// CHECK-NEXT: },1513// CHECK-NEXT: "type": {1514// CHECK-NEXT: "qualType": "const int *"1515// CHECK-NEXT: },1516// CHECK-NEXT: "valueCategory": "prvalue",1517// CHECK-NEXT: "inner": [1518// CHECK-NEXT: {1519// CHECK-NEXT: "id": "0x{{.*}}",1520// CHECK-NEXT: "kind": "MemberExpr",1521// CHECK-NEXT: "range": {1522// CHECK-NEXT: "begin": {1523// CHECK-NEXT: "offset": 307,1524// CHECK-NEXT: "col": 15,1525// CHECK-NEXT: "tokLen": 11526// CHECK-NEXT: },1527// CHECK-NEXT: "end": {1528// CHECK-NEXT: "offset": 307,1529// CHECK-NEXT: "col": 15,1530// CHECK-NEXT: "tokLen": 11531// CHECK-NEXT: }1532// CHECK-NEXT: },1533// CHECK-NEXT: "type": {1534// CHECK-NEXT: "qualType": "<bound member function type>"1535// CHECK-NEXT: },1536// CHECK-NEXT: "valueCategory": "prvalue",1537// CHECK-NEXT: "name": "begin",1538// CHECK-NEXT: "isArrow": false,1539// CHECK-NEXT: "referencedMemberDecl": "0x{{.*}}",1540// CHECK-NEXT: "inner": [1541// CHECK-NEXT: {1542// CHECK-NEXT: "id": "0x{{.*}}",1543// CHECK-NEXT: "kind": "ImplicitCastExpr",1544// CHECK-NEXT: "range": {1545// CHECK-NEXT: "begin": {1546// CHECK-NEXT: "offset": 307,1547// CHECK-NEXT: "col": 15,1548// CHECK-NEXT: "tokLen": 11549// CHECK-NEXT: },1550// CHECK-NEXT: "end": {1551// CHECK-NEXT: "offset": 307,1552// CHECK-NEXT: "col": 15,1553// CHECK-NEXT: "tokLen": 11554// CHECK-NEXT: }1555// CHECK-NEXT: },1556// CHECK-NEXT: "type": {1557// CHECK-NEXT: "qualType": "const S"1558// CHECK-NEXT: },1559// CHECK-NEXT: "valueCategory": "lvalue",1560// CHECK-NEXT: "castKind": "NoOp",1561// CHECK-NEXT: "inner": [1562// CHECK-NEXT: {1563// CHECK-NEXT: "id": "0x{{.*}}",1564// CHECK-NEXT: "kind": "DeclRefExpr",1565// CHECK-NEXT: "range": {1566// CHECK-NEXT: "begin": {1567// CHECK-NEXT: "offset": 307,1568// CHECK-NEXT: "col": 15,1569// CHECK-NEXT: "tokLen": 11570// CHECK-NEXT: },1571// CHECK-NEXT: "end": {1572// CHECK-NEXT: "offset": 307,1573// CHECK-NEXT: "col": 15,1574// CHECK-NEXT: "tokLen": 11575// CHECK-NEXT: }1576// CHECK-NEXT: },1577// CHECK-NEXT: "type": {1578// CHECK-NEXT: "qualType": "S"1579// CHECK-NEXT: },1580// CHECK-NEXT: "valueCategory": "lvalue",1581// CHECK-NEXT: "referencedDecl": {1582// CHECK-NEXT: "id": "0x{{.*}}",1583// CHECK-NEXT: "kind": "VarDecl",1584// CHECK-NEXT: "name": "__range1",1585// CHECK-NEXT: "type": {1586// CHECK-NEXT: "qualType": "S &&"1587// CHECK-NEXT: }1588// CHECK-NEXT: }1589// CHECK-NEXT: }1590// CHECK-NEXT: ]1591// CHECK-NEXT: }1592// CHECK-NEXT: ]1593// CHECK-NEXT: }1594// CHECK-NEXT: ]1595// CHECK-NEXT: }1596// CHECK-NEXT: ]1597// CHECK-NEXT: }1598// CHECK-NEXT: ]1599// CHECK-NEXT: },1600// CHECK-NEXT: {1601// CHECK-NEXT: "id": "0x{{.*}}",1602// CHECK-NEXT: "kind": "DeclStmt",1603// CHECK-NEXT: "range": {1604// CHECK-NEXT: "begin": {1605// CHECK-NEXT: "offset": 307,1606// CHECK-NEXT: "col": 15,1607// CHECK-NEXT: "tokLen": 11608// CHECK-NEXT: },1609// CHECK-NEXT: "end": {1610// CHECK-NEXT: "offset": 307,1611// CHECK-NEXT: "col": 15,1612// CHECK-NEXT: "tokLen": 11613// CHECK-NEXT: }1614// CHECK-NEXT: },1615// CHECK-NEXT: "inner": [1616// CHECK-NEXT: {1617// CHECK-NEXT: "id": "0x{{.*}}",1618// CHECK-NEXT: "kind": "VarDecl",1619// CHECK-NEXT: "loc": {1620// CHECK-NEXT: "offset": 307,1621// CHECK-NEXT: "col": 15,1622// CHECK-NEXT: "tokLen": 11623// CHECK-NEXT: },1624// CHECK-NEXT: "range": {1625// CHECK-NEXT: "begin": {1626// CHECK-NEXT: "offset": 307,1627// CHECK-NEXT: "col": 15,1628// CHECK-NEXT: "tokLen": 11629// CHECK-NEXT: },1630// CHECK-NEXT: "end": {1631// CHECK-NEXT: "offset": 307,1632// CHECK-NEXT: "col": 15,1633// CHECK-NEXT: "tokLen": 11634// CHECK-NEXT: }1635// CHECK-NEXT: },1636// CHECK-NEXT: "isImplicit": true,1637// CHECK-NEXT: "isUsed": true,1638// CHECK-NEXT: "name": "__end1",1639// CHECK-NEXT: "type": {1640// CHECK-NEXT: "qualType": "const int *"1641// CHECK-NEXT: },1642// CHECK-NEXT: "init": "c",1643// CHECK-NEXT: "inner": [1644// CHECK-NEXT: {1645// CHECK-NEXT: "id": "0x{{.*}}",1646// CHECK-NEXT: "kind": "CXXMemberCallExpr",1647// CHECK-NEXT: "range": {1648// CHECK-NEXT: "begin": {1649// CHECK-NEXT: "offset": 307,1650// CHECK-NEXT: "col": 15,1651// CHECK-NEXT: "tokLen": 11652// CHECK-NEXT: },1653// CHECK-NEXT: "end": {1654// CHECK-NEXT: "offset": 307,1655// CHECK-NEXT: "col": 15,1656// CHECK-NEXT: "tokLen": 11657// CHECK-NEXT: }1658// CHECK-NEXT: },1659// CHECK-NEXT: "type": {1660// CHECK-NEXT: "qualType": "const int *"1661// CHECK-NEXT: },1662// CHECK-NEXT: "valueCategory": "prvalue",1663// CHECK-NEXT: "inner": [1664// CHECK-NEXT: {1665// CHECK-NEXT: "id": "0x{{.*}}",1666// CHECK-NEXT: "kind": "MemberExpr",1667// CHECK-NEXT: "range": {1668// CHECK-NEXT: "begin": {1669// CHECK-NEXT: "offset": 307,1670// CHECK-NEXT: "col": 15,1671// CHECK-NEXT: "tokLen": 11672// CHECK-NEXT: },1673// CHECK-NEXT: "end": {1674// CHECK-NEXT: "offset": 307,1675// CHECK-NEXT: "col": 15,1676// CHECK-NEXT: "tokLen": 11677// CHECK-NEXT: }1678// CHECK-NEXT: },1679// CHECK-NEXT: "type": {1680// CHECK-NEXT: "qualType": "<bound member function type>"1681// CHECK-NEXT: },1682// CHECK-NEXT: "valueCategory": "prvalue",1683// CHECK-NEXT: "name": "end",1684// CHECK-NEXT: "isArrow": false,1685// CHECK-NEXT: "referencedMemberDecl": "0x{{.*}}",1686// CHECK-NEXT: "inner": [1687// CHECK-NEXT: {1688// CHECK-NEXT: "id": "0x{{.*}}",1689// CHECK-NEXT: "kind": "ImplicitCastExpr",1690// CHECK-NEXT: "range": {1691// CHECK-NEXT: "begin": {1692// CHECK-NEXT: "offset": 307,1693// CHECK-NEXT: "col": 15,1694// CHECK-NEXT: "tokLen": 11695// CHECK-NEXT: },1696// CHECK-NEXT: "end": {1697// CHECK-NEXT: "offset": 307,1698// CHECK-NEXT: "col": 15,1699// CHECK-NEXT: "tokLen": 11700// CHECK-NEXT: }1701// CHECK-NEXT: },1702// CHECK-NEXT: "type": {1703// CHECK-NEXT: "qualType": "const S"1704// CHECK-NEXT: },1705// CHECK-NEXT: "valueCategory": "lvalue",1706// CHECK-NEXT: "castKind": "NoOp",1707// CHECK-NEXT: "inner": [1708// CHECK-NEXT: {1709// CHECK-NEXT: "id": "0x{{.*}}",1710// CHECK-NEXT: "kind": "DeclRefExpr",1711// CHECK-NEXT: "range": {1712// CHECK-NEXT: "begin": {1713// CHECK-NEXT: "offset": 307,1714// CHECK-NEXT: "col": 15,1715// CHECK-NEXT: "tokLen": 11716// CHECK-NEXT: },1717// CHECK-NEXT: "end": {1718// CHECK-NEXT: "offset": 307,1719// CHECK-NEXT: "col": 15,1720// CHECK-NEXT: "tokLen": 11721// CHECK-NEXT: }1722// CHECK-NEXT: },1723// CHECK-NEXT: "type": {1724// CHECK-NEXT: "qualType": "S"1725// CHECK-NEXT: },1726// CHECK-NEXT: "valueCategory": "lvalue",1727// CHECK-NEXT: "referencedDecl": {1728// CHECK-NEXT: "id": "0x{{.*}}",1729// CHECK-NEXT: "kind": "VarDecl",1730// CHECK-NEXT: "name": "__range1",1731// CHECK-NEXT: "type": {1732// CHECK-NEXT: "qualType": "S &&"1733// CHECK-NEXT: }1734// CHECK-NEXT: }1735// CHECK-NEXT: }1736// CHECK-NEXT: ]1737// CHECK-NEXT: }1738// CHECK-NEXT: ]1739// CHECK-NEXT: }1740// CHECK-NEXT: ]1741// CHECK-NEXT: }1742// CHECK-NEXT: ]1743// CHECK-NEXT: }1744// CHECK-NEXT: ]1745// CHECK-NEXT: },1746// CHECK-NEXT: {1747// CHECK-NEXT: "id": "0x{{.*}}",1748// CHECK-NEXT: "kind": "BinaryOperator",1749// CHECK-NEXT: "range": {1750// CHECK-NEXT: "begin": {1751// CHECK-NEXT: "offset": 307,1752// CHECK-NEXT: "col": 15,1753// CHECK-NEXT: "tokLen": 11754// CHECK-NEXT: },1755// CHECK-NEXT: "end": {1756// CHECK-NEXT: "offset": 307,1757// CHECK-NEXT: "col": 15,1758// CHECK-NEXT: "tokLen": 11759// CHECK-NEXT: }1760// CHECK-NEXT: },1761// CHECK-NEXT: "type": {1762// CHECK-NEXT: "qualType": "bool"1763// CHECK-NEXT: },1764// CHECK-NEXT: "valueCategory": "prvalue",1765// CHECK-NEXT: "opcode": "!=",1766// CHECK-NEXT: "inner": [1767// CHECK-NEXT: {1768// CHECK-NEXT: "id": "0x{{.*}}",1769// CHECK-NEXT: "kind": "ImplicitCastExpr",1770// CHECK-NEXT: "range": {1771// CHECK-NEXT: "begin": {1772// CHECK-NEXT: "offset": 307,1773// CHECK-NEXT: "col": 15,1774// CHECK-NEXT: "tokLen": 11775// CHECK-NEXT: },1776// CHECK-NEXT: "end": {1777// CHECK-NEXT: "offset": 307,1778// CHECK-NEXT: "col": 15,1779// CHECK-NEXT: "tokLen": 11780// CHECK-NEXT: }1781// CHECK-NEXT: },1782// CHECK-NEXT: "type": {1783// CHECK-NEXT: "qualType": "const int *"1784// CHECK-NEXT: },1785// CHECK-NEXT: "valueCategory": "prvalue",1786// CHECK-NEXT: "castKind": "LValueToRValue",1787// CHECK-NEXT: "inner": [1788// CHECK-NEXT: {1789// CHECK-NEXT: "id": "0x{{.*}}",1790// CHECK-NEXT: "kind": "DeclRefExpr",1791// CHECK-NEXT: "range": {1792// CHECK-NEXT: "begin": {1793// CHECK-NEXT: "offset": 307,1794// CHECK-NEXT: "col": 15,1795// CHECK-NEXT: "tokLen": 11796// CHECK-NEXT: },1797// CHECK-NEXT: "end": {1798// CHECK-NEXT: "offset": 307,1799// CHECK-NEXT: "col": 15,1800// CHECK-NEXT: "tokLen": 11801// CHECK-NEXT: }1802// CHECK-NEXT: },1803// CHECK-NEXT: "type": {1804// CHECK-NEXT: "qualType": "const int *"1805// CHECK-NEXT: },1806// CHECK-NEXT: "valueCategory": "lvalue",1807// CHECK-NEXT: "referencedDecl": {1808// CHECK-NEXT: "id": "0x{{.*}}",1809// CHECK-NEXT: "kind": "VarDecl",1810// CHECK-NEXT: "name": "__begin1",1811// CHECK-NEXT: "type": {1812// CHECK-NEXT: "qualType": "const int *"1813// CHECK-NEXT: }1814// CHECK-NEXT: }1815// CHECK-NEXT: }1816// CHECK-NEXT: ]1817// CHECK-NEXT: },1818// CHECK-NEXT: {1819// CHECK-NEXT: "id": "0x{{.*}}",1820// CHECK-NEXT: "kind": "ImplicitCastExpr",1821// CHECK-NEXT: "range": {1822// CHECK-NEXT: "begin": {1823// CHECK-NEXT: "offset": 307,1824// CHECK-NEXT: "col": 15,1825// CHECK-NEXT: "tokLen": 11826// CHECK-NEXT: },1827// CHECK-NEXT: "end": {1828// CHECK-NEXT: "offset": 307,1829// CHECK-NEXT: "col": 15,1830// CHECK-NEXT: "tokLen": 11831// CHECK-NEXT: }1832// CHECK-NEXT: },1833// CHECK-NEXT: "type": {1834// CHECK-NEXT: "qualType": "const int *"1835// CHECK-NEXT: },1836// CHECK-NEXT: "valueCategory": "prvalue",1837// CHECK-NEXT: "castKind": "LValueToRValue",1838// CHECK-NEXT: "inner": [1839// CHECK-NEXT: {1840// CHECK-NEXT: "id": "0x{{.*}}",1841// CHECK-NEXT: "kind": "DeclRefExpr",1842// CHECK-NEXT: "range": {1843// CHECK-NEXT: "begin": {1844// CHECK-NEXT: "offset": 307,1845// CHECK-NEXT: "col": 15,1846// CHECK-NEXT: "tokLen": 11847// CHECK-NEXT: },1848// CHECK-NEXT: "end": {1849// CHECK-NEXT: "offset": 307,1850// CHECK-NEXT: "col": 15,1851// CHECK-NEXT: "tokLen": 11852// CHECK-NEXT: }1853// CHECK-NEXT: },1854// CHECK-NEXT: "type": {1855// CHECK-NEXT: "qualType": "const int *"1856// CHECK-NEXT: },1857// CHECK-NEXT: "valueCategory": "lvalue",1858// CHECK-NEXT: "referencedDecl": {1859// CHECK-NEXT: "id": "0x{{.*}}",1860// CHECK-NEXT: "kind": "VarDecl",1861// CHECK-NEXT: "name": "__end1",1862// CHECK-NEXT: "type": {1863// CHECK-NEXT: "qualType": "const int *"1864// CHECK-NEXT: }1865// CHECK-NEXT: }1866// CHECK-NEXT: }1867// CHECK-NEXT: ]1868// CHECK-NEXT: }1869// CHECK-NEXT: ]1870// CHECK-NEXT: },1871// CHECK-NEXT: {1872// CHECK-NEXT: "id": "0x{{.*}}",1873// CHECK-NEXT: "kind": "UnaryOperator",1874// CHECK-NEXT: "range": {1875// CHECK-NEXT: "begin": {1876// CHECK-NEXT: "offset": 307,1877// CHECK-NEXT: "col": 15,1878// CHECK-NEXT: "tokLen": 11879// CHECK-NEXT: },1880// CHECK-NEXT: "end": {1881// CHECK-NEXT: "offset": 307,1882// CHECK-NEXT: "col": 15,1883// CHECK-NEXT: "tokLen": 11884// CHECK-NEXT: }1885// CHECK-NEXT: },1886// CHECK-NEXT: "type": {1887// CHECK-NEXT: "qualType": "const int *"1888// CHECK-NEXT: },1889// CHECK-NEXT: "valueCategory": "lvalue",1890// CHECK-NEXT: "isPostfix": false,1891// CHECK-NEXT: "opcode": "++",1892// CHECK-NEXT: "inner": [1893// CHECK-NEXT: {1894// CHECK-NEXT: "id": "0x{{.*}}",1895// CHECK-NEXT: "kind": "DeclRefExpr",1896// CHECK-NEXT: "range": {1897// CHECK-NEXT: "begin": {1898// CHECK-NEXT: "offset": 307,1899// CHECK-NEXT: "col": 15,1900// CHECK-NEXT: "tokLen": 11901// CHECK-NEXT: },1902// CHECK-NEXT: "end": {1903// CHECK-NEXT: "offset": 307,1904// CHECK-NEXT: "col": 15,1905// CHECK-NEXT: "tokLen": 11906// CHECK-NEXT: }1907// CHECK-NEXT: },1908// CHECK-NEXT: "type": {1909// CHECK-NEXT: "qualType": "const int *"1910// CHECK-NEXT: },1911// CHECK-NEXT: "valueCategory": "lvalue",1912// CHECK-NEXT: "referencedDecl": {1913// CHECK-NEXT: "id": "0x{{.*}}",1914// CHECK-NEXT: "kind": "VarDecl",1915// CHECK-NEXT: "name": "__begin1",1916// CHECK-NEXT: "type": {1917// CHECK-NEXT: "qualType": "const int *"1918// CHECK-NEXT: }1919// CHECK-NEXT: }1920// CHECK-NEXT: }1921// CHECK-NEXT: ]1922// CHECK-NEXT: },1923// CHECK-NEXT: {1924// CHECK-NEXT: "id": "0x{{.*}}",1925// CHECK-NEXT: "kind": "DeclStmt",1926// CHECK-NEXT: "range": {1927// CHECK-NEXT: "begin": {1928// CHECK-NEXT: "offset": 300,1929// CHECK-NEXT: "col": 8,1930// CHECK-NEXT: "tokLen": 41931// CHECK-NEXT: },1932// CHECK-NEXT: "end": {1933// CHECK-NEXT: "offset": 316,1934// CHECK-NEXT: "col": 24,1935// CHECK-NEXT: "tokLen": 11936// CHECK-NEXT: }1937// CHECK-NEXT: },1938// CHECK-NEXT: "inner": [1939// CHECK-NEXT: {1940// CHECK-NEXT: "id": "0x{{.*}}",1941// CHECK-NEXT: "kind": "VarDecl",1942// CHECK-NEXT: "loc": {1943// CHECK-NEXT: "offset": 305,1944// CHECK-NEXT: "col": 13,1945// CHECK-NEXT: "tokLen": 11946// CHECK-NEXT: },1947// CHECK-NEXT: "range": {1948// CHECK-NEXT: "begin": {1949// CHECK-NEXT: "offset": 300,1950// CHECK-NEXT: "col": 8,1951// CHECK-NEXT: "tokLen": 41952// CHECK-NEXT: },1953// CHECK-NEXT: "end": {1954// CHECK-NEXT: "offset": 307,1955// CHECK-NEXT: "col": 15,1956// CHECK-NEXT: "tokLen": 11957// CHECK-NEXT: }1958// CHECK-NEXT: },1959// CHECK-NEXT: "name": "v",1960// CHECK-NEXT: "type": {1961// CHECK-NEXT: "qualType": "int"1962// CHECK-NEXT: },1963// CHECK-NEXT: "init": "c",1964// CHECK-NEXT: "inner": [1965// CHECK-NEXT: {1966// CHECK-NEXT: "id": "0x{{.*}}",1967// CHECK-NEXT: "kind": "ImplicitCastExpr",1968// CHECK-NEXT: "range": {1969// CHECK-NEXT: "begin": {1970// CHECK-NEXT: "offset": 307,1971// CHECK-NEXT: "col": 15,1972// CHECK-NEXT: "tokLen": 11973// CHECK-NEXT: },1974// CHECK-NEXT: "end": {1975// CHECK-NEXT: "offset": 307,1976// CHECK-NEXT: "col": 15,1977// CHECK-NEXT: "tokLen": 11978// CHECK-NEXT: }1979// CHECK-NEXT: },1980// CHECK-NEXT: "type": {1981// CHECK-NEXT: "qualType": "int"1982// CHECK-NEXT: },1983// CHECK-NEXT: "valueCategory": "prvalue",1984// CHECK-NEXT: "castKind": "LValueToRValue",1985// CHECK-NEXT: "inner": [1986// CHECK-NEXT: {1987// CHECK-NEXT: "id": "0x{{.*}}",1988// CHECK-NEXT: "kind": "UnaryOperator",1989// CHECK-NEXT: "range": {1990// CHECK-NEXT: "begin": {1991// CHECK-NEXT: "offset": 307,1992// CHECK-NEXT: "col": 15,1993// CHECK-NEXT: "tokLen": 11994// CHECK-NEXT: },1995// CHECK-NEXT: "end": {1996// CHECK-NEXT: "offset": 307,1997// CHECK-NEXT: "col": 15,1998// CHECK-NEXT: "tokLen": 11999// CHECK-NEXT: }2000// CHECK-NEXT: },2001// CHECK-NEXT: "type": {2002// CHECK-NEXT: "qualType": "const int"2003// CHECK-NEXT: },2004// CHECK-NEXT: "valueCategory": "lvalue",2005// CHECK-NEXT: "isPostfix": false,2006// CHECK-NEXT: "opcode": "*",2007// CHECK-NEXT: "canOverflow": false,2008// CHECK-NEXT: "inner": [2009// CHECK-NEXT: {2010// CHECK-NEXT: "id": "0x{{.*}}",2011// CHECK-NEXT: "kind": "ImplicitCastExpr",2012// CHECK-NEXT: "range": {2013// CHECK-NEXT: "begin": {2014// CHECK-NEXT: "offset": 307,2015// CHECK-NEXT: "col": 15,2016// CHECK-NEXT: "tokLen": 12017// CHECK-NEXT: },2018// CHECK-NEXT: "end": {2019// CHECK-NEXT: "offset": 307,2020// CHECK-NEXT: "col": 15,2021// CHECK-NEXT: "tokLen": 12022// CHECK-NEXT: }2023// CHECK-NEXT: },2024// CHECK-NEXT: "type": {2025// CHECK-NEXT: "qualType": "const int *"2026// CHECK-NEXT: },2027// CHECK-NEXT: "valueCategory": "prvalue",2028// CHECK-NEXT: "castKind": "LValueToRValue",2029// CHECK-NEXT: "inner": [2030// CHECK-NEXT: {2031// CHECK-NEXT: "id": "0x{{.*}}",2032// CHECK-NEXT: "kind": "DeclRefExpr",2033// CHECK-NEXT: "range": {2034// CHECK-NEXT: "begin": {2035// CHECK-NEXT: "offset": 307,2036// CHECK-NEXT: "col": 15,2037// CHECK-NEXT: "tokLen": 12038// CHECK-NEXT: },2039// CHECK-NEXT: "end": {2040// CHECK-NEXT: "offset": 307,2041// CHECK-NEXT: "col": 15,2042// CHECK-NEXT: "tokLen": 12043// CHECK-NEXT: }2044// CHECK-NEXT: },2045// CHECK-NEXT: "type": {2046// CHECK-NEXT: "qualType": "const int *"2047// CHECK-NEXT: },2048// CHECK-NEXT: "valueCategory": "lvalue",2049// CHECK-NEXT: "referencedDecl": {2050// CHECK-NEXT: "id": "0x{{.*}}",2051// CHECK-NEXT: "kind": "VarDecl",2052// CHECK-NEXT: "name": "__begin1",2053// CHECK-NEXT: "type": {2054// CHECK-NEXT: "qualType": "const int *"2055// CHECK-NEXT: }2056// CHECK-NEXT: }2057// CHECK-NEXT: }2058// CHECK-NEXT: ]2059// CHECK-NEXT: }2060// CHECK-NEXT: ]2061// CHECK-NEXT: }2062// CHECK-NEXT: ]2063// CHECK-NEXT: }2064// CHECK-NEXT: ]2065// CHECK-NEXT: }2066// CHECK-NEXT: ]2067// CHECK-NEXT: },2068// CHECK-NEXT: {2069// CHECK-NEXT: "id": "0x{{.*}}",2070// CHECK-NEXT: "kind": "CompoundStmt",2071// CHECK-NEXT: "range": {2072// CHECK-NEXT: "begin": {2073// CHECK-NEXT: "offset": 318,2074// CHECK-NEXT: "col": 26,2075// CHECK-NEXT: "tokLen": 12076// CHECK-NEXT: },2077// CHECK-NEXT: "end": {2078// CHECK-NEXT: "offset": 319,2079// CHECK-NEXT: "col": 27,2080// CHECK-NEXT: "tokLen": 12081// CHECK-NEXT: }2082// CHECK-NEXT: }2083// CHECK-NEXT: }2084// CHECK-NEXT: ]2085// CHECK-NEXT: }2086// CHECK-NEXT: ]2087// CHECK-NEXT: }2088// CHECK-NEXT: ]2089// CHECK-NEXT: }2090// CHECK-NEXT: ]2091// CHECK-NEXT: }2092