brintos

brintos / llvm-project-archived public Read only

0
0
Text · 79.4 KiB · b6a1389 Raw
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