brintos

brintos / llvm-project-archived public Read only

0
0
Text · 327.3 KiB · 1415cec Raw
9231 lines · cpp
1// RUN: %clang_cc1 -triple x86_64-unknown-unknown -Wno-unused-value -fcxx-exceptions -std=gnu++17 -ast-dump=json -ast-dump-filter Test %s | FileCheck %s2 3namespace std {4using size_t = decltype(sizeof(0));5 6class type_info {7public:8  virtual ~type_info();9  bool operator==(const type_info& rhs) const noexcept;10  bool operator!=(const type_info& rhs) const noexcept;11  type_info(const type_info& rhs) = delete; // cannot be copied12  type_info& operator=(const type_info& rhs) = delete; // cannot be copied13};14 15class bad_typeid {16public:17  bad_typeid() noexcept;18  bad_typeid(const bad_typeid&) noexcept;19  virtual ~bad_typeid();20  bad_typeid& operator=(const bad_typeid&) noexcept;21  const char* what() const noexcept;22};23} // namespace std24void *operator new(std::size_t, void *ptr);25 26struct S {27  virtual ~S() = default;28 29  void func(int);30  template <typename Ty>31  Ty foo();32 33  int i;34};35 36struct T : S {};37 38template <typename>39struct U {};40 41void TestThrow() {42  throw 12;43  throw;44}45 46void TestPointerToMember(S obj1, S *obj2, int S::* data, void (S::*call)(int)) {47  obj1.*data;48  obj2->*data;49  (obj1.*call)(12);50  (obj2->*call)(12);51}52 53void TestCasting(const S *s) {54  const_cast<S *>(s);55  static_cast<const T *>(s);56  dynamic_cast<const T *>(s);57  reinterpret_cast<const int *>(s);58}59 60template <typename... Ts>61void TestUnaryExpressions(int *p) {62  sizeof...(Ts);63  noexcept(p - p);64 65  ::new int;66  new (int);67  new int{12};68  new int[2];69  new int[2]{1, 2};70  new (p) int;71  new (p) int{12};72 73  ::delete p;74  delete [] p;75}76 77void TestPostfixExpressions(S a, S *p, U<int> *r) {78  a.func(0);79  p->func(0);80  p->template foo<int>();81  a.template foo<float>();82  p->~S();83  a.~S();84  a.~decltype(a)();85  p->::S::~S();86  r->template U<int>::~U();87  typeid(a);88  typeid(S);89  typeid(const volatile S);90}91 92template <typename... Ts>93void TestPrimaryExpressions(Ts... a) {94  struct V {95    void f() {96      this;97 98      [this]{};99      [*this]{};100    }101  };102 103  int b, c;104 105  [](){};106  [](int a, ...){};107  [a...]{};108  [=]{};109  [=] { return b; };110  [&]{};111  [&] { return c; };112  [b, &c]{ return b + c; };113  [a..., x = 12]{};114  []() constexpr {};115  []() mutable {};116  []() noexcept {};117  []() -> int { return 0; };118 119  (a + ...);120  (... + a);121  (a + ... + b);122}123 124namespace NS {125struct X {};126void f(X);127void y(...);128} // namespace NS129 130void TestADLCall() {131  NS::X x;132  f(x);133  y(x);134}135 136void TestNonADLCall() {137  NS::X x;138  NS::f(x);139}140 141void TestNonADLCall2() {142  NS::X x;143  using NS::f;144  f(x);145  y(x);146}147 148namespace test_adl_call_three {149using namespace NS;150void TestNonADLCall3() {151  X x;152  f(x);153}154} // namespace test_adl_call_three155 156// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py157 158 159// CHECK-NOT: {{^}}Dumping160// CHECK:  "kind": "FunctionDecl",161// CHECK-NEXT:  "loc": {162// CHECK-NEXT:   "offset": 952,163// CHECK-NEXT:   "file": "{{.*}}",164// CHECK-NEXT:   "line": 41,165// CHECK-NEXT:   "col": 6,166// CHECK-NEXT:   "tokLen": 9167// CHECK-NEXT:  },168// CHECK-NEXT:  "range": {169// CHECK-NEXT:   "begin": {170// CHECK-NEXT:    "offset": 947,171// CHECK-NEXT:    "col": 1,172// CHECK-NEXT:    "tokLen": 4173// CHECK-NEXT:   },174// CHECK-NEXT:   "end": {175// CHECK-NEXT:    "offset": 987,176// CHECK-NEXT:    "line": 44,177// CHECK-NEXT:    "col": 1,178// CHECK-NEXT:    "tokLen": 1179// CHECK-NEXT:   }180// CHECK-NEXT:  },181// CHECK-NEXT:  "name": "TestThrow",182// CHECK-NEXT:  "mangledName": "_Z9TestThrowv",183// CHECK-NEXT:  "type": {184// CHECK-NEXT:   "qualType": "void ()"185// CHECK-NEXT:  },186// CHECK-NEXT:  "inner": [187// CHECK-NEXT:   {188// CHECK-NEXT:    "id": "0x{{.*}}",189// CHECK-NEXT:    "kind": "CompoundStmt",190// CHECK-NEXT:    "range": {191// CHECK-NEXT:     "begin": {192// CHECK-NEXT:      "offset": 964,193// CHECK-NEXT:      "line": 41,194// CHECK-NEXT:      "col": 18,195// CHECK-NEXT:      "tokLen": 1196// CHECK-NEXT:     },197// CHECK-NEXT:     "end": {198// CHECK-NEXT:      "offset": 987,199// CHECK-NEXT:      "line": 44,200// CHECK-NEXT:      "col": 1,201// CHECK-NEXT:      "tokLen": 1202// CHECK-NEXT:     }203// CHECK-NEXT:    },204// CHECK-NEXT:    "inner": [205// CHECK-NEXT:     {206// CHECK-NEXT:      "id": "0x{{.*}}",207// CHECK-NEXT:      "kind": "CXXThrowExpr",208// CHECK-NEXT:      "range": {209// CHECK-NEXT:       "begin": {210// CHECK-NEXT:        "offset": 968,211// CHECK-NEXT:        "line": 42,212// CHECK-NEXT:        "col": 3,213// CHECK-NEXT:        "tokLen": 5214// CHECK-NEXT:       },215// CHECK-NEXT:       "end": {216// CHECK-NEXT:        "offset": 974,217// CHECK-NEXT:        "col": 9,218// CHECK-NEXT:        "tokLen": 2219// CHECK-NEXT:       }220// CHECK-NEXT:      },221// CHECK-NEXT:      "type": {222// CHECK-NEXT:       "qualType": "void"223// CHECK-NEXT:      },224// CHECK-NEXT:      "valueCategory": "prvalue",225// CHECK-NEXT:      "inner": [226// CHECK-NEXT:       {227// CHECK-NEXT:        "id": "0x{{.*}}",228// CHECK-NEXT:        "kind": "IntegerLiteral",229// CHECK-NEXT:        "range": {230// CHECK-NEXT:         "begin": {231// CHECK-NEXT:          "offset": 974,232// CHECK-NEXT:          "col": 9,233// CHECK-NEXT:          "tokLen": 2234// CHECK-NEXT:         },235// CHECK-NEXT:         "end": {236// CHECK-NEXT:          "offset": 974,237// CHECK-NEXT:          "col": 9,238// CHECK-NEXT:          "tokLen": 2239// CHECK-NEXT:         }240// CHECK-NEXT:        },241// CHECK-NEXT:        "type": {242// CHECK-NEXT:         "qualType": "int"243// CHECK-NEXT:        },244// CHECK-NEXT:        "valueCategory": "prvalue",245// CHECK-NEXT:        "value": "12"246// CHECK-NEXT:       }247// CHECK-NEXT:      ]248// CHECK-NEXT:     },249// CHECK-NEXT:     {250// CHECK-NEXT:      "id": "0x{{.*}}",251// CHECK-NEXT:      "kind": "CXXThrowExpr",252// CHECK-NEXT:      "range": {253// CHECK-NEXT:       "begin": {254// CHECK-NEXT:        "offset": 980,255// CHECK-NEXT:        "line": 43,256// CHECK-NEXT:        "col": 3,257// CHECK-NEXT:        "tokLen": 5258// CHECK-NEXT:       },259// CHECK-NEXT:       "end": {260// CHECK-NEXT:        "offset": 980,261// CHECK-NEXT:        "col": 3,262// CHECK-NEXT:        "tokLen": 5263// CHECK-NEXT:       }264// CHECK-NEXT:      },265// CHECK-NEXT:      "type": {266// CHECK-NEXT:       "qualType": "void"267// CHECK-NEXT:      },268// CHECK-NEXT:      "valueCategory": "prvalue"269// CHECK-NEXT:     }270// CHECK-NEXT:    ]271// CHECK-NEXT:   }272// CHECK-NEXT:  ]273// CHECK-NEXT: }274 275 276// CHECK-NOT: {{^}}Dumping277// CHECK:  "kind": "FunctionDecl",278// CHECK-NEXT:  "loc": {279// CHECK-NEXT:   "offset": 995,280// CHECK-NEXT:   "file": "{{.*}}",281// CHECK-NEXT:   "line": 46,282// CHECK-NEXT:   "col": 6,283// CHECK-NEXT:   "tokLen": 19284// CHECK-NEXT:  },285// CHECK-NEXT:  "range": {286// CHECK-NEXT:   "begin": {287// CHECK-NEXT:    "offset": 990,288// CHECK-NEXT:    "col": 1,289// CHECK-NEXT:    "tokLen": 4290// CHECK-NEXT:   },291// CHECK-NEXT:   "end": {292// CHECK-NEXT:    "offset": 1141,293// CHECK-NEXT:    "line": 51,294// CHECK-NEXT:    "col": 1,295// CHECK-NEXT:    "tokLen": 1296// CHECK-NEXT:   }297// CHECK-NEXT:  },298// CHECK-NEXT:  "name": "TestPointerToMember",299// CHECK-NEXT:  "mangledName": "_Z19TestPointerToMember1SPS_MS_iMS_FviE",300// CHECK-NEXT:  "type": {301// CHECK-NEXT:   "qualType": "void (S, S *, int S::*, void (S::*)(int))"302// CHECK-NEXT:  },303// CHECK-NEXT:  "inner": [304// CHECK-NEXT:   {305// CHECK-NEXT:    "id": "0x{{.*}}",306// CHECK-NEXT:    "kind": "ParmVarDecl",307// CHECK-NEXT:    "loc": {308// CHECK-NEXT:     "offset": 1017,309// CHECK-NEXT:     "line": 46,310// CHECK-NEXT:     "col": 28,311// CHECK-NEXT:     "tokLen": 4312// CHECK-NEXT:    },313// CHECK-NEXT:    "range": {314// CHECK-NEXT:     "begin": {315// CHECK-NEXT:      "offset": 1015,316// CHECK-NEXT:      "col": 26,317// CHECK-NEXT:      "tokLen": 1318// CHECK-NEXT:     },319// CHECK-NEXT:     "end": {320// CHECK-NEXT:      "offset": 1017,321// CHECK-NEXT:      "col": 28,322// CHECK-NEXT:      "tokLen": 4323// CHECK-NEXT:     }324// CHECK-NEXT:    },325// CHECK-NEXT:    "isUsed": true,326// CHECK-NEXT:    "name": "obj1",327// CHECK-NEXT:    "type": {328// CHECK-NEXT:     "qualType": "S"329// CHECK-NEXT:    }330// CHECK-NEXT:   },331// CHECK-NEXT:   {332// CHECK-NEXT:    "id": "0x{{.*}}",333// CHECK-NEXT:    "kind": "ParmVarDecl",334// CHECK-NEXT:    "loc": {335// CHECK-NEXT:     "offset": 1026,336// CHECK-NEXT:     "col": 37,337// CHECK-NEXT:     "tokLen": 4338// CHECK-NEXT:    },339// CHECK-NEXT:    "range": {340// CHECK-NEXT:     "begin": {341// CHECK-NEXT:      "offset": 1023,342// CHECK-NEXT:      "col": 34,343// CHECK-NEXT:      "tokLen": 1344// CHECK-NEXT:     },345// CHECK-NEXT:     "end": {346// CHECK-NEXT:      "offset": 1026,347// CHECK-NEXT:      "col": 37,348// CHECK-NEXT:      "tokLen": 4349// CHECK-NEXT:     }350// CHECK-NEXT:    },351// CHECK-NEXT:    "isUsed": true,352// CHECK-NEXT:    "name": "obj2",353// CHECK-NEXT:    "type": {354// CHECK-NEXT:     "qualType": "S *"355// CHECK-NEXT:    }356// CHECK-NEXT:   },357// CHECK-NEXT:   {358// CHECK-NEXT:    "id": "0x{{.*}}",359// CHECK-NEXT:    "kind": "ParmVarDecl",360// CHECK-NEXT:    "loc": {361// CHECK-NEXT:     "offset": 1041,362// CHECK-NEXT:     "col": 52,363// CHECK-NEXT:     "tokLen": 4364// CHECK-NEXT:    },365// CHECK-NEXT:    "range": {366// CHECK-NEXT:     "begin": {367// CHECK-NEXT:      "offset": 1032,368// CHECK-NEXT:      "col": 43,369// CHECK-NEXT:      "tokLen": 3370// CHECK-NEXT:     },371// CHECK-NEXT:     "end": {372// CHECK-NEXT:      "offset": 1041,373// CHECK-NEXT:      "col": 52,374// CHECK-NEXT:      "tokLen": 4375// CHECK-NEXT:     }376// CHECK-NEXT:    },377// CHECK-NEXT:    "isUsed": true,378// CHECK-NEXT:    "name": "data",379// CHECK-NEXT:    "type": {380// CHECK-NEXT:     "qualType": "int S::*"381// CHECK-NEXT:    }382// CHECK-NEXT:   },383// CHECK-NEXT:   {384// CHECK-NEXT:    "id": "0x{{.*}}",385// CHECK-NEXT:    "kind": "ParmVarDecl",386// CHECK-NEXT:    "loc": {387// CHECK-NEXT:     "offset": 1057,388// CHECK-NEXT:     "col": 68,389// CHECK-NEXT:     "tokLen": 4390// CHECK-NEXT:    },391// CHECK-NEXT:    "range": {392// CHECK-NEXT:     "begin": {393// CHECK-NEXT:      "offset": 1047,394// CHECK-NEXT:      "col": 58,395// CHECK-NEXT:      "tokLen": 4396// CHECK-NEXT:     },397// CHECK-NEXT:     "end": {398// CHECK-NEXT:      "offset": 1066,399// CHECK-NEXT:      "col": 77,400// CHECK-NEXT:      "tokLen": 1401// CHECK-NEXT:     }402// CHECK-NEXT:    },403// CHECK-NEXT:    "isUsed": true,404// CHECK-NEXT:    "name": "call",405// CHECK-NEXT:    "type": {406// CHECK-NEXT:     "qualType": "void (S::*)(int)"407// CHECK-NEXT:    }408// CHECK-NEXT:   },409// CHECK-NEXT:   {410// CHECK-NEXT:    "id": "0x{{.*}}",411// CHECK-NEXT:    "kind": "CompoundStmt",412// CHECK-NEXT:    "range": {413// CHECK-NEXT:     "begin": {414// CHECK-NEXT:      "offset": 1069,415// CHECK-NEXT:      "col": 80,416// CHECK-NEXT:      "tokLen": 1417// CHECK-NEXT:     },418// CHECK-NEXT:     "end": {419// CHECK-NEXT:      "offset": 1141,420// CHECK-NEXT:      "line": 51,421// CHECK-NEXT:      "col": 1,422// CHECK-NEXT:      "tokLen": 1423// CHECK-NEXT:     }424// CHECK-NEXT:    },425// CHECK-NEXT:    "inner": [426// CHECK-NEXT:     {427// CHECK-NEXT:      "id": "0x{{.*}}",428// CHECK-NEXT:      "kind": "BinaryOperator",429// CHECK-NEXT:      "range": {430// CHECK-NEXT:       "begin": {431// CHECK-NEXT:        "offset": 1073,432// CHECK-NEXT:        "line": 47,433// CHECK-NEXT:        "col": 3,434// CHECK-NEXT:        "tokLen": 4435// CHECK-NEXT:       },436// CHECK-NEXT:       "end": {437// CHECK-NEXT:        "offset": 1079,438// CHECK-NEXT:        "col": 9,439// CHECK-NEXT:        "tokLen": 4440// CHECK-NEXT:       }441// CHECK-NEXT:      },442// CHECK-NEXT:      "type": {443// CHECK-NEXT:       "qualType": "int"444// CHECK-NEXT:      },445// CHECK-NEXT:      "valueCategory": "lvalue",446// CHECK-NEXT:      "opcode": ".*",447// CHECK-NEXT:      "inner": [448// CHECK-NEXT:       {449// CHECK-NEXT:        "id": "0x{{.*}}",450// CHECK-NEXT:        "kind": "DeclRefExpr",451// CHECK-NEXT:        "range": {452// CHECK-NEXT:         "begin": {453// CHECK-NEXT:          "offset": 1073,454// CHECK-NEXT:          "col": 3,455// CHECK-NEXT:          "tokLen": 4456// CHECK-NEXT:         },457// CHECK-NEXT:         "end": {458// CHECK-NEXT:          "offset": 1073,459// CHECK-NEXT:          "col": 3,460// CHECK-NEXT:          "tokLen": 4461// CHECK-NEXT:         }462// CHECK-NEXT:        },463// CHECK-NEXT:        "type": {464// CHECK-NEXT:         "qualType": "S"465// CHECK-NEXT:        },466// CHECK-NEXT:        "valueCategory": "lvalue",467// CHECK-NEXT:        "referencedDecl": {468// CHECK-NEXT:         "id": "0x{{.*}}",469// CHECK-NEXT:         "kind": "ParmVarDecl",470// CHECK-NEXT:         "name": "obj1",471// CHECK-NEXT:         "type": {472// CHECK-NEXT:          "qualType": "S"473// CHECK-NEXT:         }474// CHECK-NEXT:        }475// CHECK-NEXT:       },476// CHECK-NEXT:       {477// CHECK-NEXT:        "id": "0x{{.*}}",478// CHECK-NEXT:        "kind": "ImplicitCastExpr",479// CHECK-NEXT:        "range": {480// CHECK-NEXT:         "begin": {481// CHECK-NEXT:          "offset": 1079,482// CHECK-NEXT:          "col": 9,483// CHECK-NEXT:          "tokLen": 4484// CHECK-NEXT:         },485// CHECK-NEXT:         "end": {486// CHECK-NEXT:          "offset": 1079,487// CHECK-NEXT:          "col": 9,488// CHECK-NEXT:          "tokLen": 4489// CHECK-NEXT:         }490// CHECK-NEXT:        },491// CHECK-NEXT:        "type": {492// CHECK-NEXT:         "qualType": "int S::*"493// CHECK-NEXT:        },494// CHECK-NEXT:        "valueCategory": "prvalue",495// CHECK-NEXT:        "castKind": "LValueToRValue",496// CHECK-NEXT:        "inner": [497// CHECK-NEXT:         {498// CHECK-NEXT:          "id": "0x{{.*}}",499// CHECK-NEXT:          "kind": "DeclRefExpr",500// CHECK-NEXT:          "range": {501// CHECK-NEXT:           "begin": {502// CHECK-NEXT:            "offset": 1079,503// CHECK-NEXT:            "col": 9,504// CHECK-NEXT:            "tokLen": 4505// CHECK-NEXT:           },506// CHECK-NEXT:           "end": {507// CHECK-NEXT:            "offset": 1079,508// CHECK-NEXT:            "col": 9,509// CHECK-NEXT:            "tokLen": 4510// CHECK-NEXT:           }511// CHECK-NEXT:          },512// CHECK-NEXT:          "type": {513// CHECK-NEXT:           "qualType": "int S::*"514// CHECK-NEXT:          },515// CHECK-NEXT:          "valueCategory": "lvalue",516// CHECK-NEXT:          "referencedDecl": {517// CHECK-NEXT:           "id": "0x{{.*}}",518// CHECK-NEXT:           "kind": "ParmVarDecl",519// CHECK-NEXT:           "name": "data",520// CHECK-NEXT:           "type": {521// CHECK-NEXT:            "qualType": "int S::*"522// CHECK-NEXT:           }523// CHECK-NEXT:          }524// CHECK-NEXT:         }525// CHECK-NEXT:        ]526// CHECK-NEXT:       }527// CHECK-NEXT:      ]528// CHECK-NEXT:     },529// CHECK-NEXT:     {530// CHECK-NEXT:      "id": "0x{{.*}}",531// CHECK-NEXT:      "kind": "BinaryOperator",532// CHECK-NEXT:      "range": {533// CHECK-NEXT:       "begin": {534// CHECK-NEXT:        "offset": 1087,535// CHECK-NEXT:        "line": 48,536// CHECK-NEXT:        "col": 3,537// CHECK-NEXT:        "tokLen": 4538// CHECK-NEXT:       },539// CHECK-NEXT:       "end": {540// CHECK-NEXT:        "offset": 1094,541// CHECK-NEXT:        "col": 10,542// CHECK-NEXT:        "tokLen": 4543// CHECK-NEXT:       }544// CHECK-NEXT:      },545// CHECK-NEXT:      "type": {546// CHECK-NEXT:       "qualType": "int"547// CHECK-NEXT:      },548// CHECK-NEXT:      "valueCategory": "lvalue",549// CHECK-NEXT:      "opcode": "->*",550// CHECK-NEXT:      "inner": [551// CHECK-NEXT:       {552// CHECK-NEXT:        "id": "0x{{.*}}",553// CHECK-NEXT:        "kind": "ImplicitCastExpr",554// CHECK-NEXT:        "range": {555// CHECK-NEXT:         "begin": {556// CHECK-NEXT:          "offset": 1087,557// CHECK-NEXT:          "col": 3,558// CHECK-NEXT:          "tokLen": 4559// CHECK-NEXT:         },560// CHECK-NEXT:         "end": {561// CHECK-NEXT:          "offset": 1087,562// CHECK-NEXT:          "col": 3,563// CHECK-NEXT:          "tokLen": 4564// CHECK-NEXT:         }565// CHECK-NEXT:        },566// CHECK-NEXT:        "type": {567// CHECK-NEXT:         "qualType": "S *"568// CHECK-NEXT:        },569// CHECK-NEXT:        "valueCategory": "prvalue",570// CHECK-NEXT:        "castKind": "LValueToRValue",571// CHECK-NEXT:        "inner": [572// CHECK-NEXT:         {573// CHECK-NEXT:          "id": "0x{{.*}}",574// CHECK-NEXT:          "kind": "DeclRefExpr",575// CHECK-NEXT:          "range": {576// CHECK-NEXT:           "begin": {577// CHECK-NEXT:            "offset": 1087,578// CHECK-NEXT:            "col": 3,579// CHECK-NEXT:            "tokLen": 4580// CHECK-NEXT:           },581// CHECK-NEXT:           "end": {582// CHECK-NEXT:            "offset": 1087,583// CHECK-NEXT:            "col": 3,584// CHECK-NEXT:            "tokLen": 4585// CHECK-NEXT:           }586// CHECK-NEXT:          },587// CHECK-NEXT:          "type": {588// CHECK-NEXT:           "qualType": "S *"589// CHECK-NEXT:          },590// CHECK-NEXT:          "valueCategory": "lvalue",591// CHECK-NEXT:          "referencedDecl": {592// CHECK-NEXT:           "id": "0x{{.*}}",593// CHECK-NEXT:           "kind": "ParmVarDecl",594// CHECK-NEXT:           "name": "obj2",595// CHECK-NEXT:           "type": {596// CHECK-NEXT:            "qualType": "S *"597// CHECK-NEXT:           }598// CHECK-NEXT:          }599// CHECK-NEXT:         }600// CHECK-NEXT:        ]601// CHECK-NEXT:       },602// CHECK-NEXT:       {603// CHECK-NEXT:        "id": "0x{{.*}}",604// CHECK-NEXT:        "kind": "ImplicitCastExpr",605// CHECK-NEXT:        "range": {606// CHECK-NEXT:         "begin": {607// CHECK-NEXT:          "offset": 1094,608// CHECK-NEXT:          "col": 10,609// CHECK-NEXT:          "tokLen": 4610// CHECK-NEXT:         },611// CHECK-NEXT:         "end": {612// CHECK-NEXT:          "offset": 1094,613// CHECK-NEXT:          "col": 10,614// CHECK-NEXT:          "tokLen": 4615// CHECK-NEXT:         }616// CHECK-NEXT:        },617// CHECK-NEXT:        "type": {618// CHECK-NEXT:         "qualType": "int S::*"619// CHECK-NEXT:        },620// CHECK-NEXT:        "valueCategory": "prvalue",621// CHECK-NEXT:        "castKind": "LValueToRValue",622// CHECK-NEXT:        "inner": [623// CHECK-NEXT:         {624// CHECK-NEXT:          "id": "0x{{.*}}",625// CHECK-NEXT:          "kind": "DeclRefExpr",626// CHECK-NEXT:          "range": {627// CHECK-NEXT:           "begin": {628// CHECK-NEXT:            "offset": 1094,629// CHECK-NEXT:            "col": 10,630// CHECK-NEXT:            "tokLen": 4631// CHECK-NEXT:           },632// CHECK-NEXT:           "end": {633// CHECK-NEXT:            "offset": 1094,634// CHECK-NEXT:            "col": 10,635// CHECK-NEXT:            "tokLen": 4636// CHECK-NEXT:           }637// CHECK-NEXT:          },638// CHECK-NEXT:          "type": {639// CHECK-NEXT:           "qualType": "int S::*"640// CHECK-NEXT:          },641// CHECK-NEXT:          "valueCategory": "lvalue",642// CHECK-NEXT:          "referencedDecl": {643// CHECK-NEXT:           "id": "0x{{.*}}",644// CHECK-NEXT:           "kind": "ParmVarDecl",645// CHECK-NEXT:           "name": "data",646// CHECK-NEXT:           "type": {647// CHECK-NEXT:            "qualType": "int S::*"648// CHECK-NEXT:           }649// CHECK-NEXT:          }650// CHECK-NEXT:         }651// CHECK-NEXT:        ]652// CHECK-NEXT:       }653// CHECK-NEXT:      ]654// CHECK-NEXT:     },655// CHECK-NEXT:     {656// CHECK-NEXT:      "id": "0x{{.*}}",657// CHECK-NEXT:      "kind": "CXXMemberCallExpr",658// CHECK-NEXT:      "range": {659// CHECK-NEXT:       "begin": {660// CHECK-NEXT:        "offset": 1102,661// CHECK-NEXT:        "line": 49,662// CHECK-NEXT:        "col": 3,663// CHECK-NEXT:        "tokLen": 1664// CHECK-NEXT:       },665// CHECK-NEXT:       "end": {666// CHECK-NEXT:        "offset": 1117,667// CHECK-NEXT:        "col": 18,668// CHECK-NEXT:        "tokLen": 1669// CHECK-NEXT:       }670// CHECK-NEXT:      },671// CHECK-NEXT:      "type": {672// CHECK-NEXT:       "qualType": "void"673// CHECK-NEXT:      },674// CHECK-NEXT:      "valueCategory": "prvalue",675// CHECK-NEXT:      "inner": [676// CHECK-NEXT:       {677// CHECK-NEXT:        "id": "0x{{.*}}",678// CHECK-NEXT:        "kind": "ParenExpr",679// CHECK-NEXT:        "range": {680// CHECK-NEXT:         "begin": {681// CHECK-NEXT:          "offset": 1102,682// CHECK-NEXT:          "col": 3,683// CHECK-NEXT:          "tokLen": 1684// CHECK-NEXT:         },685// CHECK-NEXT:         "end": {686// CHECK-NEXT:          "offset": 1113,687// CHECK-NEXT:          "col": 14,688// CHECK-NEXT:          "tokLen": 1689// CHECK-NEXT:         }690// CHECK-NEXT:        },691// CHECK-NEXT:        "type": {692// CHECK-NEXT:         "qualType": "<bound member function type>"693// CHECK-NEXT:        },694// CHECK-NEXT:        "valueCategory": "prvalue",695// CHECK-NEXT:        "inner": [696// CHECK-NEXT:         {697// CHECK-NEXT:          "id": "0x{{.*}}",698// CHECK-NEXT:          "kind": "BinaryOperator",699// CHECK-NEXT:          "range": {700// CHECK-NEXT:           "begin": {701// CHECK-NEXT:            "offset": 1103,702// CHECK-NEXT:            "col": 4,703// CHECK-NEXT:            "tokLen": 4704// CHECK-NEXT:           },705// CHECK-NEXT:           "end": {706// CHECK-NEXT:            "offset": 1109,707// CHECK-NEXT:            "col": 10,708// CHECK-NEXT:            "tokLen": 4709// CHECK-NEXT:           }710// CHECK-NEXT:          },711// CHECK-NEXT:          "type": {712// CHECK-NEXT:           "qualType": "<bound member function type>"713// CHECK-NEXT:          },714// CHECK-NEXT:          "valueCategory": "prvalue",715// CHECK-NEXT:          "opcode": ".*",716// CHECK-NEXT:          "inner": [717// CHECK-NEXT:           {718// CHECK-NEXT:            "id": "0x{{.*}}",719// CHECK-NEXT:            "kind": "DeclRefExpr",720// CHECK-NEXT:            "range": {721// CHECK-NEXT:             "begin": {722// CHECK-NEXT:              "offset": 1103,723// CHECK-NEXT:              "col": 4,724// CHECK-NEXT:              "tokLen": 4725// CHECK-NEXT:             },726// CHECK-NEXT:             "end": {727// CHECK-NEXT:              "offset": 1103,728// CHECK-NEXT:              "col": 4,729// CHECK-NEXT:              "tokLen": 4730// CHECK-NEXT:             }731// CHECK-NEXT:            },732// CHECK-NEXT:            "type": {733// CHECK-NEXT:             "qualType": "S"734// CHECK-NEXT:            },735// CHECK-NEXT:            "valueCategory": "lvalue",736// CHECK-NEXT:            "referencedDecl": {737// CHECK-NEXT:             "id": "0x{{.*}}",738// CHECK-NEXT:             "kind": "ParmVarDecl",739// CHECK-NEXT:             "name": "obj1",740// CHECK-NEXT:             "type": {741// CHECK-NEXT:              "qualType": "S"742// CHECK-NEXT:             }743// CHECK-NEXT:            }744// CHECK-NEXT:           },745// CHECK-NEXT:           {746// CHECK-NEXT:            "id": "0x{{.*}}",747// CHECK-NEXT:            "kind": "ImplicitCastExpr",748// CHECK-NEXT:            "range": {749// CHECK-NEXT:             "begin": {750// CHECK-NEXT:              "offset": 1109,751// CHECK-NEXT:              "col": 10,752// CHECK-NEXT:              "tokLen": 4753// CHECK-NEXT:             },754// CHECK-NEXT:             "end": {755// CHECK-NEXT:              "offset": 1109,756// CHECK-NEXT:              "col": 10,757// CHECK-NEXT:              "tokLen": 4758// CHECK-NEXT:             }759// CHECK-NEXT:            },760// CHECK-NEXT:            "type": {761// CHECK-NEXT:             "qualType": "void (S::*)(int)"762// CHECK-NEXT:            },763// CHECK-NEXT:            "valueCategory": "prvalue",764// CHECK-NEXT:            "castKind": "LValueToRValue",765// CHECK-NEXT:            "inner": [766// CHECK-NEXT:             {767// CHECK-NEXT:              "id": "0x{{.*}}",768// CHECK-NEXT:              "kind": "DeclRefExpr",769// CHECK-NEXT:              "range": {770// CHECK-NEXT:               "begin": {771// CHECK-NEXT:                "offset": 1109,772// CHECK-NEXT:                "col": 10,773// CHECK-NEXT:                "tokLen": 4774// CHECK-NEXT:               },775// CHECK-NEXT:               "end": {776// CHECK-NEXT:                "offset": 1109,777// CHECK-NEXT:                "col": 10,778// CHECK-NEXT:                "tokLen": 4779// CHECK-NEXT:               }780// CHECK-NEXT:              },781// CHECK-NEXT:              "type": {782// CHECK-NEXT:               "qualType": "void (S::*)(int)"783// CHECK-NEXT:              },784// CHECK-NEXT:              "valueCategory": "lvalue",785// CHECK-NEXT:              "referencedDecl": {786// CHECK-NEXT:               "id": "0x{{.*}}",787// CHECK-NEXT:               "kind": "ParmVarDecl",788// CHECK-NEXT:               "name": "call",789// CHECK-NEXT:               "type": {790// CHECK-NEXT:                "qualType": "void (S::*)(int)"791// CHECK-NEXT:               }792// CHECK-NEXT:              }793// CHECK-NEXT:             }794// CHECK-NEXT:            ]795// CHECK-NEXT:           }796// CHECK-NEXT:          ]797// CHECK-NEXT:         }798// CHECK-NEXT:        ]799// CHECK-NEXT:       },800// CHECK-NEXT:       {801// CHECK-NEXT:        "id": "0x{{.*}}",802// CHECK-NEXT:        "kind": "IntegerLiteral",803// CHECK-NEXT:        "range": {804// CHECK-NEXT:         "begin": {805// CHECK-NEXT:          "offset": 1115,806// CHECK-NEXT:          "col": 16,807// CHECK-NEXT:          "tokLen": 2808// CHECK-NEXT:         },809// CHECK-NEXT:         "end": {810// CHECK-NEXT:          "offset": 1115,811// CHECK-NEXT:          "col": 16,812// CHECK-NEXT:          "tokLen": 2813// CHECK-NEXT:         }814// CHECK-NEXT:        },815// CHECK-NEXT:        "type": {816// CHECK-NEXT:         "qualType": "int"817// CHECK-NEXT:        },818// CHECK-NEXT:        "valueCategory": "prvalue",819// CHECK-NEXT:        "value": "12"820// CHECK-NEXT:       }821// CHECK-NEXT:      ]822// CHECK-NEXT:     },823// CHECK-NEXT:     {824// CHECK-NEXT:      "id": "0x{{.*}}",825// CHECK-NEXT:      "kind": "CXXMemberCallExpr",826// CHECK-NEXT:      "range": {827// CHECK-NEXT:       "begin": {828// CHECK-NEXT:        "offset": 1122,829// CHECK-NEXT:        "line": 50,830// CHECK-NEXT:        "col": 3,831// CHECK-NEXT:        "tokLen": 1832// CHECK-NEXT:       },833// CHECK-NEXT:       "end": {834// CHECK-NEXT:        "offset": 1138,835// CHECK-NEXT:        "col": 19,836// CHECK-NEXT:        "tokLen": 1837// CHECK-NEXT:       }838// CHECK-NEXT:      },839// CHECK-NEXT:      "type": {840// CHECK-NEXT:       "qualType": "void"841// CHECK-NEXT:      },842// CHECK-NEXT:      "valueCategory": "prvalue",843// CHECK-NEXT:      "inner": [844// CHECK-NEXT:       {845// CHECK-NEXT:        "id": "0x{{.*}}",846// CHECK-NEXT:        "kind": "ParenExpr",847// CHECK-NEXT:        "range": {848// CHECK-NEXT:         "begin": {849// CHECK-NEXT:          "offset": 1122,850// CHECK-NEXT:          "col": 3,851// CHECK-NEXT:          "tokLen": 1852// CHECK-NEXT:         },853// CHECK-NEXT:         "end": {854// CHECK-NEXT:          "offset": 1134,855// CHECK-NEXT:          "col": 15,856// CHECK-NEXT:          "tokLen": 1857// CHECK-NEXT:         }858// CHECK-NEXT:        },859// CHECK-NEXT:        "type": {860// CHECK-NEXT:         "qualType": "<bound member function type>"861// CHECK-NEXT:        },862// CHECK-NEXT:        "valueCategory": "prvalue",863// CHECK-NEXT:        "inner": [864// CHECK-NEXT:         {865// CHECK-NEXT:          "id": "0x{{.*}}",866// CHECK-NEXT:          "kind": "BinaryOperator",867// CHECK-NEXT:          "range": {868// CHECK-NEXT:           "begin": {869// CHECK-NEXT:            "offset": 1123,870// CHECK-NEXT:            "col": 4,871// CHECK-NEXT:            "tokLen": 4872// CHECK-NEXT:           },873// CHECK-NEXT:           "end": {874// CHECK-NEXT:            "offset": 1130,875// CHECK-NEXT:            "col": 11,876// CHECK-NEXT:            "tokLen": 4877// CHECK-NEXT:           }878// CHECK-NEXT:          },879// CHECK-NEXT:          "type": {880// CHECK-NEXT:           "qualType": "<bound member function type>"881// CHECK-NEXT:          },882// CHECK-NEXT:          "valueCategory": "prvalue",883// CHECK-NEXT:          "opcode": "->*",884// CHECK-NEXT:          "inner": [885// CHECK-NEXT:           {886// CHECK-NEXT:            "id": "0x{{.*}}",887// CHECK-NEXT:            "kind": "ImplicitCastExpr",888// CHECK-NEXT:            "range": {889// CHECK-NEXT:             "begin": {890// CHECK-NEXT:              "offset": 1123,891// CHECK-NEXT:              "col": 4,892// CHECK-NEXT:              "tokLen": 4893// CHECK-NEXT:             },894// CHECK-NEXT:             "end": {895// CHECK-NEXT:              "offset": 1123,896// CHECK-NEXT:              "col": 4,897// CHECK-NEXT:              "tokLen": 4898// CHECK-NEXT:             }899// CHECK-NEXT:            },900// CHECK-NEXT:            "type": {901// CHECK-NEXT:             "qualType": "S *"902// CHECK-NEXT:            },903// CHECK-NEXT:            "valueCategory": "prvalue",904// CHECK-NEXT:            "castKind": "LValueToRValue",905// CHECK-NEXT:            "inner": [906// CHECK-NEXT:             {907// CHECK-NEXT:              "id": "0x{{.*}}",908// CHECK-NEXT:              "kind": "DeclRefExpr",909// CHECK-NEXT:              "range": {910// CHECK-NEXT:               "begin": {911// CHECK-NEXT:                "offset": 1123,912// CHECK-NEXT:                "col": 4,913// CHECK-NEXT:                "tokLen": 4914// CHECK-NEXT:               },915// CHECK-NEXT:               "end": {916// CHECK-NEXT:                "offset": 1123,917// CHECK-NEXT:                "col": 4,918// CHECK-NEXT:                "tokLen": 4919// CHECK-NEXT:               }920// CHECK-NEXT:              },921// CHECK-NEXT:              "type": {922// CHECK-NEXT:               "qualType": "S *"923// CHECK-NEXT:              },924// CHECK-NEXT:              "valueCategory": "lvalue",925// CHECK-NEXT:              "referencedDecl": {926// CHECK-NEXT:               "id": "0x{{.*}}",927// CHECK-NEXT:               "kind": "ParmVarDecl",928// CHECK-NEXT:               "name": "obj2",929// CHECK-NEXT:               "type": {930// CHECK-NEXT:                "qualType": "S *"931// CHECK-NEXT:               }932// CHECK-NEXT:              }933// CHECK-NEXT:             }934// CHECK-NEXT:            ]935// CHECK-NEXT:           },936// CHECK-NEXT:           {937// CHECK-NEXT:            "id": "0x{{.*}}",938// CHECK-NEXT:            "kind": "ImplicitCastExpr",939// CHECK-NEXT:            "range": {940// CHECK-NEXT:             "begin": {941// CHECK-NEXT:              "offset": 1130,942// CHECK-NEXT:              "col": 11,943// CHECK-NEXT:              "tokLen": 4944// CHECK-NEXT:             },945// CHECK-NEXT:             "end": {946// CHECK-NEXT:              "offset": 1130,947// CHECK-NEXT:              "col": 11,948// CHECK-NEXT:              "tokLen": 4949// CHECK-NEXT:             }950// CHECK-NEXT:            },951// CHECK-NEXT:            "type": {952// CHECK-NEXT:             "qualType": "void (S::*)(int)"953// CHECK-NEXT:            },954// CHECK-NEXT:            "valueCategory": "prvalue",955// CHECK-NEXT:            "castKind": "LValueToRValue",956// CHECK-NEXT:            "inner": [957// CHECK-NEXT:             {958// CHECK-NEXT:              "id": "0x{{.*}}",959// CHECK-NEXT:              "kind": "DeclRefExpr",960// CHECK-NEXT:              "range": {961// CHECK-NEXT:               "begin": {962// CHECK-NEXT:                "offset": 1130,963// CHECK-NEXT:                "col": 11,964// CHECK-NEXT:                "tokLen": 4965// CHECK-NEXT:               },966// CHECK-NEXT:               "end": {967// CHECK-NEXT:                "offset": 1130,968// CHECK-NEXT:                "col": 11,969// CHECK-NEXT:                "tokLen": 4970// CHECK-NEXT:               }971// CHECK-NEXT:              },972// CHECK-NEXT:              "type": {973// CHECK-NEXT:               "qualType": "void (S::*)(int)"974// CHECK-NEXT:              },975// CHECK-NEXT:              "valueCategory": "lvalue",976// CHECK-NEXT:              "referencedDecl": {977// CHECK-NEXT:               "id": "0x{{.*}}",978// CHECK-NEXT:               "kind": "ParmVarDecl",979// CHECK-NEXT:               "name": "call",980// CHECK-NEXT:               "type": {981// CHECK-NEXT:                "qualType": "void (S::*)(int)"982// CHECK-NEXT:               }983// CHECK-NEXT:              }984// CHECK-NEXT:             }985// CHECK-NEXT:            ]986// CHECK-NEXT:           }987// CHECK-NEXT:          ]988// CHECK-NEXT:         }989// CHECK-NEXT:        ]990// CHECK-NEXT:       },991// CHECK-NEXT:       {992// CHECK-NEXT:        "id": "0x{{.*}}",993// CHECK-NEXT:        "kind": "IntegerLiteral",994// CHECK-NEXT:        "range": {995// CHECK-NEXT:         "begin": {996// CHECK-NEXT:          "offset": 1136,997// CHECK-NEXT:          "col": 17,998// CHECK-NEXT:          "tokLen": 2999// CHECK-NEXT:         },1000// CHECK-NEXT:         "end": {1001// CHECK-NEXT:          "offset": 1136,1002// CHECK-NEXT:          "col": 17,1003// CHECK-NEXT:          "tokLen": 21004// CHECK-NEXT:         }1005// CHECK-NEXT:        },1006// CHECK-NEXT:        "type": {1007// CHECK-NEXT:         "qualType": "int"1008// CHECK-NEXT:        },1009// CHECK-NEXT:        "valueCategory": "prvalue",1010// CHECK-NEXT:        "value": "12"1011// CHECK-NEXT:       }1012// CHECK-NEXT:      ]1013// CHECK-NEXT:     }1014// CHECK-NEXT:    ]1015// CHECK-NEXT:   }1016// CHECK-NEXT:  ]1017// CHECK-NEXT: }1018 1019 1020// CHECK-NOT: {{^}}Dumping1021// CHECK:  "kind": "FunctionDecl",1022// CHECK-NEXT:  "loc": {1023// CHECK-NEXT:   "offset": 1149,1024// CHECK-NEXT:   "file": "{{.*}}",1025// CHECK-NEXT:   "line": 53,1026// CHECK-NEXT:   "col": 6,1027// CHECK-NEXT:   "tokLen": 111028// CHECK-NEXT:  },1029// CHECK-NEXT:  "range": {1030// CHECK-NEXT:   "begin": {1031// CHECK-NEXT:    "offset": 1144,1032// CHECK-NEXT:    "col": 1,1033// CHECK-NEXT:    "tokLen": 41034// CHECK-NEXT:   },1035// CHECK-NEXT:   "end": {1036// CHECK-NEXT:    "offset": 1292,1037// CHECK-NEXT:    "line": 58,1038// CHECK-NEXT:    "col": 1,1039// CHECK-NEXT:    "tokLen": 11040// CHECK-NEXT:   }1041// CHECK-NEXT:  },1042// CHECK-NEXT:  "name": "TestCasting",1043// CHECK-NEXT:  "mangledName": "_Z11TestCastingPK1S",1044// CHECK-NEXT:  "type": {1045// CHECK-NEXT:   "qualType": "void (const S *)"1046// CHECK-NEXT:  },1047// CHECK-NEXT:  "inner": [1048// CHECK-NEXT:   {1049// CHECK-NEXT:    "id": "0x{{.*}}",1050// CHECK-NEXT:    "kind": "ParmVarDecl",1051// CHECK-NEXT:    "loc": {1052// CHECK-NEXT:     "offset": 1170,1053// CHECK-NEXT:     "line": 53,1054// CHECK-NEXT:     "col": 27,1055// CHECK-NEXT:     "tokLen": 11056// CHECK-NEXT:    },1057// CHECK-NEXT:    "range": {1058// CHECK-NEXT:     "begin": {1059// CHECK-NEXT:      "offset": 1161,1060// CHECK-NEXT:      "col": 18,1061// CHECK-NEXT:      "tokLen": 51062// CHECK-NEXT:     },1063// CHECK-NEXT:     "end": {1064// CHECK-NEXT:      "offset": 1170,1065// CHECK-NEXT:      "col": 27,1066// CHECK-NEXT:      "tokLen": 11067// CHECK-NEXT:     }1068// CHECK-NEXT:    },1069// CHECK-NEXT:    "isUsed": true,1070// CHECK-NEXT:    "name": "s",1071// CHECK-NEXT:    "type": {1072// CHECK-NEXT:     "qualType": "const S *"1073// CHECK-NEXT:    }1074// CHECK-NEXT:   },1075// CHECK-NEXT:   {1076// CHECK-NEXT:    "id": "0x{{.*}}",1077// CHECK-NEXT:    "kind": "CompoundStmt",1078// CHECK-NEXT:    "range": {1079// CHECK-NEXT:     "begin": {1080// CHECK-NEXT:      "offset": 1173,1081// CHECK-NEXT:      "col": 30,1082// CHECK-NEXT:      "tokLen": 11083// CHECK-NEXT:     },1084// CHECK-NEXT:     "end": {1085// CHECK-NEXT:      "offset": 1292,1086// CHECK-NEXT:      "line": 58,1087// CHECK-NEXT:      "col": 1,1088// CHECK-NEXT:      "tokLen": 11089// CHECK-NEXT:     }1090// CHECK-NEXT:    },1091// CHECK-NEXT:    "inner": [1092// CHECK-NEXT:     {1093// CHECK-NEXT:      "id": "0x{{.*}}",1094// CHECK-NEXT:      "kind": "CXXConstCastExpr",1095// CHECK-NEXT:      "range": {1096// CHECK-NEXT:       "begin": {1097// CHECK-NEXT:        "offset": 1177,1098// CHECK-NEXT:        "line": 54,1099// CHECK-NEXT:        "col": 3,1100// CHECK-NEXT:        "tokLen": 101101// CHECK-NEXT:       },1102// CHECK-NEXT:       "end": {1103// CHECK-NEXT:        "offset": 1194,1104// CHECK-NEXT:        "col": 20,1105// CHECK-NEXT:        "tokLen": 11106// CHECK-NEXT:       }1107// CHECK-NEXT:      },1108// CHECK-NEXT:      "type": {1109// CHECK-NEXT:       "qualType": "S *"1110// CHECK-NEXT:      },1111// CHECK-NEXT:      "valueCategory": "prvalue",1112// CHECK-NEXT:      "castKind": "NoOp",1113// CHECK-NEXT:      "inner": [1114// CHECK-NEXT:       {1115// CHECK-NEXT:        "id": "0x{{.*}}",1116// CHECK-NEXT:        "kind": "ImplicitCastExpr",1117// CHECK-NEXT:        "range": {1118// CHECK-NEXT:         "begin": {1119// CHECK-NEXT:          "offset": 1193,1120// CHECK-NEXT:          "col": 19,1121// CHECK-NEXT:          "tokLen": 11122// CHECK-NEXT:         },1123// CHECK-NEXT:         "end": {1124// CHECK-NEXT:          "offset": 1193,1125// CHECK-NEXT:          "col": 19,1126// CHECK-NEXT:          "tokLen": 11127// CHECK-NEXT:         }1128// CHECK-NEXT:        },1129// CHECK-NEXT:        "type": {1130// CHECK-NEXT:         "qualType": "const S *"1131// CHECK-NEXT:        },1132// CHECK-NEXT:        "valueCategory": "prvalue",1133// CHECK-NEXT:        "castKind": "LValueToRValue",1134// CHECK-NEXT:        "isPartOfExplicitCast": true,1135// CHECK-NEXT:        "inner": [1136// CHECK-NEXT:         {1137// CHECK-NEXT:          "id": "0x{{.*}}",1138// CHECK-NEXT:          "kind": "DeclRefExpr",1139// CHECK-NEXT:          "range": {1140// CHECK-NEXT:           "begin": {1141// CHECK-NEXT:            "offset": 1193,1142// CHECK-NEXT:            "col": 19,1143// CHECK-NEXT:            "tokLen": 11144// CHECK-NEXT:           },1145// CHECK-NEXT:           "end": {1146// CHECK-NEXT:            "offset": 1193,1147// CHECK-NEXT:            "col": 19,1148// CHECK-NEXT:            "tokLen": 11149// CHECK-NEXT:           }1150// CHECK-NEXT:          },1151// CHECK-NEXT:          "type": {1152// CHECK-NEXT:           "qualType": "const S *"1153// CHECK-NEXT:          },1154// CHECK-NEXT:          "valueCategory": "lvalue",1155// CHECK-NEXT:          "referencedDecl": {1156// CHECK-NEXT:           "id": "0x{{.*}}",1157// CHECK-NEXT:           "kind": "ParmVarDecl",1158// CHECK-NEXT:           "name": "s",1159// CHECK-NEXT:           "type": {1160// CHECK-NEXT:            "qualType": "const S *"1161// CHECK-NEXT:           }1162// CHECK-NEXT:          }1163// CHECK-NEXT:         }1164// CHECK-NEXT:        ]1165// CHECK-NEXT:       }1166// CHECK-NEXT:      ]1167// CHECK-NEXT:     },1168// CHECK-NEXT:     {1169// CHECK-NEXT:      "id": "0x{{.*}}",1170// CHECK-NEXT:      "kind": "CXXStaticCastExpr",1171// CHECK-NEXT:      "range": {1172// CHECK-NEXT:       "begin": {1173// CHECK-NEXT:        "offset": 1199,1174// CHECK-NEXT:        "line": 55,1175// CHECK-NEXT:        "col": 3,1176// CHECK-NEXT:        "tokLen": 111177// CHECK-NEXT:       },1178// CHECK-NEXT:       "end": {1179// CHECK-NEXT:        "offset": 1223,1180// CHECK-NEXT:        "col": 27,1181// CHECK-NEXT:        "tokLen": 11182// CHECK-NEXT:       }1183// CHECK-NEXT:      },1184// CHECK-NEXT:      "type": {1185// CHECK-NEXT:       "qualType": "const T *"1186// CHECK-NEXT:      },1187// CHECK-NEXT:      "valueCategory": "prvalue",1188// CHECK-NEXT:      "castKind": "BaseToDerived",1189// CHECK-NEXT:      "path": [1190// CHECK-NEXT:       {1191// CHECK-NEXT:        "name": "S"1192// CHECK-NEXT:       }1193// CHECK-NEXT:      ],1194// CHECK-NEXT:      "inner": [1195// CHECK-NEXT:       {1196// CHECK-NEXT:        "id": "0x{{.*}}",1197// CHECK-NEXT:        "kind": "ImplicitCastExpr",1198// CHECK-NEXT:        "range": {1199// CHECK-NEXT:         "begin": {1200// CHECK-NEXT:          "offset": 1222,1201// CHECK-NEXT:          "col": 26,1202// CHECK-NEXT:          "tokLen": 11203// CHECK-NEXT:         },1204// CHECK-NEXT:         "end": {1205// CHECK-NEXT:          "offset": 1222,1206// CHECK-NEXT:          "col": 26,1207// CHECK-NEXT:          "tokLen": 11208// CHECK-NEXT:         }1209// CHECK-NEXT:        },1210// CHECK-NEXT:        "type": {1211// CHECK-NEXT:         "qualType": "const S *"1212// CHECK-NEXT:        },1213// CHECK-NEXT:        "valueCategory": "prvalue",1214// CHECK-NEXT:        "castKind": "LValueToRValue",1215// CHECK-NEXT:        "isPartOfExplicitCast": true,1216// CHECK-NEXT:        "inner": [1217// CHECK-NEXT:         {1218// CHECK-NEXT:          "id": "0x{{.*}}",1219// CHECK-NEXT:          "kind": "DeclRefExpr",1220// CHECK-NEXT:          "range": {1221// CHECK-NEXT:           "begin": {1222// CHECK-NEXT:            "offset": 1222,1223// CHECK-NEXT:            "col": 26,1224// CHECK-NEXT:            "tokLen": 11225// CHECK-NEXT:           },1226// CHECK-NEXT:           "end": {1227// CHECK-NEXT:            "offset": 1222,1228// CHECK-NEXT:            "col": 26,1229// CHECK-NEXT:            "tokLen": 11230// CHECK-NEXT:           }1231// CHECK-NEXT:          },1232// CHECK-NEXT:          "type": {1233// CHECK-NEXT:           "qualType": "const S *"1234// CHECK-NEXT:          },1235// CHECK-NEXT:          "valueCategory": "lvalue",1236// CHECK-NEXT:          "referencedDecl": {1237// CHECK-NEXT:           "id": "0x{{.*}}",1238// CHECK-NEXT:           "kind": "ParmVarDecl",1239// CHECK-NEXT:           "name": "s",1240// CHECK-NEXT:           "type": {1241// CHECK-NEXT:            "qualType": "const S *"1242// CHECK-NEXT:           }1243// CHECK-NEXT:          }1244// CHECK-NEXT:         }1245// CHECK-NEXT:        ]1246// CHECK-NEXT:       }1247// CHECK-NEXT:      ]1248// CHECK-NEXT:     },1249// CHECK-NEXT:     {1250// CHECK-NEXT:      "id": "0x{{.*}}",1251// CHECK-NEXT:      "kind": "CXXDynamicCastExpr",1252// CHECK-NEXT:      "range": {1253// CHECK-NEXT:       "begin": {1254// CHECK-NEXT:        "offset": 1228,1255// CHECK-NEXT:        "line": 56,1256// CHECK-NEXT:        "col": 3,1257// CHECK-NEXT:        "tokLen": 121258// CHECK-NEXT:       },1259// CHECK-NEXT:       "end": {1260// CHECK-NEXT:        "offset": 1253,1261// CHECK-NEXT:        "col": 28,1262// CHECK-NEXT:        "tokLen": 11263// CHECK-NEXT:       }1264// CHECK-NEXT:      },1265// CHECK-NEXT:      "type": {1266// CHECK-NEXT:       "qualType": "const T *"1267// CHECK-NEXT:      },1268// CHECK-NEXT:      "valueCategory": "prvalue",1269// CHECK-NEXT:      "castKind": "Dynamic",1270// CHECK-NEXT:      "inner": [1271// CHECK-NEXT:       {1272// CHECK-NEXT:        "id": "0x{{.*}}",1273// CHECK-NEXT:        "kind": "ImplicitCastExpr",1274// CHECK-NEXT:        "range": {1275// CHECK-NEXT:         "begin": {1276// CHECK-NEXT:          "offset": 1252,1277// CHECK-NEXT:          "col": 27,1278// CHECK-NEXT:          "tokLen": 11279// CHECK-NEXT:         },1280// CHECK-NEXT:         "end": {1281// CHECK-NEXT:          "offset": 1252,1282// CHECK-NEXT:          "col": 27,1283// CHECK-NEXT:          "tokLen": 11284// CHECK-NEXT:         }1285// CHECK-NEXT:        },1286// CHECK-NEXT:        "type": {1287// CHECK-NEXT:         "qualType": "const S *"1288// CHECK-NEXT:        },1289// CHECK-NEXT:        "valueCategory": "prvalue",1290// CHECK-NEXT:        "castKind": "LValueToRValue",1291// CHECK-NEXT:        "isPartOfExplicitCast": true,1292// CHECK-NEXT:        "inner": [1293// CHECK-NEXT:         {1294// CHECK-NEXT:          "id": "0x{{.*}}",1295// CHECK-NEXT:          "kind": "DeclRefExpr",1296// CHECK-NEXT:          "range": {1297// CHECK-NEXT:           "begin": {1298// CHECK-NEXT:            "offset": 1252,1299// CHECK-NEXT:            "col": 27,1300// CHECK-NEXT:            "tokLen": 11301// CHECK-NEXT:           },1302// CHECK-NEXT:           "end": {1303// CHECK-NEXT:            "offset": 1252,1304// CHECK-NEXT:            "col": 27,1305// CHECK-NEXT:            "tokLen": 11306// CHECK-NEXT:           }1307// CHECK-NEXT:          },1308// CHECK-NEXT:          "type": {1309// CHECK-NEXT:           "qualType": "const S *"1310// CHECK-NEXT:          },1311// CHECK-NEXT:          "valueCategory": "lvalue",1312// CHECK-NEXT:          "referencedDecl": {1313// CHECK-NEXT:           "id": "0x{{.*}}",1314// CHECK-NEXT:           "kind": "ParmVarDecl",1315// CHECK-NEXT:           "name": "s",1316// CHECK-NEXT:           "type": {1317// CHECK-NEXT:            "qualType": "const S *"1318// CHECK-NEXT:           }1319// CHECK-NEXT:          }1320// CHECK-NEXT:         }1321// CHECK-NEXT:        ]1322// CHECK-NEXT:       }1323// CHECK-NEXT:      ]1324// CHECK-NEXT:     },1325// CHECK-NEXT:     {1326// CHECK-NEXT:      "id": "0x{{.*}}",1327// CHECK-NEXT:      "kind": "CXXReinterpretCastExpr",1328// CHECK-NEXT:      "range": {1329// CHECK-NEXT:       "begin": {1330// CHECK-NEXT:        "offset": 1258,1331// CHECK-NEXT:        "line": 57,1332// CHECK-NEXT:        "col": 3,1333// CHECK-NEXT:        "tokLen": 161334// CHECK-NEXT:       },1335// CHECK-NEXT:       "end": {1336// CHECK-NEXT:        "offset": 1289,1337// CHECK-NEXT:        "col": 34,1338// CHECK-NEXT:        "tokLen": 11339// CHECK-NEXT:       }1340// CHECK-NEXT:      },1341// CHECK-NEXT:      "type": {1342// CHECK-NEXT:       "qualType": "const int *"1343// CHECK-NEXT:      },1344// CHECK-NEXT:      "valueCategory": "prvalue",1345// CHECK-NEXT:      "castKind": "BitCast",1346// CHECK-NEXT:      "inner": [1347// CHECK-NEXT:       {1348// CHECK-NEXT:        "id": "0x{{.*}}",1349// CHECK-NEXT:        "kind": "ImplicitCastExpr",1350// CHECK-NEXT:        "range": {1351// CHECK-NEXT:         "begin": {1352// CHECK-NEXT:          "offset": 1288,1353// CHECK-NEXT:          "col": 33,1354// CHECK-NEXT:          "tokLen": 11355// CHECK-NEXT:         },1356// CHECK-NEXT:         "end": {1357// CHECK-NEXT:          "offset": 1288,1358// CHECK-NEXT:          "col": 33,1359// CHECK-NEXT:          "tokLen": 11360// CHECK-NEXT:         }1361// CHECK-NEXT:        },1362// CHECK-NEXT:        "type": {1363// CHECK-NEXT:         "qualType": "const S *"1364// CHECK-NEXT:        },1365// CHECK-NEXT:        "valueCategory": "prvalue",1366// CHECK-NEXT:        "castKind": "LValueToRValue",1367// CHECK-NEXT:        "isPartOfExplicitCast": true,1368// CHECK-NEXT:        "inner": [1369// CHECK-NEXT:         {1370// CHECK-NEXT:          "id": "0x{{.*}}",1371// CHECK-NEXT:          "kind": "DeclRefExpr",1372// CHECK-NEXT:          "range": {1373// CHECK-NEXT:           "begin": {1374// CHECK-NEXT:            "offset": 1288,1375// CHECK-NEXT:            "col": 33,1376// CHECK-NEXT:            "tokLen": 11377// CHECK-NEXT:           },1378// CHECK-NEXT:           "end": {1379// CHECK-NEXT:            "offset": 1288,1380// CHECK-NEXT:            "col": 33,1381// CHECK-NEXT:            "tokLen": 11382// CHECK-NEXT:           }1383// CHECK-NEXT:          },1384// CHECK-NEXT:          "type": {1385// CHECK-NEXT:           "qualType": "const S *"1386// CHECK-NEXT:          },1387// CHECK-NEXT:          "valueCategory": "lvalue",1388// CHECK-NEXT:          "referencedDecl": {1389// CHECK-NEXT:           "id": "0x{{.*}}",1390// CHECK-NEXT:           "kind": "ParmVarDecl",1391// CHECK-NEXT:           "name": "s",1392// CHECK-NEXT:           "type": {1393// CHECK-NEXT:            "qualType": "const S *"1394// CHECK-NEXT:           }1395// CHECK-NEXT:          }1396// CHECK-NEXT:         }1397// CHECK-NEXT:        ]1398// CHECK-NEXT:       }1399// CHECK-NEXT:      ]1400// CHECK-NEXT:     }1401// CHECK-NEXT:    ]1402// CHECK-NEXT:   }1403// CHECK-NEXT:  ]1404// CHECK-NEXT: }1405 1406 1407// CHECK-NOT: {{^}}Dumping1408// CHECK:  "kind": "FunctionTemplateDecl",1409// CHECK-NEXT:  "loc": {1410// CHECK-NEXT:   "offset": 1326,1411// CHECK-NEXT:   "file": "{{.*}}",1412// CHECK-NEXT:   "line": 61,1413// CHECK-NEXT:   "col": 6,1414// CHECK-NEXT:   "tokLen": 201415// CHECK-NEXT:  },1416// CHECK-NEXT:  "range": {1417// CHECK-NEXT:   "begin": {1418// CHECK-NEXT:    "offset": 1295,1419// CHECK-NEXT:    "line": 60,1420// CHECK-NEXT:    "col": 1,1421// CHECK-NEXT:    "tokLen": 81422// CHECK-NEXT:   },1423// CHECK-NEXT:   "end": {1424// CHECK-NEXT:    "offset": 1533,1425// CHECK-NEXT:    "line": 75,1426// CHECK-NEXT:    "col": 1,1427// CHECK-NEXT:    "tokLen": 11428// CHECK-NEXT:   }1429// CHECK-NEXT:  },1430// CHECK-NEXT:  "name": "TestUnaryExpressions",1431// CHECK-NEXT:  "inner": [1432// CHECK-NEXT:   {1433// CHECK-NEXT:    "id": "0x{{.*}}",1434// CHECK-NEXT:    "kind": "TemplateTypeParmDecl",1435// CHECK-NEXT:    "loc": {1436// CHECK-NEXT:     "offset": 1317,1437// CHECK-NEXT:     "line": 60,1438// CHECK-NEXT:     "col": 23,1439// CHECK-NEXT:     "tokLen": 21440// CHECK-NEXT:    },1441// CHECK-NEXT:    "range": {1442// CHECK-NEXT:     "begin": {1443// CHECK-NEXT:      "offset": 1305,1444// CHECK-NEXT:      "col": 11,1445// CHECK-NEXT:      "tokLen": 81446// CHECK-NEXT:     },1447// CHECK-NEXT:     "end": {1448// CHECK-NEXT:      "offset": 1317,1449// CHECK-NEXT:      "col": 23,1450// CHECK-NEXT:      "tokLen": 21451// CHECK-NEXT:     }1452// CHECK-NEXT:    },1453// CHECK-NEXT:    "isReferenced": true,1454// CHECK-NEXT:    "name": "Ts",1455// CHECK-NEXT:    "tagUsed": "typename",1456// CHECK-NEXT:    "depth": 0,1457// CHECK-NEXT:    "index": 0,1458// CHECK-NEXT:    "isParameterPack": true1459// CHECK-NEXT:   },1460// CHECK-NEXT:   {1461// CHECK-NEXT:    "id": "0x{{.*}}",1462// CHECK-NEXT:    "kind": "FunctionDecl",1463// CHECK-NEXT:    "loc": {1464// CHECK-NEXT:     "offset": 1326,1465// CHECK-NEXT:     "line": 61,1466// CHECK-NEXT:     "col": 6,1467// CHECK-NEXT:     "tokLen": 201468// CHECK-NEXT:    },1469// CHECK-NEXT:    "range": {1470// CHECK-NEXT:     "begin": {1471// CHECK-NEXT:      "offset": 1321,1472// CHECK-NEXT:      "col": 1,1473// CHECK-NEXT:      "tokLen": 41474// CHECK-NEXT:     },1475// CHECK-NEXT:     "end": {1476// CHECK-NEXT:      "offset": 1533,1477// CHECK-NEXT:      "line": 75,1478// CHECK-NEXT:      "col": 1,1479// CHECK-NEXT:      "tokLen": 11480// CHECK-NEXT:     }1481// CHECK-NEXT:    },1482// CHECK-NEXT:    "name": "TestUnaryExpressions",1483// CHECK-NEXT:    "type": {1484// CHECK-NEXT:     "qualType": "void (int *)"1485// CHECK-NEXT:    },1486// CHECK-NEXT:    "inner": [1487// CHECK-NEXT:     {1488// CHECK-NEXT:      "id": "0x{{.*}}",1489// CHECK-NEXT:      "kind": "ParmVarDecl",1490// CHECK-NEXT:      "loc": {1491// CHECK-NEXT:       "offset": 1352,1492// CHECK-NEXT:       "line": 61,1493// CHECK-NEXT:       "col": 32,1494// CHECK-NEXT:       "tokLen": 11495// CHECK-NEXT:      },1496// CHECK-NEXT:      "range": {1497// CHECK-NEXT:       "begin": {1498// CHECK-NEXT:        "offset": 1347,1499// CHECK-NEXT:        "col": 27,1500// CHECK-NEXT:        "tokLen": 31501// CHECK-NEXT:       },1502// CHECK-NEXT:       "end": {1503// CHECK-NEXT:        "offset": 1352,1504// CHECK-NEXT:        "col": 32,1505// CHECK-NEXT:        "tokLen": 11506// CHECK-NEXT:       }1507// CHECK-NEXT:      },1508// CHECK-NEXT:      "isReferenced": true,1509// CHECK-NEXT:      "name": "p",1510// CHECK-NEXT:      "type": {1511// CHECK-NEXT:       "qualType": "int *"1512// CHECK-NEXT:      }1513// CHECK-NEXT:     },1514// CHECK-NEXT:     {1515// CHECK-NEXT:      "id": "0x{{.*}}",1516// CHECK-NEXT:      "kind": "CompoundStmt",1517// CHECK-NEXT:      "range": {1518// CHECK-NEXT:       "begin": {1519// CHECK-NEXT:        "offset": 1355,1520// CHECK-NEXT:        "col": 35,1521// CHECK-NEXT:        "tokLen": 11522// CHECK-NEXT:       },1523// CHECK-NEXT:       "end": {1524// CHECK-NEXT:        "offset": 1533,1525// CHECK-NEXT:        "line": 75,1526// CHECK-NEXT:        "col": 1,1527// CHECK-NEXT:        "tokLen": 11528// CHECK-NEXT:       }1529// CHECK-NEXT:      },1530// CHECK-NEXT:      "inner": [1531// CHECK-NEXT:       {1532// CHECK-NEXT:        "id": "0x{{.*}}",1533// CHECK-NEXT:        "kind": "SizeOfPackExpr",1534// CHECK-NEXT:        "range": {1535// CHECK-NEXT:         "begin": {1536// CHECK-NEXT:          "offset": 1359,1537// CHECK-NEXT:          "line": 62,1538// CHECK-NEXT:          "col": 3,1539// CHECK-NEXT:          "tokLen": 61540// CHECK-NEXT:         },1541// CHECK-NEXT:         "end": {1542// CHECK-NEXT:          "offset": 1371,1543// CHECK-NEXT:          "col": 15,1544// CHECK-NEXT:          "tokLen": 11545// CHECK-NEXT:         }1546// CHECK-NEXT:        },1547// CHECK-NEXT:        "type": {1548// CHECK-NEXT:         "desugaredQualType": "unsigned long",1549// CHECK-NEXT:         "qualType": "__size_t"1550// CHECK-NEXT:        },1551// CHECK-NEXT:        "valueCategory": "prvalue",1552// CHECK-NEXT:        "name": "Ts"1553// CHECK-NEXT:       },1554// CHECK-NEXT:       {1555// CHECK-NEXT:        "id": "0x{{.*}}",1556// CHECK-NEXT:        "kind": "CXXNoexceptExpr",1557// CHECK-NEXT:        "range": {1558// CHECK-NEXT:         "begin": {1559// CHECK-NEXT:          "offset": 1376,1560// CHECK-NEXT:          "line": 63,1561// CHECK-NEXT:          "col": 3,1562// CHECK-NEXT:          "tokLen": 81563// CHECK-NEXT:         },1564// CHECK-NEXT:         "end": {1565// CHECK-NEXT:          "offset": 1390,1566// CHECK-NEXT:          "col": 17,1567// CHECK-NEXT:          "tokLen": 11568// CHECK-NEXT:         }1569// CHECK-NEXT:        },1570// CHECK-NEXT:        "type": {1571// CHECK-NEXT:         "qualType": "bool"1572// CHECK-NEXT:        },1573// CHECK-NEXT:        "valueCategory": "prvalue",1574// CHECK-NEXT:        "inner": [1575// CHECK-NEXT:         {1576// CHECK-NEXT:          "id": "0x{{.*}}",1577// CHECK-NEXT:          "kind": "BinaryOperator",1578// CHECK-NEXT:          "range": {1579// CHECK-NEXT:           "begin": {1580// CHECK-NEXT:            "offset": 1385,1581// CHECK-NEXT:            "col": 12,1582// CHECK-NEXT:            "tokLen": 11583// CHECK-NEXT:           },1584// CHECK-NEXT:           "end": {1585// CHECK-NEXT:            "offset": 1389,1586// CHECK-NEXT:            "col": 16,1587// CHECK-NEXT:            "tokLen": 11588// CHECK-NEXT:           }1589// CHECK-NEXT:          },1590// CHECK-NEXT:          "type": {1591// CHECK-NEXT:           "desugaredQualType": "long",1592// CHECK-NEXT:           "qualType": "__ptrdiff_t"1593// CHECK-NEXT:          },1594// CHECK-NEXT:          "valueCategory": "prvalue",1595// CHECK-NEXT:          "opcode": "-",1596// CHECK-NEXT:          "inner": [1597// CHECK-NEXT:           {1598// CHECK-NEXT:            "id": "0x{{.*}}",1599// CHECK-NEXT:            "kind": "ImplicitCastExpr",1600// CHECK-NEXT:            "range": {1601// CHECK-NEXT:             "begin": {1602// CHECK-NEXT:              "offset": 1385,1603// CHECK-NEXT:              "col": 12,1604// CHECK-NEXT:              "tokLen": 11605// CHECK-NEXT:             },1606// CHECK-NEXT:             "end": {1607// CHECK-NEXT:              "offset": 1385,1608// CHECK-NEXT:              "col": 12,1609// CHECK-NEXT:              "tokLen": 11610// CHECK-NEXT:             }1611// CHECK-NEXT:            },1612// CHECK-NEXT:            "type": {1613// CHECK-NEXT:             "qualType": "int *"1614// CHECK-NEXT:            },1615// CHECK-NEXT:            "valueCategory": "prvalue",1616// CHECK-NEXT:            "castKind": "LValueToRValue",1617// CHECK-NEXT:            "inner": [1618// CHECK-NEXT:             {1619// CHECK-NEXT:              "id": "0x{{.*}}",1620// CHECK-NEXT:              "kind": "DeclRefExpr",1621// CHECK-NEXT:              "range": {1622// CHECK-NEXT:               "begin": {1623// CHECK-NEXT:                "offset": 1385,1624// CHECK-NEXT:                "col": 12,1625// CHECK-NEXT:                "tokLen": 11626// CHECK-NEXT:               },1627// CHECK-NEXT:               "end": {1628// CHECK-NEXT:                "offset": 1385,1629// CHECK-NEXT:                "col": 12,1630// CHECK-NEXT:                "tokLen": 11631// CHECK-NEXT:               }1632// CHECK-NEXT:              },1633// CHECK-NEXT:              "type": {1634// CHECK-NEXT:               "qualType": "int *"1635// CHECK-NEXT:              },1636// CHECK-NEXT:              "valueCategory": "lvalue",1637// CHECK-NEXT:              "referencedDecl": {1638// CHECK-NEXT:               "id": "0x{{.*}}",1639// CHECK-NEXT:               "kind": "ParmVarDecl",1640// CHECK-NEXT:               "name": "p",1641// CHECK-NEXT:               "type": {1642// CHECK-NEXT:                "qualType": "int *"1643// CHECK-NEXT:               }1644// CHECK-NEXT:              },1645// CHECK-NEXT:              "nonOdrUseReason": "unevaluated"1646// CHECK-NEXT:             }1647// CHECK-NEXT:            ]1648// CHECK-NEXT:           },1649// CHECK-NEXT:           {1650// CHECK-NEXT:            "id": "0x{{.*}}",1651// CHECK-NEXT:            "kind": "ImplicitCastExpr",1652// CHECK-NEXT:            "range": {1653// CHECK-NEXT:             "begin": {1654// CHECK-NEXT:              "offset": 1389,1655// CHECK-NEXT:              "col": 16,1656// CHECK-NEXT:              "tokLen": 11657// CHECK-NEXT:             },1658// CHECK-NEXT:             "end": {1659// CHECK-NEXT:              "offset": 1389,1660// CHECK-NEXT:              "col": 16,1661// CHECK-NEXT:              "tokLen": 11662// CHECK-NEXT:             }1663// CHECK-NEXT:            },1664// CHECK-NEXT:            "type": {1665// CHECK-NEXT:             "qualType": "int *"1666// CHECK-NEXT:            },1667// CHECK-NEXT:            "valueCategory": "prvalue",1668// CHECK-NEXT:            "castKind": "LValueToRValue",1669// CHECK-NEXT:            "inner": [1670// CHECK-NEXT:             {1671// CHECK-NEXT:              "id": "0x{{.*}}",1672// CHECK-NEXT:              "kind": "DeclRefExpr",1673// CHECK-NEXT:              "range": {1674// CHECK-NEXT:               "begin": {1675// CHECK-NEXT:                "offset": 1389,1676// CHECK-NEXT:                "col": 16,1677// CHECK-NEXT:                "tokLen": 11678// CHECK-NEXT:               },1679// CHECK-NEXT:               "end": {1680// CHECK-NEXT:                "offset": 1389,1681// CHECK-NEXT:                "col": 16,1682// CHECK-NEXT:                "tokLen": 11683// CHECK-NEXT:               }1684// CHECK-NEXT:              },1685// CHECK-NEXT:              "type": {1686// CHECK-NEXT:               "qualType": "int *"1687// CHECK-NEXT:              },1688// CHECK-NEXT:              "valueCategory": "lvalue",1689// CHECK-NEXT:              "referencedDecl": {1690// CHECK-NEXT:               "id": "0x{{.*}}",1691// CHECK-NEXT:               "kind": "ParmVarDecl",1692// CHECK-NEXT:               "name": "p",1693// CHECK-NEXT:               "type": {1694// CHECK-NEXT:                "qualType": "int *"1695// CHECK-NEXT:               }1696// CHECK-NEXT:              },1697// CHECK-NEXT:              "nonOdrUseReason": "unevaluated"1698// CHECK-NEXT:             }1699// CHECK-NEXT:            ]1700// CHECK-NEXT:           }1701// CHECK-NEXT:          ]1702// CHECK-NEXT:         }1703// CHECK-NEXT:        ]1704// CHECK-NEXT:       },1705// CHECK-NEXT:       {1706// CHECK-NEXT:        "id": "0x{{.*}}",1707// CHECK-NEXT:        "kind": "CXXNewExpr",1708// CHECK-NEXT:        "range": {1709// CHECK-NEXT:         "begin": {1710// CHECK-NEXT:          "offset": 1396,1711// CHECK-NEXT:          "line": 65,1712// CHECK-NEXT:          "col": 3,1713// CHECK-NEXT:          "tokLen": 21714// CHECK-NEXT:         },1715// CHECK-NEXT:         "end": {1716// CHECK-NEXT:          "offset": 1402,1717// CHECK-NEXT:          "col": 9,1718// CHECK-NEXT:          "tokLen": 31719// CHECK-NEXT:         }1720// CHECK-NEXT:        },1721// CHECK-NEXT:        "type": {1722// CHECK-NEXT:         "qualType": "int *"1723// CHECK-NEXT:        },1724// CHECK-NEXT:        "valueCategory": "prvalue",1725// CHECK-NEXT:        "isGlobal": true,1726// CHECK-NEXT:        "operatorNewDecl": {1727// CHECK-NEXT:         "id": "0x{{.*}}",1728// CHECK-NEXT:         "kind": "FunctionDecl",1729// CHECK-NEXT:         "name": "operator new",1730// CHECK-NEXT:         "type": {1731// CHECK-NEXT:          "qualType": "void *(__size_t)"1732// CHECK-NEXT:         }1733// CHECK-NEXT:        }1734// CHECK-NEXT:       },1735// CHECK-NEXT:       {1736// CHECK-NEXT:        "id": "0x{{.*}}",1737// CHECK-NEXT:        "kind": "CXXNewExpr",1738// CHECK-NEXT:        "range": {1739// CHECK-NEXT:         "begin": {1740// CHECK-NEXT:          "offset": 1409,1741// CHECK-NEXT:          "line": 66,1742// CHECK-NEXT:          "col": 3,1743// CHECK-NEXT:          "tokLen": 31744// CHECK-NEXT:         },1745// CHECK-NEXT:         "end": {1746// CHECK-NEXT:          "offset": 1417,1747// CHECK-NEXT:          "col": 11,1748// CHECK-NEXT:          "tokLen": 11749// CHECK-NEXT:         }1750// CHECK-NEXT:        },1751// CHECK-NEXT:        "type": {1752// CHECK-NEXT:         "qualType": "int *"1753// CHECK-NEXT:        },1754// CHECK-NEXT:        "valueCategory": "prvalue",1755// CHECK-NEXT:        "operatorNewDecl": {1756// CHECK-NEXT:         "id": "0x{{.*}}",1757// CHECK-NEXT:         "kind": "FunctionDecl",1758// CHECK-NEXT:         "name": "operator new",1759// CHECK-NEXT:         "type": {1760// CHECK-NEXT:          "qualType": "void *(__size_t)"1761// CHECK-NEXT:         }1762// CHECK-NEXT:        }1763// CHECK-NEXT:       },1764// CHECK-NEXT:       {1765// CHECK-NEXT:        "id": "0x{{.*}}",1766// CHECK-NEXT:        "kind": "CXXNewExpr",1767// CHECK-NEXT:        "range": {1768// CHECK-NEXT:         "begin": {1769// CHECK-NEXT:          "offset": 1422,1770// CHECK-NEXT:          "line": 67,1771// CHECK-NEXT:          "col": 3,1772// CHECK-NEXT:          "tokLen": 31773// CHECK-NEXT:         },1774// CHECK-NEXT:         "end": {1775// CHECK-NEXT:          "offset": 1432,1776// CHECK-NEXT:          "col": 13,1777// CHECK-NEXT:          "tokLen": 11778// CHECK-NEXT:         }1779// CHECK-NEXT:        },1780// CHECK-NEXT:        "type": {1781// CHECK-NEXT:         "qualType": "int *"1782// CHECK-NEXT:        },1783// CHECK-NEXT:        "valueCategory": "prvalue",1784// CHECK-NEXT:        "initStyle": "list",1785// CHECK-NEXT:        "operatorNewDecl": {1786// CHECK-NEXT:         "id": "0x{{.*}}",1787// CHECK-NEXT:         "kind": "FunctionDecl",1788// CHECK-NEXT:         "name": "operator new",1789// CHECK-NEXT:         "type": {1790// CHECK-NEXT:          "qualType": "void *(__size_t)"1791// CHECK-NEXT:         }1792// CHECK-NEXT:        },1793// CHECK-NEXT:        "inner": [1794// CHECK-NEXT:         {1795// CHECK-NEXT:          "id": "0x{{.*}}",1796// CHECK-NEXT:          "kind": "InitListExpr",1797// CHECK-NEXT:          "range": {1798// CHECK-NEXT:           "begin": {1799// CHECK-NEXT:            "offset": 1429,1800// CHECK-NEXT:            "col": 10,1801// CHECK-NEXT:            "tokLen": 11802// CHECK-NEXT:           },1803// CHECK-NEXT:           "end": {1804// CHECK-NEXT:            "offset": 1432,1805// CHECK-NEXT:            "col": 13,1806// CHECK-NEXT:            "tokLen": 11807// CHECK-NEXT:           }1808// CHECK-NEXT:          },1809// CHECK-NEXT:          "type": {1810// CHECK-NEXT:           "qualType": "int"1811// CHECK-NEXT:          },1812// CHECK-NEXT:          "valueCategory": "prvalue",1813// CHECK-NEXT:          "inner": [1814// CHECK-NEXT:           {1815// CHECK-NEXT:            "id": "0x{{.*}}",1816// CHECK-NEXT:            "kind": "IntegerLiteral",1817// CHECK-NEXT:            "range": {1818// CHECK-NEXT:             "begin": {1819// CHECK-NEXT:              "offset": 1430,1820// CHECK-NEXT:              "col": 11,1821// CHECK-NEXT:              "tokLen": 21822// CHECK-NEXT:             },1823// CHECK-NEXT:             "end": {1824// CHECK-NEXT:              "offset": 1430,1825// CHECK-NEXT:              "col": 11,1826// CHECK-NEXT:              "tokLen": 21827// CHECK-NEXT:             }1828// CHECK-NEXT:            },1829// CHECK-NEXT:            "type": {1830// CHECK-NEXT:             "qualType": "int"1831// CHECK-NEXT:            },1832// CHECK-NEXT:            "valueCategory": "prvalue",1833// CHECK-NEXT:            "value": "12"1834// CHECK-NEXT:           }1835// CHECK-NEXT:          ]1836// CHECK-NEXT:         }1837// CHECK-NEXT:        ]1838// CHECK-NEXT:       },1839// CHECK-NEXT:       {1840// CHECK-NEXT:        "id": "0x{{.*}}",1841// CHECK-NEXT:        "kind": "CXXNewExpr",1842// CHECK-NEXT:        "range": {1843// CHECK-NEXT:         "begin": {1844// CHECK-NEXT:          "offset": 1437,1845// CHECK-NEXT:          "line": 68,1846// CHECK-NEXT:          "col": 3,1847// CHECK-NEXT:          "tokLen": 31848// CHECK-NEXT:         },1849// CHECK-NEXT:         "end": {1850// CHECK-NEXT:          "offset": 1446,1851// CHECK-NEXT:          "col": 12,1852// CHECK-NEXT:          "tokLen": 11853// CHECK-NEXT:         }1854// CHECK-NEXT:        },1855// CHECK-NEXT:        "type": {1856// CHECK-NEXT:         "qualType": "int *"1857// CHECK-NEXT:        },1858// CHECK-NEXT:        "valueCategory": "prvalue",1859// CHECK-NEXT:        "isArray": true,1860// CHECK-NEXT:        "operatorNewDecl": {1861// CHECK-NEXT:         "id": "0x{{.*}}",1862// CHECK-NEXT:         "kind": "FunctionDecl",1863// CHECK-NEXT:         "name": "operator new[]",1864// CHECK-NEXT:         "type": {1865// CHECK-NEXT:          "qualType": "void *(__size_t)"1866// CHECK-NEXT:         }1867// CHECK-NEXT:        },1868// CHECK-NEXT:        "inner": [1869// CHECK-NEXT:         {1870// CHECK-NEXT:          "id": "0x{{.*}}",1871// CHECK-NEXT:          "kind": "ImplicitCastExpr",1872// CHECK-NEXT:          "range": {1873// CHECK-NEXT:           "begin": {1874// CHECK-NEXT:            "offset": 1445,1875// CHECK-NEXT:            "col": 11,1876// CHECK-NEXT:            "tokLen": 11877// CHECK-NEXT:           },1878// CHECK-NEXT:           "end": {1879// CHECK-NEXT:            "offset": 1445,1880// CHECK-NEXT:            "col": 11,1881// CHECK-NEXT:            "tokLen": 11882// CHECK-NEXT:           }1883// CHECK-NEXT:          },1884// CHECK-NEXT:          "type": {1885// CHECK-NEXT:           "desugaredQualType": "unsigned long",1886// CHECK-NEXT:           "qualType": "__size_t"1887// CHECK-NEXT:          },1888// CHECK-NEXT:          "valueCategory": "prvalue",1889// CHECK-NEXT:          "castKind": "IntegralCast",1890// CHECK-NEXT:          "inner": [1891// CHECK-NEXT:           {1892// CHECK-NEXT:            "id": "0x{{.*}}",1893// CHECK-NEXT:            "kind": "IntegerLiteral",1894// CHECK-NEXT:            "range": {1895// CHECK-NEXT:             "begin": {1896// CHECK-NEXT:              "offset": 1445,1897// CHECK-NEXT:              "col": 11,1898// CHECK-NEXT:              "tokLen": 11899// CHECK-NEXT:             },1900// CHECK-NEXT:             "end": {1901// CHECK-NEXT:              "offset": 1445,1902// CHECK-NEXT:              "col": 11,1903// CHECK-NEXT:              "tokLen": 11904// CHECK-NEXT:             }1905// CHECK-NEXT:            },1906// CHECK-NEXT:            "type": {1907// CHECK-NEXT:             "qualType": "int"1908// CHECK-NEXT:            },1909// CHECK-NEXT:            "valueCategory": "prvalue",1910// CHECK-NEXT:            "value": "2"1911// CHECK-NEXT:           }1912// CHECK-NEXT:          ]1913// CHECK-NEXT:         }1914// CHECK-NEXT:        ]1915// CHECK-NEXT:       },1916// CHECK-NEXT:       {1917// CHECK-NEXT:        "id": "0x{{.*}}",1918// CHECK-NEXT:        "kind": "CXXNewExpr",1919// CHECK-NEXT:        "range": {1920// CHECK-NEXT:         "begin": {1921// CHECK-NEXT:          "offset": 1451,1922// CHECK-NEXT:          "line": 69,1923// CHECK-NEXT:          "col": 3,1924// CHECK-NEXT:          "tokLen": 31925// CHECK-NEXT:         },1926// CHECK-NEXT:         "end": {1927// CHECK-NEXT:          "offset": 1466,1928// CHECK-NEXT:          "col": 18,1929// CHECK-NEXT:          "tokLen": 11930// CHECK-NEXT:         }1931// CHECK-NEXT:        },1932// CHECK-NEXT:        "type": {1933// CHECK-NEXT:         "qualType": "int *"1934// CHECK-NEXT:        },1935// CHECK-NEXT:        "valueCategory": "prvalue",1936// CHECK-NEXT:        "isArray": true,1937// CHECK-NEXT:        "initStyle": "list",1938// CHECK-NEXT:        "operatorNewDecl": {1939// CHECK-NEXT:         "id": "0x{{.*}}",1940// CHECK-NEXT:         "kind": "FunctionDecl",1941// CHECK-NEXT:         "name": "operator new[]",1942// CHECK-NEXT:         "type": {1943// CHECK-NEXT:          "qualType": "void *(__size_t)"1944// CHECK-NEXT:         }1945// CHECK-NEXT:        },1946// CHECK-NEXT:        "inner": [1947// CHECK-NEXT:         {1948// CHECK-NEXT:          "id": "0x{{.*}}",1949// CHECK-NEXT:          "kind": "ImplicitCastExpr",1950// CHECK-NEXT:          "range": {1951// CHECK-NEXT:           "begin": {1952// CHECK-NEXT:            "offset": 1459,1953// CHECK-NEXT:            "col": 11,1954// CHECK-NEXT:            "tokLen": 11955// CHECK-NEXT:           },1956// CHECK-NEXT:           "end": {1957// CHECK-NEXT:            "offset": 1459,1958// CHECK-NEXT:            "col": 11,1959// CHECK-NEXT:            "tokLen": 11960// CHECK-NEXT:           }1961// CHECK-NEXT:          },1962// CHECK-NEXT:          "type": {1963// CHECK-NEXT:           "desugaredQualType": "unsigned long",1964// CHECK-NEXT:           "qualType": "__size_t"1965// CHECK-NEXT:          },1966// CHECK-NEXT:          "valueCategory": "prvalue",1967// CHECK-NEXT:          "castKind": "IntegralCast",1968// CHECK-NEXT:          "inner": [1969// CHECK-NEXT:           {1970// CHECK-NEXT:            "id": "0x{{.*}}",1971// CHECK-NEXT:            "kind": "IntegerLiteral",1972// CHECK-NEXT:            "range": {1973// CHECK-NEXT:             "begin": {1974// CHECK-NEXT:              "offset": 1459,1975// CHECK-NEXT:              "col": 11,1976// CHECK-NEXT:              "tokLen": 11977// CHECK-NEXT:             },1978// CHECK-NEXT:             "end": {1979// CHECK-NEXT:              "offset": 1459,1980// CHECK-NEXT:              "col": 11,1981// CHECK-NEXT:              "tokLen": 11982// CHECK-NEXT:             }1983// CHECK-NEXT:            },1984// CHECK-NEXT:            "type": {1985// CHECK-NEXT:             "qualType": "int"1986// CHECK-NEXT:            },1987// CHECK-NEXT:            "valueCategory": "prvalue",1988// CHECK-NEXT:            "value": "2"1989// CHECK-NEXT:           }1990// CHECK-NEXT:          ]1991// CHECK-NEXT:         },1992// CHECK-NEXT:         {1993// CHECK-NEXT:          "id": "0x{{.*}}",1994// CHECK-NEXT:          "kind": "InitListExpr",1995// CHECK-NEXT:          "range": {1996// CHECK-NEXT:           "begin": {1997// CHECK-NEXT:            "offset": 1461,1998// CHECK-NEXT:            "col": 13,1999// CHECK-NEXT:            "tokLen": 12000// CHECK-NEXT:           },2001// CHECK-NEXT:           "end": {2002// CHECK-NEXT:            "offset": 1466,2003// CHECK-NEXT:            "col": 18,2004// CHECK-NEXT:            "tokLen": 12005// CHECK-NEXT:           }2006// CHECK-NEXT:          },2007// CHECK-NEXT:          "type": {2008// CHECK-NEXT:           "qualType": "int[2]"2009// CHECK-NEXT:          },2010// CHECK-NEXT:          "valueCategory": "prvalue",2011// CHECK-NEXT:          "inner": [2012// CHECK-NEXT:           {2013// CHECK-NEXT:            "id": "0x{{.*}}",2014// CHECK-NEXT:            "kind": "IntegerLiteral",2015// CHECK-NEXT:            "range": {2016// CHECK-NEXT:             "begin": {2017// CHECK-NEXT:              "offset": 1462,2018// CHECK-NEXT:              "col": 14,2019// CHECK-NEXT:              "tokLen": 12020// CHECK-NEXT:             },2021// CHECK-NEXT:             "end": {2022// CHECK-NEXT:              "offset": 1462,2023// CHECK-NEXT:              "col": 14,2024// CHECK-NEXT:              "tokLen": 12025// CHECK-NEXT:             }2026// CHECK-NEXT:            },2027// CHECK-NEXT:            "type": {2028// CHECK-NEXT:             "qualType": "int"2029// CHECK-NEXT:            },2030// CHECK-NEXT:            "valueCategory": "prvalue",2031// CHECK-NEXT:            "value": "1"2032// CHECK-NEXT:           },2033// CHECK-NEXT:           {2034// CHECK-NEXT:            "id": "0x{{.*}}",2035// CHECK-NEXT:            "kind": "IntegerLiteral",2036// CHECK-NEXT:            "range": {2037// CHECK-NEXT:             "begin": {2038// CHECK-NEXT:              "offset": 1465,2039// CHECK-NEXT:              "col": 17,2040// CHECK-NEXT:              "tokLen": 12041// CHECK-NEXT:             },2042// CHECK-NEXT:             "end": {2043// CHECK-NEXT:              "offset": 1465,2044// CHECK-NEXT:              "col": 17,2045// CHECK-NEXT:              "tokLen": 12046// CHECK-NEXT:             }2047// CHECK-NEXT:            },2048// CHECK-NEXT:            "type": {2049// CHECK-NEXT:             "qualType": "int"2050// CHECK-NEXT:            },2051// CHECK-NEXT:            "valueCategory": "prvalue",2052// CHECK-NEXT:            "value": "2"2053// CHECK-NEXT:           }2054// CHECK-NEXT:          ]2055// CHECK-NEXT:         }2056// CHECK-NEXT:        ]2057// CHECK-NEXT:       },2058// CHECK-NEXT:       {2059// CHECK-NEXT:        "id": "0x{{.*}}",2060// CHECK-NEXT:        "kind": "CXXNewExpr",2061// CHECK-NEXT:        "range": {2062// CHECK-NEXT:         "begin": {2063// CHECK-NEXT:          "offset": 1471,2064// CHECK-NEXT:          "line": 70,2065// CHECK-NEXT:          "col": 3,2066// CHECK-NEXT:          "tokLen": 32067// CHECK-NEXT:         },2068// CHECK-NEXT:         "end": {2069// CHECK-NEXT:          "offset": 1479,2070// CHECK-NEXT:          "col": 11,2071// CHECK-NEXT:          "tokLen": 32072// CHECK-NEXT:         }2073// CHECK-NEXT:        },2074// CHECK-NEXT:        "type": {2075// CHECK-NEXT:         "qualType": "int *"2076// CHECK-NEXT:        },2077// CHECK-NEXT:        "valueCategory": "prvalue",2078// CHECK-NEXT:        "isPlacement": true,2079// CHECK-NEXT:        "operatorNewDecl": {2080// CHECK-NEXT:         "id": "0x{{.*}}",2081// CHECK-NEXT:         "kind": "FunctionDecl",2082// CHECK-NEXT:         "name": "operator new",2083// CHECK-NEXT:         "type": {2084// CHECK-NEXT:          "qualType": "void *(std::size_t, void *)"2085// CHECK-NEXT:         }2086// CHECK-NEXT:        },2087// CHECK-NEXT:        "inner": [2088// CHECK-NEXT:         {2089// CHECK-NEXT:          "id": "0x{{.*}}",2090// CHECK-NEXT:          "kind": "ImplicitCastExpr",2091// CHECK-NEXT:          "range": {2092// CHECK-NEXT:           "begin": {2093// CHECK-NEXT:            "offset": 1476,2094// CHECK-NEXT:            "col": 8,2095// CHECK-NEXT:            "tokLen": 12096// CHECK-NEXT:           },2097// CHECK-NEXT:           "end": {2098// CHECK-NEXT:            "offset": 1476,2099// CHECK-NEXT:            "col": 8,2100// CHECK-NEXT:            "tokLen": 12101// CHECK-NEXT:           }2102// CHECK-NEXT:          },2103// CHECK-NEXT:          "type": {2104// CHECK-NEXT:           "qualType": "void *"2105// CHECK-NEXT:          },2106// CHECK-NEXT:          "valueCategory": "prvalue",2107// CHECK-NEXT:          "castKind": "BitCast",2108// CHECK-NEXT:          "inner": [2109// CHECK-NEXT:           {2110// CHECK-NEXT:            "id": "0x{{.*}}",2111// CHECK-NEXT:            "kind": "ImplicitCastExpr",2112// CHECK-NEXT:            "range": {2113// CHECK-NEXT:             "begin": {2114// CHECK-NEXT:              "offset": 1476,2115// CHECK-NEXT:              "col": 8,2116// CHECK-NEXT:              "tokLen": 12117// CHECK-NEXT:             },2118// CHECK-NEXT:             "end": {2119// CHECK-NEXT:              "offset": 1476,2120// CHECK-NEXT:              "col": 8,2121// CHECK-NEXT:              "tokLen": 12122// CHECK-NEXT:             }2123// CHECK-NEXT:            },2124// CHECK-NEXT:            "type": {2125// CHECK-NEXT:             "qualType": "int *"2126// CHECK-NEXT:            },2127// CHECK-NEXT:            "valueCategory": "prvalue",2128// CHECK-NEXT:            "castKind": "LValueToRValue",2129// CHECK-NEXT:            "inner": [2130// CHECK-NEXT:             {2131// CHECK-NEXT:              "id": "0x{{.*}}",2132// CHECK-NEXT:              "kind": "DeclRefExpr",2133// CHECK-NEXT:              "range": {2134// CHECK-NEXT:               "begin": {2135// CHECK-NEXT:                "offset": 1476,2136// CHECK-NEXT:                "col": 8,2137// CHECK-NEXT:                "tokLen": 12138// CHECK-NEXT:               },2139// CHECK-NEXT:               "end": {2140// CHECK-NEXT:                "offset": 1476,2141// CHECK-NEXT:                "col": 8,2142// CHECK-NEXT:                "tokLen": 12143// CHECK-NEXT:               }2144// CHECK-NEXT:              },2145// CHECK-NEXT:              "type": {2146// CHECK-NEXT:               "qualType": "int *"2147// CHECK-NEXT:              },2148// CHECK-NEXT:              "valueCategory": "lvalue",2149// CHECK-NEXT:              "referencedDecl": {2150// CHECK-NEXT:               "id": "0x{{.*}}",2151// CHECK-NEXT:               "kind": "ParmVarDecl",2152// CHECK-NEXT:               "name": "p",2153// CHECK-NEXT:               "type": {2154// CHECK-NEXT:                "qualType": "int *"2155// CHECK-NEXT:               }2156// CHECK-NEXT:              }2157// CHECK-NEXT:             }2158// CHECK-NEXT:            ]2159// CHECK-NEXT:           }2160// CHECK-NEXT:          ]2161// CHECK-NEXT:         }2162// CHECK-NEXT:        ]2163// CHECK-NEXT:       },2164// CHECK-NEXT:       {2165// CHECK-NEXT:        "id": "0x{{.*}}",2166// CHECK-NEXT:        "kind": "CXXNewExpr",2167// CHECK-NEXT:        "range": {2168// CHECK-NEXT:         "begin": {2169// CHECK-NEXT:          "offset": 1486,2170// CHECK-NEXT:          "line": 71,2171// CHECK-NEXT:          "col": 3,2172// CHECK-NEXT:          "tokLen": 32173// CHECK-NEXT:         },2174// CHECK-NEXT:         "end": {2175// CHECK-NEXT:          "offset": 1500,2176// CHECK-NEXT:          "col": 17,2177// CHECK-NEXT:          "tokLen": 12178// CHECK-NEXT:         }2179// CHECK-NEXT:        },2180// CHECK-NEXT:        "type": {2181// CHECK-NEXT:         "qualType": "int *"2182// CHECK-NEXT:        },2183// CHECK-NEXT:        "valueCategory": "prvalue",2184// CHECK-NEXT:        "isPlacement": true,2185// CHECK-NEXT:        "initStyle": "list",2186// CHECK-NEXT:        "operatorNewDecl": {2187// CHECK-NEXT:         "id": "0x{{.*}}",2188// CHECK-NEXT:         "kind": "FunctionDecl",2189// CHECK-NEXT:         "name": "operator new",2190// CHECK-NEXT:         "type": {2191// CHECK-NEXT:          "qualType": "void *(std::size_t, void *)"2192// CHECK-NEXT:         }2193// CHECK-NEXT:        },2194// CHECK-NEXT:        "inner": [2195// CHECK-NEXT:         {2196// CHECK-NEXT:          "id": "0x{{.*}}",2197// CHECK-NEXT:          "kind": "InitListExpr",2198// CHECK-NEXT:          "range": {2199// CHECK-NEXT:           "begin": {2200// CHECK-NEXT:            "offset": 1497,2201// CHECK-NEXT:            "col": 14,2202// CHECK-NEXT:            "tokLen": 12203// CHECK-NEXT:           },2204// CHECK-NEXT:           "end": {2205// CHECK-NEXT:            "offset": 1500,2206// CHECK-NEXT:            "col": 17,2207// CHECK-NEXT:            "tokLen": 12208// CHECK-NEXT:           }2209// CHECK-NEXT:          },2210// CHECK-NEXT:          "type": {2211// CHECK-NEXT:           "qualType": "int"2212// CHECK-NEXT:          },2213// CHECK-NEXT:          "valueCategory": "prvalue",2214// CHECK-NEXT:          "inner": [2215// CHECK-NEXT:           {2216// CHECK-NEXT:            "id": "0x{{.*}}",2217// CHECK-NEXT:            "kind": "IntegerLiteral",2218// CHECK-NEXT:            "range": {2219// CHECK-NEXT:             "begin": {2220// CHECK-NEXT:              "offset": 1498,2221// CHECK-NEXT:              "col": 15,2222// CHECK-NEXT:              "tokLen": 22223// CHECK-NEXT:             },2224// CHECK-NEXT:             "end": {2225// CHECK-NEXT:              "offset": 1498,2226// CHECK-NEXT:              "col": 15,2227// CHECK-NEXT:              "tokLen": 22228// CHECK-NEXT:             }2229// CHECK-NEXT:            },2230// CHECK-NEXT:            "type": {2231// CHECK-NEXT:             "qualType": "int"2232// CHECK-NEXT:            },2233// CHECK-NEXT:            "valueCategory": "prvalue",2234// CHECK-NEXT:            "value": "12"2235// CHECK-NEXT:           }2236// CHECK-NEXT:          ]2237// CHECK-NEXT:         },2238// CHECK-NEXT:         {2239// CHECK-NEXT:          "id": "0x{{.*}}",2240// CHECK-NEXT:          "kind": "ImplicitCastExpr",2241// CHECK-NEXT:          "range": {2242// CHECK-NEXT:           "begin": {2243// CHECK-NEXT:            "offset": 1491,2244// CHECK-NEXT:            "col": 8,2245// CHECK-NEXT:            "tokLen": 12246// CHECK-NEXT:           },2247// CHECK-NEXT:           "end": {2248// CHECK-NEXT:            "offset": 1491,2249// CHECK-NEXT:            "col": 8,2250// CHECK-NEXT:            "tokLen": 12251// CHECK-NEXT:           }2252// CHECK-NEXT:          },2253// CHECK-NEXT:          "type": {2254// CHECK-NEXT:           "qualType": "void *"2255// CHECK-NEXT:          },2256// CHECK-NEXT:          "valueCategory": "prvalue",2257// CHECK-NEXT:          "castKind": "BitCast",2258// CHECK-NEXT:          "inner": [2259// CHECK-NEXT:           {2260// CHECK-NEXT:            "id": "0x{{.*}}",2261// CHECK-NEXT:            "kind": "ImplicitCastExpr",2262// CHECK-NEXT:            "range": {2263// CHECK-NEXT:             "begin": {2264// CHECK-NEXT:              "offset": 1491,2265// CHECK-NEXT:              "col": 8,2266// CHECK-NEXT:              "tokLen": 12267// CHECK-NEXT:             },2268// CHECK-NEXT:             "end": {2269// CHECK-NEXT:              "offset": 1491,2270// CHECK-NEXT:              "col": 8,2271// CHECK-NEXT:              "tokLen": 12272// CHECK-NEXT:             }2273// CHECK-NEXT:            },2274// CHECK-NEXT:            "type": {2275// CHECK-NEXT:             "qualType": "int *"2276// CHECK-NEXT:            },2277// CHECK-NEXT:            "valueCategory": "prvalue",2278// CHECK-NEXT:            "castKind": "LValueToRValue",2279// CHECK-NEXT:            "inner": [2280// CHECK-NEXT:             {2281// CHECK-NEXT:              "id": "0x{{.*}}",2282// CHECK-NEXT:              "kind": "DeclRefExpr",2283// CHECK-NEXT:              "range": {2284// CHECK-NEXT:               "begin": {2285// CHECK-NEXT:                "offset": 1491,2286// CHECK-NEXT:                "col": 8,2287// CHECK-NEXT:                "tokLen": 12288// CHECK-NEXT:               },2289// CHECK-NEXT:               "end": {2290// CHECK-NEXT:                "offset": 1491,2291// CHECK-NEXT:                "col": 8,2292// CHECK-NEXT:                "tokLen": 12293// CHECK-NEXT:               }2294// CHECK-NEXT:              },2295// CHECK-NEXT:              "type": {2296// CHECK-NEXT:               "qualType": "int *"2297// CHECK-NEXT:              },2298// CHECK-NEXT:              "valueCategory": "lvalue",2299// CHECK-NEXT:              "referencedDecl": {2300// CHECK-NEXT:               "id": "0x{{.*}}",2301// CHECK-NEXT:               "kind": "ParmVarDecl",2302// CHECK-NEXT:               "name": "p",2303// CHECK-NEXT:               "type": {2304// CHECK-NEXT:                "qualType": "int *"2305// CHECK-NEXT:               }2306// CHECK-NEXT:              }2307// CHECK-NEXT:             }2308// CHECK-NEXT:            ]2309// CHECK-NEXT:           }2310// CHECK-NEXT:          ]2311// CHECK-NEXT:         }2312// CHECK-NEXT:        ]2313// CHECK-NEXT:       },2314// CHECK-NEXT:       {2315// CHECK-NEXT:        "id": "0x{{.*}}",2316// CHECK-NEXT:        "kind": "CXXDeleteExpr",2317// CHECK-NEXT:        "range": {2318// CHECK-NEXT:         "begin": {2319// CHECK-NEXT:          "offset": 1506,2320// CHECK-NEXT:          "line": 73,2321// CHECK-NEXT:          "col": 3,2322// CHECK-NEXT:          "tokLen": 22323// CHECK-NEXT:         },2324// CHECK-NEXT:         "end": {2325// CHECK-NEXT:          "offset": 1515,2326// CHECK-NEXT:          "col": 12,2327// CHECK-NEXT:          "tokLen": 12328// CHECK-NEXT:         }2329// CHECK-NEXT:        },2330// CHECK-NEXT:        "type": {2331// CHECK-NEXT:         "qualType": "void"2332// CHECK-NEXT:        },2333// CHECK-NEXT:        "valueCategory": "prvalue",2334// CHECK-NEXT:        "isGlobal": true,2335// CHECK-NEXT:        "operatorDeleteDecl": {2336// CHECK-NEXT:         "id": "0x{{.*}}",2337// CHECK-NEXT:         "kind": "FunctionDecl",2338// CHECK-NEXT:         "name": "operator delete",2339// CHECK-NEXT:         "type": {2340// CHECK-NEXT:          "qualType": "void (void *, __size_t) noexcept"2341// CHECK-NEXT:         }2342// CHECK-NEXT:        },2343// CHECK-NEXT:        "inner": [2344// CHECK-NEXT:         {2345// CHECK-NEXT:          "id": "0x{{.*}}",2346// CHECK-NEXT:          "kind": "ImplicitCastExpr",2347// CHECK-NEXT:          "range": {2348// CHECK-NEXT:           "begin": {2349// CHECK-NEXT:            "offset": 1515,2350// CHECK-NEXT:            "col": 12,2351// CHECK-NEXT:            "tokLen": 12352// CHECK-NEXT:           },2353// CHECK-NEXT:           "end": {2354// CHECK-NEXT:            "offset": 1515,2355// CHECK-NEXT:            "col": 12,2356// CHECK-NEXT:            "tokLen": 12357// CHECK-NEXT:           }2358// CHECK-NEXT:          },2359// CHECK-NEXT:          "type": {2360// CHECK-NEXT:           "qualType": "int *"2361// CHECK-NEXT:          },2362// CHECK-NEXT:          "valueCategory": "prvalue",2363// CHECK-NEXT:          "castKind": "LValueToRValue",2364// CHECK-NEXT:          "inner": [2365// CHECK-NEXT:           {2366// CHECK-NEXT:            "id": "0x{{.*}}",2367// CHECK-NEXT:            "kind": "DeclRefExpr",2368// CHECK-NEXT:            "range": {2369// CHECK-NEXT:             "begin": {2370// CHECK-NEXT:              "offset": 1515,2371// CHECK-NEXT:              "col": 12,2372// CHECK-NEXT:              "tokLen": 12373// CHECK-NEXT:             },2374// CHECK-NEXT:             "end": {2375// CHECK-NEXT:              "offset": 1515,2376// CHECK-NEXT:              "col": 12,2377// CHECK-NEXT:              "tokLen": 12378// CHECK-NEXT:             }2379// CHECK-NEXT:            },2380// CHECK-NEXT:            "type": {2381// CHECK-NEXT:             "qualType": "int *"2382// CHECK-NEXT:            },2383// CHECK-NEXT:            "valueCategory": "lvalue",2384// CHECK-NEXT:            "referencedDecl": {2385// CHECK-NEXT:             "id": "0x{{.*}}",2386// CHECK-NEXT:             "kind": "ParmVarDecl",2387// CHECK-NEXT:             "name": "p",2388// CHECK-NEXT:             "type": {2389// CHECK-NEXT:              "qualType": "int *"2390// CHECK-NEXT:             }2391// CHECK-NEXT:            }2392// CHECK-NEXT:           }2393// CHECK-NEXT:          ]2394// CHECK-NEXT:         }2395// CHECK-NEXT:        ]2396// CHECK-NEXT:       },2397// CHECK-NEXT:       {2398// CHECK-NEXT:        "id": "0x{{.*}}",2399// CHECK-NEXT:        "kind": "CXXDeleteExpr",2400// CHECK-NEXT:        "range": {2401// CHECK-NEXT:         "begin": {2402// CHECK-NEXT:          "offset": 1520,2403// CHECK-NEXT:          "line": 74,2404// CHECK-NEXT:          "col": 3,2405// CHECK-NEXT:          "tokLen": 62406// CHECK-NEXT:         },2407// CHECK-NEXT:         "end": {2408// CHECK-NEXT:          "offset": 1530,2409// CHECK-NEXT:          "col": 13,2410// CHECK-NEXT:          "tokLen": 12411// CHECK-NEXT:         }2412// CHECK-NEXT:        },2413// CHECK-NEXT:        "type": {2414// CHECK-NEXT:         "qualType": "void"2415// CHECK-NEXT:        },2416// CHECK-NEXT:        "valueCategory": "prvalue",2417// CHECK-NEXT:        "isArray": true,2418// CHECK-NEXT:        "isArrayAsWritten": true,2419// CHECK-NEXT:        "operatorDeleteDecl": {2420// CHECK-NEXT:         "id": "0x{{.*}}",2421// CHECK-NEXT:         "kind": "FunctionDecl",2422// CHECK-NEXT:         "name": "operator delete[]",2423// CHECK-NEXT:         "type": {2424// CHECK-NEXT:          "qualType": "void (void *) noexcept"2425// CHECK-NEXT:         }2426// CHECK-NEXT:        },2427// CHECK-NEXT:        "inner": [2428// CHECK-NEXT:         {2429// CHECK-NEXT:          "id": "0x{{.*}}",2430// CHECK-NEXT:          "kind": "ImplicitCastExpr",2431// CHECK-NEXT:          "range": {2432// CHECK-NEXT:           "begin": {2433// CHECK-NEXT:            "offset": 1530,2434// CHECK-NEXT:            "col": 13,2435// CHECK-NEXT:            "tokLen": 12436// CHECK-NEXT:           },2437// CHECK-NEXT:           "end": {2438// CHECK-NEXT:            "offset": 1530,2439// CHECK-NEXT:            "col": 13,2440// CHECK-NEXT:            "tokLen": 12441// CHECK-NEXT:           }2442// CHECK-NEXT:          },2443// CHECK-NEXT:          "type": {2444// CHECK-NEXT:           "qualType": "int *"2445// CHECK-NEXT:          },2446// CHECK-NEXT:          "valueCategory": "prvalue",2447// CHECK-NEXT:          "castKind": "LValueToRValue",2448// CHECK-NEXT:          "inner": [2449// CHECK-NEXT:           {2450// CHECK-NEXT:            "id": "0x{{.*}}",2451// CHECK-NEXT:            "kind": "DeclRefExpr",2452// CHECK-NEXT:            "range": {2453// CHECK-NEXT:             "begin": {2454// CHECK-NEXT:              "offset": 1530,2455// CHECK-NEXT:              "col": 13,2456// CHECK-NEXT:              "tokLen": 12457// CHECK-NEXT:             },2458// CHECK-NEXT:             "end": {2459// CHECK-NEXT:              "offset": 1530,2460// CHECK-NEXT:              "col": 13,2461// CHECK-NEXT:              "tokLen": 12462// CHECK-NEXT:             }2463// CHECK-NEXT:            },2464// CHECK-NEXT:            "type": {2465// CHECK-NEXT:             "qualType": "int *"2466// CHECK-NEXT:            },2467// CHECK-NEXT:            "valueCategory": "lvalue",2468// CHECK-NEXT:            "referencedDecl": {2469// CHECK-NEXT:             "id": "0x{{.*}}",2470// CHECK-NEXT:             "kind": "ParmVarDecl",2471// CHECK-NEXT:             "name": "p",2472// CHECK-NEXT:             "type": {2473// CHECK-NEXT:              "qualType": "int *"2474// CHECK-NEXT:             }2475// CHECK-NEXT:            }2476// CHECK-NEXT:           }2477// CHECK-NEXT:          ]2478// CHECK-NEXT:         }2479// CHECK-NEXT:        ]2480// CHECK-NEXT:       }2481// CHECK-NEXT:      ]2482// CHECK-NEXT:     }2483// CHECK-NEXT:    ]2484// CHECK-NEXT:   }2485// CHECK-NEXT:  ]2486// CHECK-NEXT: }2487 2488 2489// CHECK-NOT: {{^}}Dumping2490// CHECK:  "kind": "FunctionDecl",2491// CHECK-NEXT:  "loc": {2492// CHECK-NEXT:   "offset": 1541,2493// CHECK-NEXT:   "file": "{{.*}}",2494// CHECK-NEXT:   "line": 77,2495// CHECK-NEXT:   "col": 6,2496// CHECK-NEXT:   "tokLen": 222497// CHECK-NEXT:  },2498// CHECK-NEXT:  "range": {2499// CHECK-NEXT:   "begin": {2500// CHECK-NEXT:    "offset": 1536,2501// CHECK-NEXT:    "col": 1,2502// CHECK-NEXT:    "tokLen": 42503// CHECK-NEXT:   },2504// CHECK-NEXT:   "end": {2505// CHECK-NEXT:    "offset": 1807,2506// CHECK-NEXT:    "line": 90,2507// CHECK-NEXT:    "col": 1,2508// CHECK-NEXT:    "tokLen": 12509// CHECK-NEXT:   }2510// CHECK-NEXT:  },2511// CHECK-NEXT:  "name": "TestPostfixExpressions",2512// CHECK-NEXT:  "mangledName": "_Z22TestPostfixExpressions1SPS_P1UIiE",2513// CHECK-NEXT:  "type": {2514// CHECK-NEXT:   "qualType": "void (S, S *, U<int> *)"2515// CHECK-NEXT:  },2516// CHECK-NEXT:  "inner": [2517// CHECK-NEXT:   {2518// CHECK-NEXT:    "id": "0x{{.*}}",2519// CHECK-NEXT:    "kind": "ParmVarDecl",2520// CHECK-NEXT:    "loc": {2521// CHECK-NEXT:     "offset": 1566,2522// CHECK-NEXT:     "line": 77,2523// CHECK-NEXT:     "col": 31,2524// CHECK-NEXT:     "tokLen": 12525// CHECK-NEXT:    },2526// CHECK-NEXT:    "range": {2527// CHECK-NEXT:     "begin": {2528// CHECK-NEXT:      "offset": 1564,2529// CHECK-NEXT:      "col": 29,2530// CHECK-NEXT:      "tokLen": 12531// CHECK-NEXT:     },2532// CHECK-NEXT:     "end": {2533// CHECK-NEXT:      "offset": 1566,2534// CHECK-NEXT:      "col": 31,2535// CHECK-NEXT:      "tokLen": 12536// CHECK-NEXT:     }2537// CHECK-NEXT:    },2538// CHECK-NEXT:    "isUsed": true,2539// CHECK-NEXT:    "name": "a",2540// CHECK-NEXT:    "type": {2541// CHECK-NEXT:     "qualType": "S"2542// CHECK-NEXT:    }2543// CHECK-NEXT:   },2544// CHECK-NEXT:   {2545// CHECK-NEXT:    "id": "0x{{.*}}",2546// CHECK-NEXT:    "kind": "ParmVarDecl",2547// CHECK-NEXT:    "loc": {2548// CHECK-NEXT:     "offset": 1572,2549// CHECK-NEXT:     "col": 37,2550// CHECK-NEXT:     "tokLen": 12551// CHECK-NEXT:    },2552// CHECK-NEXT:    "range": {2553// CHECK-NEXT:     "begin": {2554// CHECK-NEXT:      "offset": 1569,2555// CHECK-NEXT:      "col": 34,2556// CHECK-NEXT:      "tokLen": 12557// CHECK-NEXT:     },2558// CHECK-NEXT:     "end": {2559// CHECK-NEXT:      "offset": 1572,2560// CHECK-NEXT:      "col": 37,2561// CHECK-NEXT:      "tokLen": 12562// CHECK-NEXT:     }2563// CHECK-NEXT:    },2564// CHECK-NEXT:    "isUsed": true,2565// CHECK-NEXT:    "name": "p",2566// CHECK-NEXT:    "type": {2567// CHECK-NEXT:     "qualType": "S *"2568// CHECK-NEXT:    }2569// CHECK-NEXT:   },2570// CHECK-NEXT:   {2571// CHECK-NEXT:    "id": "0x{{.*}}",2572// CHECK-NEXT:    "kind": "ParmVarDecl",2573// CHECK-NEXT:    "loc": {2574// CHECK-NEXT:     "offset": 1583,2575// CHECK-NEXT:     "col": 48,2576// CHECK-NEXT:     "tokLen": 12577// CHECK-NEXT:    },2578// CHECK-NEXT:    "range": {2579// CHECK-NEXT:     "begin": {2580// CHECK-NEXT:      "offset": 1575,2581// CHECK-NEXT:      "col": 40,2582// CHECK-NEXT:      "tokLen": 12583// CHECK-NEXT:     },2584// CHECK-NEXT:     "end": {2585// CHECK-NEXT:      "offset": 1583,2586// CHECK-NEXT:      "col": 48,2587// CHECK-NEXT:      "tokLen": 12588// CHECK-NEXT:     }2589// CHECK-NEXT:    },2590// CHECK-NEXT:    "isUsed": true,2591// CHECK-NEXT:    "name": "r",2592// CHECK-NEXT:    "type": {2593// CHECK-NEXT:     "qualType": "U<int> *"2594// CHECK-NEXT:    }2595// CHECK-NEXT:   },2596// CHECK-NEXT:   {2597// CHECK-NEXT:    "id": "0x{{.*}}",2598// CHECK-NEXT:    "kind": "CompoundStmt",2599// CHECK-NEXT:    "range": {2600// CHECK-NEXT:     "begin": {2601// CHECK-NEXT:      "offset": 1586,2602// CHECK-NEXT:      "col": 51,2603// CHECK-NEXT:      "tokLen": 12604// CHECK-NEXT:     },2605// CHECK-NEXT:     "end": {2606// CHECK-NEXT:      "offset": 1807,2607// CHECK-NEXT:      "line": 90,2608// CHECK-NEXT:      "col": 1,2609// CHECK-NEXT:      "tokLen": 12610// CHECK-NEXT:     }2611// CHECK-NEXT:    },2612// CHECK-NEXT:    "inner": [2613// CHECK-NEXT:     {2614// CHECK-NEXT:      "id": "0x{{.*}}",2615// CHECK-NEXT:      "kind": "CXXMemberCallExpr",2616// CHECK-NEXT:      "range": {2617// CHECK-NEXT:       "begin": {2618// CHECK-NEXT:        "offset": 1590,2619// CHECK-NEXT:        "line": 78,2620// CHECK-NEXT:        "col": 3,2621// CHECK-NEXT:        "tokLen": 12622// CHECK-NEXT:       },2623// CHECK-NEXT:       "end": {2624// CHECK-NEXT:        "offset": 1598,2625// CHECK-NEXT:        "col": 11,2626// CHECK-NEXT:        "tokLen": 12627// CHECK-NEXT:       }2628// CHECK-NEXT:      },2629// CHECK-NEXT:      "type": {2630// CHECK-NEXT:       "qualType": "void"2631// CHECK-NEXT:      },2632// CHECK-NEXT:      "valueCategory": "prvalue",2633// CHECK-NEXT:      "inner": [2634// CHECK-NEXT:       {2635// CHECK-NEXT:        "id": "0x{{.*}}",2636// CHECK-NEXT:        "kind": "MemberExpr",2637// CHECK-NEXT:        "range": {2638// CHECK-NEXT:         "begin": {2639// CHECK-NEXT:          "offset": 1590,2640// CHECK-NEXT:          "col": 3,2641// CHECK-NEXT:          "tokLen": 12642// CHECK-NEXT:         },2643// CHECK-NEXT:         "end": {2644// CHECK-NEXT:          "offset": 1592,2645// CHECK-NEXT:          "col": 5,2646// CHECK-NEXT:          "tokLen": 42647// CHECK-NEXT:         }2648// CHECK-NEXT:        },2649// CHECK-NEXT:        "type": {2650// CHECK-NEXT:         "qualType": "<bound member function type>"2651// CHECK-NEXT:        },2652// CHECK-NEXT:        "valueCategory": "prvalue",2653// CHECK-NEXT:        "name": "func",2654// CHECK-NEXT:        "isArrow": false,2655// CHECK-NEXT:        "referencedMemberDecl": "0x{{.*}}",2656// CHECK-NEXT:        "inner": [2657// CHECK-NEXT:         {2658// CHECK-NEXT:          "id": "0x{{.*}}",2659// CHECK-NEXT:          "kind": "DeclRefExpr",2660// CHECK-NEXT:          "range": {2661// CHECK-NEXT:           "begin": {2662// CHECK-NEXT:            "offset": 1590,2663// CHECK-NEXT:            "col": 3,2664// CHECK-NEXT:            "tokLen": 12665// CHECK-NEXT:           },2666// CHECK-NEXT:           "end": {2667// CHECK-NEXT:            "offset": 1590,2668// CHECK-NEXT:            "col": 3,2669// CHECK-NEXT:            "tokLen": 12670// CHECK-NEXT:           }2671// CHECK-NEXT:          },2672// CHECK-NEXT:          "type": {2673// CHECK-NEXT:           "qualType": "S"2674// CHECK-NEXT:          },2675// CHECK-NEXT:          "valueCategory": "lvalue",2676// CHECK-NEXT:          "referencedDecl": {2677// CHECK-NEXT:           "id": "0x{{.*}}",2678// CHECK-NEXT:           "kind": "ParmVarDecl",2679// CHECK-NEXT:           "name": "a",2680// CHECK-NEXT:           "type": {2681// CHECK-NEXT:            "qualType": "S"2682// CHECK-NEXT:           }2683// CHECK-NEXT:          }2684// CHECK-NEXT:         }2685// CHECK-NEXT:        ]2686// CHECK-NEXT:       },2687// CHECK-NEXT:       {2688// CHECK-NEXT:        "id": "0x{{.*}}",2689// CHECK-NEXT:        "kind": "IntegerLiteral",2690// CHECK-NEXT:        "range": {2691// CHECK-NEXT:         "begin": {2692// CHECK-NEXT:          "offset": 1597,2693// CHECK-NEXT:          "col": 10,2694// CHECK-NEXT:          "tokLen": 12695// CHECK-NEXT:         },2696// CHECK-NEXT:         "end": {2697// CHECK-NEXT:          "offset": 1597,2698// CHECK-NEXT:          "col": 10,2699// CHECK-NEXT:          "tokLen": 12700// CHECK-NEXT:         }2701// CHECK-NEXT:        },2702// CHECK-NEXT:        "type": {2703// CHECK-NEXT:         "qualType": "int"2704// CHECK-NEXT:        },2705// CHECK-NEXT:        "valueCategory": "prvalue",2706// CHECK-NEXT:        "value": "0"2707// CHECK-NEXT:       }2708// CHECK-NEXT:      ]2709// CHECK-NEXT:     },2710// CHECK-NEXT:     {2711// CHECK-NEXT:      "id": "0x{{.*}}",2712// CHECK-NEXT:      "kind": "CXXMemberCallExpr",2713// CHECK-NEXT:      "range": {2714// CHECK-NEXT:       "begin": {2715// CHECK-NEXT:        "offset": 1603,2716// CHECK-NEXT:        "line": 79,2717// CHECK-NEXT:        "col": 3,2718// CHECK-NEXT:        "tokLen": 12719// CHECK-NEXT:       },2720// CHECK-NEXT:       "end": {2721// CHECK-NEXT:        "offset": 1612,2722// CHECK-NEXT:        "col": 12,2723// CHECK-NEXT:        "tokLen": 12724// CHECK-NEXT:       }2725// CHECK-NEXT:      },2726// CHECK-NEXT:      "type": {2727// CHECK-NEXT:       "qualType": "void"2728// CHECK-NEXT:      },2729// CHECK-NEXT:      "valueCategory": "prvalue",2730// CHECK-NEXT:      "inner": [2731// CHECK-NEXT:       {2732// CHECK-NEXT:        "id": "0x{{.*}}",2733// CHECK-NEXT:        "kind": "MemberExpr",2734// CHECK-NEXT:        "range": {2735// CHECK-NEXT:         "begin": {2736// CHECK-NEXT:          "offset": 1603,2737// CHECK-NEXT:          "col": 3,2738// CHECK-NEXT:          "tokLen": 12739// CHECK-NEXT:         },2740// CHECK-NEXT:         "end": {2741// CHECK-NEXT:          "offset": 1606,2742// CHECK-NEXT:          "col": 6,2743// CHECK-NEXT:          "tokLen": 42744// CHECK-NEXT:         }2745// CHECK-NEXT:        },2746// CHECK-NEXT:        "type": {2747// CHECK-NEXT:         "qualType": "<bound member function type>"2748// CHECK-NEXT:        },2749// CHECK-NEXT:        "valueCategory": "prvalue",2750// CHECK-NEXT:        "name": "func",2751// CHECK-NEXT:        "isArrow": true,2752// CHECK-NEXT:        "referencedMemberDecl": "0x{{.*}}",2753// CHECK-NEXT:        "inner": [2754// CHECK-NEXT:         {2755// CHECK-NEXT:          "id": "0x{{.*}}",2756// CHECK-NEXT:          "kind": "ImplicitCastExpr",2757// CHECK-NEXT:          "range": {2758// CHECK-NEXT:           "begin": {2759// CHECK-NEXT:            "offset": 1603,2760// CHECK-NEXT:            "col": 3,2761// CHECK-NEXT:            "tokLen": 12762// CHECK-NEXT:           },2763// CHECK-NEXT:           "end": {2764// CHECK-NEXT:            "offset": 1603,2765// CHECK-NEXT:            "col": 3,2766// CHECK-NEXT:            "tokLen": 12767// CHECK-NEXT:           }2768// CHECK-NEXT:          },2769// CHECK-NEXT:          "type": {2770// CHECK-NEXT:           "qualType": "S *"2771// CHECK-NEXT:          },2772// CHECK-NEXT:          "valueCategory": "prvalue",2773// CHECK-NEXT:          "castKind": "LValueToRValue",2774// CHECK-NEXT:          "inner": [2775// CHECK-NEXT:           {2776// CHECK-NEXT:            "id": "0x{{.*}}",2777// CHECK-NEXT:            "kind": "DeclRefExpr",2778// CHECK-NEXT:            "range": {2779// CHECK-NEXT:             "begin": {2780// CHECK-NEXT:              "offset": 1603,2781// CHECK-NEXT:              "col": 3,2782// CHECK-NEXT:              "tokLen": 12783// CHECK-NEXT:             },2784// CHECK-NEXT:             "end": {2785// CHECK-NEXT:              "offset": 1603,2786// CHECK-NEXT:              "col": 3,2787// CHECK-NEXT:              "tokLen": 12788// CHECK-NEXT:             }2789// CHECK-NEXT:            },2790// CHECK-NEXT:            "type": {2791// CHECK-NEXT:             "qualType": "S *"2792// CHECK-NEXT:            },2793// CHECK-NEXT:            "valueCategory": "lvalue",2794// CHECK-NEXT:            "referencedDecl": {2795// CHECK-NEXT:             "id": "0x{{.*}}",2796// CHECK-NEXT:             "kind": "ParmVarDecl",2797// CHECK-NEXT:             "name": "p",2798// CHECK-NEXT:             "type": {2799// CHECK-NEXT:              "qualType": "S *"2800// CHECK-NEXT:             }2801// CHECK-NEXT:            }2802// CHECK-NEXT:           }2803// CHECK-NEXT:          ]2804// CHECK-NEXT:         }2805// CHECK-NEXT:        ]2806// CHECK-NEXT:       },2807// CHECK-NEXT:       {2808// CHECK-NEXT:        "id": "0x{{.*}}",2809// CHECK-NEXT:        "kind": "IntegerLiteral",2810// CHECK-NEXT:        "range": {2811// CHECK-NEXT:         "begin": {2812// CHECK-NEXT:          "offset": 1611,2813// CHECK-NEXT:          "col": 11,2814// CHECK-NEXT:          "tokLen": 12815// CHECK-NEXT:         },2816// CHECK-NEXT:         "end": {2817// CHECK-NEXT:          "offset": 1611,2818// CHECK-NEXT:          "col": 11,2819// CHECK-NEXT:          "tokLen": 12820// CHECK-NEXT:         }2821// CHECK-NEXT:        },2822// CHECK-NEXT:        "type": {2823// CHECK-NEXT:         "qualType": "int"2824// CHECK-NEXT:        },2825// CHECK-NEXT:        "valueCategory": "prvalue",2826// CHECK-NEXT:        "value": "0"2827// CHECK-NEXT:       }2828// CHECK-NEXT:      ]2829// CHECK-NEXT:     },2830// CHECK-NEXT:     {2831// CHECK-NEXT:      "id": "0x{{.*}}",2832// CHECK-NEXT:      "kind": "CXXMemberCallExpr",2833// CHECK-NEXT:      "range": {2834// CHECK-NEXT:       "begin": {2835// CHECK-NEXT:        "offset": 1617,2836// CHECK-NEXT:        "line": 80,2837// CHECK-NEXT:        "col": 3,2838// CHECK-NEXT:        "tokLen": 12839// CHECK-NEXT:       },2840// CHECK-NEXT:       "end": {2841// CHECK-NEXT:        "offset": 1638,2842// CHECK-NEXT:        "col": 24,2843// CHECK-NEXT:        "tokLen": 12844// CHECK-NEXT:       }2845// CHECK-NEXT:      },2846// CHECK-NEXT:      "type": {2847// CHECK-NEXT:       "qualType": "int"2848// CHECK-NEXT:      },2849// CHECK-NEXT:      "valueCategory": "prvalue",2850// CHECK-NEXT:      "inner": [2851// CHECK-NEXT:       {2852// CHECK-NEXT:        "id": "0x{{.*}}",2853// CHECK-NEXT:        "kind": "MemberExpr",2854// CHECK-NEXT:        "range": {2855// CHECK-NEXT:         "begin": {2856// CHECK-NEXT:          "offset": 1617,2857// CHECK-NEXT:          "col": 3,2858// CHECK-NEXT:          "tokLen": 12859// CHECK-NEXT:         },2860// CHECK-NEXT:         "end": {2861// CHECK-NEXT:          "offset": 1636,2862// CHECK-NEXT:          "col": 22,2863// CHECK-NEXT:          "tokLen": 12864// CHECK-NEXT:         }2865// CHECK-NEXT:        },2866// CHECK-NEXT:        "type": {2867// CHECK-NEXT:         "qualType": "<bound member function type>"2868// CHECK-NEXT:        },2869// CHECK-NEXT:        "valueCategory": "prvalue",2870// CHECK-NEXT:        "name": "foo",2871// CHECK-NEXT:        "isArrow": true,2872// CHECK-NEXT:        "referencedMemberDecl": "0x{{.*}}",2873// CHECK-NEXT:        "inner": [2874// CHECK-NEXT:         {2875// CHECK-NEXT:          "id": "0x{{.*}}",2876// CHECK-NEXT:          "kind": "ImplicitCastExpr",2877// CHECK-NEXT:          "range": {2878// CHECK-NEXT:           "begin": {2879// CHECK-NEXT:            "offset": 1617,2880// CHECK-NEXT:            "col": 3,2881// CHECK-NEXT:            "tokLen": 12882// CHECK-NEXT:           },2883// CHECK-NEXT:           "end": {2884// CHECK-NEXT:            "offset": 1617,2885// CHECK-NEXT:            "col": 3,2886// CHECK-NEXT:            "tokLen": 12887// CHECK-NEXT:           }2888// CHECK-NEXT:          },2889// CHECK-NEXT:          "type": {2890// CHECK-NEXT:           "qualType": "S *"2891// CHECK-NEXT:          },2892// CHECK-NEXT:          "valueCategory": "prvalue",2893// CHECK-NEXT:          "castKind": "LValueToRValue",2894// CHECK-NEXT:          "inner": [2895// CHECK-NEXT:           {2896// CHECK-NEXT:            "id": "0x{{.*}}",2897// CHECK-NEXT:            "kind": "DeclRefExpr",2898// CHECK-NEXT:            "range": {2899// CHECK-NEXT:             "begin": {2900// CHECK-NEXT:              "offset": 1617,2901// CHECK-NEXT:              "col": 3,2902// CHECK-NEXT:              "tokLen": 12903// CHECK-NEXT:             },2904// CHECK-NEXT:             "end": {2905// CHECK-NEXT:              "offset": 1617,2906// CHECK-NEXT:              "col": 3,2907// CHECK-NEXT:              "tokLen": 12908// CHECK-NEXT:             }2909// CHECK-NEXT:            },2910// CHECK-NEXT:            "type": {2911// CHECK-NEXT:             "qualType": "S *"2912// CHECK-NEXT:            },2913// CHECK-NEXT:            "valueCategory": "lvalue",2914// CHECK-NEXT:            "referencedDecl": {2915// CHECK-NEXT:             "id": "0x{{.*}}",2916// CHECK-NEXT:             "kind": "ParmVarDecl",2917// CHECK-NEXT:             "name": "p",2918// CHECK-NEXT:             "type": {2919// CHECK-NEXT:              "qualType": "S *"2920// CHECK-NEXT:             }2921// CHECK-NEXT:            }2922// CHECK-NEXT:           }2923// CHECK-NEXT:          ]2924// CHECK-NEXT:         }2925// CHECK-NEXT:        ]2926// CHECK-NEXT:       }2927// CHECK-NEXT:      ]2928// CHECK-NEXT:     },2929// CHECK-NEXT:     {2930// CHECK-NEXT:      "id": "0x{{.*}}",2931// CHECK-NEXT:      "kind": "CXXMemberCallExpr",2932// CHECK-NEXT:      "range": {2933// CHECK-NEXT:       "begin": {2934// CHECK-NEXT:        "offset": 1643,2935// CHECK-NEXT:        "line": 81,2936// CHECK-NEXT:        "col": 3,2937// CHECK-NEXT:        "tokLen": 12938// CHECK-NEXT:       },2939// CHECK-NEXT:       "end": {2940// CHECK-NEXT:        "offset": 1665,2941// CHECK-NEXT:        "col": 25,2942// CHECK-NEXT:        "tokLen": 12943// CHECK-NEXT:       }2944// CHECK-NEXT:      },2945// CHECK-NEXT:      "type": {2946// CHECK-NEXT:       "qualType": "float"2947// CHECK-NEXT:      },2948// CHECK-NEXT:      "valueCategory": "prvalue",2949// CHECK-NEXT:      "inner": [2950// CHECK-NEXT:       {2951// CHECK-NEXT:        "id": "0x{{.*}}",2952// CHECK-NEXT:        "kind": "MemberExpr",2953// CHECK-NEXT:        "range": {2954// CHECK-NEXT:         "begin": {2955// CHECK-NEXT:          "offset": 1643,2956// CHECK-NEXT:          "col": 3,2957// CHECK-NEXT:          "tokLen": 12958// CHECK-NEXT:         },2959// CHECK-NEXT:         "end": {2960// CHECK-NEXT:          "offset": 1663,2961// CHECK-NEXT:          "col": 23,2962// CHECK-NEXT:          "tokLen": 12963// CHECK-NEXT:         }2964// CHECK-NEXT:        },2965// CHECK-NEXT:        "type": {2966// CHECK-NEXT:         "qualType": "<bound member function type>"2967// CHECK-NEXT:        },2968// CHECK-NEXT:        "valueCategory": "prvalue",2969// CHECK-NEXT:        "name": "foo",2970// CHECK-NEXT:        "isArrow": false,2971// CHECK-NEXT:        "referencedMemberDecl": "0x{{.*}}",2972// CHECK-NEXT:        "inner": [2973// CHECK-NEXT:         {2974// CHECK-NEXT:          "id": "0x{{.*}}",2975// CHECK-NEXT:          "kind": "DeclRefExpr",2976// CHECK-NEXT:          "range": {2977// CHECK-NEXT:           "begin": {2978// CHECK-NEXT:            "offset": 1643,2979// CHECK-NEXT:            "col": 3,2980// CHECK-NEXT:            "tokLen": 12981// CHECK-NEXT:           },2982// CHECK-NEXT:           "end": {2983// CHECK-NEXT:            "offset": 1643,2984// CHECK-NEXT:            "col": 3,2985// CHECK-NEXT:            "tokLen": 12986// CHECK-NEXT:           }2987// CHECK-NEXT:          },2988// CHECK-NEXT:          "type": {2989// CHECK-NEXT:           "qualType": "S"2990// CHECK-NEXT:          },2991// CHECK-NEXT:          "valueCategory": "lvalue",2992// CHECK-NEXT:          "referencedDecl": {2993// CHECK-NEXT:           "id": "0x{{.*}}",2994// CHECK-NEXT:           "kind": "ParmVarDecl",2995// CHECK-NEXT:           "name": "a",2996// CHECK-NEXT:           "type": {2997// CHECK-NEXT:            "qualType": "S"2998// CHECK-NEXT:           }2999// CHECK-NEXT:          }3000// CHECK-NEXT:         }3001// CHECK-NEXT:        ]3002// CHECK-NEXT:       }3003// CHECK-NEXT:      ]3004// CHECK-NEXT:     },3005// CHECK-NEXT:     {3006// CHECK-NEXT:      "id": "0x{{.*}}",3007// CHECK-NEXT:      "kind": "CXXMemberCallExpr",3008// CHECK-NEXT:      "range": {3009// CHECK-NEXT:       "begin": {3010// CHECK-NEXT:        "offset": 1670,3011// CHECK-NEXT:        "line": 82,3012// CHECK-NEXT:        "col": 3,3013// CHECK-NEXT:        "tokLen": 13014// CHECK-NEXT:       },3015// CHECK-NEXT:       "end": {3016// CHECK-NEXT:        "offset": 1676,3017// CHECK-NEXT:        "col": 9,3018// CHECK-NEXT:        "tokLen": 13019// CHECK-NEXT:       }3020// CHECK-NEXT:      },3021// CHECK-NEXT:      "type": {3022// CHECK-NEXT:       "qualType": "void"3023// CHECK-NEXT:      },3024// CHECK-NEXT:      "valueCategory": "prvalue",3025// CHECK-NEXT:      "inner": [3026// CHECK-NEXT:       {3027// CHECK-NEXT:        "id": "0x{{.*}}",3028// CHECK-NEXT:        "kind": "MemberExpr",3029// CHECK-NEXT:        "range": {3030// CHECK-NEXT:         "begin": {3031// CHECK-NEXT:          "offset": 1670,3032// CHECK-NEXT:          "col": 3,3033// CHECK-NEXT:          "tokLen": 13034// CHECK-NEXT:         },3035// CHECK-NEXT:         "end": {3036// CHECK-NEXT:          "offset": 1674,3037// CHECK-NEXT:          "col": 7,3038// CHECK-NEXT:          "tokLen": 13039// CHECK-NEXT:         }3040// CHECK-NEXT:        },3041// CHECK-NEXT:        "type": {3042// CHECK-NEXT:         "qualType": "<bound member function type>"3043// CHECK-NEXT:        },3044// CHECK-NEXT:        "valueCategory": "prvalue",3045// CHECK-NEXT:        "name": "~S",3046// CHECK-NEXT:        "isArrow": true,3047// CHECK-NEXT:        "referencedMemberDecl": "0x{{.*}}",3048// CHECK-NEXT:        "inner": [3049// CHECK-NEXT:         {3050// CHECK-NEXT:          "id": "0x{{.*}}",3051// CHECK-NEXT:          "kind": "ImplicitCastExpr",3052// CHECK-NEXT:          "range": {3053// CHECK-NEXT:           "begin": {3054// CHECK-NEXT:            "offset": 1670,3055// CHECK-NEXT:            "col": 3,3056// CHECK-NEXT:            "tokLen": 13057// CHECK-NEXT:           },3058// CHECK-NEXT:           "end": {3059// CHECK-NEXT:            "offset": 1670,3060// CHECK-NEXT:            "col": 3,3061// CHECK-NEXT:            "tokLen": 13062// CHECK-NEXT:           }3063// CHECK-NEXT:          },3064// CHECK-NEXT:          "type": {3065// CHECK-NEXT:           "qualType": "S *"3066// CHECK-NEXT:          },3067// CHECK-NEXT:          "valueCategory": "prvalue",3068// CHECK-NEXT:          "castKind": "LValueToRValue",3069// CHECK-NEXT:          "inner": [3070// CHECK-NEXT:           {3071// CHECK-NEXT:            "id": "0x{{.*}}",3072// CHECK-NEXT:            "kind": "DeclRefExpr",3073// CHECK-NEXT:            "range": {3074// CHECK-NEXT:             "begin": {3075// CHECK-NEXT:              "offset": 1670,3076// CHECK-NEXT:              "col": 3,3077// CHECK-NEXT:              "tokLen": 13078// CHECK-NEXT:             },3079// CHECK-NEXT:             "end": {3080// CHECK-NEXT:              "offset": 1670,3081// CHECK-NEXT:              "col": 3,3082// CHECK-NEXT:              "tokLen": 13083// CHECK-NEXT:             }3084// CHECK-NEXT:            },3085// CHECK-NEXT:            "type": {3086// CHECK-NEXT:             "qualType": "S *"3087// CHECK-NEXT:            },3088// CHECK-NEXT:            "valueCategory": "lvalue",3089// CHECK-NEXT:            "referencedDecl": {3090// CHECK-NEXT:             "id": "0x{{.*}}",3091// CHECK-NEXT:             "kind": "ParmVarDecl",3092// CHECK-NEXT:             "name": "p",3093// CHECK-NEXT:             "type": {3094// CHECK-NEXT:              "qualType": "S *"3095// CHECK-NEXT:             }3096// CHECK-NEXT:            }3097// CHECK-NEXT:           }3098// CHECK-NEXT:          ]3099// CHECK-NEXT:         }3100// CHECK-NEXT:        ]3101// CHECK-NEXT:       }3102// CHECK-NEXT:      ]3103// CHECK-NEXT:     },3104// CHECK-NEXT:     {3105// CHECK-NEXT:      "id": "0x{{.*}}",3106// CHECK-NEXT:      "kind": "CXXMemberCallExpr",3107// CHECK-NEXT:      "range": {3108// CHECK-NEXT:       "begin": {3109// CHECK-NEXT:        "offset": 1681,3110// CHECK-NEXT:        "line": 83,3111// CHECK-NEXT:        "col": 3,3112// CHECK-NEXT:        "tokLen": 13113// CHECK-NEXT:       },3114// CHECK-NEXT:       "end": {3115// CHECK-NEXT:        "offset": 1686,3116// CHECK-NEXT:        "col": 8,3117// CHECK-NEXT:        "tokLen": 13118// CHECK-NEXT:       }3119// CHECK-NEXT:      },3120// CHECK-NEXT:      "type": {3121// CHECK-NEXT:       "qualType": "void"3122// CHECK-NEXT:      },3123// CHECK-NEXT:      "valueCategory": "prvalue",3124// CHECK-NEXT:      "inner": [3125// CHECK-NEXT:       {3126// CHECK-NEXT:        "id": "0x{{.*}}",3127// CHECK-NEXT:        "kind": "MemberExpr",3128// CHECK-NEXT:        "range": {3129// CHECK-NEXT:         "begin": {3130// CHECK-NEXT:          "offset": 1681,3131// CHECK-NEXT:          "col": 3,3132// CHECK-NEXT:          "tokLen": 13133// CHECK-NEXT:         },3134// CHECK-NEXT:         "end": {3135// CHECK-NEXT:          "offset": 1684,3136// CHECK-NEXT:          "col": 6,3137// CHECK-NEXT:          "tokLen": 13138// CHECK-NEXT:         }3139// CHECK-NEXT:        },3140// CHECK-NEXT:        "type": {3141// CHECK-NEXT:         "qualType": "<bound member function type>"3142// CHECK-NEXT:        },3143// CHECK-NEXT:        "valueCategory": "prvalue",3144// CHECK-NEXT:        "name": "~S",3145// CHECK-NEXT:        "isArrow": false,3146// CHECK-NEXT:        "referencedMemberDecl": "0x{{.*}}",3147// CHECK-NEXT:        "inner": [3148// CHECK-NEXT:         {3149// CHECK-NEXT:          "id": "0x{{.*}}",3150// CHECK-NEXT:          "kind": "DeclRefExpr",3151// CHECK-NEXT:          "range": {3152// CHECK-NEXT:           "begin": {3153// CHECK-NEXT:            "offset": 1681,3154// CHECK-NEXT:            "col": 3,3155// CHECK-NEXT:            "tokLen": 13156// CHECK-NEXT:           },3157// CHECK-NEXT:           "end": {3158// CHECK-NEXT:            "offset": 1681,3159// CHECK-NEXT:            "col": 3,3160// CHECK-NEXT:            "tokLen": 13161// CHECK-NEXT:           }3162// CHECK-NEXT:          },3163// CHECK-NEXT:          "type": {3164// CHECK-NEXT:           "qualType": "S"3165// CHECK-NEXT:          },3166// CHECK-NEXT:          "valueCategory": "lvalue",3167// CHECK-NEXT:          "referencedDecl": {3168// CHECK-NEXT:           "id": "0x{{.*}}",3169// CHECK-NEXT:           "kind": "ParmVarDecl",3170// CHECK-NEXT:           "name": "a",3171// CHECK-NEXT:           "type": {3172// CHECK-NEXT:            "qualType": "S"3173// CHECK-NEXT:           }3174// CHECK-NEXT:          }3175// CHECK-NEXT:         }3176// CHECK-NEXT:        ]3177// CHECK-NEXT:       }3178// CHECK-NEXT:      ]3179// CHECK-NEXT:     },3180// CHECK-NEXT:     {3181// CHECK-NEXT:      "id": "0x{{.*}}",3182// CHECK-NEXT:      "kind": "CXXMemberCallExpr",3183// CHECK-NEXT:      "range": {3184// CHECK-NEXT:       "begin": {3185// CHECK-NEXT:        "offset": 1691,3186// CHECK-NEXT:        "line": 84,3187// CHECK-NEXT:        "col": 3,3188// CHECK-NEXT:        "tokLen": 13189// CHECK-NEXT:       },3190// CHECK-NEXT:       "end": {3191// CHECK-NEXT:        "offset": 1706,3192// CHECK-NEXT:        "col": 18,3193// CHECK-NEXT:        "tokLen": 13194// CHECK-NEXT:       }3195// CHECK-NEXT:      },3196// CHECK-NEXT:      "type": {3197// CHECK-NEXT:       "qualType": "void"3198// CHECK-NEXT:      },3199// CHECK-NEXT:      "valueCategory": "prvalue",3200// CHECK-NEXT:      "inner": [3201// CHECK-NEXT:       {3202// CHECK-NEXT:        "id": "0x{{.*}}",3203// CHECK-NEXT:        "kind": "MemberExpr",3204// CHECK-NEXT:        "range": {3205// CHECK-NEXT:         "begin": {3206// CHECK-NEXT:          "offset": 1691,3207// CHECK-NEXT:          "col": 3,3208// CHECK-NEXT:          "tokLen": 13209// CHECK-NEXT:         },3210// CHECK-NEXT:         "end": {3211// CHECK-NEXT:          "offset": 1693,3212// CHECK-NEXT:          "col": 5,3213// CHECK-NEXT:          "tokLen": 13214// CHECK-NEXT:         }3215// CHECK-NEXT:        },3216// CHECK-NEXT:        "type": {3217// CHECK-NEXT:         "qualType": "<bound member function type>"3218// CHECK-NEXT:        },3219// CHECK-NEXT:        "valueCategory": "prvalue",3220// CHECK-NEXT:        "name": "~S",3221// CHECK-NEXT:        "isArrow": false,3222// CHECK-NEXT:        "referencedMemberDecl": "0x{{.*}}",3223// CHECK-NEXT:        "inner": [3224// CHECK-NEXT:         {3225// CHECK-NEXT:          "id": "0x{{.*}}",3226// CHECK-NEXT:          "kind": "DeclRefExpr",3227// CHECK-NEXT:          "range": {3228// CHECK-NEXT:           "begin": {3229// CHECK-NEXT:            "offset": 1691,3230// CHECK-NEXT:            "col": 3,3231// CHECK-NEXT:            "tokLen": 13232// CHECK-NEXT:           },3233// CHECK-NEXT:           "end": {3234// CHECK-NEXT:            "offset": 1691,3235// CHECK-NEXT:            "col": 3,3236// CHECK-NEXT:            "tokLen": 13237// CHECK-NEXT:           }3238// CHECK-NEXT:          },3239// CHECK-NEXT:          "type": {3240// CHECK-NEXT:           "qualType": "S"3241// CHECK-NEXT:          },3242// CHECK-NEXT:          "valueCategory": "lvalue",3243// CHECK-NEXT:          "referencedDecl": {3244// CHECK-NEXT:           "id": "0x{{.*}}",3245// CHECK-NEXT:           "kind": "ParmVarDecl",3246// CHECK-NEXT:           "name": "a",3247// CHECK-NEXT:           "type": {3248// CHECK-NEXT:            "qualType": "S"3249// CHECK-NEXT:           }3250// CHECK-NEXT:          }3251// CHECK-NEXT:         }3252// CHECK-NEXT:        ]3253// CHECK-NEXT:       }3254// CHECK-NEXT:      ]3255// CHECK-NEXT:     },3256// CHECK-NEXT:     {3257// CHECK-NEXT:      "id": "0x{{.*}}",3258// CHECK-NEXT:      "kind": "CXXMemberCallExpr",3259// CHECK-NEXT:      "range": {3260// CHECK-NEXT:       "begin": {3261// CHECK-NEXT:        "offset": 1711,3262// CHECK-NEXT:        "line": 85,3263// CHECK-NEXT:        "col": 3,3264// CHECK-NEXT:        "tokLen": 13265// CHECK-NEXT:       },3266// CHECK-NEXT:       "end": {3267// CHECK-NEXT:        "offset": 1722,3268// CHECK-NEXT:        "col": 14,3269// CHECK-NEXT:        "tokLen": 13270// CHECK-NEXT:       }3271// CHECK-NEXT:      },3272// CHECK-NEXT:      "type": {3273// CHECK-NEXT:       "qualType": "void"3274// CHECK-NEXT:      },3275// CHECK-NEXT:      "valueCategory": "prvalue",3276// CHECK-NEXT:      "inner": [3277// CHECK-NEXT:       {3278// CHECK-NEXT:        "id": "0x{{.*}}",3279// CHECK-NEXT:        "kind": "MemberExpr",3280// CHECK-NEXT:        "range": {3281// CHECK-NEXT:         "begin": {3282// CHECK-NEXT:          "offset": 1711,3283// CHECK-NEXT:          "col": 3,3284// CHECK-NEXT:          "tokLen": 13285// CHECK-NEXT:         },3286// CHECK-NEXT:         "end": {3287// CHECK-NEXT:          "offset": 1720,3288// CHECK-NEXT:          "col": 12,3289// CHECK-NEXT:          "tokLen": 13290// CHECK-NEXT:         }3291// CHECK-NEXT:        },3292// CHECK-NEXT:        "type": {3293// CHECK-NEXT:         "qualType": "<bound member function type>"3294// CHECK-NEXT:        },3295// CHECK-NEXT:        "valueCategory": "prvalue",3296// CHECK-NEXT:        "name": "~S",3297// CHECK-NEXT:        "isArrow": true,3298// CHECK-NEXT:        "referencedMemberDecl": "0x{{.*}}",3299// CHECK-NEXT:        "inner": [3300// CHECK-NEXT:         {3301// CHECK-NEXT:          "id": "0x{{.*}}",3302// CHECK-NEXT:          "kind": "ImplicitCastExpr",3303// CHECK-NEXT:          "range": {3304// CHECK-NEXT:           "begin": {3305// CHECK-NEXT:            "offset": 1711,3306// CHECK-NEXT:            "col": 3,3307// CHECK-NEXT:            "tokLen": 13308// CHECK-NEXT:           },3309// CHECK-NEXT:           "end": {3310// CHECK-NEXT:            "offset": 1711,3311// CHECK-NEXT:            "col": 3,3312// CHECK-NEXT:            "tokLen": 13313// CHECK-NEXT:           }3314// CHECK-NEXT:          },3315// CHECK-NEXT:          "type": {3316// CHECK-NEXT:           "qualType": "S *"3317// CHECK-NEXT:          },3318// CHECK-NEXT:          "valueCategory": "prvalue",3319// CHECK-NEXT:          "castKind": "LValueToRValue",3320// CHECK-NEXT:          "inner": [3321// CHECK-NEXT:           {3322// CHECK-NEXT:            "id": "0x{{.*}}",3323// CHECK-NEXT:            "kind": "DeclRefExpr",3324// CHECK-NEXT:            "range": {3325// CHECK-NEXT:             "begin": {3326// CHECK-NEXT:              "offset": 1711,3327// CHECK-NEXT:              "col": 3,3328// CHECK-NEXT:              "tokLen": 13329// CHECK-NEXT:             },3330// CHECK-NEXT:             "end": {3331// CHECK-NEXT:              "offset": 1711,3332// CHECK-NEXT:              "col": 3,3333// CHECK-NEXT:              "tokLen": 13334// CHECK-NEXT:             }3335// CHECK-NEXT:            },3336// CHECK-NEXT:            "type": {3337// CHECK-NEXT:             "qualType": "S *"3338// CHECK-NEXT:            },3339// CHECK-NEXT:            "valueCategory": "lvalue",3340// CHECK-NEXT:            "referencedDecl": {3341// CHECK-NEXT:             "id": "0x{{.*}}",3342// CHECK-NEXT:             "kind": "ParmVarDecl",3343// CHECK-NEXT:             "name": "p",3344// CHECK-NEXT:             "type": {3345// CHECK-NEXT:              "qualType": "S *"3346// CHECK-NEXT:             }3347// CHECK-NEXT:            }3348// CHECK-NEXT:           }3349// CHECK-NEXT:          ]3350// CHECK-NEXT:         }3351// CHECK-NEXT:        ]3352// CHECK-NEXT:       }3353// CHECK-NEXT:      ]3354// CHECK-NEXT:     },3355// CHECK-NEXT:     {3356// CHECK-NEXT:      "id": "0x{{.*}}",3357// CHECK-NEXT:      "kind": "CXXMemberCallExpr",3358// CHECK-NEXT:      "range": {3359// CHECK-NEXT:       "begin": {3360// CHECK-NEXT:        "offset": 1727,3361// CHECK-NEXT:        "line": 86,3362// CHECK-NEXT:        "col": 3,3363// CHECK-NEXT:        "tokLen": 13364// CHECK-NEXT:       },3365// CHECK-NEXT:       "end": {3366// CHECK-NEXT:        "offset": 1750,3367// CHECK-NEXT:        "col": 26,3368// CHECK-NEXT:        "tokLen": 13369// CHECK-NEXT:       }3370// CHECK-NEXT:      },3371// CHECK-NEXT:      "type": {3372// CHECK-NEXT:       "qualType": "void"3373// CHECK-NEXT:      },3374// CHECK-NEXT:      "valueCategory": "prvalue",3375// CHECK-NEXT:      "inner": [3376// CHECK-NEXT:       {3377// CHECK-NEXT:        "id": "0x{{.*}}",3378// CHECK-NEXT:        "kind": "MemberExpr",3379// CHECK-NEXT:        "range": {3380// CHECK-NEXT:         "begin": {3381// CHECK-NEXT:          "offset": 1727,3382// CHECK-NEXT:          "col": 3,3383// CHECK-NEXT:          "tokLen": 13384// CHECK-NEXT:         },3385// CHECK-NEXT:         "end": {3386// CHECK-NEXT:          "offset": 1748,3387// CHECK-NEXT:          "col": 24,3388// CHECK-NEXT:          "tokLen": 13389// CHECK-NEXT:         }3390// CHECK-NEXT:        },3391// CHECK-NEXT:        "type": {3392// CHECK-NEXT:         "qualType": "<bound member function type>"3393// CHECK-NEXT:        },3394// CHECK-NEXT:        "valueCategory": "prvalue",3395// CHECK-NEXT:        "name": "~U",3396// CHECK-NEXT:        "isArrow": true,3397// CHECK-NEXT:        "referencedMemberDecl": "0x{{.*}}",3398// CHECK-NEXT:        "inner": [3399// CHECK-NEXT:         {3400// CHECK-NEXT:          "id": "0x{{.*}}",3401// CHECK-NEXT:          "kind": "ImplicitCastExpr",3402// CHECK-NEXT:          "range": {3403// CHECK-NEXT:           "begin": {3404// CHECK-NEXT:            "offset": 1727,3405// CHECK-NEXT:            "col": 3,3406// CHECK-NEXT:            "tokLen": 13407// CHECK-NEXT:           },3408// CHECK-NEXT:           "end": {3409// CHECK-NEXT:            "offset": 1727,3410// CHECK-NEXT:            "col": 3,3411// CHECK-NEXT:            "tokLen": 13412// CHECK-NEXT:           }3413// CHECK-NEXT:          },3414// CHECK-NEXT:          "type": {3415// CHECK-NEXT:           "qualType": "U<int> *"3416// CHECK-NEXT:          },3417// CHECK-NEXT:          "valueCategory": "prvalue",3418// CHECK-NEXT:          "castKind": "LValueToRValue",3419// CHECK-NEXT:          "inner": [3420// CHECK-NEXT:           {3421// CHECK-NEXT:            "id": "0x{{.*}}",3422// CHECK-NEXT:            "kind": "DeclRefExpr",3423// CHECK-NEXT:            "range": {3424// CHECK-NEXT:             "begin": {3425// CHECK-NEXT:              "offset": 1727,3426// CHECK-NEXT:              "col": 3,3427// CHECK-NEXT:              "tokLen": 13428// CHECK-NEXT:             },3429// CHECK-NEXT:             "end": {3430// CHECK-NEXT:              "offset": 1727,3431// CHECK-NEXT:              "col": 3,3432// CHECK-NEXT:              "tokLen": 13433// CHECK-NEXT:             }3434// CHECK-NEXT:            },3435// CHECK-NEXT:            "type": {3436// CHECK-NEXT:             "qualType": "U<int> *"3437// CHECK-NEXT:            },3438// CHECK-NEXT:            "valueCategory": "lvalue",3439// CHECK-NEXT:            "referencedDecl": {3440// CHECK-NEXT:             "id": "0x{{.*}}",3441// CHECK-NEXT:             "kind": "ParmVarDecl",3442// CHECK-NEXT:             "name": "r",3443// CHECK-NEXT:             "type": {3444// CHECK-NEXT:              "qualType": "U<int> *"3445// CHECK-NEXT:             }3446// CHECK-NEXT:            }3447// CHECK-NEXT:           }3448// CHECK-NEXT:          ]3449// CHECK-NEXT:         }3450// CHECK-NEXT:        ]3451// CHECK-NEXT:       }3452// CHECK-NEXT:      ]3453// CHECK-NEXT:     },3454// CHECK-NEXT:     {3455// CHECK-NEXT:      "id": "0x{{.*}}",3456// CHECK-NEXT:      "kind": "CXXTypeidExpr",3457// CHECK-NEXT:      "range": {3458// CHECK-NEXT:       "begin": {3459// CHECK-NEXT:        "offset": 1755,3460// CHECK-NEXT:        "line": 87,3461// CHECK-NEXT:        "col": 3,3462// CHECK-NEXT:        "tokLen": 63463// CHECK-NEXT:       },3464// CHECK-NEXT:       "end": {3465// CHECK-NEXT:        "offset": 1763,3466// CHECK-NEXT:        "col": 11,3467// CHECK-NEXT:        "tokLen": 13468// CHECK-NEXT:       }3469// CHECK-NEXT:      },3470// CHECK-NEXT:      "type": {3471// CHECK-NEXT:       "qualType": "const std::type_info"3472// CHECK-NEXT:      },3473// CHECK-NEXT:      "valueCategory": "lvalue",3474// CHECK-NEXT:      "inner": [3475// CHECK-NEXT:       {3476// CHECK-NEXT:        "id": "0x{{.*}}",3477// CHECK-NEXT:        "kind": "DeclRefExpr",3478// CHECK-NEXT:        "range": {3479// CHECK-NEXT:         "begin": {3480// CHECK-NEXT:          "offset": 1762,3481// CHECK-NEXT:          "col": 10,3482// CHECK-NEXT:          "tokLen": 13483// CHECK-NEXT:         },3484// CHECK-NEXT:         "end": {3485// CHECK-NEXT:          "offset": 1762,3486// CHECK-NEXT:          "col": 10,3487// CHECK-NEXT:          "tokLen": 13488// CHECK-NEXT:         }3489// CHECK-NEXT:        },3490// CHECK-NEXT:        "type": {3491// CHECK-NEXT:         "qualType": "S"3492// CHECK-NEXT:        },3493// CHECK-NEXT:        "valueCategory": "lvalue",3494// CHECK-NEXT:        "referencedDecl": {3495// CHECK-NEXT:         "id": "0x{{.*}}",3496// CHECK-NEXT:         "kind": "ParmVarDecl",3497// CHECK-NEXT:         "name": "a",3498// CHECK-NEXT:         "type": {3499// CHECK-NEXT:          "qualType": "S"3500// CHECK-NEXT:         }3501// CHECK-NEXT:        }3502// CHECK-NEXT:       }3503// CHECK-NEXT:      ]3504// CHECK-NEXT:     },3505// CHECK-NEXT:     {3506// CHECK-NEXT:      "id": "0x{{.*}}",3507// CHECK-NEXT:      "kind": "CXXTypeidExpr",3508// CHECK-NEXT:      "range": {3509// CHECK-NEXT:       "begin": {3510// CHECK-NEXT:        "offset": 1768,3511// CHECK-NEXT:        "line": 88,3512// CHECK-NEXT:        "col": 3,3513// CHECK-NEXT:        "tokLen": 63514// CHECK-NEXT:       },3515// CHECK-NEXT:       "end": {3516// CHECK-NEXT:        "offset": 1776,3517// CHECK-NEXT:        "col": 11,3518// CHECK-NEXT:        "tokLen": 13519// CHECK-NEXT:       }3520// CHECK-NEXT:      },3521// CHECK-NEXT:      "type": {3522// CHECK-NEXT:       "qualType": "const std::type_info"3523// CHECK-NEXT:      },3524// CHECK-NEXT:      "valueCategory": "lvalue",3525// CHECK-NEXT:      "typeArg": {3526// CHECK-NEXT:       "qualType": "S"3527// CHECK-NEXT:      }3528// CHECK-NEXT:     },3529// CHECK-NEXT:     {3530// CHECK-NEXT:      "id": "0x{{.*}}",3531// CHECK-NEXT:      "kind": "CXXTypeidExpr",3532// CHECK-NEXT:      "range": {3533// CHECK-NEXT:       "begin": {3534// CHECK-NEXT:        "offset": 1781,3535// CHECK-NEXT:        "line": 89,3536// CHECK-NEXT:        "col": 3,3537// CHECK-NEXT:        "tokLen": 63538// CHECK-NEXT:       },3539// CHECK-NEXT:       "end": {3540// CHECK-NEXT:        "offset": 1804,3541// CHECK-NEXT:        "col": 26,3542// CHECK-NEXT:        "tokLen": 13543// CHECK-NEXT:       }3544// CHECK-NEXT:      },3545// CHECK-NEXT:      "type": {3546// CHECK-NEXT:       "qualType": "const std::type_info"3547// CHECK-NEXT:      },3548// CHECK-NEXT:      "valueCategory": "lvalue",3549// CHECK-NEXT:      "typeArg": {3550// CHECK-NEXT:       "qualType": "const volatile S"3551// CHECK-NEXT:      },3552// CHECK-NEXT:      "adjustedTypeArg": {3553// CHECK-NEXT:       "qualType": "S"3554// CHECK-NEXT:      }3555// CHECK-NEXT:     }3556// CHECK-NEXT:    ]3557// CHECK-NEXT:   }3558// CHECK-NEXT:  ]3559// CHECK-NEXT: }3560 3561 3562// CHECK-NOT: {{^}}Dumping3563// CHECK:  "kind": "FunctionTemplateDecl",3564// CHECK-NEXT:  "loc": {3565// CHECK-NEXT:   "offset": 1841,3566// CHECK-NEXT:   "file": "{{.*}}",3567// CHECK-NEXT:   "line": 93,3568// CHECK-NEXT:   "col": 6,3569// CHECK-NEXT:   "tokLen": 223570// CHECK-NEXT:  },3571// CHECK-NEXT:  "range": {3572// CHECK-NEXT:   "begin": {3573// CHECK-NEXT:    "offset": 1810,3574// CHECK-NEXT:    "line": 92,3575// CHECK-NEXT:    "col": 1,3576// CHECK-NEXT:    "tokLen": 83577// CHECK-NEXT:   },3578// CHECK-NEXT:   "end": {3579// CHECK-NEXT:    "offset": 2257,3580// CHECK-NEXT:    "line": 122,3581// CHECK-NEXT:    "col": 1,3582// CHECK-NEXT:    "tokLen": 13583// CHECK-NEXT:   }3584// CHECK-NEXT:  },3585// CHECK-NEXT:  "name": "TestPrimaryExpressions",3586// CHECK-NEXT:  "inner": [3587// CHECK-NEXT:   {3588// CHECK-NEXT:    "id": "0x{{.*}}",3589// CHECK-NEXT:    "kind": "TemplateTypeParmDecl",3590// CHECK-NEXT:    "loc": {3591// CHECK-NEXT:     "offset": 1832,3592// CHECK-NEXT:     "line": 92,3593// CHECK-NEXT:     "col": 23,3594// CHECK-NEXT:     "tokLen": 23595// CHECK-NEXT:    },3596// CHECK-NEXT:    "range": {3597// CHECK-NEXT:     "begin": {3598// CHECK-NEXT:      "offset": 1820,3599// CHECK-NEXT:      "col": 11,3600// CHECK-NEXT:      "tokLen": 83601// CHECK-NEXT:     },3602// CHECK-NEXT:     "end": {3603// CHECK-NEXT:      "offset": 1832,3604// CHECK-NEXT:      "col": 23,3605// CHECK-NEXT:      "tokLen": 23606// CHECK-NEXT:     }3607// CHECK-NEXT:    },3608// CHECK-NEXT:    "isReferenced": true,3609// CHECK-NEXT:    "name": "Ts",3610// CHECK-NEXT:    "tagUsed": "typename",3611// CHECK-NEXT:    "depth": 0,3612// CHECK-NEXT:    "index": 0,3613// CHECK-NEXT:    "isParameterPack": true3614// CHECK-NEXT:   },3615// CHECK-NEXT:   {3616// CHECK-NEXT:    "id": "0x{{.*}}",3617// CHECK-NEXT:    "kind": "FunctionDecl",3618// CHECK-NEXT:    "loc": {3619// CHECK-NEXT:     "offset": 1841,3620// CHECK-NEXT:     "line": 93,3621// CHECK-NEXT:     "col": 6,3622// CHECK-NEXT:     "tokLen": 223623// CHECK-NEXT:    },3624// CHECK-NEXT:    "range": {3625// CHECK-NEXT:     "begin": {3626// CHECK-NEXT:      "offset": 1836,3627// CHECK-NEXT:      "col": 1,3628// CHECK-NEXT:      "tokLen": 43629// CHECK-NEXT:     },3630// CHECK-NEXT:     "end": {3631// CHECK-NEXT:      "offset": 2257,3632// CHECK-NEXT:      "line": 122,3633// CHECK-NEXT:      "col": 1,3634// CHECK-NEXT:      "tokLen": 13635// CHECK-NEXT:     }3636// CHECK-NEXT:    },3637// CHECK-NEXT:    "name": "TestPrimaryExpressions",3638// CHECK-NEXT:    "type": {3639// CHECK-NEXT:     "qualType": "void (Ts...)"3640// CHECK-NEXT:    },3641// CHECK-NEXT:    "inner": [3642// CHECK-NEXT:     {3643// CHECK-NEXT:      "id": "0x{{.*}}",3644// CHECK-NEXT:      "kind": "ParmVarDecl",3645// CHECK-NEXT:      "loc": {3646// CHECK-NEXT:       "offset": 1870,3647// CHECK-NEXT:       "line": 93,3648// CHECK-NEXT:       "col": 35,3649// CHECK-NEXT:       "tokLen": 13650// CHECK-NEXT:      },3651// CHECK-NEXT:      "range": {3652// CHECK-NEXT:       "begin": {3653// CHECK-NEXT:        "offset": 1864,3654// CHECK-NEXT:        "col": 29,3655// CHECK-NEXT:        "tokLen": 23656// CHECK-NEXT:       },3657// CHECK-NEXT:       "end": {3658// CHECK-NEXT:        "offset": 1870,3659// CHECK-NEXT:        "col": 35,3660// CHECK-NEXT:        "tokLen": 13661// CHECK-NEXT:       }3662// CHECK-NEXT:      },3663// CHECK-NEXT:      "isReferenced": true,3664// CHECK-NEXT:      "name": "a",3665// CHECK-NEXT:      "type": {3666// CHECK-NEXT:       "qualType": "Ts..."3667// CHECK-NEXT:      },3668// CHECK-NEXT:      "isParameterPack": true3669// CHECK-NEXT:     },3670// CHECK-NEXT:     {3671// CHECK-NEXT:      "id": "0x{{.*}}",3672// CHECK-NEXT:      "kind": "CompoundStmt",3673// CHECK-NEXT:      "range": {3674// CHECK-NEXT:       "begin": {3675// CHECK-NEXT:        "offset": 1873,3676// CHECK-NEXT:        "col": 38,3677// CHECK-NEXT:        "tokLen": 13678// CHECK-NEXT:       },3679// CHECK-NEXT:       "end": {3680// CHECK-NEXT:        "offset": 2257,3681// CHECK-NEXT:        "line": 122,3682// CHECK-NEXT:        "col": 1,3683// CHECK-NEXT:        "tokLen": 13684// CHECK-NEXT:       }3685// CHECK-NEXT:      },3686// CHECK-NEXT:      "inner": [3687// CHECK-NEXT:       {3688// CHECK-NEXT:        "id": "0x{{.*}}",3689// CHECK-NEXT:        "kind": "DeclStmt",3690// CHECK-NEXT:        "range": {3691// CHECK-NEXT:         "begin": {3692// CHECK-NEXT:          "offset": 1877,3693// CHECK-NEXT:          "line": 94,3694// CHECK-NEXT:          "col": 3,3695// CHECK-NEXT:          "tokLen": 63696// CHECK-NEXT:         },3697// CHECK-NEXT:         "end": {3698// CHECK-NEXT:          "offset": 1958,3699// CHECK-NEXT:          "line": 101,3700// CHECK-NEXT:          "col": 4,3701// CHECK-NEXT:          "tokLen": 13702// CHECK-NEXT:         }3703// CHECK-NEXT:        },3704// CHECK-NEXT:        "inner": [3705// CHECK-NEXT:         {3706// CHECK-NEXT:          "id": "0x{{.*}}",3707// CHECK-NEXT:          "kind": "CXXRecordDecl",3708// CHECK-NEXT:          "loc": {3709// CHECK-NEXT:           "offset": 1884,3710// CHECK-NEXT:           "line": 94,3711// CHECK-NEXT:           "col": 10,3712// CHECK-NEXT:           "tokLen": 13713// CHECK-NEXT:          },3714// CHECK-NEXT:          "range": {3715// CHECK-NEXT:           "begin": {3716// CHECK-NEXT:            "offset": 1877,3717// CHECK-NEXT:            "col": 3,3718// CHECK-NEXT:            "tokLen": 63719// CHECK-NEXT:           },3720// CHECK-NEXT:           "end": {3721// CHECK-NEXT:            "offset": 1957,3722// CHECK-NEXT:            "line": 101,3723// CHECK-NEXT:            "col": 3,3724// CHECK-NEXT:            "tokLen": 13725// CHECK-NEXT:           }3726// CHECK-NEXT:          },3727// CHECK-NEXT:          "name": "V",3728// CHECK-NEXT:          "tagUsed": "struct",3729// CHECK-NEXT:          "completeDefinition": true,3730// CHECK-NEXT:          "definitionData": {3731// CHECK-NEXT:           "canConstDefaultInit": true,3732// CHECK-NEXT:           "copyAssign": {3733// CHECK-NEXT:            "hasConstParam": true,3734// CHECK-NEXT:            "implicitHasConstParam": true,3735// CHECK-NEXT:            "needsImplicit": true,3736// CHECK-NEXT:            "simple": true,3737// CHECK-NEXT:            "trivial": true3738// CHECK-NEXT:           },3739// CHECK-NEXT:           "copyCtor": {3740// CHECK-NEXT:            "hasConstParam": true,3741// CHECK-NEXT:            "implicitHasConstParam": true,3742// CHECK-NEXT:            "needsImplicit": true,3743// CHECK-NEXT:            "simple": true,3744// CHECK-NEXT:            "trivial": true3745// CHECK-NEXT:           },3746// CHECK-NEXT:           "defaultCtor": {3747// CHECK-NEXT:            "defaultedIsConstexpr": true,3748// CHECK-NEXT:            "exists": true,3749// CHECK-NEXT:            "isConstexpr": true,3750// CHECK-NEXT:            "needsImplicit": true,3751// CHECK-NEXT:            "trivial": true3752// CHECK-NEXT:           },3753// CHECK-NEXT:           "dtor": {3754// CHECK-NEXT:            "irrelevant": true,3755// CHECK-NEXT:            "needsImplicit": true,3756// CHECK-NEXT:            "simple": true,3757// CHECK-NEXT:            "trivial": true3758// CHECK-NEXT:           },3759// CHECK-NEXT:           "hasConstexprNonCopyMoveConstructor": true,3760// CHECK-NEXT:           "isAggregate": true,3761// CHECK-NEXT:           "isEmpty": true,3762// CHECK-NEXT:           "isLiteral": true,3763// CHECK-NEXT:           "isPOD": true,3764// CHECK-NEXT:           "isStandardLayout": true,3765// CHECK-NEXT:           "isTrivial": true,3766// CHECK-NEXT:           "isTriviallyCopyable": true,3767// CHECK-NEXT:           "moveAssign": {3768// CHECK-NEXT:            "exists": true,3769// CHECK-NEXT:            "needsImplicit": true,3770// CHECK-NEXT:            "simple": true,3771// CHECK-NEXT:            "trivial": true3772// CHECK-NEXT:           },3773// CHECK-NEXT:           "moveCtor": {3774// CHECK-NEXT:            "exists": true,3775// CHECK-NEXT:            "needsImplicit": true,3776// CHECK-NEXT:            "simple": true,3777// CHECK-NEXT:            "trivial": true3778// CHECK-NEXT:           }3779// CHECK-NEXT:          },3780// CHECK-NEXT:          "inner": [3781// CHECK-NEXT:           {3782// CHECK-NEXT:            "id": "0x{{.*}}",3783// CHECK-NEXT:            "kind": "CXXRecordDecl",3784// CHECK-NEXT:            "loc": {3785// CHECK-NEXT:             "offset": 1884,3786// CHECK-NEXT:             "line": 94,3787// CHECK-NEXT:             "col": 10,3788// CHECK-NEXT:             "tokLen": 13789// CHECK-NEXT:            },3790// CHECK-NEXT:            "range": {3791// CHECK-NEXT:             "begin": {3792// CHECK-NEXT:              "offset": 1877,3793// CHECK-NEXT:              "col": 3,3794// CHECK-NEXT:              "tokLen": 63795// CHECK-NEXT:             },3796// CHECK-NEXT:             "end": {3797// CHECK-NEXT:              "offset": 1884,3798// CHECK-NEXT:              "col": 10,3799// CHECK-NEXT:              "tokLen": 13800// CHECK-NEXT:             }3801// CHECK-NEXT:            },3802// CHECK-NEXT:            "isImplicit": true,3803// CHECK-NEXT:            "name": "V",3804// CHECK-NEXT:            "tagUsed": "struct"3805// CHECK-NEXT:           },3806// CHECK-NEXT:           {3807// CHECK-NEXT:            "id": "0x{{.*}}",3808// CHECK-NEXT:            "kind": "CXXMethodDecl",3809// CHECK-NEXT:            "loc": {3810// CHECK-NEXT:             "offset": 1897,3811// CHECK-NEXT:             "line": 95,3812// CHECK-NEXT:             "col": 10,3813// CHECK-NEXT:             "tokLen": 13814// CHECK-NEXT:            },3815// CHECK-NEXT:            "range": {3816// CHECK-NEXT:             "begin": {3817// CHECK-NEXT:              "offset": 1892,3818// CHECK-NEXT:              "col": 5,3819// CHECK-NEXT:              "tokLen": 43820// CHECK-NEXT:             },3821// CHECK-NEXT:             "end": {3822// CHECK-NEXT:              "offset": 1953,3823// CHECK-NEXT:              "line": 100,3824// CHECK-NEXT:              "col": 5,3825// CHECK-NEXT:              "tokLen": 13826// CHECK-NEXT:             }3827// CHECK-NEXT:            },3828// CHECK-NEXT:            "name": "f",3829// CHECK-NEXT:            "type": {3830// CHECK-NEXT:             "qualType": "void ()"3831// CHECK-NEXT:            },3832// CHECK-NEXT:            "inner": [3833// CHECK-NEXT:             {3834// CHECK-NEXT:              "id": "0x{{.*}}",3835// CHECK-NEXT:              "kind": "CompoundStmt",3836// CHECK-NEXT:              "range": {3837// CHECK-NEXT:               "begin": {3838// CHECK-NEXT:                "offset": 1901,3839// CHECK-NEXT:                "line": 95,3840// CHECK-NEXT:                "col": 14,3841// CHECK-NEXT:                "tokLen": 13842// CHECK-NEXT:               },3843// CHECK-NEXT:               "end": {3844// CHECK-NEXT:                "offset": 1953,3845// CHECK-NEXT:                "line": 100,3846// CHECK-NEXT:                "col": 5,3847// CHECK-NEXT:                "tokLen": 13848// CHECK-NEXT:               }3849// CHECK-NEXT:              },3850// CHECK-NEXT:              "inner": [3851// CHECK-NEXT:               {3852// CHECK-NEXT:                "id": "0x{{.*}}",3853// CHECK-NEXT:                "kind": "CXXThisExpr",3854// CHECK-NEXT:                "range": {3855// CHECK-NEXT:                 "begin": {3856// CHECK-NEXT:                  "offset": 1909,3857// CHECK-NEXT:                  "line": 96,3858// CHECK-NEXT:                  "col": 7,3859// CHECK-NEXT:                  "tokLen": 43860// CHECK-NEXT:                 },3861// CHECK-NEXT:                 "end": {3862// CHECK-NEXT:                  "offset": 1909,3863// CHECK-NEXT:                  "col": 7,3864// CHECK-NEXT:                  "tokLen": 43865// CHECK-NEXT:                 }3866// CHECK-NEXT:                },3867// CHECK-NEXT:                "type": {3868// CHECK-NEXT:                 "qualType": "V *"3869// CHECK-NEXT:                },3870// CHECK-NEXT:                "valueCategory": "prvalue"3871// CHECK-NEXT:               },3872// CHECK-NEXT:               {3873// CHECK-NEXT:                "id": "0x{{.*}}",3874// CHECK-NEXT:                "kind": "LambdaExpr",3875// CHECK-NEXT:                "range": {3876// CHECK-NEXT:                 "begin": {3877// CHECK-NEXT:                  "offset": 1922,3878// CHECK-NEXT:                  "line": 98,3879// CHECK-NEXT:                  "col": 7,3880// CHECK-NEXT:                  "tokLen": 13881// CHECK-NEXT:                 },3882// CHECK-NEXT:                 "end": {3883// CHECK-NEXT:                  "offset": 1929,3884// CHECK-NEXT:                  "col": 14,3885// CHECK-NEXT:                  "tokLen": 13886// CHECK-NEXT:                 }3887// CHECK-NEXT:                },3888// CHECK-NEXT:                "type": {3889// CHECK-NEXT:                 "qualType": "(lambda at {{.*}}:98:7)"3890// CHECK-NEXT:                },3891// CHECK-NEXT:                "valueCategory": "prvalue",3892// CHECK-NEXT:                "hasExplicitParameters": false,3893// CHECK-NEXT:                "inner": [3894// CHECK-NEXT:                 {3895// CHECK-NEXT:                  "id": "0x{{.*}}",3896// CHECK-NEXT:                  "kind": "CXXRecordDecl",3897// CHECK-NEXT:                  "loc": {3898// CHECK-NEXT:                   "offset": 1922,3899// CHECK-NEXT:                   "col": 7,3900// CHECK-NEXT:                   "tokLen": 13901// CHECK-NEXT:                  },3902// CHECK-NEXT:                  "range": {3903// CHECK-NEXT:                   "begin": {3904// CHECK-NEXT:                    "offset": 1922,3905// CHECK-NEXT:                    "col": 7,3906// CHECK-NEXT:                    "tokLen": 13907// CHECK-NEXT:                   },3908// CHECK-NEXT:                   "end": {3909// CHECK-NEXT:                    "offset": 1922,3910// CHECK-NEXT:                    "col": 7,3911// CHECK-NEXT:                    "tokLen": 13912// CHECK-NEXT:                   }3913// CHECK-NEXT:                  },3914// CHECK-NEXT:                  "isImplicit": true,3915// CHECK-NEXT:                  "tagUsed": "class",3916// CHECK-NEXT:                  "completeDefinition": true,3917// CHECK-NEXT:                  "definitionData": {3918// CHECK-NEXT:                   "canConstDefaultInit": true,3919// CHECK-NEXT:                   "copyAssign": {3920// CHECK-NEXT:                    "hasConstParam": true,3921// CHECK-NEXT:                    "implicitHasConstParam": true,3922// CHECK-NEXT:                    "needsImplicit": true,3923// CHECK-NEXT:                    "trivial": true3924// CHECK-NEXT:                   },3925// CHECK-NEXT:                   "copyCtor": {3926// CHECK-NEXT:                    "hasConstParam": true,3927// CHECK-NEXT:                    "implicitHasConstParam": true,3928// CHECK-NEXT:                    "needsImplicit": true,3929// CHECK-NEXT:                    "simple": true,3930// CHECK-NEXT:                    "trivial": true3931// CHECK-NEXT:                   },3932// CHECK-NEXT:                   "defaultCtor": {},3933// CHECK-NEXT:                   "dtor": {3934// CHECK-NEXT:                    "irrelevant": true,3935// CHECK-NEXT:                    "needsImplicit": true,3936// CHECK-NEXT:                    "simple": true,3937// CHECK-NEXT:                    "trivial": true3938// CHECK-NEXT:                   },3939// CHECK-NEXT:                   "isLambda": true,3940// CHECK-NEXT:                   "isStandardLayout": true,3941// CHECK-NEXT:                   "isTriviallyCopyable": true,3942// CHECK-NEXT:                   "moveAssign": {},3943// CHECK-NEXT:                   "moveCtor": {3944// CHECK-NEXT:                    "exists": true,3945// CHECK-NEXT:                    "needsImplicit": true,3946// CHECK-NEXT:                    "simple": true,3947// CHECK-NEXT:                    "trivial": true3948// CHECK-NEXT:                   }3949// CHECK-NEXT:                  },3950// CHECK-NEXT:                  "inner": [3951// CHECK-NEXT:                   {3952// CHECK-NEXT:                    "id": "0x{{.*}}",3953// CHECK-NEXT:                    "kind": "CXXMethodDecl",3954// CHECK-NEXT:                    "loc": {3955// CHECK-NEXT:                     "offset": 1922,3956// CHECK-NEXT:                     "col": 7,3957// CHECK-NEXT:                     "tokLen": 13958// CHECK-NEXT:                    },3959// CHECK-NEXT:                    "range": {3960// CHECK-NEXT:                     "begin": {3961// CHECK-NEXT:                      "offset": 1927,3962// CHECK-NEXT:                      "col": 12,3963// CHECK-NEXT:                      "tokLen": 13964// CHECK-NEXT:                     },3965// CHECK-NEXT:                     "end": {3966// CHECK-NEXT:                      "offset": 1929,3967// CHECK-NEXT:                      "col": 14,3968// CHECK-NEXT:                      "tokLen": 13969// CHECK-NEXT:                     }3970// CHECK-NEXT:                    },3971// CHECK-NEXT:                    "name": "operator()",3972// CHECK-NEXT:                    "type": {3973// CHECK-NEXT:                     "qualType": "auto () const -> auto"3974// CHECK-NEXT:                    },3975// CHECK-NEXT:                    "inline": true,3976// CHECK-NEXT:                    "inner": [3977// CHECK-NEXT:                     {3978// CHECK-NEXT:                      "id": "0x{{.*}}",3979// CHECK-NEXT:                      "kind": "CompoundStmt",3980// CHECK-NEXT:                      "range": {3981// CHECK-NEXT:                       "begin": {3982// CHECK-NEXT:                        "offset": 1928,3983// CHECK-NEXT:                        "col": 13,3984// CHECK-NEXT:                        "tokLen": 13985// CHECK-NEXT:                       },3986// CHECK-NEXT:                       "end": {3987// CHECK-NEXT:                        "offset": 1929,3988// CHECK-NEXT:                        "col": 14,3989// CHECK-NEXT:                        "tokLen": 13990// CHECK-NEXT:                       }3991// CHECK-NEXT:                      }3992// CHECK-NEXT:                     }3993// CHECK-NEXT:                    ]3994// CHECK-NEXT:                   },3995// CHECK-NEXT:                   {3996// CHECK-NEXT:                    "id": "0x{{.*}}",3997// CHECK-NEXT:                    "kind": "FieldDecl",3998// CHECK-NEXT:                    "loc": {3999// CHECK-NEXT:                     "offset": 1923,4000// CHECK-NEXT:                     "col": 8,4001// CHECK-NEXT:                     "tokLen": 44002// CHECK-NEXT:                    },4003// CHECK-NEXT:                    "range": {4004// CHECK-NEXT:                     "begin": {4005// CHECK-NEXT:                      "offset": 1923,4006// CHECK-NEXT:                      "col": 8,4007// CHECK-NEXT:                      "tokLen": 44008// CHECK-NEXT:                     },4009// CHECK-NEXT:                     "end": {4010// CHECK-NEXT:                      "offset": 1923,4011// CHECK-NEXT:                      "col": 8,4012// CHECK-NEXT:                      "tokLen": 44013// CHECK-NEXT:                     }4014// CHECK-NEXT:                    },4015// CHECK-NEXT:                    "isImplicit": true,4016// CHECK-NEXT:                    "type": {4017// CHECK-NEXT:                     "qualType": "V *"4018// CHECK-NEXT:                    }4019// CHECK-NEXT:                   }4020// CHECK-NEXT:                  ]4021// CHECK-NEXT:                 },4022// CHECK-NEXT:                 {4023// CHECK-NEXT:                  "id": "0x{{.*}}",4024// CHECK-NEXT:                  "kind": "ParenListExpr",4025// CHECK-NEXT:                  "range": {4026// CHECK-NEXT:                   "begin": {4027// CHECK-NEXT:                    "offset": 1923,4028// CHECK-NEXT:                    "col": 8,4029// CHECK-NEXT:                    "tokLen": 44030// CHECK-NEXT:                   },4031// CHECK-NEXT:                   "end": {4032// CHECK-NEXT:                    "offset": 1923,4033// CHECK-NEXT:                    "col": 8,4034// CHECK-NEXT:                    "tokLen": 44035// CHECK-NEXT:                   }4036// CHECK-NEXT:                  },4037// CHECK-NEXT:                  "type": {4038// CHECK-NEXT:                   "qualType": "NULL TYPE"4039// CHECK-NEXT:                  },4040// CHECK-NEXT:                  "valueCategory": "prvalue",4041// CHECK-NEXT:                  "inner": [4042// CHECK-NEXT:                   {4043// CHECK-NEXT:                    "id": "0x{{.*}}",4044// CHECK-NEXT:                    "kind": "CXXThisExpr",4045// CHECK-NEXT:                    "range": {4046// CHECK-NEXT:                     "begin": {4047// CHECK-NEXT:                      "offset": 1923,4048// CHECK-NEXT:                      "col": 8,4049// CHECK-NEXT:                      "tokLen": 44050// CHECK-NEXT:                     },4051// CHECK-NEXT:                     "end": {4052// CHECK-NEXT:                      "offset": 1923,4053// CHECK-NEXT:                      "col": 8,4054// CHECK-NEXT:                      "tokLen": 44055// CHECK-NEXT:                     }4056// CHECK-NEXT:                    },4057// CHECK-NEXT:                    "type": {4058// CHECK-NEXT:                     "qualType": "V *"4059// CHECK-NEXT:                    },4060// CHECK-NEXT:                    "valueCategory": "prvalue"4061// CHECK-NEXT:                   }4062// CHECK-NEXT:                  ]4063// CHECK-NEXT:                 },4064// CHECK-NEXT:                 {4065// CHECK-NEXT:                  "id": "0x{{.*}}",4066// CHECK-NEXT:                  "kind": "CompoundStmt",4067// CHECK-NEXT:                  "range": {4068// CHECK-NEXT:                   "begin": {4069// CHECK-NEXT:                    "offset": 1928,4070// CHECK-NEXT:                    "col": 13,4071// CHECK-NEXT:                    "tokLen": 14072// CHECK-NEXT:                   },4073// CHECK-NEXT:                   "end": {4074// CHECK-NEXT:                    "offset": 1929,4075// CHECK-NEXT:                    "col": 14,4076// CHECK-NEXT:                    "tokLen": 14077// CHECK-NEXT:                   }4078// CHECK-NEXT:                  }4079// CHECK-NEXT:                 }4080// CHECK-NEXT:                ]4081// CHECK-NEXT:               },4082// CHECK-NEXT:               {4083// CHECK-NEXT:                "id": "0x{{.*}}",4084// CHECK-NEXT:                "kind": "LambdaExpr",4085// CHECK-NEXT:                "range": {4086// CHECK-NEXT:                 "begin": {4087// CHECK-NEXT:                  "offset": 1938,4088// CHECK-NEXT:                  "line": 99,4089// CHECK-NEXT:                  "col": 7,4090// CHECK-NEXT:                  "tokLen": 14091// CHECK-NEXT:                 },4092// CHECK-NEXT:                 "end": {4093// CHECK-NEXT:                  "offset": 1946,4094// CHECK-NEXT:                  "col": 15,4095// CHECK-NEXT:                  "tokLen": 14096// CHECK-NEXT:                 }4097// CHECK-NEXT:                },4098// CHECK-NEXT:                "type": {4099// CHECK-NEXT:                 "qualType": "(lambda at {{.*}}:99:7)"4100// CHECK-NEXT:                },4101// CHECK-NEXT:                "valueCategory": "prvalue",4102// CHECK-NEXT:                "hasExplicitParameters": false,4103// CHECK-NEXT:                "inner": [4104// CHECK-NEXT:                 {4105// CHECK-NEXT:                  "id": "0x{{.*}}",4106// CHECK-NEXT:                  "kind": "CXXRecordDecl",4107// CHECK-NEXT:                  "loc": {4108// CHECK-NEXT:                   "offset": 1938,4109// CHECK-NEXT:                   "col": 7,4110// CHECK-NEXT:                   "tokLen": 14111// CHECK-NEXT:                  },4112// CHECK-NEXT:                  "range": {4113// CHECK-NEXT:                   "begin": {4114// CHECK-NEXT:                    "offset": 1938,4115// CHECK-NEXT:                    "col": 7,4116// CHECK-NEXT:                    "tokLen": 14117// CHECK-NEXT:                   },4118// CHECK-NEXT:                   "end": {4119// CHECK-NEXT:                    "offset": 1938,4120// CHECK-NEXT:                    "col": 7,4121// CHECK-NEXT:                    "tokLen": 14122// CHECK-NEXT:                   }4123// CHECK-NEXT:                  },4124// CHECK-NEXT:                  "isImplicit": true,4125// CHECK-NEXT:                  "tagUsed": "class",4126// CHECK-NEXT:                  "completeDefinition": true,4127// CHECK-NEXT:                  "definitionData": {4128// CHECK-NEXT:                   "canConstDefaultInit": true,4129// CHECK-NEXT:                   "copyAssign": {4130// CHECK-NEXT:                    "hasConstParam": true,4131// CHECK-NEXT:                    "implicitHasConstParam": true,4132// CHECK-NEXT:                    "needsImplicit": true,4133// CHECK-NEXT:                    "trivial": true4134// CHECK-NEXT:                   },4135// CHECK-NEXT:                   "copyCtor": {4136// CHECK-NEXT:                    "hasConstParam": true,4137// CHECK-NEXT:                    "implicitHasConstParam": true,4138// CHECK-NEXT:                    "needsImplicit": true,4139// CHECK-NEXT:                    "simple": true,4140// CHECK-NEXT:                    "trivial": true4141// CHECK-NEXT:                   },4142// CHECK-NEXT:                   "defaultCtor": {4143// CHECK-NEXT:                    "defaultedIsConstexpr": true4144// CHECK-NEXT:                   },4145// CHECK-NEXT:                   "dtor": {4146// CHECK-NEXT:                    "irrelevant": true,4147// CHECK-NEXT:                    "needsImplicit": true,4148// CHECK-NEXT:                    "simple": true,4149// CHECK-NEXT:                    "trivial": true4150// CHECK-NEXT:                   },4151// CHECK-NEXT:                   "isLambda": true,4152// CHECK-NEXT:                   "isStandardLayout": true,4153// CHECK-NEXT:                   "isTriviallyCopyable": true,4154// CHECK-NEXT:                   "moveAssign": {},4155// CHECK-NEXT:                   "moveCtor": {4156// CHECK-NEXT:                    "exists": true,4157// CHECK-NEXT:                    "needsImplicit": true,4158// CHECK-NEXT:                    "simple": true,4159// CHECK-NEXT:                    "trivial": true4160// CHECK-NEXT:                   }4161// CHECK-NEXT:                  },4162// CHECK-NEXT:                  "inner": [4163// CHECK-NEXT:                   {4164// CHECK-NEXT:                    "id": "0x{{.*}}",4165// CHECK-NEXT:                    "kind": "CXXMethodDecl",4166// CHECK-NEXT:                    "loc": {4167// CHECK-NEXT:                     "offset": 1938,4168// CHECK-NEXT:                     "col": 7,4169// CHECK-NEXT:                     "tokLen": 14170// CHECK-NEXT:                    },4171// CHECK-NEXT:                    "range": {4172// CHECK-NEXT:                     "begin": {4173// CHECK-NEXT:                      "offset": 1944,4174// CHECK-NEXT:                      "col": 13,4175// CHECK-NEXT:                      "tokLen": 14176// CHECK-NEXT:                     },4177// CHECK-NEXT:                     "end": {4178// CHECK-NEXT:                      "offset": 1946,4179// CHECK-NEXT:                      "col": 15,4180// CHECK-NEXT:                      "tokLen": 14181// CHECK-NEXT:                     }4182// CHECK-NEXT:                    },4183// CHECK-NEXT:                    "name": "operator()",4184// CHECK-NEXT:                    "type": {4185// CHECK-NEXT:                     "qualType": "auto () const -> auto"4186// CHECK-NEXT:                    },4187// CHECK-NEXT:                    "inline": true,4188// CHECK-NEXT:                    "inner": [4189// CHECK-NEXT:                     {4190// CHECK-NEXT:                      "id": "0x{{.*}}",4191// CHECK-NEXT:                      "kind": "CompoundStmt",4192// CHECK-NEXT:                      "range": {4193// CHECK-NEXT:                       "begin": {4194// CHECK-NEXT:                        "offset": 1945,4195// CHECK-NEXT:                        "col": 14,4196// CHECK-NEXT:                        "tokLen": 14197// CHECK-NEXT:                       },4198// CHECK-NEXT:                       "end": {4199// CHECK-NEXT:                        "offset": 1946,4200// CHECK-NEXT:                        "col": 15,4201// CHECK-NEXT:                        "tokLen": 14202// CHECK-NEXT:                       }4203// CHECK-NEXT:                      }4204// CHECK-NEXT:                     }4205// CHECK-NEXT:                    ]4206// CHECK-NEXT:                   },4207// CHECK-NEXT:                   {4208// CHECK-NEXT:                    "id": "0x{{.*}}",4209// CHECK-NEXT:                    "kind": "FieldDecl",4210// CHECK-NEXT:                    "loc": {4211// CHECK-NEXT:                     "offset": 1939,4212// CHECK-NEXT:                     "col": 8,4213// CHECK-NEXT:                     "tokLen": 14214// CHECK-NEXT:                    },4215// CHECK-NEXT:                    "range": {4216// CHECK-NEXT:                     "begin": {4217// CHECK-NEXT:                      "offset": 1939,4218// CHECK-NEXT:                      "col": 8,4219// CHECK-NEXT:                      "tokLen": 14220// CHECK-NEXT:                     },4221// CHECK-NEXT:                     "end": {4222// CHECK-NEXT:                      "offset": 1939,4223// CHECK-NEXT:                      "col": 8,4224// CHECK-NEXT:                      "tokLen": 14225// CHECK-NEXT:                     }4226// CHECK-NEXT:                    },4227// CHECK-NEXT:                    "isImplicit": true,4228// CHECK-NEXT:                    "type": {4229// CHECK-NEXT:                     "qualType": "V"4230// CHECK-NEXT:                    }4231// CHECK-NEXT:                   }4232// CHECK-NEXT:                  ]4233// CHECK-NEXT:                 },4234// CHECK-NEXT:                 {4235// CHECK-NEXT:                  "id": "0x{{.*}}",4236// CHECK-NEXT:                  "kind": "ParenListExpr",4237// CHECK-NEXT:                  "range": {4238// CHECK-NEXT:                   "begin": {4239// CHECK-NEXT:                    "offset": 1939,4240// CHECK-NEXT:                    "col": 8,4241// CHECK-NEXT:                    "tokLen": 14242// CHECK-NEXT:                   },4243// CHECK-NEXT:                   "end": {4244// CHECK-NEXT:                    "offset": 1939,4245// CHECK-NEXT:                    "col": 8,4246// CHECK-NEXT:                    "tokLen": 14247// CHECK-NEXT:                   }4248// CHECK-NEXT:                  },4249// CHECK-NEXT:                  "type": {4250// CHECK-NEXT:                   "qualType": "NULL TYPE"4251// CHECK-NEXT:                  },4252// CHECK-NEXT:                  "valueCategory": "prvalue",4253// CHECK-NEXT:                  "inner": [4254// CHECK-NEXT:                   {4255// CHECK-NEXT:                    "id": "0x{{.*}}",4256// CHECK-NEXT:                    "kind": "UnaryOperator",4257// CHECK-NEXT:                    "range": {4258// CHECK-NEXT:                     "begin": {4259// CHECK-NEXT:                      "offset": 1939,4260// CHECK-NEXT:                      "col": 8,4261// CHECK-NEXT:                      "tokLen": 14262// CHECK-NEXT:                     },4263// CHECK-NEXT:                     "end": {4264// CHECK-NEXT:                      "offset": 1939,4265// CHECK-NEXT:                      "col": 8,4266// CHECK-NEXT:                      "tokLen": 14267// CHECK-NEXT:                     }4268// CHECK-NEXT:                    },4269// CHECK-NEXT:                    "type": {4270// CHECK-NEXT:                     "qualType": "V"4271// CHECK-NEXT:                    },4272// CHECK-NEXT:                    "valueCategory": "lvalue",4273// CHECK-NEXT:                    "isPostfix": false,4274// CHECK-NEXT:                    "opcode": "*",4275// CHECK-NEXT:                    "canOverflow": false,4276// CHECK-NEXT:                    "inner": [4277// CHECK-NEXT:                     {4278// CHECK-NEXT:                      "id": "0x{{.*}}",4279// CHECK-NEXT:                      "kind": "CXXThisExpr",4280// CHECK-NEXT:                      "range": {4281// CHECK-NEXT:                       "begin": {4282// CHECK-NEXT:                        "offset": 1939,4283// CHECK-NEXT:                        "col": 8,4284// CHECK-NEXT:                        "tokLen": 14285// CHECK-NEXT:                       },4286// CHECK-NEXT:                       "end": {4287// CHECK-NEXT:                        "offset": 1939,4288// CHECK-NEXT:                        "col": 8,4289// CHECK-NEXT:                        "tokLen": 14290// CHECK-NEXT:                       }4291// CHECK-NEXT:                      },4292// CHECK-NEXT:                      "type": {4293// CHECK-NEXT:                       "qualType": "V *"4294// CHECK-NEXT:                      },4295// CHECK-NEXT:                      "valueCategory": "prvalue"4296// CHECK-NEXT:                     }4297// CHECK-NEXT:                    ]4298// CHECK-NEXT:                   }4299// CHECK-NEXT:                  ]4300// CHECK-NEXT:                 },4301// CHECK-NEXT:                 {4302// CHECK-NEXT:                  "id": "0x{{.*}}",4303// CHECK-NEXT:                  "kind": "CompoundStmt",4304// CHECK-NEXT:                  "range": {4305// CHECK-NEXT:                   "begin": {4306// CHECK-NEXT:                    "offset": 1945,4307// CHECK-NEXT:                    "col": 14,4308// CHECK-NEXT:                    "tokLen": 14309// CHECK-NEXT:                   },4310// CHECK-NEXT:                   "end": {4311// CHECK-NEXT:                    "offset": 1946,4312// CHECK-NEXT:                    "col": 15,4313// CHECK-NEXT:                    "tokLen": 14314// CHECK-NEXT:                   }4315// CHECK-NEXT:                  }4316// CHECK-NEXT:                 }4317// CHECK-NEXT:                ]4318// CHECK-NEXT:               }4319// CHECK-NEXT:              ]4320// CHECK-NEXT:             }4321// CHECK-NEXT:            ]4322// CHECK-NEXT:           }4323// CHECK-NEXT:          ]4324// CHECK-NEXT:         }4325// CHECK-NEXT:        ]4326// CHECK-NEXT:       },4327// CHECK-NEXT:       {4328// CHECK-NEXT:        "id": "0x{{.*}}",4329// CHECK-NEXT:        "kind": "DeclStmt",4330// CHECK-NEXT:        "range": {4331// CHECK-NEXT:         "begin": {4332// CHECK-NEXT:          "offset": 1963,4333// CHECK-NEXT:          "line": 103,4334// CHECK-NEXT:          "col": 3,4335// CHECK-NEXT:          "tokLen": 34336// CHECK-NEXT:         },4337// CHECK-NEXT:         "end": {4338// CHECK-NEXT:          "offset": 1971,4339// CHECK-NEXT:          "col": 11,4340// CHECK-NEXT:          "tokLen": 14341// CHECK-NEXT:         }4342// CHECK-NEXT:        },4343// CHECK-NEXT:        "inner": [4344// CHECK-NEXT:         {4345// CHECK-NEXT:          "id": "0x{{.*}}",4346// CHECK-NEXT:          "kind": "VarDecl",4347// CHECK-NEXT:          "loc": {4348// CHECK-NEXT:           "offset": 1967,4349// CHECK-NEXT:           "col": 7,4350// CHECK-NEXT:           "tokLen": 14351// CHECK-NEXT:          },4352// CHECK-NEXT:          "range": {4353// CHECK-NEXT:           "begin": {4354// CHECK-NEXT:            "offset": 1963,4355// CHECK-NEXT:            "col": 3,4356// CHECK-NEXT:            "tokLen": 34357// CHECK-NEXT:           },4358// CHECK-NEXT:           "end": {4359// CHECK-NEXT:            "offset": 1967,4360// CHECK-NEXT:            "col": 7,4361// CHECK-NEXT:            "tokLen": 14362// CHECK-NEXT:           }4363// CHECK-NEXT:          },4364// CHECK-NEXT:          "isReferenced": true,4365// CHECK-NEXT:          "name": "b",4366// CHECK-NEXT:          "type": {4367// CHECK-NEXT:           "qualType": "int"4368// CHECK-NEXT:          }4369// CHECK-NEXT:         },4370// CHECK-NEXT:         {4371// CHECK-NEXT:          "id": "0x{{.*}}",4372// CHECK-NEXT:          "kind": "VarDecl",4373// CHECK-NEXT:          "loc": {4374// CHECK-NEXT:           "offset": 1970,4375// CHECK-NEXT:           "col": 10,4376// CHECK-NEXT:           "tokLen": 14377// CHECK-NEXT:          },4378// CHECK-NEXT:          "range": {4379// CHECK-NEXT:           "begin": {4380// CHECK-NEXT:            "offset": 1963,4381// CHECK-NEXT:            "col": 3,4382// CHECK-NEXT:            "tokLen": 34383// CHECK-NEXT:           },4384// CHECK-NEXT:           "end": {4385// CHECK-NEXT:            "offset": 1970,4386// CHECK-NEXT:            "col": 10,4387// CHECK-NEXT:            "tokLen": 14388// CHECK-NEXT:           }4389// CHECK-NEXT:          },4390// CHECK-NEXT:          "isReferenced": true,4391// CHECK-NEXT:          "name": "c",4392// CHECK-NEXT:          "type": {4393// CHECK-NEXT:           "qualType": "int"4394// CHECK-NEXT:          }4395// CHECK-NEXT:         }4396// CHECK-NEXT:        ]4397// CHECK-NEXT:       },4398// CHECK-NEXT:       {4399// CHECK-NEXT:        "id": "0x{{.*}}",4400// CHECK-NEXT:        "kind": "LambdaExpr",4401// CHECK-NEXT:        "range": {4402// CHECK-NEXT:         "begin": {4403// CHECK-NEXT:          "offset": 1976,4404// CHECK-NEXT:          "line": 105,4405// CHECK-NEXT:          "col": 3,4406// CHECK-NEXT:          "tokLen": 14407// CHECK-NEXT:         },4408// CHECK-NEXT:         "end": {4409// CHECK-NEXT:          "offset": 1981,4410// CHECK-NEXT:          "col": 8,4411// CHECK-NEXT:          "tokLen": 14412// CHECK-NEXT:         }4413// CHECK-NEXT:        },4414// CHECK-NEXT:        "type": {4415// CHECK-NEXT:         "qualType": "(lambda at {{.*}}:105:3)"4416// CHECK-NEXT:        },4417// CHECK-NEXT:        "valueCategory": "prvalue",4418// CHECK-NEXT:        "hasExplicitParameters": true,4419// CHECK-NEXT:        "inner": [4420// CHECK-NEXT:         {4421// CHECK-NEXT:          "id": "0x{{.*}}",4422// CHECK-NEXT:          "kind": "CXXRecordDecl",4423// CHECK-NEXT:          "loc": {4424// CHECK-NEXT:           "offset": 1976,4425// CHECK-NEXT:           "col": 3,4426// CHECK-NEXT:           "tokLen": 14427// CHECK-NEXT:          },4428// CHECK-NEXT:          "range": {4429// CHECK-NEXT:           "begin": {4430// CHECK-NEXT:            "offset": 1976,4431// CHECK-NEXT:            "col": 3,4432// CHECK-NEXT:            "tokLen": 14433// CHECK-NEXT:           },4434// CHECK-NEXT:           "end": {4435// CHECK-NEXT:            "offset": 1976,4436// CHECK-NEXT:            "col": 3,4437// CHECK-NEXT:            "tokLen": 14438// CHECK-NEXT:           }4439// CHECK-NEXT:          },4440// CHECK-NEXT:          "isImplicit": true,4441// CHECK-NEXT:          "tagUsed": "class",4442// CHECK-NEXT:          "completeDefinition": true,4443// CHECK-NEXT:          "definitionData": {4444// CHECK-NEXT:           "canConstDefaultInit": true,4445// CHECK-NEXT:           "copyAssign": {4446// CHECK-NEXT:            "hasConstParam": true,4447// CHECK-NEXT:            "implicitHasConstParam": true,4448// CHECK-NEXT:            "needsImplicit": true,4449// CHECK-NEXT:            "trivial": true4450// CHECK-NEXT:           },4451// CHECK-NEXT:           "copyCtor": {4452// CHECK-NEXT:            "hasConstParam": true,4453// CHECK-NEXT:            "implicitHasConstParam": true,4454// CHECK-NEXT:            "needsImplicit": true,4455// CHECK-NEXT:            "simple": true,4456// CHECK-NEXT:            "trivial": true4457// CHECK-NEXT:           },4458// CHECK-NEXT:           "defaultCtor": {4459// CHECK-NEXT:            "defaultedIsConstexpr": true4460// CHECK-NEXT:           },4461// CHECK-NEXT:           "dtor": {4462// CHECK-NEXT:            "irrelevant": true,4463// CHECK-NEXT:            "needsImplicit": true,4464// CHECK-NEXT:            "simple": true,4465// CHECK-NEXT:            "trivial": true4466// CHECK-NEXT:           },4467// CHECK-NEXT:           "isEmpty": true,4468// CHECK-NEXT:           "isLambda": true,4469// CHECK-NEXT:           "isLiteral": true,4470// CHECK-NEXT:           "isStandardLayout": true,4471// CHECK-NEXT:           "isTriviallyCopyable": true,4472// CHECK-NEXT:           "moveAssign": {},4473// CHECK-NEXT:           "moveCtor": {4474// CHECK-NEXT:            "exists": true,4475// CHECK-NEXT:            "needsImplicit": true,4476// CHECK-NEXT:            "simple": true,4477// CHECK-NEXT:            "trivial": true4478// CHECK-NEXT:           }4479// CHECK-NEXT:          },4480// CHECK-NEXT:          "inner": [4481// CHECK-NEXT:           {4482// CHECK-NEXT:            "id": "0x{{.*}}",4483// CHECK-NEXT:            "kind": "CXXMethodDecl",4484// CHECK-NEXT:            "loc": {4485// CHECK-NEXT:             "offset": 1976,4486// CHECK-NEXT:             "col": 3,4487// CHECK-NEXT:             "tokLen": 14488// CHECK-NEXT:            },4489// CHECK-NEXT:            "range": {4490// CHECK-NEXT:             "begin": {4491// CHECK-NEXT:              "offset": 1979,4492// CHECK-NEXT:              "col": 6,4493// CHECK-NEXT:              "tokLen": 14494// CHECK-NEXT:             },4495// CHECK-NEXT:             "end": {4496// CHECK-NEXT:              "offset": 1981,4497// CHECK-NEXT:              "col": 8,4498// CHECK-NEXT:              "tokLen": 14499// CHECK-NEXT:             }4500// CHECK-NEXT:            },4501// CHECK-NEXT:            "name": "operator()",4502// CHECK-NEXT:            "type": {4503// CHECK-NEXT:             "qualType": "auto () const"4504// CHECK-NEXT:            },4505// CHECK-NEXT:            "inline": true,4506// CHECK-NEXT:            "inner": [4507// CHECK-NEXT:             {4508// CHECK-NEXT:              "id": "0x{{.*}}",4509// CHECK-NEXT:              "kind": "CompoundStmt",4510// CHECK-NEXT:              "range": {4511// CHECK-NEXT:               "begin": {4512// CHECK-NEXT:                "offset": 1980,4513// CHECK-NEXT:                "col": 7,4514// CHECK-NEXT:                "tokLen": 14515// CHECK-NEXT:               },4516// CHECK-NEXT:               "end": {4517// CHECK-NEXT:                "offset": 1981,4518// CHECK-NEXT:                "col": 8,4519// CHECK-NEXT:                "tokLen": 14520// CHECK-NEXT:               }4521// CHECK-NEXT:              }4522// CHECK-NEXT:             }4523// CHECK-NEXT:            ]4524// CHECK-NEXT:           },4525// CHECK-NEXT:           {4526// CHECK-NEXT:            "id": "0x{{.*}}",4527// CHECK-NEXT:            "kind": "CXXConversionDecl",4528// CHECK-NEXT:            "loc": {4529// CHECK-NEXT:             "offset": 1976,4530// CHECK-NEXT:             "col": 3,4531// CHECK-NEXT:             "tokLen": 14532// CHECK-NEXT:            },4533// CHECK-NEXT:            "range": {4534// CHECK-NEXT:             "begin": {4535// CHECK-NEXT:              "offset": 1976,4536// CHECK-NEXT:              "col": 3,4537// CHECK-NEXT:              "tokLen": 14538// CHECK-NEXT:             },4539// CHECK-NEXT:             "end": {4540// CHECK-NEXT:              "offset": 1981,4541// CHECK-NEXT:              "col": 8,4542// CHECK-NEXT:              "tokLen": 14543// CHECK-NEXT:             }4544// CHECK-NEXT:            },4545// CHECK-NEXT:            "isImplicit": true,4546// CHECK-NEXT:            "name": "operator auto (*)()",4547// CHECK-NEXT:            "type": {4548// CHECK-NEXT:             "qualType": "auto (*() const noexcept)()"4549// CHECK-NEXT:            },4550// CHECK-NEXT:            "inline": true,4551// CHECK-NEXT:            "constexpr": true4552// CHECK-NEXT:           },4553// CHECK-NEXT:           {4554// CHECK-NEXT:            "id": "0x{{.*}}",4555// CHECK-NEXT:            "kind": "CXXMethodDecl",4556// CHECK-NEXT:            "loc": {4557// CHECK-NEXT:             "offset": 1976,4558// CHECK-NEXT:             "col": 3,4559// CHECK-NEXT:             "tokLen": 14560// CHECK-NEXT:            },4561// CHECK-NEXT:            "range": {4562// CHECK-NEXT:             "begin": {4563// CHECK-NEXT:              "offset": 1976,4564// CHECK-NEXT:              "col": 3,4565// CHECK-NEXT:              "tokLen": 14566// CHECK-NEXT:             },4567// CHECK-NEXT:             "end": {4568// CHECK-NEXT:              "offset": 1981,4569// CHECK-NEXT:              "col": 8,4570// CHECK-NEXT:              "tokLen": 14571// CHECK-NEXT:             }4572// CHECK-NEXT:            },4573// CHECK-NEXT:            "isImplicit": true,4574// CHECK-NEXT:            "name": "__invoke",4575// CHECK-NEXT:            "type": {4576// CHECK-NEXT:             "qualType": "auto ()"4577// CHECK-NEXT:            },4578// CHECK-NEXT:            "storageClass": "static",4579// CHECK-NEXT:            "inline": true4580// CHECK-NEXT:           }4581// CHECK-NEXT:          ]4582// CHECK-NEXT:         },4583// CHECK-NEXT:         {4584// CHECK-NEXT:          "id": "0x{{.*}}",4585// CHECK-NEXT:          "kind": "CompoundStmt",4586// CHECK-NEXT:          "range": {4587// CHECK-NEXT:           "begin": {4588// CHECK-NEXT:            "offset": 1980,4589// CHECK-NEXT:            "col": 7,4590// CHECK-NEXT:            "tokLen": 14591// CHECK-NEXT:           },4592// CHECK-NEXT:           "end": {4593// CHECK-NEXT:            "offset": 1981,4594// CHECK-NEXT:            "col": 8,4595// CHECK-NEXT:            "tokLen": 14596// CHECK-NEXT:           }4597// CHECK-NEXT:          }4598// CHECK-NEXT:         }4599// CHECK-NEXT:        ]4600// CHECK-NEXT:       },4601// CHECK-NEXT:       {4602// CHECK-NEXT:        "id": "0x{{.*}}",4603// CHECK-NEXT:        "kind": "LambdaExpr",4604// CHECK-NEXT:        "range": {4605// CHECK-NEXT:         "begin": {4606// CHECK-NEXT:          "offset": 1986,4607// CHECK-NEXT:          "line": 106,4608// CHECK-NEXT:          "col": 3,4609// CHECK-NEXT:          "tokLen": 14610// CHECK-NEXT:         },4611// CHECK-NEXT:         "end": {4612// CHECK-NEXT:          "offset": 2001,4613// CHECK-NEXT:          "col": 18,4614// CHECK-NEXT:          "tokLen": 14615// CHECK-NEXT:         }4616// CHECK-NEXT:        },4617// CHECK-NEXT:        "type": {4618// CHECK-NEXT:         "qualType": "(lambda at {{.*}}:106:3)"4619// CHECK-NEXT:        },4620// CHECK-NEXT:        "valueCategory": "prvalue",4621// CHECK-NEXT:        "hasExplicitParameters": true,4622// CHECK-NEXT:        "inner": [4623// CHECK-NEXT:         {4624// CHECK-NEXT:          "id": "0x{{.*}}",4625// CHECK-NEXT:          "kind": "CXXRecordDecl",4626// CHECK-NEXT:          "loc": {4627// CHECK-NEXT:           "offset": 1986,4628// CHECK-NEXT:           "col": 3,4629// CHECK-NEXT:           "tokLen": 14630// CHECK-NEXT:          },4631// CHECK-NEXT:          "range": {4632// CHECK-NEXT:           "begin": {4633// CHECK-NEXT:            "offset": 1986,4634// CHECK-NEXT:            "col": 3,4635// CHECK-NEXT:            "tokLen": 14636// CHECK-NEXT:           },4637// CHECK-NEXT:           "end": {4638// CHECK-NEXT:            "offset": 1986,4639// CHECK-NEXT:            "col": 3,4640// CHECK-NEXT:            "tokLen": 14641// CHECK-NEXT:           }4642// CHECK-NEXT:          },4643// CHECK-NEXT:          "isImplicit": true,4644// CHECK-NEXT:          "tagUsed": "class",4645// CHECK-NEXT:          "completeDefinition": true,4646// CHECK-NEXT:          "definitionData": {4647// CHECK-NEXT:           "canConstDefaultInit": true,4648// CHECK-NEXT:           "copyAssign": {4649// CHECK-NEXT:            "hasConstParam": true,4650// CHECK-NEXT:            "implicitHasConstParam": true,4651// CHECK-NEXT:            "needsImplicit": true,4652// CHECK-NEXT:            "trivial": true4653// CHECK-NEXT:           },4654// CHECK-NEXT:           "copyCtor": {4655// CHECK-NEXT:            "hasConstParam": true,4656// CHECK-NEXT:            "implicitHasConstParam": true,4657// CHECK-NEXT:            "needsImplicit": true,4658// CHECK-NEXT:            "simple": true,4659// CHECK-NEXT:            "trivial": true4660// CHECK-NEXT:           },4661// CHECK-NEXT:           "defaultCtor": {4662// CHECK-NEXT:            "defaultedIsConstexpr": true4663// CHECK-NEXT:           },4664// CHECK-NEXT:           "dtor": {4665// CHECK-NEXT:            "irrelevant": true,4666// CHECK-NEXT:            "needsImplicit": true,4667// CHECK-NEXT:            "simple": true,4668// CHECK-NEXT:            "trivial": true4669// CHECK-NEXT:           },4670// CHECK-NEXT:           "isEmpty": true,4671// CHECK-NEXT:           "isLambda": true,4672// CHECK-NEXT:           "isLiteral": true,4673// CHECK-NEXT:           "isStandardLayout": true,4674// CHECK-NEXT:           "isTriviallyCopyable": true,4675// CHECK-NEXT:           "moveAssign": {},4676// CHECK-NEXT:           "moveCtor": {4677// CHECK-NEXT:            "exists": true,4678// CHECK-NEXT:            "needsImplicit": true,4679// CHECK-NEXT:            "simple": true,4680// CHECK-NEXT:            "trivial": true4681// CHECK-NEXT:           }4682// CHECK-NEXT:          },4683// CHECK-NEXT:          "inner": [4684// CHECK-NEXT:           {4685// CHECK-NEXT:            "id": "0x{{.*}}",4686// CHECK-NEXT:            "kind": "CXXMethodDecl",4687// CHECK-NEXT:            "loc": {4688// CHECK-NEXT:             "offset": 1986,4689// CHECK-NEXT:             "col": 3,4690// CHECK-NEXT:             "tokLen": 14691// CHECK-NEXT:            },4692// CHECK-NEXT:            "range": {4693// CHECK-NEXT:             "begin": {4694// CHECK-NEXT:              "offset": 1999,4695// CHECK-NEXT:              "col": 16,4696// CHECK-NEXT:              "tokLen": 14697// CHECK-NEXT:             },4698// CHECK-NEXT:             "end": {4699// CHECK-NEXT:              "offset": 2001,4700// CHECK-NEXT:              "col": 18,4701// CHECK-NEXT:              "tokLen": 14702// CHECK-NEXT:             }4703// CHECK-NEXT:            },4704// CHECK-NEXT:            "name": "operator()",4705// CHECK-NEXT:            "type": {4706// CHECK-NEXT:             "qualType": "auto (int, ...) const"4707// CHECK-NEXT:            },4708// CHECK-NEXT:            "inline": true,4709// CHECK-NEXT:            "variadic": true,4710// CHECK-NEXT:            "inner": [4711// CHECK-NEXT:             {4712// CHECK-NEXT:              "id": "0x{{.*}}",4713// CHECK-NEXT:              "kind": "ParmVarDecl",4714// CHECK-NEXT:              "loc": {4715// CHECK-NEXT:               "offset": 1993,4716// CHECK-NEXT:               "col": 10,4717// CHECK-NEXT:               "tokLen": 14718// CHECK-NEXT:              },4719// CHECK-NEXT:              "range": {4720// CHECK-NEXT:               "begin": {4721// CHECK-NEXT:                "offset": 1989,4722// CHECK-NEXT:                "col": 6,4723// CHECK-NEXT:                "tokLen": 34724// CHECK-NEXT:               },4725// CHECK-NEXT:               "end": {4726// CHECK-NEXT:                "offset": 1993,4727// CHECK-NEXT:                "col": 10,4728// CHECK-NEXT:                "tokLen": 14729// CHECK-NEXT:               }4730// CHECK-NEXT:              },4731// CHECK-NEXT:              "name": "a",4732// CHECK-NEXT:              "type": {4733// CHECK-NEXT:               "qualType": "int"4734// CHECK-NEXT:              }4735// CHECK-NEXT:             },4736// CHECK-NEXT:             {4737// CHECK-NEXT:              "id": "0x{{.*}}",4738// CHECK-NEXT:              "kind": "CompoundStmt",4739// CHECK-NEXT:              "range": {4740// CHECK-NEXT:               "begin": {4741// CHECK-NEXT:                "offset": 2000,4742// CHECK-NEXT:                "col": 17,4743// CHECK-NEXT:                "tokLen": 14744// CHECK-NEXT:               },4745// CHECK-NEXT:               "end": {4746// CHECK-NEXT:                "offset": 2001,4747// CHECK-NEXT:                "col": 18,4748// CHECK-NEXT:                "tokLen": 14749// CHECK-NEXT:               }4750// CHECK-NEXT:              }4751// CHECK-NEXT:             }4752// CHECK-NEXT:            ]4753// CHECK-NEXT:           },4754// CHECK-NEXT:           {4755// CHECK-NEXT:            "id": "0x{{.*}}",4756// CHECK-NEXT:            "kind": "CXXConversionDecl",4757// CHECK-NEXT:            "loc": {4758// CHECK-NEXT:             "offset": 1986,4759// CHECK-NEXT:             "col": 3,4760// CHECK-NEXT:             "tokLen": 14761// CHECK-NEXT:            },4762// CHECK-NEXT:            "range": {4763// CHECK-NEXT:             "begin": {4764// CHECK-NEXT:              "offset": 1986,4765// CHECK-NEXT:              "col": 3,4766// CHECK-NEXT:              "tokLen": 14767// CHECK-NEXT:             },4768// CHECK-NEXT:             "end": {4769// CHECK-NEXT:              "offset": 2001,4770// CHECK-NEXT:              "col": 18,4771// CHECK-NEXT:              "tokLen": 14772// CHECK-NEXT:             }4773// CHECK-NEXT:            },4774// CHECK-NEXT:            "isImplicit": true,4775// CHECK-NEXT:            "name": "operator auto (*)(int, ...)",4776// CHECK-NEXT:            "type": {4777// CHECK-NEXT:             "qualType": "auto (*() const noexcept)(int, ...)"4778// CHECK-NEXT:            },4779// CHECK-NEXT:            "inline": true,4780// CHECK-NEXT:            "constexpr": true4781// CHECK-NEXT:           },4782// CHECK-NEXT:           {4783// CHECK-NEXT:            "id": "0x{{.*}}",4784// CHECK-NEXT:            "kind": "CXXMethodDecl",4785// CHECK-NEXT:            "loc": {4786// CHECK-NEXT:             "offset": 1986,4787// CHECK-NEXT:             "col": 3,4788// CHECK-NEXT:             "tokLen": 14789// CHECK-NEXT:            },4790// CHECK-NEXT:            "range": {4791// CHECK-NEXT:             "begin": {4792// CHECK-NEXT:              "offset": 1986,4793// CHECK-NEXT:              "col": 3,4794// CHECK-NEXT:              "tokLen": 14795// CHECK-NEXT:             },4796// CHECK-NEXT:             "end": {4797// CHECK-NEXT:              "offset": 2001,4798// CHECK-NEXT:              "col": 18,4799// CHECK-NEXT:              "tokLen": 14800// CHECK-NEXT:             }4801// CHECK-NEXT:            },4802// CHECK-NEXT:            "isImplicit": true,4803// CHECK-NEXT:            "name": "__invoke",4804// CHECK-NEXT:            "type": {4805// CHECK-NEXT:             "qualType": "auto (int, ...)"4806// CHECK-NEXT:            },4807// CHECK-NEXT:            "storageClass": "static",4808// CHECK-NEXT:            "inline": true,4809// CHECK-NEXT:            "variadic": true,4810// CHECK-NEXT:            "inner": [4811// CHECK-NEXT:             {4812// CHECK-NEXT:              "id": "0x{{.*}}",4813// CHECK-NEXT:              "kind": "ParmVarDecl",4814// CHECK-NEXT:              "loc": {4815// CHECK-NEXT:               "offset": 1993,4816// CHECK-NEXT:               "col": 10,4817// CHECK-NEXT:               "tokLen": 14818// CHECK-NEXT:              },4819// CHECK-NEXT:              "range": {4820// CHECK-NEXT:               "begin": {4821// CHECK-NEXT:                "offset": 1989,4822// CHECK-NEXT:                "col": 6,4823// CHECK-NEXT:                "tokLen": 34824// CHECK-NEXT:               },4825// CHECK-NEXT:               "end": {4826// CHECK-NEXT:                "offset": 1993,4827// CHECK-NEXT:                "col": 10,4828// CHECK-NEXT:                "tokLen": 14829// CHECK-NEXT:               }4830// CHECK-NEXT:              },4831// CHECK-NEXT:              "name": "a",4832// CHECK-NEXT:              "type": {4833// CHECK-NEXT:               "qualType": "int"4834// CHECK-NEXT:              }4835// CHECK-NEXT:             }4836// CHECK-NEXT:            ]4837// CHECK-NEXT:           }4838// CHECK-NEXT:          ]4839// CHECK-NEXT:         },4840// CHECK-NEXT:         {4841// CHECK-NEXT:          "id": "0x{{.*}}",4842// CHECK-NEXT:          "kind": "CompoundStmt",4843// CHECK-NEXT:          "range": {4844// CHECK-NEXT:           "begin": {4845// CHECK-NEXT:            "offset": 2000,4846// CHECK-NEXT:            "col": 17,4847// CHECK-NEXT:            "tokLen": 14848// CHECK-NEXT:           },4849// CHECK-NEXT:           "end": {4850// CHECK-NEXT:            "offset": 2001,4851// CHECK-NEXT:            "col": 18,4852// CHECK-NEXT:            "tokLen": 14853// CHECK-NEXT:           }4854// CHECK-NEXT:          }4855// CHECK-NEXT:         }4856// CHECK-NEXT:        ]4857// CHECK-NEXT:       },4858// CHECK-NEXT:       {4859// CHECK-NEXT:        "id": "0x{{.*}}",4860// CHECK-NEXT:        "kind": "LambdaExpr",4861// CHECK-NEXT:        "range": {4862// CHECK-NEXT:         "begin": {4863// CHECK-NEXT:          "offset": 2006,4864// CHECK-NEXT:          "line": 107,4865// CHECK-NEXT:          "col": 3,4866// CHECK-NEXT:          "tokLen": 14867// CHECK-NEXT:         },4868// CHECK-NEXT:         "end": {4869// CHECK-NEXT:          "offset": 2013,4870// CHECK-NEXT:          "col": 10,4871// CHECK-NEXT:          "tokLen": 14872// CHECK-NEXT:         }4873// CHECK-NEXT:        },4874// CHECK-NEXT:        "type": {4875// CHECK-NEXT:         "qualType": "(lambda at {{.*}}:107:3)"4876// CHECK-NEXT:        },4877// CHECK-NEXT:        "valueCategory": "prvalue",4878// CHECK-NEXT:        "hasExplicitParameters": false,4879// CHECK-NEXT:        "inner": [4880// CHECK-NEXT:         {4881// CHECK-NEXT:          "id": "0x{{.*}}",4882// CHECK-NEXT:          "kind": "CXXRecordDecl",4883// CHECK-NEXT:          "loc": {4884// CHECK-NEXT:           "offset": 2006,4885// CHECK-NEXT:           "col": 3,4886// CHECK-NEXT:           "tokLen": 14887// CHECK-NEXT:          },4888// CHECK-NEXT:          "range": {4889// CHECK-NEXT:           "begin": {4890// CHECK-NEXT:            "offset": 2006,4891// CHECK-NEXT:            "col": 3,4892// CHECK-NEXT:            "tokLen": 14893// CHECK-NEXT:           },4894// CHECK-NEXT:           "end": {4895// CHECK-NEXT:            "offset": 2006,4896// CHECK-NEXT:            "col": 3,4897// CHECK-NEXT:            "tokLen": 14898// CHECK-NEXT:           }4899// CHECK-NEXT:          },4900// CHECK-NEXT:          "isImplicit": true,4901// CHECK-NEXT:          "tagUsed": "class",4902// CHECK-NEXT:          "completeDefinition": true,4903// CHECK-NEXT:          "definitionData": {4904// CHECK-NEXT:           "canConstDefaultInit": true,4905// CHECK-NEXT:           "copyAssign": {4906// CHECK-NEXT:            "hasConstParam": true,4907// CHECK-NEXT:            "implicitHasConstParam": true,4908// CHECK-NEXT:            "needsImplicit": true,4909// CHECK-NEXT:            "trivial": true4910// CHECK-NEXT:           },4911// CHECK-NEXT:           "copyCtor": {4912// CHECK-NEXT:            "hasConstParam": true,4913// CHECK-NEXT:            "implicitHasConstParam": true,4914// CHECK-NEXT:            "needsImplicit": true,4915// CHECK-NEXT:            "simple": true,4916// CHECK-NEXT:            "trivial": true4917// CHECK-NEXT:           },4918// CHECK-NEXT:           "defaultCtor": {},4919// CHECK-NEXT:           "dtor": {4920// CHECK-NEXT:            "irrelevant": true,4921// CHECK-NEXT:            "needsImplicit": true,4922// CHECK-NEXT:            "simple": true,4923// CHECK-NEXT:            "trivial": true4924// CHECK-NEXT:           },4925// CHECK-NEXT:           "isLambda": true,4926// CHECK-NEXT:           "isStandardLayout": true,4927// CHECK-NEXT:           "isTriviallyCopyable": true,4928// CHECK-NEXT:           "moveAssign": {},4929// CHECK-NEXT:           "moveCtor": {4930// CHECK-NEXT:            "exists": true,4931// CHECK-NEXT:            "needsImplicit": true,4932// CHECK-NEXT:            "simple": true,4933// CHECK-NEXT:            "trivial": true4934// CHECK-NEXT:           }4935// CHECK-NEXT:          },4936// CHECK-NEXT:          "inner": [4937// CHECK-NEXT:           {4938// CHECK-NEXT:            "id": "0x{{.*}}",4939// CHECK-NEXT:            "kind": "CXXMethodDecl",4940// CHECK-NEXT:            "loc": {4941// CHECK-NEXT:             "offset": 2006,4942// CHECK-NEXT:             "col": 3,4943// CHECK-NEXT:             "tokLen": 14944// CHECK-NEXT:            },4945// CHECK-NEXT:            "range": {4946// CHECK-NEXT:             "begin": {4947// CHECK-NEXT:              "offset": 2011,4948// CHECK-NEXT:              "col": 8,4949// CHECK-NEXT:              "tokLen": 14950// CHECK-NEXT:             },4951// CHECK-NEXT:             "end": {4952// CHECK-NEXT:              "offset": 2013,4953// CHECK-NEXT:              "col": 10,4954// CHECK-NEXT:              "tokLen": 14955// CHECK-NEXT:             }4956// CHECK-NEXT:            },4957// CHECK-NEXT:            "name": "operator()",4958// CHECK-NEXT:            "type": {4959// CHECK-NEXT:             "qualType": "auto () const -> auto"4960// CHECK-NEXT:            },4961// CHECK-NEXT:            "inline": true,4962// CHECK-NEXT:            "inner": [4963// CHECK-NEXT:             {4964// CHECK-NEXT:              "id": "0x{{.*}}",4965// CHECK-NEXT:              "kind": "CompoundStmt",4966// CHECK-NEXT:              "range": {4967// CHECK-NEXT:               "begin": {4968// CHECK-NEXT:                "offset": 2012,4969// CHECK-NEXT:                "col": 9,4970// CHECK-NEXT:                "tokLen": 14971// CHECK-NEXT:               },4972// CHECK-NEXT:               "end": {4973// CHECK-NEXT:                "offset": 2013,4974// CHECK-NEXT:                "col": 10,4975// CHECK-NEXT:                "tokLen": 14976// CHECK-NEXT:               }4977// CHECK-NEXT:              }4978// CHECK-NEXT:             }4979// CHECK-NEXT:            ]4980// CHECK-NEXT:           },4981// CHECK-NEXT:           {4982// CHECK-NEXT:            "id": "0x{{.*}}",4983// CHECK-NEXT:            "kind": "FieldDecl",4984// CHECK-NEXT:            "loc": {4985// CHECK-NEXT:             "offset": 2007,4986// CHECK-NEXT:             "col": 4,4987// CHECK-NEXT:             "tokLen": 14988// CHECK-NEXT:            },4989// CHECK-NEXT:            "range": {4990// CHECK-NEXT:             "begin": {4991// CHECK-NEXT:              "offset": 2007,4992// CHECK-NEXT:              "col": 4,4993// CHECK-NEXT:              "tokLen": 14994// CHECK-NEXT:             },4995// CHECK-NEXT:             "end": {4996// CHECK-NEXT:              "offset": 2007,4997// CHECK-NEXT:              "col": 4,4998// CHECK-NEXT:              "tokLen": 14999// CHECK-NEXT:             }5000// CHECK-NEXT:            },5001// CHECK-NEXT:            "isImplicit": true,5002// CHECK-NEXT:            "type": {5003// CHECK-NEXT:             "qualType": "Ts..."5004// CHECK-NEXT:            }5005// CHECK-NEXT:           }5006// CHECK-NEXT:          ]5007// CHECK-NEXT:         },5008// CHECK-NEXT:         {5009// CHECK-NEXT:          "id": "0x{{.*}}",5010// CHECK-NEXT:          "kind": "ParenListExpr",5011// CHECK-NEXT:          "range": {5012// CHECK-NEXT:           "begin": {5013// CHECK-NEXT:            "offset": 2007,5014// CHECK-NEXT:            "col": 4,5015// CHECK-NEXT:            "tokLen": 15016// CHECK-NEXT:           },5017// CHECK-NEXT:           "end": {5018// CHECK-NEXT:            "offset": 2007,5019// CHECK-NEXT:            "col": 4,5020// CHECK-NEXT:            "tokLen": 15021// CHECK-NEXT:           }5022// CHECK-NEXT:          },5023// CHECK-NEXT:          "type": {5024// CHECK-NEXT:           "qualType": "NULL TYPE"5025// CHECK-NEXT:          },5026// CHECK-NEXT:          "valueCategory": "prvalue",5027// CHECK-NEXT:          "inner": [5028// CHECK-NEXT:           {5029// CHECK-NEXT:            "id": "0x{{.*}}",5030// CHECK-NEXT:            "kind": "DeclRefExpr",5031// CHECK-NEXT:            "range": {5032// CHECK-NEXT:             "begin": {5033// CHECK-NEXT:              "offset": 2007,5034// CHECK-NEXT:              "col": 4,5035// CHECK-NEXT:              "tokLen": 15036// CHECK-NEXT:             },5037// CHECK-NEXT:             "end": {5038// CHECK-NEXT:              "offset": 2007,5039// CHECK-NEXT:              "col": 4,5040// CHECK-NEXT:              "tokLen": 15041// CHECK-NEXT:             }5042// CHECK-NEXT:            },5043// CHECK-NEXT:            "type": {5044// CHECK-NEXT:             "qualType": "Ts"5045// CHECK-NEXT:            },5046// CHECK-NEXT:            "valueCategory": "lvalue",5047// CHECK-NEXT:            "referencedDecl": {5048// CHECK-NEXT:             "id": "0x{{.*}}",5049// CHECK-NEXT:             "kind": "ParmVarDecl",5050// CHECK-NEXT:             "name": "a",5051// CHECK-NEXT:             "type": {5052// CHECK-NEXT:              "qualType": "Ts..."5053// CHECK-NEXT:             }5054// CHECK-NEXT:            }5055// CHECK-NEXT:           }5056// CHECK-NEXT:          ]5057// CHECK-NEXT:         },5058// CHECK-NEXT:         {5059// CHECK-NEXT:          "id": "0x{{.*}}",5060// CHECK-NEXT:          "kind": "CompoundStmt",5061// CHECK-NEXT:          "range": {5062// CHECK-NEXT:           "begin": {5063// CHECK-NEXT:            "offset": 2012,5064// CHECK-NEXT:            "col": 9,5065// CHECK-NEXT:            "tokLen": 15066// CHECK-NEXT:           },5067// CHECK-NEXT:           "end": {5068// CHECK-NEXT:            "offset": 2013,5069// CHECK-NEXT:            "col": 10,5070// CHECK-NEXT:            "tokLen": 15071// CHECK-NEXT:           }5072// CHECK-NEXT:          }5073// CHECK-NEXT:         }5074// CHECK-NEXT:        ]5075// CHECK-NEXT:       },5076// CHECK-NEXT:       {5077// CHECK-NEXT:        "id": "0x{{.*}}",5078// CHECK-NEXT:        "kind": "LambdaExpr",5079// CHECK-NEXT:        "range": {5080// CHECK-NEXT:         "begin": {5081// CHECK-NEXT:          "offset": 2018,5082// CHECK-NEXT:          "line": 108,5083// CHECK-NEXT:          "col": 3,5084// CHECK-NEXT:          "tokLen": 15085// CHECK-NEXT:         },5086// CHECK-NEXT:         "end": {5087// CHECK-NEXT:          "offset": 2022,5088// CHECK-NEXT:          "col": 7,5089// CHECK-NEXT:          "tokLen": 15090// CHECK-NEXT:         }5091// CHECK-NEXT:        },5092// CHECK-NEXT:        "type": {5093// CHECK-NEXT:         "qualType": "(lambda at {{.*}}:108:3)"5094// CHECK-NEXT:        },5095// CHECK-NEXT:        "valueCategory": "prvalue",5096// CHECK-NEXT:        "hasExplicitParameters": false,5097// CHECK-NEXT:        "inner": [5098// CHECK-NEXT:         {5099// CHECK-NEXT:          "id": "0x{{.*}}",5100// CHECK-NEXT:          "kind": "CXXRecordDecl",5101// CHECK-NEXT:          "loc": {5102// CHECK-NEXT:           "offset": 2018,5103// CHECK-NEXT:           "col": 3,5104// CHECK-NEXT:           "tokLen": 15105// CHECK-NEXT:          },5106// CHECK-NEXT:          "range": {5107// CHECK-NEXT:           "begin": {5108// CHECK-NEXT:            "offset": 2018,5109// CHECK-NEXT:            "col": 3,5110// CHECK-NEXT:            "tokLen": 15111// CHECK-NEXT:           },5112// CHECK-NEXT:           "end": {5113// CHECK-NEXT:            "offset": 2018,5114// CHECK-NEXT:            "col": 3,5115// CHECK-NEXT:            "tokLen": 15116// CHECK-NEXT:           }5117// CHECK-NEXT:          },5118// CHECK-NEXT:          "isImplicit": true,5119// CHECK-NEXT:          "tagUsed": "class",5120// CHECK-NEXT:          "completeDefinition": true,5121// CHECK-NEXT:          "definitionData": {5122// CHECK-NEXT:           "canConstDefaultInit": true,5123// CHECK-NEXT:           "copyAssign": {5124// CHECK-NEXT:            "hasConstParam": true,5125// CHECK-NEXT:            "implicitHasConstParam": true,5126// CHECK-NEXT:            "needsImplicit": true,5127// CHECK-NEXT:            "trivial": true5128// CHECK-NEXT:           },5129// CHECK-NEXT:           "copyCtor": {5130// CHECK-NEXT:            "hasConstParam": true,5131// CHECK-NEXT:            "implicitHasConstParam": true,5132// CHECK-NEXT:            "needsImplicit": true,5133// CHECK-NEXT:            "simple": true,5134// CHECK-NEXT:            "trivial": true5135// CHECK-NEXT:           },5136// CHECK-NEXT:           "defaultCtor": {5137// CHECK-NEXT:            "defaultedIsConstexpr": true5138// CHECK-NEXT:           },5139// CHECK-NEXT:           "dtor": {5140// CHECK-NEXT:            "irrelevant": true,5141// CHECK-NEXT:            "needsImplicit": true,5142// CHECK-NEXT:            "simple": true,5143// CHECK-NEXT:            "trivial": true5144// CHECK-NEXT:           },5145// CHECK-NEXT:           "isEmpty": true,5146// CHECK-NEXT:           "isLambda": true,5147// CHECK-NEXT:           "isLiteral": true,5148// CHECK-NEXT:           "isStandardLayout": true,5149// CHECK-NEXT:           "isTriviallyCopyable": true,5150// CHECK-NEXT:           "moveAssign": {},5151// CHECK-NEXT:           "moveCtor": {5152// CHECK-NEXT:            "exists": true,5153// CHECK-NEXT:            "needsImplicit": true,5154// CHECK-NEXT:            "simple": true,5155// CHECK-NEXT:            "trivial": true5156// CHECK-NEXT:           }5157// CHECK-NEXT:          },5158// CHECK-NEXT:          "inner": [5159// CHECK-NEXT:           {5160// CHECK-NEXT:            "id": "0x{{.*}}",5161// CHECK-NEXT:            "kind": "CXXMethodDecl",5162// CHECK-NEXT:            "loc": {5163// CHECK-NEXT:             "offset": 2018,5164// CHECK-NEXT:             "col": 3,5165// CHECK-NEXT:             "tokLen": 15166// CHECK-NEXT:            },5167// CHECK-NEXT:            "range": {5168// CHECK-NEXT:             "begin": {5169// CHECK-NEXT:              "offset": 2020,5170// CHECK-NEXT:              "col": 5,5171// CHECK-NEXT:              "tokLen": 15172// CHECK-NEXT:             },5173// CHECK-NEXT:             "end": {5174// CHECK-NEXT:              "offset": 2022,5175// CHECK-NEXT:              "col": 7,5176// CHECK-NEXT:              "tokLen": 15177// CHECK-NEXT:             }5178// CHECK-NEXT:            },5179// CHECK-NEXT:            "name": "operator()",5180// CHECK-NEXT:            "type": {5181// CHECK-NEXT:             "qualType": "auto () const -> auto"5182// CHECK-NEXT:            },5183// CHECK-NEXT:            "inline": true,5184// CHECK-NEXT:            "inner": [5185// CHECK-NEXT:             {5186// CHECK-NEXT:              "id": "0x{{.*}}",5187// CHECK-NEXT:              "kind": "CompoundStmt",5188// CHECK-NEXT:              "range": {5189// CHECK-NEXT:               "begin": {5190// CHECK-NEXT:                "offset": 2021,5191// CHECK-NEXT:                "col": 6,5192// CHECK-NEXT:                "tokLen": 15193// CHECK-NEXT:               },5194// CHECK-NEXT:               "end": {5195// CHECK-NEXT:                "offset": 2022,5196// CHECK-NEXT:                "col": 7,5197// CHECK-NEXT:                "tokLen": 15198// CHECK-NEXT:               }5199// CHECK-NEXT:              }5200// CHECK-NEXT:             }5201// CHECK-NEXT:            ]5202// CHECK-NEXT:           }5203// CHECK-NEXT:          ]5204// CHECK-NEXT:         },5205// CHECK-NEXT:         {5206// CHECK-NEXT:          "id": "0x{{.*}}",5207// CHECK-NEXT:          "kind": "CompoundStmt",5208// CHECK-NEXT:          "range": {5209// CHECK-NEXT:           "begin": {5210// CHECK-NEXT:            "offset": 2021,5211// CHECK-NEXT:            "col": 6,5212// CHECK-NEXT:            "tokLen": 15213// CHECK-NEXT:           },5214// CHECK-NEXT:           "end": {5215// CHECK-NEXT:            "offset": 2022,5216// CHECK-NEXT:            "col": 7,5217// CHECK-NEXT:            "tokLen": 15218// CHECK-NEXT:           }5219// CHECK-NEXT:          }5220// CHECK-NEXT:         }5221// CHECK-NEXT:        ]5222// CHECK-NEXT:       },5223// CHECK-NEXT:       {5224// CHECK-NEXT:        "id": "0x{{.*}}",5225// CHECK-NEXT:        "kind": "LambdaExpr",5226// CHECK-NEXT:        "range": {5227// CHECK-NEXT:         "begin": {5228// CHECK-NEXT:          "offset": 2027,5229// CHECK-NEXT:          "line": 109,5230// CHECK-NEXT:          "col": 3,5231// CHECK-NEXT:          "tokLen": 15232// CHECK-NEXT:         },5233// CHECK-NEXT:         "end": {5234// CHECK-NEXT:          "offset": 2043,5235// CHECK-NEXT:          "col": 19,5236// CHECK-NEXT:          "tokLen": 15237// CHECK-NEXT:         }5238// CHECK-NEXT:        },5239// CHECK-NEXT:        "type": {5240// CHECK-NEXT:         "qualType": "(lambda at {{.*}}:109:3)"5241// CHECK-NEXT:        },5242// CHECK-NEXT:        "valueCategory": "prvalue",5243// CHECK-NEXT:        "hasExplicitParameters": false,5244// CHECK-NEXT:        "inner": [5245// CHECK-NEXT:         {5246// CHECK-NEXT:          "id": "0x{{.*}}",5247// CHECK-NEXT:          "kind": "CXXRecordDecl",5248// CHECK-NEXT:          "loc": {5249// CHECK-NEXT:           "offset": 2027,5250// CHECK-NEXT:           "col": 3,5251// CHECK-NEXT:           "tokLen": 15252// CHECK-NEXT:          },5253// CHECK-NEXT:          "range": {5254// CHECK-NEXT:           "begin": {5255// CHECK-NEXT:            "offset": 2027,5256// CHECK-NEXT:            "col": 3,5257// CHECK-NEXT:            "tokLen": 15258// CHECK-NEXT:           },5259// CHECK-NEXT:           "end": {5260// CHECK-NEXT:            "offset": 2027,5261// CHECK-NEXT:            "col": 3,5262// CHECK-NEXT:            "tokLen": 15263// CHECK-NEXT:           }5264// CHECK-NEXT:          },5265// CHECK-NEXT:          "isImplicit": true,5266// CHECK-NEXT:          "tagUsed": "class",5267// CHECK-NEXT:          "completeDefinition": true,5268// CHECK-NEXT:          "definitionData": {5269// CHECK-NEXT:           "canConstDefaultInit": true,5270// CHECK-NEXT:           "copyAssign": {5271// CHECK-NEXT:            "hasConstParam": true,5272// CHECK-NEXT:            "implicitHasConstParam": true,5273// CHECK-NEXT:            "needsImplicit": true,5274// CHECK-NEXT:            "trivial": true5275// CHECK-NEXT:           },5276// CHECK-NEXT:           "copyCtor": {5277// CHECK-NEXT:            "hasConstParam": true,5278// CHECK-NEXT:            "implicitHasConstParam": true,5279// CHECK-NEXT:            "needsImplicit": true,5280// CHECK-NEXT:            "simple": true,5281// CHECK-NEXT:            "trivial": true5282// CHECK-NEXT:           },5283// CHECK-NEXT:           "defaultCtor": {5284// CHECK-NEXT:            "defaultedIsConstexpr": true5285// CHECK-NEXT:           },5286// CHECK-NEXT:           "dtor": {5287// CHECK-NEXT:            "irrelevant": true,5288// CHECK-NEXT:            "needsImplicit": true,5289// CHECK-NEXT:            "simple": true,5290// CHECK-NEXT:            "trivial": true5291// CHECK-NEXT:           },5292// CHECK-NEXT:           "isEmpty": true,5293// CHECK-NEXT:           "isLambda": true,5294// CHECK-NEXT:           "isLiteral": true,5295// CHECK-NEXT:           "isStandardLayout": true,5296// CHECK-NEXT:           "isTriviallyCopyable": true,5297// CHECK-NEXT:           "moveAssign": {},5298// CHECK-NEXT:           "moveCtor": {5299// CHECK-NEXT:            "exists": true,5300// CHECK-NEXT:            "needsImplicit": true,5301// CHECK-NEXT:            "simple": true,5302// CHECK-NEXT:            "trivial": true5303// CHECK-NEXT:           }5304// CHECK-NEXT:          },5305// CHECK-NEXT:          "inner": [5306// CHECK-NEXT:           {5307// CHECK-NEXT:            "id": "0x{{.*}}",5308// CHECK-NEXT:            "kind": "CXXMethodDecl",5309// CHECK-NEXT:            "loc": {5310// CHECK-NEXT:             "offset": 2027,5311// CHECK-NEXT:             "col": 3,5312// CHECK-NEXT:             "tokLen": 15313// CHECK-NEXT:            },5314// CHECK-NEXT:            "range": {5315// CHECK-NEXT:             "begin": {5316// CHECK-NEXT:              "offset": 2029,5317// CHECK-NEXT:              "col": 5,5318// CHECK-NEXT:              "tokLen": 15319// CHECK-NEXT:             },5320// CHECK-NEXT:             "end": {5321// CHECK-NEXT:              "offset": 2043,5322// CHECK-NEXT:              "col": 19,5323// CHECK-NEXT:              "tokLen": 15324// CHECK-NEXT:             }5325// CHECK-NEXT:            },5326// CHECK-NEXT:            "name": "operator()",5327// CHECK-NEXT:            "type": {5328// CHECK-NEXT:             "qualType": "auto () const -> auto"5329// CHECK-NEXT:            },5330// CHECK-NEXT:            "inline": true,5331// CHECK-NEXT:            "inner": [5332// CHECK-NEXT:             {5333// CHECK-NEXT:              "id": "0x{{.*}}",5334// CHECK-NEXT:              "kind": "CompoundStmt",5335// CHECK-NEXT:              "range": {5336// CHECK-NEXT:               "begin": {5337// CHECK-NEXT:                "offset": 2031,5338// CHECK-NEXT:                "col": 7,5339// CHECK-NEXT:                "tokLen": 15340// CHECK-NEXT:               },5341// CHECK-NEXT:               "end": {5342// CHECK-NEXT:                "offset": 2043,5343// CHECK-NEXT:                "col": 19,5344// CHECK-NEXT:                "tokLen": 15345// CHECK-NEXT:               }5346// CHECK-NEXT:              },5347// CHECK-NEXT:              "inner": [5348// CHECK-NEXT:               {5349// CHECK-NEXT:                "id": "0x{{.*}}",5350// CHECK-NEXT:                "kind": "ReturnStmt",5351// CHECK-NEXT:                "range": {5352// CHECK-NEXT:                 "begin": {5353// CHECK-NEXT:                  "offset": 2033,5354// CHECK-NEXT:                  "col": 9,5355// CHECK-NEXT:                  "tokLen": 65356// CHECK-NEXT:                 },5357// CHECK-NEXT:                 "end": {5358// CHECK-NEXT:                  "offset": 2040,5359// CHECK-NEXT:                  "col": 16,5360// CHECK-NEXT:                  "tokLen": 15361// CHECK-NEXT:                 }5362// CHECK-NEXT:                },5363// CHECK-NEXT:                "inner": [5364// CHECK-NEXT:                 {5365// CHECK-NEXT:                  "id": "0x{{.*}}",5366// CHECK-NEXT:                  "kind": "DeclRefExpr",5367// CHECK-NEXT:                  "range": {5368// CHECK-NEXT:                   "begin": {5369// CHECK-NEXT:                    "offset": 2040,5370// CHECK-NEXT:                    "col": 16,5371// CHECK-NEXT:                    "tokLen": 15372// CHECK-NEXT:                   },5373// CHECK-NEXT:                   "end": {5374// CHECK-NEXT:                    "offset": 2040,5375// CHECK-NEXT:                    "col": 16,5376// CHECK-NEXT:                    "tokLen": 15377// CHECK-NEXT:                   }5378// CHECK-NEXT:                  },5379// CHECK-NEXT:                  "type": {5380// CHECK-NEXT:                   "qualType": "const int"5381// CHECK-NEXT:                  },5382// CHECK-NEXT:                  "valueCategory": "lvalue",5383// CHECK-NEXT:                  "referencedDecl": {5384// CHECK-NEXT:                   "id": "0x{{.*}}",5385// CHECK-NEXT:                   "kind": "VarDecl",5386// CHECK-NEXT:                   "name": "b",5387// CHECK-NEXT:                   "type": {5388// CHECK-NEXT:                    "qualType": "int"5389// CHECK-NEXT:                   }5390// CHECK-NEXT:                  }5391// CHECK-NEXT:                 }5392// CHECK-NEXT:                ]5393// CHECK-NEXT:               }5394// CHECK-NEXT:              ]5395// CHECK-NEXT:             }5396// CHECK-NEXT:            ]5397// CHECK-NEXT:           }5398// CHECK-NEXT:          ]5399// CHECK-NEXT:         },5400// CHECK-NEXT:         {5401// CHECK-NEXT:          "id": "0x{{.*}}",5402// CHECK-NEXT:          "kind": "CompoundStmt",5403// CHECK-NEXT:          "range": {5404// CHECK-NEXT:           "begin": {5405// CHECK-NEXT:            "offset": 2031,5406// CHECK-NEXT:            "col": 7,5407// CHECK-NEXT:            "tokLen": 15408// CHECK-NEXT:           },5409// CHECK-NEXT:           "end": {5410// CHECK-NEXT:            "offset": 2043,5411// CHECK-NEXT:            "col": 19,5412// CHECK-NEXT:            "tokLen": 15413// CHECK-NEXT:           }5414// CHECK-NEXT:          },5415// CHECK-NEXT:          "inner": [5416// CHECK-NEXT:           {5417// CHECK-NEXT:            "id": "0x{{.*}}",5418// CHECK-NEXT:            "kind": "ReturnStmt",5419// CHECK-NEXT:            "range": {5420// CHECK-NEXT:             "begin": {5421// CHECK-NEXT:              "offset": 2033,5422// CHECK-NEXT:              "col": 9,5423// CHECK-NEXT:              "tokLen": 65424// CHECK-NEXT:             },5425// CHECK-NEXT:             "end": {5426// CHECK-NEXT:              "offset": 2040,5427// CHECK-NEXT:              "col": 16,5428// CHECK-NEXT:              "tokLen": 15429// CHECK-NEXT:             }5430// CHECK-NEXT:            },5431// CHECK-NEXT:            "inner": [5432// CHECK-NEXT:             {5433// CHECK-NEXT:              "id": "0x{{.*}}",5434// CHECK-NEXT:              "kind": "DeclRefExpr",5435// CHECK-NEXT:              "range": {5436// CHECK-NEXT:               "begin": {5437// CHECK-NEXT:                "offset": 2040,5438// CHECK-NEXT:                "col": 16,5439// CHECK-NEXT:                "tokLen": 15440// CHECK-NEXT:               },5441// CHECK-NEXT:               "end": {5442// CHECK-NEXT:                "offset": 2040,5443// CHECK-NEXT:                "col": 16,5444// CHECK-NEXT:                "tokLen": 15445// CHECK-NEXT:               }5446// CHECK-NEXT:              },5447// CHECK-NEXT:              "type": {5448// CHECK-NEXT:               "qualType": "const int"5449// CHECK-NEXT:              },5450// CHECK-NEXT:              "valueCategory": "lvalue",5451// CHECK-NEXT:              "referencedDecl": {5452// CHECK-NEXT:               "id": "0x{{.*}}",5453// CHECK-NEXT:               "kind": "VarDecl",5454// CHECK-NEXT:               "name": "b",5455// CHECK-NEXT:               "type": {5456// CHECK-NEXT:                "qualType": "int"5457// CHECK-NEXT:               }5458// CHECK-NEXT:              }5459// CHECK-NEXT:             }5460// CHECK-NEXT:            ]5461// CHECK-NEXT:           }5462// CHECK-NEXT:          ]5463// CHECK-NEXT:         }5464// CHECK-NEXT:        ]5465// CHECK-NEXT:       },5466// CHECK-NEXT:       {5467// CHECK-NEXT:        "id": "0x{{.*}}",5468// CHECK-NEXT:        "kind": "LambdaExpr",5469// CHECK-NEXT:        "range": {5470// CHECK-NEXT:         "begin": {5471// CHECK-NEXT:          "offset": 2048,5472// CHECK-NEXT:          "line": 110,5473// CHECK-NEXT:          "col": 3,5474// CHECK-NEXT:          "tokLen": 15475// CHECK-NEXT:         },5476// CHECK-NEXT:         "end": {5477// CHECK-NEXT:          "offset": 2052,5478// CHECK-NEXT:          "col": 7,5479// CHECK-NEXT:          "tokLen": 15480// CHECK-NEXT:         }5481// CHECK-NEXT:        },5482// CHECK-NEXT:        "type": {5483// CHECK-NEXT:         "qualType": "(lambda at {{.*}}:110:3)"5484// CHECK-NEXT:        },5485// CHECK-NEXT:        "valueCategory": "prvalue",5486// CHECK-NEXT:        "hasExplicitParameters": false,5487// CHECK-NEXT:        "inner": [5488// CHECK-NEXT:         {5489// CHECK-NEXT:          "id": "0x{{.*}}",5490// CHECK-NEXT:          "kind": "CXXRecordDecl",5491// CHECK-NEXT:          "loc": {5492// CHECK-NEXT:           "offset": 2048,5493// CHECK-NEXT:           "col": 3,5494// CHECK-NEXT:           "tokLen": 15495// CHECK-NEXT:          },5496// CHECK-NEXT:          "range": {5497// CHECK-NEXT:           "begin": {5498// CHECK-NEXT:            "offset": 2048,5499// CHECK-NEXT:            "col": 3,5500// CHECK-NEXT:            "tokLen": 15501// CHECK-NEXT:           },5502// CHECK-NEXT:           "end": {5503// CHECK-NEXT:            "offset": 2048,5504// CHECK-NEXT:            "col": 3,5505// CHECK-NEXT:            "tokLen": 15506// CHECK-NEXT:           }5507// CHECK-NEXT:          },5508// CHECK-NEXT:          "isImplicit": true,5509// CHECK-NEXT:          "tagUsed": "class",5510// CHECK-NEXT:          "completeDefinition": true,5511// CHECK-NEXT:          "definitionData": {5512// CHECK-NEXT:           "canConstDefaultInit": true,5513// CHECK-NEXT:           "copyAssign": {5514// CHECK-NEXT:            "hasConstParam": true,5515// CHECK-NEXT:            "implicitHasConstParam": true,5516// CHECK-NEXT:            "needsImplicit": true,5517// CHECK-NEXT:            "trivial": true5518// CHECK-NEXT:           },5519// CHECK-NEXT:           "copyCtor": {5520// CHECK-NEXT:            "hasConstParam": true,5521// CHECK-NEXT:            "implicitHasConstParam": true,5522// CHECK-NEXT:            "needsImplicit": true,5523// CHECK-NEXT:            "simple": true,5524// CHECK-NEXT:            "trivial": true5525// CHECK-NEXT:           },5526// CHECK-NEXT:           "defaultCtor": {5527// CHECK-NEXT:            "defaultedIsConstexpr": true5528// CHECK-NEXT:           },5529// CHECK-NEXT:           "dtor": {5530// CHECK-NEXT:            "irrelevant": true,5531// CHECK-NEXT:            "needsImplicit": true,5532// CHECK-NEXT:            "simple": true,5533// CHECK-NEXT:            "trivial": true5534// CHECK-NEXT:           },5535// CHECK-NEXT:           "isEmpty": true,5536// CHECK-NEXT:           "isLambda": true,5537// CHECK-NEXT:           "isLiteral": true,5538// CHECK-NEXT:           "isStandardLayout": true,5539// CHECK-NEXT:           "isTriviallyCopyable": true,5540// CHECK-NEXT:           "moveAssign": {},5541// CHECK-NEXT:           "moveCtor": {5542// CHECK-NEXT:            "exists": true,5543// CHECK-NEXT:            "needsImplicit": true,5544// CHECK-NEXT:            "simple": true,5545// CHECK-NEXT:            "trivial": true5546// CHECK-NEXT:           }5547// CHECK-NEXT:          },5548// CHECK-NEXT:          "inner": [5549// CHECK-NEXT:           {5550// CHECK-NEXT:            "id": "0x{{.*}}",5551// CHECK-NEXT:            "kind": "CXXMethodDecl",5552// CHECK-NEXT:            "loc": {5553// CHECK-NEXT:             "offset": 2048,5554// CHECK-NEXT:             "col": 3,5555// CHECK-NEXT:             "tokLen": 15556// CHECK-NEXT:            },5557// CHECK-NEXT:            "range": {5558// CHECK-NEXT:             "begin": {5559// CHECK-NEXT:              "offset": 2050,5560// CHECK-NEXT:              "col": 5,5561// CHECK-NEXT:              "tokLen": 15562// CHECK-NEXT:             },5563// CHECK-NEXT:             "end": {5564// CHECK-NEXT:              "offset": 2052,5565// CHECK-NEXT:              "col": 7,5566// CHECK-NEXT:              "tokLen": 15567// CHECK-NEXT:             }5568// CHECK-NEXT:            },5569// CHECK-NEXT:            "name": "operator()",5570// CHECK-NEXT:            "type": {5571// CHECK-NEXT:             "qualType": "auto () const -> auto"5572// CHECK-NEXT:            },5573// CHECK-NEXT:            "inline": true,5574// CHECK-NEXT:            "inner": [5575// CHECK-NEXT:             {5576// CHECK-NEXT:              "id": "0x{{.*}}",5577// CHECK-NEXT:              "kind": "CompoundStmt",5578// CHECK-NEXT:              "range": {5579// CHECK-NEXT:               "begin": {5580// CHECK-NEXT:                "offset": 2051,5581// CHECK-NEXT:                "col": 6,5582// CHECK-NEXT:                "tokLen": 15583// CHECK-NEXT:               },5584// CHECK-NEXT:               "end": {5585// CHECK-NEXT:                "offset": 2052,5586// CHECK-NEXT:                "col": 7,5587// CHECK-NEXT:                "tokLen": 15588// CHECK-NEXT:               }5589// CHECK-NEXT:              }5590// CHECK-NEXT:             }5591// CHECK-NEXT:            ]5592// CHECK-NEXT:           }5593// CHECK-NEXT:          ]5594// CHECK-NEXT:         },5595// CHECK-NEXT:         {5596// CHECK-NEXT:          "id": "0x{{.*}}",5597// CHECK-NEXT:          "kind": "CompoundStmt",5598// CHECK-NEXT:          "range": {5599// CHECK-NEXT:           "begin": {5600// CHECK-NEXT:            "offset": 2051,5601// CHECK-NEXT:            "col": 6,5602// CHECK-NEXT:            "tokLen": 15603// CHECK-NEXT:           },5604// CHECK-NEXT:           "end": {5605// CHECK-NEXT:            "offset": 2052,5606// CHECK-NEXT:            "col": 7,5607// CHECK-NEXT:            "tokLen": 15608// CHECK-NEXT:           }5609// CHECK-NEXT:          }5610// CHECK-NEXT:         }5611// CHECK-NEXT:        ]5612// CHECK-NEXT:       },5613// CHECK-NEXT:       {5614// CHECK-NEXT:        "id": "0x{{.*}}",5615// CHECK-NEXT:        "kind": "LambdaExpr",5616// CHECK-NEXT:        "range": {5617// CHECK-NEXT:         "begin": {5618// CHECK-NEXT:          "offset": 2057,5619// CHECK-NEXT:          "line": 111,5620// CHECK-NEXT:          "col": 3,5621// CHECK-NEXT:          "tokLen": 15622// CHECK-NEXT:         },5623// CHECK-NEXT:         "end": {5624// CHECK-NEXT:          "offset": 2073,5625// CHECK-NEXT:          "col": 19,5626// CHECK-NEXT:          "tokLen": 15627// CHECK-NEXT:         }5628// CHECK-NEXT:        },5629// CHECK-NEXT:        "type": {5630// CHECK-NEXT:         "qualType": "(lambda at {{.*}}:111:3)"5631// CHECK-NEXT:        },5632// CHECK-NEXT:        "valueCategory": "prvalue",5633// CHECK-NEXT:        "hasExplicitParameters": false,5634// CHECK-NEXT:        "inner": [5635// CHECK-NEXT:         {5636// CHECK-NEXT:          "id": "0x{{.*}}",5637// CHECK-NEXT:          "kind": "CXXRecordDecl",5638// CHECK-NEXT:          "loc": {5639// CHECK-NEXT:           "offset": 2057,5640// CHECK-NEXT:           "col": 3,5641// CHECK-NEXT:           "tokLen": 15642// CHECK-NEXT:          },5643// CHECK-NEXT:          "range": {5644// CHECK-NEXT:           "begin": {5645// CHECK-NEXT:            "offset": 2057,5646// CHECK-NEXT:            "col": 3,5647// CHECK-NEXT:            "tokLen": 15648// CHECK-NEXT:           },5649// CHECK-NEXT:           "end": {5650// CHECK-NEXT:            "offset": 2057,5651// CHECK-NEXT:            "col": 3,5652// CHECK-NEXT:            "tokLen": 15653// CHECK-NEXT:           }5654// CHECK-NEXT:          },5655// CHECK-NEXT:          "isImplicit": true,5656// CHECK-NEXT:          "tagUsed": "class",5657// CHECK-NEXT:          "completeDefinition": true,5658// CHECK-NEXT:          "definitionData": {5659// CHECK-NEXT:           "canConstDefaultInit": true,5660// CHECK-NEXT:           "copyAssign": {5661// CHECK-NEXT:            "hasConstParam": true,5662// CHECK-NEXT:            "implicitHasConstParam": true,5663// CHECK-NEXT:            "needsImplicit": true,5664// CHECK-NEXT:            "trivial": true5665// CHECK-NEXT:           },5666// CHECK-NEXT:           "copyCtor": {5667// CHECK-NEXT:            "hasConstParam": true,5668// CHECK-NEXT:            "implicitHasConstParam": true,5669// CHECK-NEXT:            "needsImplicit": true,5670// CHECK-NEXT:            "simple": true,5671// CHECK-NEXT:            "trivial": true5672// CHECK-NEXT:           },5673// CHECK-NEXT:           "defaultCtor": {5674// CHECK-NEXT:            "defaultedIsConstexpr": true5675// CHECK-NEXT:           },5676// CHECK-NEXT:           "dtor": {5677// CHECK-NEXT:            "irrelevant": true,5678// CHECK-NEXT:            "needsImplicit": true,5679// CHECK-NEXT:            "simple": true,5680// CHECK-NEXT:            "trivial": true5681// CHECK-NEXT:           },5682// CHECK-NEXT:           "isEmpty": true,5683// CHECK-NEXT:           "isLambda": true,5684// CHECK-NEXT:           "isLiteral": true,5685// CHECK-NEXT:           "isStandardLayout": true,5686// CHECK-NEXT:           "isTriviallyCopyable": true,5687// CHECK-NEXT:           "moveAssign": {},5688// CHECK-NEXT:           "moveCtor": {5689// CHECK-NEXT:            "exists": true,5690// CHECK-NEXT:            "needsImplicit": true,5691// CHECK-NEXT:            "simple": true,5692// CHECK-NEXT:            "trivial": true5693// CHECK-NEXT:           }5694// CHECK-NEXT:          },5695// CHECK-NEXT:          "inner": [5696// CHECK-NEXT:           {5697// CHECK-NEXT:            "id": "0x{{.*}}",5698// CHECK-NEXT:            "kind": "CXXMethodDecl",5699// CHECK-NEXT:            "loc": {5700// CHECK-NEXT:             "offset": 2057,5701// CHECK-NEXT:             "col": 3,5702// CHECK-NEXT:             "tokLen": 15703// CHECK-NEXT:            },5704// CHECK-NEXT:            "range": {5705// CHECK-NEXT:             "begin": {5706// CHECK-NEXT:              "offset": 2059,5707// CHECK-NEXT:              "col": 5,5708// CHECK-NEXT:              "tokLen": 15709// CHECK-NEXT:             },5710// CHECK-NEXT:             "end": {5711// CHECK-NEXT:              "offset": 2073,5712// CHECK-NEXT:              "col": 19,5713// CHECK-NEXT:              "tokLen": 15714// CHECK-NEXT:             }5715// CHECK-NEXT:            },5716// CHECK-NEXT:            "name": "operator()",5717// CHECK-NEXT:            "type": {5718// CHECK-NEXT:             "qualType": "auto () const -> auto"5719// CHECK-NEXT:            },5720// CHECK-NEXT:            "inline": true,5721// CHECK-NEXT:            "inner": [5722// CHECK-NEXT:             {5723// CHECK-NEXT:              "id": "0x{{.*}}",5724// CHECK-NEXT:              "kind": "CompoundStmt",5725// CHECK-NEXT:              "range": {5726// CHECK-NEXT:               "begin": {5727// CHECK-NEXT:                "offset": 2061,5728// CHECK-NEXT:                "col": 7,5729// CHECK-NEXT:                "tokLen": 15730// CHECK-NEXT:               },5731// CHECK-NEXT:               "end": {5732// CHECK-NEXT:                "offset": 2073,5733// CHECK-NEXT:                "col": 19,5734// CHECK-NEXT:                "tokLen": 15735// CHECK-NEXT:               }5736// CHECK-NEXT:              },5737// CHECK-NEXT:              "inner": [5738// CHECK-NEXT:               {5739// CHECK-NEXT:                "id": "0x{{.*}}",5740// CHECK-NEXT:                "kind": "ReturnStmt",5741// CHECK-NEXT:                "range": {5742// CHECK-NEXT:                 "begin": {5743// CHECK-NEXT:                  "offset": 2063,5744// CHECK-NEXT:                  "col": 9,5745// CHECK-NEXT:                  "tokLen": 65746// CHECK-NEXT:                 },5747// CHECK-NEXT:                 "end": {5748// CHECK-NEXT:                  "offset": 2070,5749// CHECK-NEXT:                  "col": 16,5750// CHECK-NEXT:                  "tokLen": 15751// CHECK-NEXT:                 }5752// CHECK-NEXT:                },5753// CHECK-NEXT:                "inner": [5754// CHECK-NEXT:                 {5755// CHECK-NEXT:                  "id": "0x{{.*}}",5756// CHECK-NEXT:                  "kind": "DeclRefExpr",5757// CHECK-NEXT:                  "range": {5758// CHECK-NEXT:                   "begin": {5759// CHECK-NEXT:                    "offset": 2070,5760// CHECK-NEXT:                    "col": 16,5761// CHECK-NEXT:                    "tokLen": 15762// CHECK-NEXT:                   },5763// CHECK-NEXT:                   "end": {5764// CHECK-NEXT:                    "offset": 2070,5765// CHECK-NEXT:                    "col": 16,5766// CHECK-NEXT:                    "tokLen": 15767// CHECK-NEXT:                   }5768// CHECK-NEXT:                  },5769// CHECK-NEXT:                  "type": {5770// CHECK-NEXT:                   "qualType": "int"5771// CHECK-NEXT:                  },5772// CHECK-NEXT:                  "valueCategory": "lvalue",5773// CHECK-NEXT:                  "referencedDecl": {5774// CHECK-NEXT:                   "id": "0x{{.*}}",5775// CHECK-NEXT:                   "kind": "VarDecl",5776// CHECK-NEXT:                   "name": "c",5777// CHECK-NEXT:                   "type": {5778// CHECK-NEXT:                    "qualType": "int"5779// CHECK-NEXT:                   }5780// CHECK-NEXT:                  }5781// CHECK-NEXT:                 }5782// CHECK-NEXT:                ]5783// CHECK-NEXT:               }5784// CHECK-NEXT:              ]5785// CHECK-NEXT:             }5786// CHECK-NEXT:            ]5787// CHECK-NEXT:           }5788// CHECK-NEXT:          ]5789// CHECK-NEXT:         },5790// CHECK-NEXT:         {5791// CHECK-NEXT:          "id": "0x{{.*}}",5792// CHECK-NEXT:          "kind": "CompoundStmt",5793// CHECK-NEXT:          "range": {5794// CHECK-NEXT:           "begin": {5795// CHECK-NEXT:            "offset": 2061,5796// CHECK-NEXT:            "col": 7,5797// CHECK-NEXT:            "tokLen": 15798// CHECK-NEXT:           },5799// CHECK-NEXT:           "end": {5800// CHECK-NEXT:            "offset": 2073,5801// CHECK-NEXT:            "col": 19,5802// CHECK-NEXT:            "tokLen": 15803// CHECK-NEXT:           }5804// CHECK-NEXT:          },5805// CHECK-NEXT:          "inner": [5806// CHECK-NEXT:           {5807// CHECK-NEXT:            "id": "0x{{.*}}",5808// CHECK-NEXT:            "kind": "ReturnStmt",5809// CHECK-NEXT:            "range": {5810// CHECK-NEXT:             "begin": {5811// CHECK-NEXT:              "offset": 2063,5812// CHECK-NEXT:              "col": 9,5813// CHECK-NEXT:              "tokLen": 65814// CHECK-NEXT:             },5815// CHECK-NEXT:             "end": {5816// CHECK-NEXT:              "offset": 2070,5817// CHECK-NEXT:              "col": 16,5818// CHECK-NEXT:              "tokLen": 15819// CHECK-NEXT:             }5820// CHECK-NEXT:            },5821// CHECK-NEXT:            "inner": [5822// CHECK-NEXT:             {5823// CHECK-NEXT:              "id": "0x{{.*}}",5824// CHECK-NEXT:              "kind": "DeclRefExpr",5825// CHECK-NEXT:              "range": {5826// CHECK-NEXT:               "begin": {5827// CHECK-NEXT:                "offset": 2070,5828// CHECK-NEXT:                "col": 16,5829// CHECK-NEXT:                "tokLen": 15830// CHECK-NEXT:               },5831// CHECK-NEXT:               "end": {5832// CHECK-NEXT:                "offset": 2070,5833// CHECK-NEXT:                "col": 16,5834// CHECK-NEXT:                "tokLen": 15835// CHECK-NEXT:               }5836// CHECK-NEXT:              },5837// CHECK-NEXT:              "type": {5838// CHECK-NEXT:               "qualType": "int"5839// CHECK-NEXT:              },5840// CHECK-NEXT:              "valueCategory": "lvalue",5841// CHECK-NEXT:              "referencedDecl": {5842// CHECK-NEXT:               "id": "0x{{.*}}",5843// CHECK-NEXT:               "kind": "VarDecl",5844// CHECK-NEXT:               "name": "c",5845// CHECK-NEXT:               "type": {5846// CHECK-NEXT:                "qualType": "int"5847// CHECK-NEXT:               }5848// CHECK-NEXT:              }5849// CHECK-NEXT:             }5850// CHECK-NEXT:            ]5851// CHECK-NEXT:           }5852// CHECK-NEXT:          ]5853// CHECK-NEXT:         }5854// CHECK-NEXT:        ]5855// CHECK-NEXT:       },5856// CHECK-NEXT:       {5857// CHECK-NEXT:        "id": "0x{{.*}}",5858// CHECK-NEXT:        "kind": "LambdaExpr",5859// CHECK-NEXT:        "range": {5860// CHECK-NEXT:         "begin": {5861// CHECK-NEXT:          "offset": 2078,5862// CHECK-NEXT:          "line": 112,5863// CHECK-NEXT:          "col": 3,5864// CHECK-NEXT:          "tokLen": 15865// CHECK-NEXT:         },5866// CHECK-NEXT:         "end": {5867// CHECK-NEXT:          "offset": 2101,5868// CHECK-NEXT:          "col": 26,5869// CHECK-NEXT:          "tokLen": 15870// CHECK-NEXT:         }5871// CHECK-NEXT:        },5872// CHECK-NEXT:        "type": {5873// CHECK-NEXT:         "qualType": "(lambda at {{.*}}:112:3)"5874// CHECK-NEXT:        },5875// CHECK-NEXT:        "valueCategory": "prvalue",5876// CHECK-NEXT:        "hasExplicitParameters": false,5877// CHECK-NEXT:        "inner": [5878// CHECK-NEXT:         {5879// CHECK-NEXT:          "id": "0x{{.*}}",5880// CHECK-NEXT:          "kind": "CXXRecordDecl",5881// CHECK-NEXT:          "loc": {5882// CHECK-NEXT:           "offset": 2078,5883// CHECK-NEXT:           "col": 3,5884// CHECK-NEXT:           "tokLen": 15885// CHECK-NEXT:          },5886// CHECK-NEXT:          "range": {5887// CHECK-NEXT:           "begin": {5888// CHECK-NEXT:            "offset": 2078,5889// CHECK-NEXT:            "col": 3,5890// CHECK-NEXT:            "tokLen": 15891// CHECK-NEXT:           },5892// CHECK-NEXT:           "end": {5893// CHECK-NEXT:            "offset": 2078,5894// CHECK-NEXT:            "col": 3,5895// CHECK-NEXT:            "tokLen": 15896// CHECK-NEXT:           }5897// CHECK-NEXT:          },5898// CHECK-NEXT:          "isImplicit": true,5899// CHECK-NEXT:          "tagUsed": "class",5900// CHECK-NEXT:          "completeDefinition": true,5901// CHECK-NEXT:          "definitionData": {5902// CHECK-NEXT:           "canConstDefaultInit": true,5903// CHECK-NEXT:           "copyAssign": {5904// CHECK-NEXT:            "hasConstParam": true,5905// CHECK-NEXT:            "implicitHasConstParam": true,5906// CHECK-NEXT:            "needsImplicit": true,5907// CHECK-NEXT:            "trivial": true5908// CHECK-NEXT:           },5909// CHECK-NEXT:           "copyCtor": {5910// CHECK-NEXT:            "hasConstParam": true,5911// CHECK-NEXT:            "implicitHasConstParam": true,5912// CHECK-NEXT:            "needsImplicit": true,5913// CHECK-NEXT:            "simple": true,5914// CHECK-NEXT:            "trivial": true5915// CHECK-NEXT:           },5916// CHECK-NEXT:           "defaultCtor": {},5917// CHECK-NEXT:           "dtor": {5918// CHECK-NEXT:            "irrelevant": true,5919// CHECK-NEXT:            "needsImplicit": true,5920// CHECK-NEXT:            "simple": true,5921// CHECK-NEXT:            "trivial": true5922// CHECK-NEXT:           },5923// CHECK-NEXT:           "isLambda": true,5924// CHECK-NEXT:           "isLiteral": true,5925// CHECK-NEXT:           "isTriviallyCopyable": true,5926// CHECK-NEXT:           "moveAssign": {},5927// CHECK-NEXT:           "moveCtor": {5928// CHECK-NEXT:            "exists": true,5929// CHECK-NEXT:            "needsImplicit": true,5930// CHECK-NEXT:            "simple": true,5931// CHECK-NEXT:            "trivial": true5932// CHECK-NEXT:           }5933// CHECK-NEXT:          },5934// CHECK-NEXT:          "inner": [5935// CHECK-NEXT:           {5936// CHECK-NEXT:            "id": "0x{{.*}}",5937// CHECK-NEXT:            "kind": "CXXMethodDecl",5938// CHECK-NEXT:            "loc": {5939// CHECK-NEXT:             "offset": 2078,5940// CHECK-NEXT:             "col": 3,5941// CHECK-NEXT:             "tokLen": 15942// CHECK-NEXT:            },5943// CHECK-NEXT:            "range": {5944// CHECK-NEXT:             "begin": {5945// CHECK-NEXT:              "offset": 2084,5946// CHECK-NEXT:              "col": 9,5947// CHECK-NEXT:              "tokLen": 15948// CHECK-NEXT:             },5949// CHECK-NEXT:             "end": {5950// CHECK-NEXT:              "offset": 2101,5951// CHECK-NEXT:              "col": 26,5952// CHECK-NEXT:              "tokLen": 15953// CHECK-NEXT:             }5954// CHECK-NEXT:            },5955// CHECK-NEXT:            "name": "operator()",5956// CHECK-NEXT:            "type": {5957// CHECK-NEXT:             "qualType": "auto () const -> auto"5958// CHECK-NEXT:            },5959// CHECK-NEXT:            "inline": true,5960// CHECK-NEXT:            "inner": [5961// CHECK-NEXT:             {5962// CHECK-NEXT:              "id": "0x{{.*}}",5963// CHECK-NEXT:              "kind": "CompoundStmt",5964// CHECK-NEXT:              "range": {5965// CHECK-NEXT:               "begin": {5966// CHECK-NEXT:                "offset": 2085,5967// CHECK-NEXT:                "col": 10,5968// CHECK-NEXT:                "tokLen": 15969// CHECK-NEXT:               },5970// CHECK-NEXT:               "end": {5971// CHECK-NEXT:                "offset": 2101,5972// CHECK-NEXT:                "col": 26,5973// CHECK-NEXT:                "tokLen": 15974// CHECK-NEXT:               }5975// CHECK-NEXT:              },5976// CHECK-NEXT:              "inner": [5977// CHECK-NEXT:               {5978// CHECK-NEXT:                "id": "0x{{.*}}",5979// CHECK-NEXT:                "kind": "ReturnStmt",5980// CHECK-NEXT:                "range": {5981// CHECK-NEXT:                 "begin": {5982// CHECK-NEXT:                  "offset": 2087,5983// CHECK-NEXT:                  "col": 12,5984// CHECK-NEXT:                  "tokLen": 65985// CHECK-NEXT:                 },5986// CHECK-NEXT:                 "end": {5987// CHECK-NEXT:                  "offset": 2098,5988// CHECK-NEXT:                  "col": 23,5989// CHECK-NEXT:                  "tokLen": 15990// CHECK-NEXT:                 }5991// CHECK-NEXT:                },5992// CHECK-NEXT:                "inner": [5993// CHECK-NEXT:                 {5994// CHECK-NEXT:                  "id": "0x{{.*}}",5995// CHECK-NEXT:                  "kind": "BinaryOperator",5996// CHECK-NEXT:                  "range": {5997// CHECK-NEXT:                   "begin": {5998// CHECK-NEXT:                    "offset": 2094,5999// CHECK-NEXT:                    "col": 19,6000// CHECK-NEXT:                    "tokLen": 16001// CHECK-NEXT:                   },6002// CHECK-NEXT:                   "end": {6003// CHECK-NEXT:                    "offset": 2098,6004// CHECK-NEXT:                    "col": 23,6005// CHECK-NEXT:                    "tokLen": 16006// CHECK-NEXT:                   }6007// CHECK-NEXT:                  },6008// CHECK-NEXT:                  "type": {6009// CHECK-NEXT:                   "qualType": "int"6010// CHECK-NEXT:                  },6011// CHECK-NEXT:                  "valueCategory": "prvalue",6012// CHECK-NEXT:                  "opcode": "+",6013// CHECK-NEXT:                  "inner": [6014// CHECK-NEXT:                   {6015// CHECK-NEXT:                    "id": "0x{{.*}}",6016// CHECK-NEXT:                    "kind": "ImplicitCastExpr",6017// CHECK-NEXT:                    "range": {6018// CHECK-NEXT:                     "begin": {6019// CHECK-NEXT:                      "offset": 2094,6020// CHECK-NEXT:                      "col": 19,6021// CHECK-NEXT:                      "tokLen": 16022// CHECK-NEXT:                     },6023// CHECK-NEXT:                     "end": {6024// CHECK-NEXT:                      "offset": 2094,6025// CHECK-NEXT:                      "col": 19,6026// CHECK-NEXT:                      "tokLen": 16027// CHECK-NEXT:                     }6028// CHECK-NEXT:                    },6029// CHECK-NEXT:                    "type": {6030// CHECK-NEXT:                     "qualType": "int"6031// CHECK-NEXT:                    },6032// CHECK-NEXT:                    "valueCategory": "prvalue",6033// CHECK-NEXT:                    "castKind": "LValueToRValue",6034// CHECK-NEXT:                    "inner": [6035// CHECK-NEXT:                     {6036// CHECK-NEXT:                      "id": "0x{{.*}}",6037// CHECK-NEXT:                      "kind": "DeclRefExpr",6038// CHECK-NEXT:                      "range": {6039// CHECK-NEXT:                       "begin": {6040// CHECK-NEXT:                        "offset": 2094,6041// CHECK-NEXT:                        "col": 19,6042// CHECK-NEXT:                        "tokLen": 16043// CHECK-NEXT:                       },6044// CHECK-NEXT:                       "end": {6045// CHECK-NEXT:                        "offset": 2094,6046// CHECK-NEXT:                        "col": 19,6047// CHECK-NEXT:                        "tokLen": 16048// CHECK-NEXT:                       }6049// CHECK-NEXT:                      },6050// CHECK-NEXT:                      "type": {6051// CHECK-NEXT:                       "qualType": "const int"6052// CHECK-NEXT:                      },6053// CHECK-NEXT:                      "valueCategory": "lvalue",6054// CHECK-NEXT:                      "referencedDecl": {6055// CHECK-NEXT:                       "id": "0x{{.*}}",6056// CHECK-NEXT:                       "kind": "VarDecl",6057// CHECK-NEXT:                       "name": "b",6058// CHECK-NEXT:                       "type": {6059// CHECK-NEXT:                        "qualType": "int"6060// CHECK-NEXT:                       }6061// CHECK-NEXT:                      }6062// CHECK-NEXT:                     }6063// CHECK-NEXT:                    ]6064// CHECK-NEXT:                   },6065// CHECK-NEXT:                   {6066// CHECK-NEXT:                    "id": "0x{{.*}}",6067// CHECK-NEXT:                    "kind": "ImplicitCastExpr",6068// CHECK-NEXT:                    "range": {6069// CHECK-NEXT:                     "begin": {6070// CHECK-NEXT:                      "offset": 2098,6071// CHECK-NEXT:                      "col": 23,6072// CHECK-NEXT:                      "tokLen": 16073// CHECK-NEXT:                     },6074// CHECK-NEXT:                     "end": {6075// CHECK-NEXT:                      "offset": 2098,6076// CHECK-NEXT:                      "col": 23,6077// CHECK-NEXT:                      "tokLen": 16078// CHECK-NEXT:                     }6079// CHECK-NEXT:                    },6080// CHECK-NEXT:                    "type": {6081// CHECK-NEXT:                     "qualType": "int"6082// CHECK-NEXT:                    },6083// CHECK-NEXT:                    "valueCategory": "prvalue",6084// CHECK-NEXT:                    "castKind": "LValueToRValue",6085// CHECK-NEXT:                    "inner": [6086// CHECK-NEXT:                     {6087// CHECK-NEXT:                      "id": "0x{{.*}}",6088// CHECK-NEXT:                      "kind": "DeclRefExpr",6089// CHECK-NEXT:                      "range": {6090// CHECK-NEXT:                       "begin": {6091// CHECK-NEXT:                        "offset": 2098,6092// CHECK-NEXT:                        "col": 23,6093// CHECK-NEXT:                        "tokLen": 16094// CHECK-NEXT:                       },6095// CHECK-NEXT:                       "end": {6096// CHECK-NEXT:                        "offset": 2098,6097// CHECK-NEXT:                        "col": 23,6098// CHECK-NEXT:                        "tokLen": 16099// CHECK-NEXT:                       }6100// CHECK-NEXT:                      },6101// CHECK-NEXT:                      "type": {6102// CHECK-NEXT:                       "qualType": "int"6103// CHECK-NEXT:                      },6104// CHECK-NEXT:                      "valueCategory": "lvalue",6105// CHECK-NEXT:                      "referencedDecl": {6106// CHECK-NEXT:                       "id": "0x{{.*}}",6107// CHECK-NEXT:                       "kind": "VarDecl",6108// CHECK-NEXT:                       "name": "c",6109// CHECK-NEXT:                       "type": {6110// CHECK-NEXT:                        "qualType": "int"6111// CHECK-NEXT:                       }6112// CHECK-NEXT:                      }6113// CHECK-NEXT:                     }6114// CHECK-NEXT:                    ]6115// CHECK-NEXT:                   }6116// CHECK-NEXT:                  ]6117// CHECK-NEXT:                 }6118// CHECK-NEXT:                ]6119// CHECK-NEXT:               }6120// CHECK-NEXT:              ]6121// CHECK-NEXT:             }6122// CHECK-NEXT:            ]6123// CHECK-NEXT:           },6124// CHECK-NEXT:           {6125// CHECK-NEXT:            "id": "0x{{.*}}",6126// CHECK-NEXT:            "kind": "FieldDecl",6127// CHECK-NEXT:            "loc": {6128// CHECK-NEXT:             "offset": 2079,6129// CHECK-NEXT:             "col": 4,6130// CHECK-NEXT:             "tokLen": 16131// CHECK-NEXT:            },6132// CHECK-NEXT:            "range": {6133// CHECK-NEXT:             "begin": {6134// CHECK-NEXT:              "offset": 2079,6135// CHECK-NEXT:              "col": 4,6136// CHECK-NEXT:              "tokLen": 16137// CHECK-NEXT:             },6138// CHECK-NEXT:             "end": {6139// CHECK-NEXT:              "offset": 2079,6140// CHECK-NEXT:              "col": 4,6141// CHECK-NEXT:              "tokLen": 16142// CHECK-NEXT:             }6143// CHECK-NEXT:            },6144// CHECK-NEXT:            "isImplicit": true,6145// CHECK-NEXT:            "type": {6146// CHECK-NEXT:             "qualType": "int"6147// CHECK-NEXT:            }6148// CHECK-NEXT:           },6149// CHECK-NEXT:           {6150// CHECK-NEXT:            "id": "0x{{.*}}",6151// CHECK-NEXT:            "kind": "FieldDecl",6152// CHECK-NEXT:            "loc": {6153// CHECK-NEXT:             "offset": 2083,6154// CHECK-NEXT:             "col": 8,6155// CHECK-NEXT:             "tokLen": 16156// CHECK-NEXT:            },6157// CHECK-NEXT:            "range": {6158// CHECK-NEXT:             "begin": {6159// CHECK-NEXT:              "offset": 2083,6160// CHECK-NEXT:              "col": 8,6161// CHECK-NEXT:              "tokLen": 16162// CHECK-NEXT:             },6163// CHECK-NEXT:             "end": {6164// CHECK-NEXT:              "offset": 2083,6165// CHECK-NEXT:              "col": 8,6166// CHECK-NEXT:              "tokLen": 16167// CHECK-NEXT:             }6168// CHECK-NEXT:            },6169// CHECK-NEXT:            "isImplicit": true,6170// CHECK-NEXT:            "type": {6171// CHECK-NEXT:             "qualType": "int &"6172// CHECK-NEXT:            }6173// CHECK-NEXT:           }6174// CHECK-NEXT:          ]6175// CHECK-NEXT:         },6176// CHECK-NEXT:         {6177// CHECK-NEXT:          "id": "0x{{.*}}",6178// CHECK-NEXT:          "kind": "ImplicitCastExpr",6179// CHECK-NEXT:          "range": {6180// CHECK-NEXT:           "begin": {6181// CHECK-NEXT:            "offset": 2079,6182// CHECK-NEXT:            "col": 4,6183// CHECK-NEXT:            "tokLen": 16184// CHECK-NEXT:           },6185// CHECK-NEXT:           "end": {6186// CHECK-NEXT:            "offset": 2079,6187// CHECK-NEXT:            "col": 4,6188// CHECK-NEXT:            "tokLen": 16189// CHECK-NEXT:           }6190// CHECK-NEXT:          },6191// CHECK-NEXT:          "type": {6192// CHECK-NEXT:           "qualType": "int"6193// CHECK-NEXT:          },6194// CHECK-NEXT:          "valueCategory": "prvalue",6195// CHECK-NEXT:          "castKind": "LValueToRValue",6196// CHECK-NEXT:          "inner": [6197// CHECK-NEXT:           {6198// CHECK-NEXT:            "id": "0x{{.*}}",6199// CHECK-NEXT:            "kind": "DeclRefExpr",6200// CHECK-NEXT:            "range": {6201// CHECK-NEXT:             "begin": {6202// CHECK-NEXT:              "offset": 2079,6203// CHECK-NEXT:              "col": 4,6204// CHECK-NEXT:              "tokLen": 16205// CHECK-NEXT:             },6206// CHECK-NEXT:             "end": {6207// CHECK-NEXT:              "offset": 2079,6208// CHECK-NEXT:              "col": 4,6209// CHECK-NEXT:              "tokLen": 16210// CHECK-NEXT:             }6211// CHECK-NEXT:            },6212// CHECK-NEXT:            "type": {6213// CHECK-NEXT:             "qualType": "int"6214// CHECK-NEXT:            },6215// CHECK-NEXT:            "valueCategory": "lvalue",6216// CHECK-NEXT:            "referencedDecl": {6217// CHECK-NEXT:             "id": "0x{{.*}}",6218// CHECK-NEXT:             "kind": "VarDecl",6219// CHECK-NEXT:             "name": "b",6220// CHECK-NEXT:             "type": {6221// CHECK-NEXT:              "qualType": "int"6222// CHECK-NEXT:             }6223// CHECK-NEXT:            }6224// CHECK-NEXT:           }6225// CHECK-NEXT:          ]6226// CHECK-NEXT:         },6227// CHECK-NEXT:         {6228// CHECK-NEXT:          "id": "0x{{.*}}",6229// CHECK-NEXT:          "kind": "DeclRefExpr",6230// CHECK-NEXT:          "range": {6231// CHECK-NEXT:           "begin": {6232// CHECK-NEXT:            "offset": 2083,6233// CHECK-NEXT:            "col": 8,6234// CHECK-NEXT:            "tokLen": 16235// CHECK-NEXT:           },6236// CHECK-NEXT:           "end": {6237// CHECK-NEXT:            "offset": 2083,6238// CHECK-NEXT:            "col": 8,6239// CHECK-NEXT:            "tokLen": 16240// CHECK-NEXT:           }6241// CHECK-NEXT:          },6242// CHECK-NEXT:          "type": {6243// CHECK-NEXT:           "qualType": "int"6244// CHECK-NEXT:          },6245// CHECK-NEXT:          "valueCategory": "lvalue",6246// CHECK-NEXT:          "referencedDecl": {6247// CHECK-NEXT:           "id": "0x{{.*}}",6248// CHECK-NEXT:           "kind": "VarDecl",6249// CHECK-NEXT:           "name": "c",6250// CHECK-NEXT:           "type": {6251// CHECK-NEXT:            "qualType": "int"6252// CHECK-NEXT:           }6253// CHECK-NEXT:          }6254// CHECK-NEXT:         },6255// CHECK-NEXT:         {6256// CHECK-NEXT:          "id": "0x{{.*}}",6257// CHECK-NEXT:          "kind": "CompoundStmt",6258// CHECK-NEXT:          "range": {6259// CHECK-NEXT:           "begin": {6260// CHECK-NEXT:            "offset": 2085,6261// CHECK-NEXT:            "col": 10,6262// CHECK-NEXT:            "tokLen": 16263// CHECK-NEXT:           },6264// CHECK-NEXT:           "end": {6265// CHECK-NEXT:            "offset": 2101,6266// CHECK-NEXT:            "col": 26,6267// CHECK-NEXT:            "tokLen": 16268// CHECK-NEXT:           }6269// CHECK-NEXT:          },6270// CHECK-NEXT:          "inner": [6271// CHECK-NEXT:           {6272// CHECK-NEXT:            "id": "0x{{.*}}",6273// CHECK-NEXT:            "kind": "ReturnStmt",6274// CHECK-NEXT:            "range": {6275// CHECK-NEXT:             "begin": {6276// CHECK-NEXT:              "offset": 2087,6277// CHECK-NEXT:              "col": 12,6278// CHECK-NEXT:              "tokLen": 66279// CHECK-NEXT:             },6280// CHECK-NEXT:             "end": {6281// CHECK-NEXT:              "offset": 2098,6282// CHECK-NEXT:              "col": 23,6283// CHECK-NEXT:              "tokLen": 16284// CHECK-NEXT:             }6285// CHECK-NEXT:            },6286// CHECK-NEXT:            "inner": [6287// CHECK-NEXT:             {6288// CHECK-NEXT:              "id": "0x{{.*}}",6289// CHECK-NEXT:              "kind": "BinaryOperator",6290// CHECK-NEXT:              "range": {6291// CHECK-NEXT:               "begin": {6292// CHECK-NEXT:                "offset": 2094,6293// CHECK-NEXT:                "col": 19,6294// CHECK-NEXT:                "tokLen": 16295// CHECK-NEXT:               },6296// CHECK-NEXT:               "end": {6297// CHECK-NEXT:                "offset": 2098,6298// CHECK-NEXT:                "col": 23,6299// CHECK-NEXT:                "tokLen": 16300// CHECK-NEXT:               }6301// CHECK-NEXT:              },6302// CHECK-NEXT:              "type": {6303// CHECK-NEXT:               "qualType": "int"6304// CHECK-NEXT:              },6305// CHECK-NEXT:              "valueCategory": "prvalue",6306// CHECK-NEXT:              "opcode": "+",6307// CHECK-NEXT:              "inner": [6308// CHECK-NEXT:               {6309// CHECK-NEXT:                "id": "0x{{.*}}",6310// CHECK-NEXT:                "kind": "ImplicitCastExpr",6311// CHECK-NEXT:                "range": {6312// CHECK-NEXT:                 "begin": {6313// CHECK-NEXT:                  "offset": 2094,6314// CHECK-NEXT:                  "col": 19,6315// CHECK-NEXT:                  "tokLen": 16316// CHECK-NEXT:                 },6317// CHECK-NEXT:                 "end": {6318// CHECK-NEXT:                  "offset": 2094,6319// CHECK-NEXT:                  "col": 19,6320// CHECK-NEXT:                  "tokLen": 16321// CHECK-NEXT:                 }6322// CHECK-NEXT:                },6323// CHECK-NEXT:                "type": {6324// CHECK-NEXT:                 "qualType": "int"6325// CHECK-NEXT:                },6326// CHECK-NEXT:                "valueCategory": "prvalue",6327// CHECK-NEXT:                "castKind": "LValueToRValue",6328// CHECK-NEXT:                "inner": [6329// CHECK-NEXT:                 {6330// CHECK-NEXT:                  "id": "0x{{.*}}",6331// CHECK-NEXT:                  "kind": "DeclRefExpr",6332// CHECK-NEXT:                  "range": {6333// CHECK-NEXT:                   "begin": {6334// CHECK-NEXT:                    "offset": 2094,6335// CHECK-NEXT:                    "col": 19,6336// CHECK-NEXT:                    "tokLen": 16337// CHECK-NEXT:                   },6338// CHECK-NEXT:                   "end": {6339// CHECK-NEXT:                    "offset": 2094,6340// CHECK-NEXT:                    "col": 19,6341// CHECK-NEXT:                    "tokLen": 16342// CHECK-NEXT:                   }6343// CHECK-NEXT:                  },6344// CHECK-NEXT:                  "type": {6345// CHECK-NEXT:                   "qualType": "const int"6346// CHECK-NEXT:                  },6347// CHECK-NEXT:                  "valueCategory": "lvalue",6348// CHECK-NEXT:                  "referencedDecl": {6349// CHECK-NEXT:                   "id": "0x{{.*}}",6350// CHECK-NEXT:                   "kind": "VarDecl",6351// CHECK-NEXT:                   "name": "b",6352// CHECK-NEXT:                   "type": {6353// CHECK-NEXT:                    "qualType": "int"6354// CHECK-NEXT:                   }6355// CHECK-NEXT:                  }6356// CHECK-NEXT:                 }6357// CHECK-NEXT:                ]6358// CHECK-NEXT:               },6359// CHECK-NEXT:               {6360// CHECK-NEXT:                "id": "0x{{.*}}",6361// CHECK-NEXT:                "kind": "ImplicitCastExpr",6362// CHECK-NEXT:                "range": {6363// CHECK-NEXT:                 "begin": {6364// CHECK-NEXT:                  "offset": 2098,6365// CHECK-NEXT:                  "col": 23,6366// CHECK-NEXT:                  "tokLen": 16367// CHECK-NEXT:                 },6368// CHECK-NEXT:                 "end": {6369// CHECK-NEXT:                  "offset": 2098,6370// CHECK-NEXT:                  "col": 23,6371// CHECK-NEXT:                  "tokLen": 16372// CHECK-NEXT:                 }6373// CHECK-NEXT:                },6374// CHECK-NEXT:                "type": {6375// CHECK-NEXT:                 "qualType": "int"6376// CHECK-NEXT:                },6377// CHECK-NEXT:                "valueCategory": "prvalue",6378// CHECK-NEXT:                "castKind": "LValueToRValue",6379// CHECK-NEXT:                "inner": [6380// CHECK-NEXT:                 {6381// CHECK-NEXT:                  "id": "0x{{.*}}",6382// CHECK-NEXT:                  "kind": "DeclRefExpr",6383// CHECK-NEXT:                  "range": {6384// CHECK-NEXT:                   "begin": {6385// CHECK-NEXT:                    "offset": 2098,6386// CHECK-NEXT:                    "col": 23,6387// CHECK-NEXT:                    "tokLen": 16388// CHECK-NEXT:                   },6389// CHECK-NEXT:                   "end": {6390// CHECK-NEXT:                    "offset": 2098,6391// CHECK-NEXT:                    "col": 23,6392// CHECK-NEXT:                    "tokLen": 16393// CHECK-NEXT:                   }6394// CHECK-NEXT:                  },6395// CHECK-NEXT:                  "type": {6396// CHECK-NEXT:                   "qualType": "int"6397// CHECK-NEXT:                  },6398// CHECK-NEXT:                  "valueCategory": "lvalue",6399// CHECK-NEXT:                  "referencedDecl": {6400// CHECK-NEXT:                   "id": "0x{{.*}}",6401// CHECK-NEXT:                   "kind": "VarDecl",6402// CHECK-NEXT:                   "name": "c",6403// CHECK-NEXT:                   "type": {6404// CHECK-NEXT:                    "qualType": "int"6405// CHECK-NEXT:                   }6406// CHECK-NEXT:                  }6407// CHECK-NEXT:                 }6408// CHECK-NEXT:                ]6409// CHECK-NEXT:               }6410// CHECK-NEXT:              ]6411// CHECK-NEXT:             }6412// CHECK-NEXT:            ]6413// CHECK-NEXT:           }6414// CHECK-NEXT:          ]6415// CHECK-NEXT:         }6416// CHECK-NEXT:        ]6417// CHECK-NEXT:       },6418// CHECK-NEXT:       {6419// CHECK-NEXT:        "id": "0x{{.*}}",6420// CHECK-NEXT:        "kind": "LambdaExpr",6421// CHECK-NEXT:        "range": {6422// CHECK-NEXT:         "begin": {6423// CHECK-NEXT:          "offset": 2106,6424// CHECK-NEXT:          "line": 113,6425// CHECK-NEXT:          "col": 3,6426// CHECK-NEXT:          "tokLen": 16427// CHECK-NEXT:         },6428// CHECK-NEXT:         "end": {6429// CHECK-NEXT:          "offset": 2121,6430// CHECK-NEXT:          "col": 18,6431// CHECK-NEXT:          "tokLen": 16432// CHECK-NEXT:         }6433// CHECK-NEXT:        },6434// CHECK-NEXT:        "type": {6435// CHECK-NEXT:         "qualType": "(lambda at {{.*}}:113:3)"6436// CHECK-NEXT:        },6437// CHECK-NEXT:        "valueCategory": "prvalue",6438// CHECK-NEXT:        "hasExplicitParameters": false,6439// CHECK-NEXT:        "inner": [6440// CHECK-NEXT:         {6441// CHECK-NEXT:          "id": "0x{{.*}}",6442// CHECK-NEXT:          "kind": "CXXRecordDecl",6443// CHECK-NEXT:          "loc": {6444// CHECK-NEXT:           "offset": 2106,6445// CHECK-NEXT:           "col": 3,6446// CHECK-NEXT:           "tokLen": 16447// CHECK-NEXT:          },6448// CHECK-NEXT:          "range": {6449// CHECK-NEXT:           "begin": {6450// CHECK-NEXT:            "offset": 2106,6451// CHECK-NEXT:            "col": 3,6452// CHECK-NEXT:            "tokLen": 16453// CHECK-NEXT:           },6454// CHECK-NEXT:           "end": {6455// CHECK-NEXT:            "offset": 2106,6456// CHECK-NEXT:            "col": 3,6457// CHECK-NEXT:            "tokLen": 16458// CHECK-NEXT:           }6459// CHECK-NEXT:          },6460// CHECK-NEXT:          "isImplicit": true,6461// CHECK-NEXT:          "tagUsed": "class",6462// CHECK-NEXT:          "completeDefinition": true,6463// CHECK-NEXT:          "definitionData": {6464// CHECK-NEXT:           "canConstDefaultInit": true,6465// CHECK-NEXT:           "copyAssign": {6466// CHECK-NEXT:            "hasConstParam": true,6467// CHECK-NEXT:            "implicitHasConstParam": true,6468// CHECK-NEXT:            "needsImplicit": true,6469// CHECK-NEXT:            "trivial": true6470// CHECK-NEXT:           },6471// CHECK-NEXT:           "copyCtor": {6472// CHECK-NEXT:            "hasConstParam": true,6473// CHECK-NEXT:            "implicitHasConstParam": true,6474// CHECK-NEXT:            "needsImplicit": true,6475// CHECK-NEXT:            "simple": true,6476// CHECK-NEXT:            "trivial": true6477// CHECK-NEXT:           },6478// CHECK-NEXT:           "defaultCtor": {},6479// CHECK-NEXT:           "dtor": {6480// CHECK-NEXT:            "irrelevant": true,6481// CHECK-NEXT:            "needsImplicit": true,6482// CHECK-NEXT:            "simple": true,6483// CHECK-NEXT:            "trivial": true6484// CHECK-NEXT:           },6485// CHECK-NEXT:           "isLambda": true,6486// CHECK-NEXT:           "isStandardLayout": true,6487// CHECK-NEXT:           "isTriviallyCopyable": true,6488// CHECK-NEXT:           "moveAssign": {},6489// CHECK-NEXT:           "moveCtor": {6490// CHECK-NEXT:            "exists": true,6491// CHECK-NEXT:            "needsImplicit": true,6492// CHECK-NEXT:            "simple": true,6493// CHECK-NEXT:            "trivial": true6494// CHECK-NEXT:           }6495// CHECK-NEXT:          },6496// CHECK-NEXT:          "inner": [6497// CHECK-NEXT:           {6498// CHECK-NEXT:            "id": "0x{{.*}}",6499// CHECK-NEXT:            "kind": "CXXMethodDecl",6500// CHECK-NEXT:            "loc": {6501// CHECK-NEXT:             "offset": 2106,6502// CHECK-NEXT:             "col": 3,6503// CHECK-NEXT:             "tokLen": 16504// CHECK-NEXT:            },6505// CHECK-NEXT:            "range": {6506// CHECK-NEXT:             "begin": {6507// CHECK-NEXT:              "offset": 2119,6508// CHECK-NEXT:              "col": 16,6509// CHECK-NEXT:              "tokLen": 16510// CHECK-NEXT:             },6511// CHECK-NEXT:             "end": {6512// CHECK-NEXT:              "offset": 2121,6513// CHECK-NEXT:              "col": 18,6514// CHECK-NEXT:              "tokLen": 16515// CHECK-NEXT:             }6516// CHECK-NEXT:            },6517// CHECK-NEXT:            "name": "operator()",6518// CHECK-NEXT:            "type": {6519// CHECK-NEXT:             "qualType": "auto () const -> auto"6520// CHECK-NEXT:            },6521// CHECK-NEXT:            "inline": true,6522// CHECK-NEXT:            "inner": [6523// CHECK-NEXT:             {6524// CHECK-NEXT:              "id": "0x{{.*}}",6525// CHECK-NEXT:              "kind": "CompoundStmt",6526// CHECK-NEXT:              "range": {6527// CHECK-NEXT:               "begin": {6528// CHECK-NEXT:                "offset": 2120,6529// CHECK-NEXT:                "col": 17,6530// CHECK-NEXT:                "tokLen": 16531// CHECK-NEXT:               },6532// CHECK-NEXT:               "end": {6533// CHECK-NEXT:                "offset": 2121,6534// CHECK-NEXT:                "col": 18,6535// CHECK-NEXT:                "tokLen": 16536// CHECK-NEXT:               }6537// CHECK-NEXT:              }6538// CHECK-NEXT:             }6539// CHECK-NEXT:            ]6540// CHECK-NEXT:           },6541// CHECK-NEXT:           {6542// CHECK-NEXT:            "id": "0x{{.*}}",6543// CHECK-NEXT:            "kind": "FieldDecl",6544// CHECK-NEXT:            "loc": {6545// CHECK-NEXT:             "offset": 2107,6546// CHECK-NEXT:             "col": 4,6547// CHECK-NEXT:             "tokLen": 16548// CHECK-NEXT:            },6549// CHECK-NEXT:            "range": {6550// CHECK-NEXT:             "begin": {6551// CHECK-NEXT:              "offset": 2107,6552// CHECK-NEXT:              "col": 4,6553// CHECK-NEXT:              "tokLen": 16554// CHECK-NEXT:             },6555// CHECK-NEXT:             "end": {6556// CHECK-NEXT:              "offset": 2107,6557// CHECK-NEXT:              "col": 4,6558// CHECK-NEXT:              "tokLen": 16559// CHECK-NEXT:             }6560// CHECK-NEXT:            },6561// CHECK-NEXT:            "isImplicit": true,6562// CHECK-NEXT:            "type": {6563// CHECK-NEXT:             "qualType": "Ts..."6564// CHECK-NEXT:            }6565// CHECK-NEXT:           },6566// CHECK-NEXT:           {6567// CHECK-NEXT:            "id": "0x{{.*}}",6568// CHECK-NEXT:            "kind": "FieldDecl",6569// CHECK-NEXT:            "loc": {6570// CHECK-NEXT:             "offset": 2113,6571// CHECK-NEXT:             "col": 10,6572// CHECK-NEXT:             "tokLen": 16573// CHECK-NEXT:            },6574// CHECK-NEXT:            "range": {6575// CHECK-NEXT:             "begin": {6576// CHECK-NEXT:              "offset": 2113,6577// CHECK-NEXT:              "col": 10,6578// CHECK-NEXT:              "tokLen": 16579// CHECK-NEXT:             },6580// CHECK-NEXT:             "end": {6581// CHECK-NEXT:              "offset": 2113,6582// CHECK-NEXT:              "col": 10,6583// CHECK-NEXT:              "tokLen": 16584// CHECK-NEXT:             }6585// CHECK-NEXT:            },6586// CHECK-NEXT:            "isImplicit": true,6587// CHECK-NEXT:            "type": {6588// CHECK-NEXT:             "qualType": "int"6589// CHECK-NEXT:            }6590// CHECK-NEXT:           }6591// CHECK-NEXT:          ]6592// CHECK-NEXT:         },6593// CHECK-NEXT:         {6594// CHECK-NEXT:          "id": "0x{{.*}}",6595// CHECK-NEXT:          "kind": "ParenListExpr",6596// CHECK-NEXT:          "range": {6597// CHECK-NEXT:           "begin": {6598// CHECK-NEXT:            "offset": 2107,6599// CHECK-NEXT:            "col": 4,6600// CHECK-NEXT:            "tokLen": 16601// CHECK-NEXT:           },6602// CHECK-NEXT:           "end": {6603// CHECK-NEXT:            "offset": 2107,6604// CHECK-NEXT:            "col": 4,6605// CHECK-NEXT:            "tokLen": 16606// CHECK-NEXT:           }6607// CHECK-NEXT:          },6608// CHECK-NEXT:          "type": {6609// CHECK-NEXT:           "qualType": "NULL TYPE"6610// CHECK-NEXT:          },6611// CHECK-NEXT:          "valueCategory": "prvalue",6612// CHECK-NEXT:          "inner": [6613// CHECK-NEXT:           {6614// CHECK-NEXT:            "id": "0x{{.*}}",6615// CHECK-NEXT:            "kind": "DeclRefExpr",6616// CHECK-NEXT:            "range": {6617// CHECK-NEXT:             "begin": {6618// CHECK-NEXT:              "offset": 2107,6619// CHECK-NEXT:              "col": 4,6620// CHECK-NEXT:              "tokLen": 16621// CHECK-NEXT:             },6622// CHECK-NEXT:             "end": {6623// CHECK-NEXT:              "offset": 2107,6624// CHECK-NEXT:              "col": 4,6625// CHECK-NEXT:              "tokLen": 16626// CHECK-NEXT:             }6627// CHECK-NEXT:            },6628// CHECK-NEXT:            "type": {6629// CHECK-NEXT:             "qualType": "Ts"6630// CHECK-NEXT:            },6631// CHECK-NEXT:            "valueCategory": "lvalue",6632// CHECK-NEXT:            "referencedDecl": {6633// CHECK-NEXT:             "id": "0x{{.*}}",6634// CHECK-NEXT:             "kind": "ParmVarDecl",6635// CHECK-NEXT:             "name": "a",6636// CHECK-NEXT:             "type": {6637// CHECK-NEXT:              "qualType": "Ts..."6638// CHECK-NEXT:             }6639// CHECK-NEXT:            }6640// CHECK-NEXT:           }6641// CHECK-NEXT:          ]6642// CHECK-NEXT:         },6643// CHECK-NEXT:         {6644// CHECK-NEXT:          "id": "0x{{.*}}",6645// CHECK-NEXT:          "kind": "IntegerLiteral",6646// CHECK-NEXT:          "range": {6647// CHECK-NEXT:           "begin": {6648// CHECK-NEXT:            "offset": 2117,6649// CHECK-NEXT:            "col": 14,6650// CHECK-NEXT:            "tokLen": 26651// CHECK-NEXT:           },6652// CHECK-NEXT:           "end": {6653// CHECK-NEXT:            "offset": 2117,6654// CHECK-NEXT:            "col": 14,6655// CHECK-NEXT:            "tokLen": 26656// CHECK-NEXT:           }6657// CHECK-NEXT:          },6658// CHECK-NEXT:          "type": {6659// CHECK-NEXT:           "qualType": "int"6660// CHECK-NEXT:          },6661// CHECK-NEXT:          "valueCategory": "prvalue",6662// CHECK-NEXT:          "value": "12"6663// CHECK-NEXT:         },6664// CHECK-NEXT:         {6665// CHECK-NEXT:          "id": "0x{{.*}}",6666// CHECK-NEXT:          "kind": "CompoundStmt",6667// CHECK-NEXT:          "range": {6668// CHECK-NEXT:           "begin": {6669// CHECK-NEXT:            "offset": 2120,6670// CHECK-NEXT:            "col": 17,6671// CHECK-NEXT:            "tokLen": 16672// CHECK-NEXT:           },6673// CHECK-NEXT:           "end": {6674// CHECK-NEXT:            "offset": 2121,6675// CHECK-NEXT:            "col": 18,6676// CHECK-NEXT:            "tokLen": 16677// CHECK-NEXT:           }6678// CHECK-NEXT:          }6679// CHECK-NEXT:         }6680// CHECK-NEXT:        ]6681// CHECK-NEXT:       },6682// CHECK-NEXT:       {6683// CHECK-NEXT:        "id": "0x{{.*}}",6684// CHECK-NEXT:        "kind": "LambdaExpr",6685// CHECK-NEXT:        "range": {6686// CHECK-NEXT:         "begin": {6687// CHECK-NEXT:          "offset": 2126,6688// CHECK-NEXT:          "line": 114,6689// CHECK-NEXT:          "col": 3,6690// CHECK-NEXT:          "tokLen": 16691// CHECK-NEXT:         },6692// CHECK-NEXT:         "end": {6693// CHECK-NEXT:          "offset": 2142,6694// CHECK-NEXT:          "col": 19,6695// CHECK-NEXT:          "tokLen": 16696// CHECK-NEXT:         }6697// CHECK-NEXT:        },6698// CHECK-NEXT:        "type": {6699// CHECK-NEXT:         "qualType": "(lambda at {{.*}}:114:3)"6700// CHECK-NEXT:        },6701// CHECK-NEXT:        "valueCategory": "prvalue",6702// CHECK-NEXT:        "hasExplicitParameters": true,6703// CHECK-NEXT:        "inner": [6704// CHECK-NEXT:         {6705// CHECK-NEXT:          "id": "0x{{.*}}",6706// CHECK-NEXT:          "kind": "CXXRecordDecl",6707// CHECK-NEXT:          "loc": {6708// CHECK-NEXT:           "offset": 2126,6709// CHECK-NEXT:           "col": 3,6710// CHECK-NEXT:           "tokLen": 16711// CHECK-NEXT:          },6712// CHECK-NEXT:          "range": {6713// CHECK-NEXT:           "begin": {6714// CHECK-NEXT:            "offset": 2126,6715// CHECK-NEXT:            "col": 3,6716// CHECK-NEXT:            "tokLen": 16717// CHECK-NEXT:           },6718// CHECK-NEXT:           "end": {6719// CHECK-NEXT:            "offset": 2126,6720// CHECK-NEXT:            "col": 3,6721// CHECK-NEXT:            "tokLen": 16722// CHECK-NEXT:           }6723// CHECK-NEXT:          },6724// CHECK-NEXT:          "isImplicit": true,6725// CHECK-NEXT:          "tagUsed": "class",6726// CHECK-NEXT:          "completeDefinition": true,6727// CHECK-NEXT:          "definitionData": {6728// CHECK-NEXT:           "canConstDefaultInit": true,6729// CHECK-NEXT:           "copyAssign": {6730// CHECK-NEXT:            "hasConstParam": true,6731// CHECK-NEXT:            "implicitHasConstParam": true,6732// CHECK-NEXT:            "needsImplicit": true,6733// CHECK-NEXT:            "trivial": true6734// CHECK-NEXT:           },6735// CHECK-NEXT:           "copyCtor": {6736// CHECK-NEXT:            "hasConstParam": true,6737// CHECK-NEXT:            "implicitHasConstParam": true,6738// CHECK-NEXT:            "needsImplicit": true,6739// CHECK-NEXT:            "simple": true,6740// CHECK-NEXT:            "trivial": true6741// CHECK-NEXT:           },6742// CHECK-NEXT:           "defaultCtor": {6743// CHECK-NEXT:            "defaultedIsConstexpr": true6744// CHECK-NEXT:           },6745// CHECK-NEXT:           "dtor": {6746// CHECK-NEXT:            "irrelevant": true,6747// CHECK-NEXT:            "needsImplicit": true,6748// CHECK-NEXT:            "simple": true,6749// CHECK-NEXT:            "trivial": true6750// CHECK-NEXT:           },6751// CHECK-NEXT:           "isEmpty": true,6752// CHECK-NEXT:           "isLambda": true,6753// CHECK-NEXT:           "isLiteral": true,6754// CHECK-NEXT:           "isStandardLayout": true,6755// CHECK-NEXT:           "isTriviallyCopyable": true,6756// CHECK-NEXT:           "moveAssign": {},6757// CHECK-NEXT:           "moveCtor": {6758// CHECK-NEXT:            "exists": true,6759// CHECK-NEXT:            "needsImplicit": true,6760// CHECK-NEXT:            "simple": true,6761// CHECK-NEXT:            "trivial": true6762// CHECK-NEXT:           }6763// CHECK-NEXT:          },6764// CHECK-NEXT:          "inner": [6765// CHECK-NEXT:           {6766// CHECK-NEXT:            "id": "0x{{.*}}",6767// CHECK-NEXT:            "kind": "CXXMethodDecl",6768// CHECK-NEXT:            "loc": {6769// CHECK-NEXT:             "offset": 2126,6770// CHECK-NEXT:             "col": 3,6771// CHECK-NEXT:             "tokLen": 16772// CHECK-NEXT:            },6773// CHECK-NEXT:            "range": {6774// CHECK-NEXT:             "begin": {6775// CHECK-NEXT:              "offset": 2131,6776// CHECK-NEXT:              "col": 8,6777// CHECK-NEXT:              "tokLen": 96778// CHECK-NEXT:             },6779// CHECK-NEXT:             "end": {6780// CHECK-NEXT:              "offset": 2142,6781// CHECK-NEXT:              "col": 19,6782// CHECK-NEXT:              "tokLen": 16783// CHECK-NEXT:             }6784// CHECK-NEXT:            },6785// CHECK-NEXT:            "name": "operator()",6786// CHECK-NEXT:            "type": {6787// CHECK-NEXT:             "qualType": "auto () const"6788// CHECK-NEXT:            },6789// CHECK-NEXT:            "inline": true,6790// CHECK-NEXT:            "constexpr": true,6791// CHECK-NEXT:            "inner": [6792// CHECK-NEXT:             {6793// CHECK-NEXT:              "id": "0x{{.*}}",6794// CHECK-NEXT:              "kind": "CompoundStmt",6795// CHECK-NEXT:              "range": {6796// CHECK-NEXT:               "begin": {6797// CHECK-NEXT:                "offset": 2141,6798// CHECK-NEXT:                "col": 18,6799// CHECK-NEXT:                "tokLen": 16800// CHECK-NEXT:               },6801// CHECK-NEXT:               "end": {6802// CHECK-NEXT:                "offset": 2142,6803// CHECK-NEXT:                "col": 19,6804// CHECK-NEXT:                "tokLen": 16805// CHECK-NEXT:               }6806// CHECK-NEXT:              }6807// CHECK-NEXT:             }6808// CHECK-NEXT:            ]6809// CHECK-NEXT:           },6810// CHECK-NEXT:           {6811// CHECK-NEXT:            "id": "0x{{.*}}",6812// CHECK-NEXT:            "kind": "CXXConversionDecl",6813// CHECK-NEXT:            "loc": {6814// CHECK-NEXT:             "offset": 2126,6815// CHECK-NEXT:             "col": 3,6816// CHECK-NEXT:             "tokLen": 16817// CHECK-NEXT:            },6818// CHECK-NEXT:            "range": {6819// CHECK-NEXT:             "begin": {6820// CHECK-NEXT:              "offset": 2126,6821// CHECK-NEXT:              "col": 3,6822// CHECK-NEXT:              "tokLen": 16823// CHECK-NEXT:             },6824// CHECK-NEXT:             "end": {6825// CHECK-NEXT:              "offset": 2142,6826// CHECK-NEXT:              "col": 19,6827// CHECK-NEXT:              "tokLen": 16828// CHECK-NEXT:             }6829// CHECK-NEXT:            },6830// CHECK-NEXT:            "isImplicit": true,6831// CHECK-NEXT:            "name": "operator auto (*)()",6832// CHECK-NEXT:            "type": {6833// CHECK-NEXT:             "qualType": "auto (*() const noexcept)()"6834// CHECK-NEXT:            },6835// CHECK-NEXT:            "inline": true,6836// CHECK-NEXT:            "constexpr": true6837// CHECK-NEXT:           },6838// CHECK-NEXT:           {6839// CHECK-NEXT:            "id": "0x{{.*}}",6840// CHECK-NEXT:            "kind": "CXXMethodDecl",6841// CHECK-NEXT:            "loc": {6842// CHECK-NEXT:             "offset": 2126,6843// CHECK-NEXT:             "col": 3,6844// CHECK-NEXT:             "tokLen": 16845// CHECK-NEXT:            },6846// CHECK-NEXT:            "range": {6847// CHECK-NEXT:             "begin": {6848// CHECK-NEXT:              "offset": 2126,6849// CHECK-NEXT:              "col": 3,6850// CHECK-NEXT:              "tokLen": 16851// CHECK-NEXT:             },6852// CHECK-NEXT:             "end": {6853// CHECK-NEXT:              "offset": 2142,6854// CHECK-NEXT:              "col": 19,6855// CHECK-NEXT:              "tokLen": 16856// CHECK-NEXT:             }6857// CHECK-NEXT:            },6858// CHECK-NEXT:            "isImplicit": true,6859// CHECK-NEXT:            "name": "__invoke",6860// CHECK-NEXT:            "type": {6861// CHECK-NEXT:             "qualType": "auto ()"6862// CHECK-NEXT:            },6863// CHECK-NEXT:            "storageClass": "static",6864// CHECK-NEXT:            "inline": true,6865// CHECK-NEXT:            "constexpr": true6866// CHECK-NEXT:           }6867// CHECK-NEXT:          ]6868// CHECK-NEXT:         },6869// CHECK-NEXT:         {6870// CHECK-NEXT:          "id": "0x{{.*}}",6871// CHECK-NEXT:          "kind": "CompoundStmt",6872// CHECK-NEXT:          "range": {6873// CHECK-NEXT:           "begin": {6874// CHECK-NEXT:            "offset": 2141,6875// CHECK-NEXT:            "col": 18,6876// CHECK-NEXT:            "tokLen": 16877// CHECK-NEXT:           },6878// CHECK-NEXT:           "end": {6879// CHECK-NEXT:            "offset": 2142,6880// CHECK-NEXT:            "col": 19,6881// CHECK-NEXT:            "tokLen": 16882// CHECK-NEXT:           }6883// CHECK-NEXT:          }6884// CHECK-NEXT:         }6885// CHECK-NEXT:        ]6886// CHECK-NEXT:       },6887// CHECK-NEXT:       {6888// CHECK-NEXT:        "id": "0x{{.*}}",6889// CHECK-NEXT:        "kind": "LambdaExpr",6890// CHECK-NEXT:        "range": {6891// CHECK-NEXT:         "begin": {6892// CHECK-NEXT:          "offset": 2147,6893// CHECK-NEXT:          "line": 115,6894// CHECK-NEXT:          "col": 3,6895// CHECK-NEXT:          "tokLen": 16896// CHECK-NEXT:         },6897// CHECK-NEXT:         "end": {6898// CHECK-NEXT:          "offset": 2161,6899// CHECK-NEXT:          "col": 17,6900// CHECK-NEXT:          "tokLen": 16901// CHECK-NEXT:         }6902// CHECK-NEXT:        },6903// CHECK-NEXT:        "type": {6904// CHECK-NEXT:         "qualType": "(lambda at {{.*}}:115:3)"6905// CHECK-NEXT:        },6906// CHECK-NEXT:        "valueCategory": "prvalue",6907// CHECK-NEXT:        "hasExplicitParameters": true,6908// CHECK-NEXT:        "inner": [6909// CHECK-NEXT:         {6910// CHECK-NEXT:          "id": "0x{{.*}}",6911// CHECK-NEXT:          "kind": "CXXRecordDecl",6912// CHECK-NEXT:          "loc": {6913// CHECK-NEXT:           "offset": 2147,6914// CHECK-NEXT:           "col": 3,6915// CHECK-NEXT:           "tokLen": 16916// CHECK-NEXT:          },6917// CHECK-NEXT:          "range": {6918// CHECK-NEXT:           "begin": {6919// CHECK-NEXT:            "offset": 2147,6920// CHECK-NEXT:            "col": 3,6921// CHECK-NEXT:            "tokLen": 16922// CHECK-NEXT:           },6923// CHECK-NEXT:           "end": {6924// CHECK-NEXT:            "offset": 2147,6925// CHECK-NEXT:            "col": 3,6926// CHECK-NEXT:            "tokLen": 16927// CHECK-NEXT:           }6928// CHECK-NEXT:          },6929// CHECK-NEXT:          "isImplicit": true,6930// CHECK-NEXT:          "tagUsed": "class",6931// CHECK-NEXT:          "completeDefinition": true,6932// CHECK-NEXT:          "definitionData": {6933// CHECK-NEXT:           "canConstDefaultInit": true,6934// CHECK-NEXT:           "copyAssign": {6935// CHECK-NEXT:            "hasConstParam": true,6936// CHECK-NEXT:            "implicitHasConstParam": true,6937// CHECK-NEXT:            "needsImplicit": true,6938// CHECK-NEXT:            "trivial": true6939// CHECK-NEXT:           },6940// CHECK-NEXT:           "copyCtor": {6941// CHECK-NEXT:            "hasConstParam": true,6942// CHECK-NEXT:            "implicitHasConstParam": true,6943// CHECK-NEXT:            "needsImplicit": true,6944// CHECK-NEXT:            "simple": true,6945// CHECK-NEXT:            "trivial": true6946// CHECK-NEXT:           },6947// CHECK-NEXT:           "defaultCtor": {6948// CHECK-NEXT:            "defaultedIsConstexpr": true6949// CHECK-NEXT:           },6950// CHECK-NEXT:           "dtor": {6951// CHECK-NEXT:            "irrelevant": true,6952// CHECK-NEXT:            "needsImplicit": true,6953// CHECK-NEXT:            "simple": true,6954// CHECK-NEXT:            "trivial": true6955// CHECK-NEXT:           },6956// CHECK-NEXT:           "isEmpty": true,6957// CHECK-NEXT:           "isLambda": true,6958// CHECK-NEXT:           "isLiteral": true,6959// CHECK-NEXT:           "isStandardLayout": true,6960// CHECK-NEXT:           "isTriviallyCopyable": true,6961// CHECK-NEXT:           "moveAssign": {},6962// CHECK-NEXT:           "moveCtor": {6963// CHECK-NEXT:            "exists": true,6964// CHECK-NEXT:            "needsImplicit": true,6965// CHECK-NEXT:            "simple": true,6966// CHECK-NEXT:            "trivial": true6967// CHECK-NEXT:           }6968// CHECK-NEXT:          },6969// CHECK-NEXT:          "inner": [6970// CHECK-NEXT:           {6971// CHECK-NEXT:            "id": "0x{{.*}}",6972// CHECK-NEXT:            "kind": "CXXMethodDecl",6973// CHECK-NEXT:            "loc": {6974// CHECK-NEXT:             "offset": 2147,6975// CHECK-NEXT:             "col": 3,6976// CHECK-NEXT:             "tokLen": 16977// CHECK-NEXT:            },6978// CHECK-NEXT:            "range": {6979// CHECK-NEXT:             "begin": {6980// CHECK-NEXT:              "offset": 2152,6981// CHECK-NEXT:              "col": 8,6982// CHECK-NEXT:              "tokLen": 76983// CHECK-NEXT:             },6984// CHECK-NEXT:             "end": {6985// CHECK-NEXT:              "offset": 2161,6986// CHECK-NEXT:              "col": 17,6987// CHECK-NEXT:              "tokLen": 16988// CHECK-NEXT:             }6989// CHECK-NEXT:            },6990// CHECK-NEXT:            "name": "operator()",6991// CHECK-NEXT:            "type": {6992// CHECK-NEXT:             "qualType": "auto ()"6993// CHECK-NEXT:            },6994// CHECK-NEXT:            "inline": true,6995// CHECK-NEXT:            "inner": [6996// CHECK-NEXT:             {6997// CHECK-NEXT:              "id": "0x{{.*}}",6998// CHECK-NEXT:              "kind": "CompoundStmt",6999// CHECK-NEXT:              "range": {7000// CHECK-NEXT:               "begin": {7001// CHECK-NEXT:                "offset": 2160,7002// CHECK-NEXT:                "col": 16,7003// CHECK-NEXT:                "tokLen": 17004// CHECK-NEXT:               },7005// CHECK-NEXT:               "end": {7006// CHECK-NEXT:                "offset": 2161,7007// CHECK-NEXT:                "col": 17,7008// CHECK-NEXT:                "tokLen": 17009// CHECK-NEXT:               }7010// CHECK-NEXT:              }7011// CHECK-NEXT:             }7012// CHECK-NEXT:            ]7013// CHECK-NEXT:           },7014// CHECK-NEXT:           {7015// CHECK-NEXT:            "id": "0x{{.*}}",7016// CHECK-NEXT:            "kind": "CXXConversionDecl",7017// CHECK-NEXT:            "loc": {7018// CHECK-NEXT:             "offset": 2147,7019// CHECK-NEXT:             "col": 3,7020// CHECK-NEXT:             "tokLen": 17021// CHECK-NEXT:            },7022// CHECK-NEXT:            "range": {7023// CHECK-NEXT:             "begin": {7024// CHECK-NEXT:              "offset": 2147,7025// CHECK-NEXT:              "col": 3,7026// CHECK-NEXT:              "tokLen": 17027// CHECK-NEXT:             },7028// CHECK-NEXT:             "end": {7029// CHECK-NEXT:              "offset": 2161,7030// CHECK-NEXT:              "col": 17,7031// CHECK-NEXT:              "tokLen": 17032// CHECK-NEXT:             }7033// CHECK-NEXT:            },7034// CHECK-NEXT:            "isImplicit": true,7035// CHECK-NEXT:            "name": "operator auto (*)()",7036// CHECK-NEXT:            "type": {7037// CHECK-NEXT:             "qualType": "auto (*() const noexcept)()"7038// CHECK-NEXT:            },7039// CHECK-NEXT:            "inline": true,7040// CHECK-NEXT:            "constexpr": true7041// CHECK-NEXT:           },7042// CHECK-NEXT:           {7043// CHECK-NEXT:            "id": "0x{{.*}}",7044// CHECK-NEXT:            "kind": "CXXMethodDecl",7045// CHECK-NEXT:            "loc": {7046// CHECK-NEXT:             "offset": 2147,7047// CHECK-NEXT:             "col": 3,7048// CHECK-NEXT:             "tokLen": 17049// CHECK-NEXT:            },7050// CHECK-NEXT:            "range": {7051// CHECK-NEXT:             "begin": {7052// CHECK-NEXT:              "offset": 2147,7053// CHECK-NEXT:              "col": 3,7054// CHECK-NEXT:              "tokLen": 17055// CHECK-NEXT:             },7056// CHECK-NEXT:             "end": {7057// CHECK-NEXT:              "offset": 2161,7058// CHECK-NEXT:              "col": 17,7059// CHECK-NEXT:              "tokLen": 17060// CHECK-NEXT:             }7061// CHECK-NEXT:            },7062// CHECK-NEXT:            "isImplicit": true,7063// CHECK-NEXT:            "name": "__invoke",7064// CHECK-NEXT:            "type": {7065// CHECK-NEXT:             "qualType": "auto ()"7066// CHECK-NEXT:            },7067// CHECK-NEXT:            "storageClass": "static",7068// CHECK-NEXT:            "inline": true7069// CHECK-NEXT:           }7070// CHECK-NEXT:          ]7071// CHECK-NEXT:         },7072// CHECK-NEXT:         {7073// CHECK-NEXT:          "id": "0x{{.*}}",7074// CHECK-NEXT:          "kind": "CompoundStmt",7075// CHECK-NEXT:          "range": {7076// CHECK-NEXT:           "begin": {7077// CHECK-NEXT:            "offset": 2160,7078// CHECK-NEXT:            "col": 16,7079// CHECK-NEXT:            "tokLen": 17080// CHECK-NEXT:           },7081// CHECK-NEXT:           "end": {7082// CHECK-NEXT:            "offset": 2161,7083// CHECK-NEXT:            "col": 17,7084// CHECK-NEXT:            "tokLen": 17085// CHECK-NEXT:           }7086// CHECK-NEXT:          }7087// CHECK-NEXT:         }7088// CHECK-NEXT:        ]7089// CHECK-NEXT:       },7090// CHECK-NEXT:       {7091// CHECK-NEXT:        "id": "0x{{.*}}",7092// CHECK-NEXT:        "kind": "LambdaExpr",7093// CHECK-NEXT:        "range": {7094// CHECK-NEXT:         "begin": {7095// CHECK-NEXT:          "offset": 2166,7096// CHECK-NEXT:          "line": 116,7097// CHECK-NEXT:          "col": 3,7098// CHECK-NEXT:          "tokLen": 17099// CHECK-NEXT:         },7100// CHECK-NEXT:         "end": {7101// CHECK-NEXT:          "offset": 2181,7102// CHECK-NEXT:          "col": 18,7103// CHECK-NEXT:          "tokLen": 17104// CHECK-NEXT:         }7105// CHECK-NEXT:        },7106// CHECK-NEXT:        "type": {7107// CHECK-NEXT:         "qualType": "(lambda at {{.*}}:116:3)"7108// CHECK-NEXT:        },7109// CHECK-NEXT:        "valueCategory": "prvalue",7110// CHECK-NEXT:        "hasExplicitParameters": true,7111// CHECK-NEXT:        "inner": [7112// CHECK-NEXT:         {7113// CHECK-NEXT:          "id": "0x{{.*}}",7114// CHECK-NEXT:          "kind": "CXXRecordDecl",7115// CHECK-NEXT:          "loc": {7116// CHECK-NEXT:           "offset": 2166,7117// CHECK-NEXT:           "col": 3,7118// CHECK-NEXT:           "tokLen": 17119// CHECK-NEXT:          },7120// CHECK-NEXT:          "range": {7121// CHECK-NEXT:           "begin": {7122// CHECK-NEXT:            "offset": 2166,7123// CHECK-NEXT:            "col": 3,7124// CHECK-NEXT:            "tokLen": 17125// CHECK-NEXT:           },7126// CHECK-NEXT:           "end": {7127// CHECK-NEXT:            "offset": 2166,7128// CHECK-NEXT:            "col": 3,7129// CHECK-NEXT:            "tokLen": 17130// CHECK-NEXT:           }7131// CHECK-NEXT:          },7132// CHECK-NEXT:          "isImplicit": true,7133// CHECK-NEXT:          "tagUsed": "class",7134// CHECK-NEXT:          "completeDefinition": true,7135// CHECK-NEXT:          "definitionData": {7136// CHECK-NEXT:           "canConstDefaultInit": true,7137// CHECK-NEXT:           "copyAssign": {7138// CHECK-NEXT:            "hasConstParam": true,7139// CHECK-NEXT:            "implicitHasConstParam": true,7140// CHECK-NEXT:            "needsImplicit": true,7141// CHECK-NEXT:            "trivial": true7142// CHECK-NEXT:           },7143// CHECK-NEXT:           "copyCtor": {7144// CHECK-NEXT:            "hasConstParam": true,7145// CHECK-NEXT:            "implicitHasConstParam": true,7146// CHECK-NEXT:            "needsImplicit": true,7147// CHECK-NEXT:            "simple": true,7148// CHECK-NEXT:            "trivial": true7149// CHECK-NEXT:           },7150// CHECK-NEXT:           "defaultCtor": {7151// CHECK-NEXT:            "defaultedIsConstexpr": true7152// CHECK-NEXT:           },7153// CHECK-NEXT:           "dtor": {7154// CHECK-NEXT:            "irrelevant": true,7155// CHECK-NEXT:            "needsImplicit": true,7156// CHECK-NEXT:            "simple": true,7157// CHECK-NEXT:            "trivial": true7158// CHECK-NEXT:           },7159// CHECK-NEXT:           "isEmpty": true,7160// CHECK-NEXT:           "isLambda": true,7161// CHECK-NEXT:           "isLiteral": true,7162// CHECK-NEXT:           "isStandardLayout": true,7163// CHECK-NEXT:           "isTriviallyCopyable": true,7164// CHECK-NEXT:           "moveAssign": {},7165// CHECK-NEXT:           "moveCtor": {7166// CHECK-NEXT:            "exists": true,7167// CHECK-NEXT:            "needsImplicit": true,7168// CHECK-NEXT:            "simple": true,7169// CHECK-NEXT:            "trivial": true7170// CHECK-NEXT:           }7171// CHECK-NEXT:          },7172// CHECK-NEXT:          "inner": [7173// CHECK-NEXT:           {7174// CHECK-NEXT:            "id": "0x{{.*}}",7175// CHECK-NEXT:            "kind": "CXXMethodDecl",7176// CHECK-NEXT:            "loc": {7177// CHECK-NEXT:             "offset": 2166,7178// CHECK-NEXT:             "col": 3,7179// CHECK-NEXT:             "tokLen": 17180// CHECK-NEXT:            },7181// CHECK-NEXT:            "range": {7182// CHECK-NEXT:             "begin": {7183// CHECK-NEXT:              "offset": 2171,7184// CHECK-NEXT:              "col": 8,7185// CHECK-NEXT:              "tokLen": 87186// CHECK-NEXT:             },7187// CHECK-NEXT:             "end": {7188// CHECK-NEXT:              "offset": 2181,7189// CHECK-NEXT:              "col": 18,7190// CHECK-NEXT:              "tokLen": 17191// CHECK-NEXT:             }7192// CHECK-NEXT:            },7193// CHECK-NEXT:            "name": "operator()",7194// CHECK-NEXT:            "type": {7195// CHECK-NEXT:             "qualType": "auto () const noexcept"7196// CHECK-NEXT:            },7197// CHECK-NEXT:            "inline": true,7198// CHECK-NEXT:            "inner": [7199// CHECK-NEXT:             {7200// CHECK-NEXT:              "id": "0x{{.*}}",7201// CHECK-NEXT:              "kind": "CompoundStmt",7202// CHECK-NEXT:              "range": {7203// CHECK-NEXT:               "begin": {7204// CHECK-NEXT:                "offset": 2180,7205// CHECK-NEXT:                "col": 17,7206// CHECK-NEXT:                "tokLen": 17207// CHECK-NEXT:               },7208// CHECK-NEXT:               "end": {7209// CHECK-NEXT:                "offset": 2181,7210// CHECK-NEXT:                "col": 18,7211// CHECK-NEXT:                "tokLen": 17212// CHECK-NEXT:               }7213// CHECK-NEXT:              }7214// CHECK-NEXT:             }7215// CHECK-NEXT:            ]7216// CHECK-NEXT:           },7217// CHECK-NEXT:           {7218// CHECK-NEXT:            "id": "0x{{.*}}",7219// CHECK-NEXT:            "kind": "CXXConversionDecl",7220// CHECK-NEXT:            "loc": {7221// CHECK-NEXT:             "offset": 2166,7222// CHECK-NEXT:             "col": 3,7223// CHECK-NEXT:             "tokLen": 17224// CHECK-NEXT:            },7225// CHECK-NEXT:            "range": {7226// CHECK-NEXT:             "begin": {7227// CHECK-NEXT:              "offset": 2166,7228// CHECK-NEXT:              "col": 3,7229// CHECK-NEXT:              "tokLen": 17230// CHECK-NEXT:             },7231// CHECK-NEXT:             "end": {7232// CHECK-NEXT:              "offset": 2181,7233// CHECK-NEXT:              "col": 18,7234// CHECK-NEXT:              "tokLen": 17235// CHECK-NEXT:             }7236// CHECK-NEXT:            },7237// CHECK-NEXT:            "isImplicit": true,7238// CHECK-NEXT:            "name": "operator auto (*)() noexcept",7239// CHECK-NEXT:            "type": {7240// CHECK-NEXT:             "qualType": "auto (*() const noexcept)() noexcept"7241// CHECK-NEXT:            },7242// CHECK-NEXT:            "inline": true,7243// CHECK-NEXT:            "constexpr": true7244// CHECK-NEXT:           },7245// CHECK-NEXT:           {7246// CHECK-NEXT:            "id": "0x{{.*}}",7247// CHECK-NEXT:            "kind": "CXXMethodDecl",7248// CHECK-NEXT:            "loc": {7249// CHECK-NEXT:             "offset": 2166,7250// CHECK-NEXT:             "col": 3,7251// CHECK-NEXT:             "tokLen": 17252// CHECK-NEXT:            },7253// CHECK-NEXT:            "range": {7254// CHECK-NEXT:             "begin": {7255// CHECK-NEXT:              "offset": 2166,7256// CHECK-NEXT:              "col": 3,7257// CHECK-NEXT:              "tokLen": 17258// CHECK-NEXT:             },7259// CHECK-NEXT:             "end": {7260// CHECK-NEXT:              "offset": 2181,7261// CHECK-NEXT:              "col": 18,7262// CHECK-NEXT:              "tokLen": 17263// CHECK-NEXT:             }7264// CHECK-NEXT:            },7265// CHECK-NEXT:            "isImplicit": true,7266// CHECK-NEXT:            "name": "__invoke",7267// CHECK-NEXT:            "type": {7268// CHECK-NEXT:             "qualType": "auto () noexcept"7269// CHECK-NEXT:            },7270// CHECK-NEXT:            "storageClass": "static",7271// CHECK-NEXT:            "inline": true7272// CHECK-NEXT:           }7273// CHECK-NEXT:          ]7274// CHECK-NEXT:         },7275// CHECK-NEXT:         {7276// CHECK-NEXT:          "id": "0x{{.*}}",7277// CHECK-NEXT:          "kind": "CompoundStmt",7278// CHECK-NEXT:          "range": {7279// CHECK-NEXT:           "begin": {7280// CHECK-NEXT:            "offset": 2180,7281// CHECK-NEXT:            "col": 17,7282// CHECK-NEXT:            "tokLen": 17283// CHECK-NEXT:           },7284// CHECK-NEXT:           "end": {7285// CHECK-NEXT:            "offset": 2181,7286// CHECK-NEXT:            "col": 18,7287// CHECK-NEXT:            "tokLen": 17288// CHECK-NEXT:           }7289// CHECK-NEXT:          }7290// CHECK-NEXT:         }7291// CHECK-NEXT:        ]7292// CHECK-NEXT:       },7293// CHECK-NEXT:       {7294// CHECK-NEXT:        "id": "0x{{.*}}",7295// CHECK-NEXT:        "kind": "LambdaExpr",7296// CHECK-NEXT:        "range": {7297// CHECK-NEXT:         "begin": {7298// CHECK-NEXT:          "offset": 2186,7299// CHECK-NEXT:          "line": 117,7300// CHECK-NEXT:          "col": 3,7301// CHECK-NEXT:          "tokLen": 17302// CHECK-NEXT:         },7303// CHECK-NEXT:         "end": {7304// CHECK-NEXT:          "offset": 2210,7305// CHECK-NEXT:          "col": 27,7306// CHECK-NEXT:          "tokLen": 17307// CHECK-NEXT:         }7308// CHECK-NEXT:        },7309// CHECK-NEXT:        "type": {7310// CHECK-NEXT:         "qualType": "(lambda at {{.*}}:117:3)"7311// CHECK-NEXT:        },7312// CHECK-NEXT:        "valueCategory": "prvalue",7313// CHECK-NEXT:        "hasExplicitParameters": true,7314// CHECK-NEXT:        "inner": [7315// CHECK-NEXT:         {7316// CHECK-NEXT:          "id": "0x{{.*}}",7317// CHECK-NEXT:          "kind": "CXXRecordDecl",7318// CHECK-NEXT:          "loc": {7319// CHECK-NEXT:           "offset": 2186,7320// CHECK-NEXT:           "col": 3,7321// CHECK-NEXT:           "tokLen": 17322// CHECK-NEXT:          },7323// CHECK-NEXT:          "range": {7324// CHECK-NEXT:           "begin": {7325// CHECK-NEXT:            "offset": 2186,7326// CHECK-NEXT:            "col": 3,7327// CHECK-NEXT:            "tokLen": 17328// CHECK-NEXT:           },7329// CHECK-NEXT:           "end": {7330// CHECK-NEXT:            "offset": 2186,7331// CHECK-NEXT:            "col": 3,7332// CHECK-NEXT:            "tokLen": 17333// CHECK-NEXT:           }7334// CHECK-NEXT:          },7335// CHECK-NEXT:          "isImplicit": true,7336// CHECK-NEXT:          "tagUsed": "class",7337// CHECK-NEXT:          "completeDefinition": true,7338// CHECK-NEXT:          "definitionData": {7339// CHECK-NEXT:           "canConstDefaultInit": true,7340// CHECK-NEXT:           "copyAssign": {7341// CHECK-NEXT:            "hasConstParam": true,7342// CHECK-NEXT:            "implicitHasConstParam": true,7343// CHECK-NEXT:            "needsImplicit": true,7344// CHECK-NEXT:            "trivial": true7345// CHECK-NEXT:           },7346// CHECK-NEXT:           "copyCtor": {7347// CHECK-NEXT:            "hasConstParam": true,7348// CHECK-NEXT:            "implicitHasConstParam": true,7349// CHECK-NEXT:            "needsImplicit": true,7350// CHECK-NEXT:            "simple": true,7351// CHECK-NEXT:            "trivial": true7352// CHECK-NEXT:           },7353// CHECK-NEXT:           "defaultCtor": {7354// CHECK-NEXT:            "defaultedIsConstexpr": true7355// CHECK-NEXT:           },7356// CHECK-NEXT:           "dtor": {7357// CHECK-NEXT:            "irrelevant": true,7358// CHECK-NEXT:            "needsImplicit": true,7359// CHECK-NEXT:            "simple": true,7360// CHECK-NEXT:            "trivial": true7361// CHECK-NEXT:           },7362// CHECK-NEXT:           "isEmpty": true,7363// CHECK-NEXT:           "isLambda": true,7364// CHECK-NEXT:           "isLiteral": true,7365// CHECK-NEXT:           "isStandardLayout": true,7366// CHECK-NEXT:           "isTriviallyCopyable": true,7367// CHECK-NEXT:           "moveAssign": {},7368// CHECK-NEXT:           "moveCtor": {7369// CHECK-NEXT:            "exists": true,7370// CHECK-NEXT:            "needsImplicit": true,7371// CHECK-NEXT:            "simple": true,7372// CHECK-NEXT:            "trivial": true7373// CHECK-NEXT:           }7374// CHECK-NEXT:          },7375// CHECK-NEXT:          "inner": [7376// CHECK-NEXT:           {7377// CHECK-NEXT:            "id": "0x{{.*}}",7378// CHECK-NEXT:            "kind": "CXXMethodDecl",7379// CHECK-NEXT:            "loc": {7380// CHECK-NEXT:             "offset": 2186,7381// CHECK-NEXT:             "col": 3,7382// CHECK-NEXT:             "tokLen": 17383// CHECK-NEXT:            },7384// CHECK-NEXT:            "range": {7385// CHECK-NEXT:             "begin": {7386// CHECK-NEXT:              "offset": 2194,7387// CHECK-NEXT:              "col": 11,7388// CHECK-NEXT:              "tokLen": 37389// CHECK-NEXT:             },7390// CHECK-NEXT:             "end": {7391// CHECK-NEXT:              "offset": 2210,7392// CHECK-NEXT:              "col": 27,7393// CHECK-NEXT:              "tokLen": 17394// CHECK-NEXT:             }7395// CHECK-NEXT:            },7396// CHECK-NEXT:            "name": "operator()",7397// CHECK-NEXT:            "type": {7398// CHECK-NEXT:             "qualType": "auto () const -> int"7399// CHECK-NEXT:            },7400// CHECK-NEXT:            "inline": true,7401// CHECK-NEXT:            "inner": [7402// CHECK-NEXT:             {7403// CHECK-NEXT:              "id": "0x{{.*}}",7404// CHECK-NEXT:              "kind": "CompoundStmt",7405// CHECK-NEXT:              "range": {7406// CHECK-NEXT:               "begin": {7407// CHECK-NEXT:                "offset": 2198,7408// CHECK-NEXT:                "col": 15,7409// CHECK-NEXT:                "tokLen": 17410// CHECK-NEXT:               },7411// CHECK-NEXT:               "end": {7412// CHECK-NEXT:                "offset": 2210,7413// CHECK-NEXT:                "col": 27,7414// CHECK-NEXT:                "tokLen": 17415// CHECK-NEXT:               }7416// CHECK-NEXT:              },7417// CHECK-NEXT:              "inner": [7418// CHECK-NEXT:               {7419// CHECK-NEXT:                "id": "0x{{.*}}",7420// CHECK-NEXT:                "kind": "ReturnStmt",7421// CHECK-NEXT:                "range": {7422// CHECK-NEXT:                 "begin": {7423// CHECK-NEXT:                  "offset": 2200,7424// CHECK-NEXT:                  "col": 17,7425// CHECK-NEXT:                  "tokLen": 67426// CHECK-NEXT:                 },7427// CHECK-NEXT:                 "end": {7428// CHECK-NEXT:                  "offset": 2207,7429// CHECK-NEXT:                  "col": 24,7430// CHECK-NEXT:                  "tokLen": 17431// CHECK-NEXT:                 }7432// CHECK-NEXT:                },7433// CHECK-NEXT:                "inner": [7434// CHECK-NEXT:                 {7435// CHECK-NEXT:                  "id": "0x{{.*}}",7436// CHECK-NEXT:                  "kind": "IntegerLiteral",7437// CHECK-NEXT:                  "range": {7438// CHECK-NEXT:                   "begin": {7439// CHECK-NEXT:                    "offset": 2207,7440// CHECK-NEXT:                    "col": 24,7441// CHECK-NEXT:                    "tokLen": 17442// CHECK-NEXT:                   },7443// CHECK-NEXT:                   "end": {7444// CHECK-NEXT:                    "offset": 2207,7445// CHECK-NEXT:                    "col": 24,7446// CHECK-NEXT:                    "tokLen": 17447// CHECK-NEXT:                   }7448// CHECK-NEXT:                  },7449// CHECK-NEXT:                  "type": {7450// CHECK-NEXT:                   "qualType": "int"7451// CHECK-NEXT:                  },7452// CHECK-NEXT:                  "valueCategory": "prvalue",7453// CHECK-NEXT:                  "value": "0"7454// CHECK-NEXT:                 }7455// CHECK-NEXT:                ]7456// CHECK-NEXT:               }7457// CHECK-NEXT:              ]7458// CHECK-NEXT:             }7459// CHECK-NEXT:            ]7460// CHECK-NEXT:           },7461// CHECK-NEXT:           {7462// CHECK-NEXT:            "id": "0x{{.*}}",7463// CHECK-NEXT:            "kind": "CXXConversionDecl",7464// CHECK-NEXT:            "loc": {7465// CHECK-NEXT:             "offset": 2186,7466// CHECK-NEXT:             "col": 3,7467// CHECK-NEXT:             "tokLen": 17468// CHECK-NEXT:            },7469// CHECK-NEXT:            "range": {7470// CHECK-NEXT:             "begin": {7471// CHECK-NEXT:              "offset": 2186,7472// CHECK-NEXT:              "col": 3,7473// CHECK-NEXT:              "tokLen": 17474// CHECK-NEXT:             },7475// CHECK-NEXT:             "end": {7476// CHECK-NEXT:              "offset": 2210,7477// CHECK-NEXT:              "col": 27,7478// CHECK-NEXT:              "tokLen": 17479// CHECK-NEXT:             }7480// CHECK-NEXT:            },7481// CHECK-NEXT:            "isImplicit": true,7482// CHECK-NEXT:            "name": "operator int (*)()",7483// CHECK-NEXT:            "type": {7484// CHECK-NEXT:             "qualType": "auto (*() const noexcept)() -> int"7485// CHECK-NEXT:            },7486// CHECK-NEXT:            "inline": true,7487// CHECK-NEXT:            "constexpr": true7488// CHECK-NEXT:           },7489// CHECK-NEXT:           {7490// CHECK-NEXT:            "id": "0x{{.*}}",7491// CHECK-NEXT:            "kind": "CXXMethodDecl",7492// CHECK-NEXT:            "loc": {7493// CHECK-NEXT:             "offset": 2186,7494// CHECK-NEXT:             "col": 3,7495// CHECK-NEXT:             "tokLen": 17496// CHECK-NEXT:            },7497// CHECK-NEXT:            "range": {7498// CHECK-NEXT:             "begin": {7499// CHECK-NEXT:              "offset": 2186,7500// CHECK-NEXT:              "col": 3,7501// CHECK-NEXT:              "tokLen": 17502// CHECK-NEXT:             },7503// CHECK-NEXT:             "end": {7504// CHECK-NEXT:              "offset": 2210,7505// CHECK-NEXT:              "col": 27,7506// CHECK-NEXT:              "tokLen": 17507// CHECK-NEXT:             }7508// CHECK-NEXT:            },7509// CHECK-NEXT:            "isImplicit": true,7510// CHECK-NEXT:            "name": "__invoke",7511// CHECK-NEXT:            "type": {7512// CHECK-NEXT:             "qualType": "auto () -> int"7513// CHECK-NEXT:            },7514// CHECK-NEXT:            "storageClass": "static",7515// CHECK-NEXT:            "inline": true7516// CHECK-NEXT:           }7517// CHECK-NEXT:          ]7518// CHECK-NEXT:         },7519// CHECK-NEXT:         {7520// CHECK-NEXT:          "id": "0x{{.*}}",7521// CHECK-NEXT:          "kind": "CompoundStmt",7522// CHECK-NEXT:          "range": {7523// CHECK-NEXT:           "begin": {7524// CHECK-NEXT:            "offset": 2198,7525// CHECK-NEXT:            "col": 15,7526// CHECK-NEXT:            "tokLen": 17527// CHECK-NEXT:           },7528// CHECK-NEXT:           "end": {7529// CHECK-NEXT:            "offset": 2210,7530// CHECK-NEXT:            "col": 27,7531// CHECK-NEXT:            "tokLen": 17532// CHECK-NEXT:           }7533// CHECK-NEXT:          },7534// CHECK-NEXT:          "inner": [7535// CHECK-NEXT:           {7536// CHECK-NEXT:            "id": "0x{{.*}}",7537// CHECK-NEXT:            "kind": "ReturnStmt",7538// CHECK-NEXT:            "range": {7539// CHECK-NEXT:             "begin": {7540// CHECK-NEXT:              "offset": 2200,7541// CHECK-NEXT:              "col": 17,7542// CHECK-NEXT:              "tokLen": 67543// CHECK-NEXT:             },7544// CHECK-NEXT:             "end": {7545// CHECK-NEXT:              "offset": 2207,7546// CHECK-NEXT:              "col": 24,7547// CHECK-NEXT:              "tokLen": 17548// CHECK-NEXT:             }7549// CHECK-NEXT:            },7550// CHECK-NEXT:            "inner": [7551// CHECK-NEXT:             {7552// CHECK-NEXT:              "id": "0x{{.*}}",7553// CHECK-NEXT:              "kind": "IntegerLiteral",7554// CHECK-NEXT:              "range": {7555// CHECK-NEXT:               "begin": {7556// CHECK-NEXT:                "offset": 2207,7557// CHECK-NEXT:                "col": 24,7558// CHECK-NEXT:                "tokLen": 17559// CHECK-NEXT:               },7560// CHECK-NEXT:               "end": {7561// CHECK-NEXT:                "offset": 2207,7562// CHECK-NEXT:                "col": 24,7563// CHECK-NEXT:                "tokLen": 17564// CHECK-NEXT:               }7565// CHECK-NEXT:              },7566// CHECK-NEXT:              "type": {7567// CHECK-NEXT:               "qualType": "int"7568// CHECK-NEXT:              },7569// CHECK-NEXT:              "valueCategory": "prvalue",7570// CHECK-NEXT:              "value": "0"7571// CHECK-NEXT:             }7572// CHECK-NEXT:            ]7573// CHECK-NEXT:           }7574// CHECK-NEXT:          ]7575// CHECK-NEXT:         }7576// CHECK-NEXT:        ]7577// CHECK-NEXT:       },7578// CHECK-NEXT:       {7579// CHECK-NEXT:        "id": "0x{{.*}}",7580// CHECK-NEXT:        "kind": "CXXFoldExpr",7581// CHECK-NEXT:        "range": {7582// CHECK-NEXT:         "begin": {7583// CHECK-NEXT:          "offset": 2216,7584// CHECK-NEXT:          "line": 119,7585// CHECK-NEXT:          "col": 3,7586// CHECK-NEXT:          "tokLen": 17587// CHECK-NEXT:         },7588// CHECK-NEXT:         "end": {7589// CHECK-NEXT:          "offset": 2224,7590// CHECK-NEXT:          "col": 11,7591// CHECK-NEXT:          "tokLen": 17592// CHECK-NEXT:         }7593// CHECK-NEXT:        },7594// CHECK-NEXT:        "type": {7595// CHECK-NEXT:         "qualType": "<dependent type>"7596// CHECK-NEXT:        },7597// CHECK-NEXT:        "valueCategory": "prvalue",7598// CHECK-NEXT:        "inner": [7599// CHECK-NEXT:         {},7600// CHECK-NEXT:         {7601// CHECK-NEXT:          "id": "0x{{.*}}",7602// CHECK-NEXT:          "kind": "DeclRefExpr",7603// CHECK-NEXT:          "range": {7604// CHECK-NEXT:           "begin": {7605// CHECK-NEXT:            "offset": 2217,7606// CHECK-NEXT:            "col": 4,7607// CHECK-NEXT:            "tokLen": 17608// CHECK-NEXT:           },7609// CHECK-NEXT:           "end": {7610// CHECK-NEXT:            "offset": 2217,7611// CHECK-NEXT:            "col": 4,7612// CHECK-NEXT:            "tokLen": 17613// CHECK-NEXT:           }7614// CHECK-NEXT:          },7615// CHECK-NEXT:          "type": {7616// CHECK-NEXT:           "qualType": "Ts"7617// CHECK-NEXT:          },7618// CHECK-NEXT:          "valueCategory": "lvalue",7619// CHECK-NEXT:          "referencedDecl": {7620// CHECK-NEXT:           "id": "0x{{.*}}",7621// CHECK-NEXT:           "kind": "ParmVarDecl",7622// CHECK-NEXT:           "name": "a",7623// CHECK-NEXT:           "type": {7624// CHECK-NEXT:            "qualType": "Ts..."7625// CHECK-NEXT:           }7626// CHECK-NEXT:          }7627// CHECK-NEXT:         },7628// CHECK-NEXT:         {}7629// CHECK-NEXT:        ]7630// CHECK-NEXT:       },7631// CHECK-NEXT:       {7632// CHECK-NEXT:        "id": "0x{{.*}}",7633// CHECK-NEXT:        "kind": "CXXFoldExpr",7634// CHECK-NEXT:        "range": {7635// CHECK-NEXT:         "begin": {7636// CHECK-NEXT:          "offset": 2229,7637// CHECK-NEXT:          "line": 120,7638// CHECK-NEXT:          "col": 3,7639// CHECK-NEXT:          "tokLen": 17640// CHECK-NEXT:         },7641// CHECK-NEXT:         "end": {7642// CHECK-NEXT:          "offset": 2237,7643// CHECK-NEXT:          "col": 11,7644// CHECK-NEXT:          "tokLen": 17645// CHECK-NEXT:         }7646// CHECK-NEXT:        },7647// CHECK-NEXT:        "type": {7648// CHECK-NEXT:         "qualType": "<dependent type>"7649// CHECK-NEXT:        },7650// CHECK-NEXT:        "valueCategory": "prvalue",7651// CHECK-NEXT:        "inner": [7652// CHECK-NEXT:         {},7653// CHECK-NEXT:         {},7654// CHECK-NEXT:         {7655// CHECK-NEXT:          "id": "0x{{.*}}",7656// CHECK-NEXT:          "kind": "DeclRefExpr",7657// CHECK-NEXT:          "range": {7658// CHECK-NEXT:           "begin": {7659// CHECK-NEXT:            "offset": 2236,7660// CHECK-NEXT:            "col": 10,7661// CHECK-NEXT:            "tokLen": 17662// CHECK-NEXT:           },7663// CHECK-NEXT:           "end": {7664// CHECK-NEXT:            "offset": 2236,7665// CHECK-NEXT:            "col": 10,7666// CHECK-NEXT:            "tokLen": 17667// CHECK-NEXT:           }7668// CHECK-NEXT:          },7669// CHECK-NEXT:          "type": {7670// CHECK-NEXT:           "qualType": "Ts"7671// CHECK-NEXT:          },7672// CHECK-NEXT:          "valueCategory": "lvalue",7673// CHECK-NEXT:          "referencedDecl": {7674// CHECK-NEXT:           "id": "0x{{.*}}",7675// CHECK-NEXT:           "kind": "ParmVarDecl",7676// CHECK-NEXT:           "name": "a",7677// CHECK-NEXT:           "type": {7678// CHECK-NEXT:            "qualType": "Ts..."7679// CHECK-NEXT:           }7680// CHECK-NEXT:          }7681// CHECK-NEXT:         }7682// CHECK-NEXT:        ]7683// CHECK-NEXT:       },7684// CHECK-NEXT:       {7685// CHECK-NEXT:        "id": "0x{{.*}}",7686// CHECK-NEXT:        "kind": "CXXFoldExpr",7687// CHECK-NEXT:        "range": {7688// CHECK-NEXT:         "begin": {7689// CHECK-NEXT:          "offset": 2242,7690// CHECK-NEXT:          "line": 121,7691// CHECK-NEXT:          "col": 3,7692// CHECK-NEXT:          "tokLen": 17693// CHECK-NEXT:         },7694// CHECK-NEXT:         "end": {7695// CHECK-NEXT:          "offset": 2254,7696// CHECK-NEXT:          "col": 15,7697// CHECK-NEXT:          "tokLen": 17698// CHECK-NEXT:         }7699// CHECK-NEXT:        },7700// CHECK-NEXT:        "type": {7701// CHECK-NEXT:         "qualType": "<dependent type>"7702// CHECK-NEXT:        },7703// CHECK-NEXT:        "valueCategory": "prvalue",7704// CHECK-NEXT:        "inner": [7705// CHECK-NEXT:         {},7706// CHECK-NEXT:         {7707// CHECK-NEXT:          "id": "0x{{.*}}",7708// CHECK-NEXT:          "kind": "DeclRefExpr",7709// CHECK-NEXT:          "range": {7710// CHECK-NEXT:           "begin": {7711// CHECK-NEXT:            "offset": 2243,7712// CHECK-NEXT:            "col": 4,7713// CHECK-NEXT:            "tokLen": 17714// CHECK-NEXT:           },7715// CHECK-NEXT:           "end": {7716// CHECK-NEXT:            "offset": 2243,7717// CHECK-NEXT:            "col": 4,7718// CHECK-NEXT:            "tokLen": 17719// CHECK-NEXT:           }7720// CHECK-NEXT:          },7721// CHECK-NEXT:          "type": {7722// CHECK-NEXT:           "qualType": "Ts"7723// CHECK-NEXT:          },7724// CHECK-NEXT:          "valueCategory": "lvalue",7725// CHECK-NEXT:          "referencedDecl": {7726// CHECK-NEXT:           "id": "0x{{.*}}",7727// CHECK-NEXT:           "kind": "ParmVarDecl",7728// CHECK-NEXT:           "name": "a",7729// CHECK-NEXT:           "type": {7730// CHECK-NEXT:            "qualType": "Ts..."7731// CHECK-NEXT:           }7732// CHECK-NEXT:          }7733// CHECK-NEXT:         },7734// CHECK-NEXT:         {7735// CHECK-NEXT:          "id": "0x{{.*}}",7736// CHECK-NEXT:          "kind": "DeclRefExpr",7737// CHECK-NEXT:          "range": {7738// CHECK-NEXT:           "begin": {7739// CHECK-NEXT:            "offset": 2253,7740// CHECK-NEXT:            "col": 14,7741// CHECK-NEXT:            "tokLen": 17742// CHECK-NEXT:           },7743// CHECK-NEXT:           "end": {7744// CHECK-NEXT:            "offset": 2253,7745// CHECK-NEXT:            "col": 14,7746// CHECK-NEXT:            "tokLen": 17747// CHECK-NEXT:           }7748// CHECK-NEXT:          },7749// CHECK-NEXT:          "type": {7750// CHECK-NEXT:           "qualType": "int"7751// CHECK-NEXT:          },7752// CHECK-NEXT:          "valueCategory": "lvalue",7753// CHECK-NEXT:          "referencedDecl": {7754// CHECK-NEXT:           "id": "0x{{.*}}",7755// CHECK-NEXT:           "kind": "VarDecl",7756// CHECK-NEXT:           "name": "b",7757// CHECK-NEXT:           "type": {7758// CHECK-NEXT:            "qualType": "int"7759// CHECK-NEXT:           }7760// CHECK-NEXT:          }7761// CHECK-NEXT:         }7762// CHECK-NEXT:        ]7763// CHECK-NEXT:       }7764// CHECK-NEXT:      ]7765// CHECK-NEXT:     }7766// CHECK-NEXT:    ]7767// CHECK-NEXT:   }7768// CHECK-NEXT:  ]7769// CHECK-NEXT: }7770 7771 7772// CHECK-NOT: {{^}}Dumping7773// CHECK:  "kind": "FunctionDecl",7774// CHECK-NEXT:  "loc": {7775// CHECK-NEXT:   "offset": 2336,7776// CHECK-NEXT:   "file": "{{.*}}",7777// CHECK-NEXT:   "line": 130,7778// CHECK-NEXT:   "col": 6,7779// CHECK-NEXT:   "tokLen": 117780// CHECK-NEXT:  },7781// CHECK-NEXT:  "range": {7782// CHECK-NEXT:   "begin": {7783// CHECK-NEXT:    "offset": 2331,7784// CHECK-NEXT:    "col": 1,7785// CHECK-NEXT:    "tokLen": 47786// CHECK-NEXT:   },7787// CHECK-NEXT:   "end": {7788// CHECK-NEXT:    "offset": 2379,7789// CHECK-NEXT:    "line": 134,7790// CHECK-NEXT:    "col": 1,7791// CHECK-NEXT:    "tokLen": 17792// CHECK-NEXT:   }7793// CHECK-NEXT:  },7794// CHECK-NEXT:  "name": "TestADLCall",7795// CHECK-NEXT:  "mangledName": "_Z11TestADLCallv",7796// CHECK-NEXT:  "type": {7797// CHECK-NEXT:   "qualType": "void ()"7798// CHECK-NEXT:  },7799// CHECK-NEXT:  "inner": [7800// CHECK-NEXT:   {7801// CHECK-NEXT:    "id": "0x{{.*}}",7802// CHECK-NEXT:    "kind": "CompoundStmt",7803// CHECK-NEXT:    "range": {7804// CHECK-NEXT:     "begin": {7805// CHECK-NEXT:      "offset": 2350,7806// CHECK-NEXT:      "line": 130,7807// CHECK-NEXT:      "col": 20,7808// CHECK-NEXT:      "tokLen": 17809// CHECK-NEXT:     },7810// CHECK-NEXT:     "end": {7811// CHECK-NEXT:      "offset": 2379,7812// CHECK-NEXT:      "line": 134,7813// CHECK-NEXT:      "col": 1,7814// CHECK-NEXT:      "tokLen": 17815// CHECK-NEXT:     }7816// CHECK-NEXT:    },7817// CHECK-NEXT:    "inner": [7818// CHECK-NEXT:     {7819// CHECK-NEXT:      "id": "0x{{.*}}",7820// CHECK-NEXT:      "kind": "DeclStmt",7821// CHECK-NEXT:      "range": {7822// CHECK-NEXT:       "begin": {7823// CHECK-NEXT:        "offset": 2354,7824// CHECK-NEXT:        "line": 131,7825// CHECK-NEXT:        "col": 3,7826// CHECK-NEXT:        "tokLen": 27827// CHECK-NEXT:       },7828// CHECK-NEXT:       "end": {7829// CHECK-NEXT:        "offset": 2361,7830// CHECK-NEXT:        "col": 10,7831// CHECK-NEXT:        "tokLen": 17832// CHECK-NEXT:       }7833// CHECK-NEXT:      },7834// CHECK-NEXT:      "inner": [7835// CHECK-NEXT:       {7836// CHECK-NEXT:        "id": "0x{{.*}}",7837// CHECK-NEXT:        "kind": "VarDecl",7838// CHECK-NEXT:        "loc": {7839// CHECK-NEXT:         "offset": 2360,7840// CHECK-NEXT:         "col": 9,7841// CHECK-NEXT:         "tokLen": 17842// CHECK-NEXT:        },7843// CHECK-NEXT:        "range": {7844// CHECK-NEXT:         "begin": {7845// CHECK-NEXT:          "offset": 2354,7846// CHECK-NEXT:          "col": 3,7847// CHECK-NEXT:          "tokLen": 27848// CHECK-NEXT:         },7849// CHECK-NEXT:         "end": {7850// CHECK-NEXT:          "offset": 2360,7851// CHECK-NEXT:          "col": 9,7852// CHECK-NEXT:          "tokLen": 17853// CHECK-NEXT:         }7854// CHECK-NEXT:        },7855// CHECK-NEXT:        "isUsed": true,7856// CHECK-NEXT:        "name": "x",7857// CHECK-NEXT:        "type": {7858// CHECK-NEXT:         "qualType": "NS::X"7859// CHECK-NEXT:        },7860// CHECK-NEXT:        "init": "call",7861// CHECK-NEXT:        "inner": [7862// CHECK-NEXT:         {7863// CHECK-NEXT:          "id": "0x{{.*}}",7864// CHECK-NEXT:          "kind": "CXXConstructExpr",7865// CHECK-NEXT:          "range": {7866// CHECK-NEXT:           "begin": {7867// CHECK-NEXT:            "offset": 2360,7868// CHECK-NEXT:            "col": 9,7869// CHECK-NEXT:            "tokLen": 17870// CHECK-NEXT:           },7871// CHECK-NEXT:           "end": {7872// CHECK-NEXT:            "offset": 2360,7873// CHECK-NEXT:            "col": 9,7874// CHECK-NEXT:            "tokLen": 17875// CHECK-NEXT:           }7876// CHECK-NEXT:          },7877// CHECK-NEXT:          "type": {7878// CHECK-NEXT:           "qualType": "NS::X"7879// CHECK-NEXT:          },7880// CHECK-NEXT:          "valueCategory": "prvalue",7881// CHECK-NEXT:          "ctorType": {7882// CHECK-NEXT:           "qualType": "void () noexcept"7883// CHECK-NEXT:          },7884// CHECK-NEXT:          "hadMultipleCandidates": true,7885// CHECK-NEXT:          "constructionKind": "complete"7886// CHECK-NEXT:         }7887// CHECK-NEXT:        ]7888// CHECK-NEXT:       }7889// CHECK-NEXT:      ]7890// CHECK-NEXT:     },7891// CHECK-NEXT:     {7892// CHECK-NEXT:      "id": "0x{{.*}}",7893// CHECK-NEXT:      "kind": "CallExpr",7894// CHECK-NEXT:      "range": {7895// CHECK-NEXT:       "begin": {7896// CHECK-NEXT:        "offset": 2365,7897// CHECK-NEXT:        "line": 132,7898// CHECK-NEXT:        "col": 3,7899// CHECK-NEXT:        "tokLen": 17900// CHECK-NEXT:       },7901// CHECK-NEXT:       "end": {7902// CHECK-NEXT:        "offset": 2368,7903// CHECK-NEXT:        "col": 6,7904// CHECK-NEXT:        "tokLen": 17905// CHECK-NEXT:       }7906// CHECK-NEXT:      },7907// CHECK-NEXT:      "type": {7908// CHECK-NEXT:       "qualType": "void"7909// CHECK-NEXT:      },7910// CHECK-NEXT:      "valueCategory": "prvalue",7911// CHECK-NEXT:      "adl": true,7912// CHECK-NEXT:      "inner": [7913// CHECK-NEXT:       {7914// CHECK-NEXT:        "id": "0x{{.*}}",7915// CHECK-NEXT:        "kind": "ImplicitCastExpr",7916// CHECK-NEXT:        "range": {7917// CHECK-NEXT:         "begin": {7918// CHECK-NEXT:          "offset": 2365,7919// CHECK-NEXT:          "col": 3,7920// CHECK-NEXT:          "tokLen": 17921// CHECK-NEXT:         },7922// CHECK-NEXT:         "end": {7923// CHECK-NEXT:          "offset": 2365,7924// CHECK-NEXT:          "col": 3,7925// CHECK-NEXT:          "tokLen": 17926// CHECK-NEXT:         }7927// CHECK-NEXT:        },7928// CHECK-NEXT:        "type": {7929// CHECK-NEXT:         "qualType": "void (*)(X)"7930// CHECK-NEXT:        },7931// CHECK-NEXT:        "valueCategory": "prvalue",7932// CHECK-NEXT:        "castKind": "FunctionToPointerDecay",7933// CHECK-NEXT:        "inner": [7934// CHECK-NEXT:         {7935// CHECK-NEXT:          "id": "0x{{.*}}",7936// CHECK-NEXT:          "kind": "DeclRefExpr",7937// CHECK-NEXT:          "range": {7938// CHECK-NEXT:           "begin": {7939// CHECK-NEXT:            "offset": 2365,7940// CHECK-NEXT:            "col": 3,7941// CHECK-NEXT:            "tokLen": 17942// CHECK-NEXT:           },7943// CHECK-NEXT:           "end": {7944// CHECK-NEXT:            "offset": 2365,7945// CHECK-NEXT:            "col": 3,7946// CHECK-NEXT:            "tokLen": 17947// CHECK-NEXT:           }7948// CHECK-NEXT:          },7949// CHECK-NEXT:          "type": {7950// CHECK-NEXT:           "qualType": "void (X)"7951// CHECK-NEXT:          },7952// CHECK-NEXT:          "valueCategory": "lvalue",7953// CHECK-NEXT:          "referencedDecl": {7954// CHECK-NEXT:           "id": "0x{{.*}}",7955// CHECK-NEXT:           "kind": "FunctionDecl",7956// CHECK-NEXT:           "name": "f",7957// CHECK-NEXT:           "type": {7958// CHECK-NEXT:            "qualType": "void (X)"7959// CHECK-NEXT:           }7960// CHECK-NEXT:          }7961// CHECK-NEXT:         }7962// CHECK-NEXT:        ]7963// CHECK-NEXT:       },7964// CHECK-NEXT:       {7965// CHECK-NEXT:        "id": "0x{{.*}}",7966// CHECK-NEXT:        "kind": "CXXConstructExpr",7967// CHECK-NEXT:        "range": {7968// CHECK-NEXT:         "begin": {7969// CHECK-NEXT:          "offset": 2367,7970// CHECK-NEXT:          "col": 5,7971// CHECK-NEXT:          "tokLen": 17972// CHECK-NEXT:         },7973// CHECK-NEXT:         "end": {7974// CHECK-NEXT:          "offset": 2367,7975// CHECK-NEXT:          "col": 5,7976// CHECK-NEXT:          "tokLen": 17977// CHECK-NEXT:         }7978// CHECK-NEXT:        },7979// CHECK-NEXT:        "type": {7980// CHECK-NEXT:         "qualType": "X"7981// CHECK-NEXT:        },7982// CHECK-NEXT:        "valueCategory": "prvalue",7983// CHECK-NEXT:        "ctorType": {7984// CHECK-NEXT:         "qualType": "void (const X &) noexcept"7985// CHECK-NEXT:        },7986// CHECK-NEXT:        "hadMultipleCandidates": true,7987// CHECK-NEXT:        "constructionKind": "complete",7988// CHECK-NEXT:        "inner": [7989// CHECK-NEXT:         {7990// CHECK-NEXT:          "id": "0x{{.*}}",7991// CHECK-NEXT:          "kind": "ImplicitCastExpr",7992// CHECK-NEXT:          "range": {7993// CHECK-NEXT:           "begin": {7994// CHECK-NEXT:            "offset": 2367,7995// CHECK-NEXT:            "col": 5,7996// CHECK-NEXT:            "tokLen": 17997// CHECK-NEXT:           },7998// CHECK-NEXT:           "end": {7999// CHECK-NEXT:            "offset": 2367,8000// CHECK-NEXT:            "col": 5,8001// CHECK-NEXT:            "tokLen": 18002// CHECK-NEXT:           }8003// CHECK-NEXT:          },8004// CHECK-NEXT:          "type": {8005// CHECK-NEXT:           "qualType": "const X"8006// CHECK-NEXT:          },8007// CHECK-NEXT:          "valueCategory": "lvalue",8008// CHECK-NEXT:          "castKind": "NoOp",8009// CHECK-NEXT:          "inner": [8010// CHECK-NEXT:           {8011// CHECK-NEXT:            "id": "0x{{.*}}",8012// CHECK-NEXT:            "kind": "DeclRefExpr",8013// CHECK-NEXT:            "range": {8014// CHECK-NEXT:             "begin": {8015// CHECK-NEXT:              "offset": 2367,8016// CHECK-NEXT:              "col": 5,8017// CHECK-NEXT:              "tokLen": 18018// CHECK-NEXT:             },8019// CHECK-NEXT:             "end": {8020// CHECK-NEXT:              "offset": 2367,8021// CHECK-NEXT:              "col": 5,8022// CHECK-NEXT:              "tokLen": 18023// CHECK-NEXT:             }8024// CHECK-NEXT:            },8025// CHECK-NEXT:            "type": {8026// CHECK-NEXT:             "qualType": "NS::X"8027// CHECK-NEXT:            },8028// CHECK-NEXT:            "valueCategory": "lvalue",8029// CHECK-NEXT:            "referencedDecl": {8030// CHECK-NEXT:             "id": "0x{{.*}}",8031// CHECK-NEXT:             "kind": "VarDecl",8032// CHECK-NEXT:             "name": "x",8033// CHECK-NEXT:             "type": {8034// CHECK-NEXT:              "qualType": "NS::X"8035// CHECK-NEXT:             }8036// CHECK-NEXT:            }8037// CHECK-NEXT:           }8038// CHECK-NEXT:          ]8039// CHECK-NEXT:         }8040// CHECK-NEXT:        ]8041// CHECK-NEXT:       }8042// CHECK-NEXT:      ]8043// CHECK-NEXT:     },8044// CHECK-NEXT:     {8045// CHECK-NEXT:      "id": "0x{{.*}}",8046// CHECK-NEXT:      "kind": "CallExpr",8047// CHECK-NEXT:      "range": {8048// CHECK-NEXT:       "begin": {8049// CHECK-NEXT:        "offset": 2373,8050// CHECK-NEXT:        "line": 133,8051// CHECK-NEXT:        "col": 3,8052// CHECK-NEXT:        "tokLen": 18053// CHECK-NEXT:       },8054// CHECK-NEXT:       "end": {8055// CHECK-NEXT:        "offset": 2376,8056// CHECK-NEXT:        "col": 6,8057// CHECK-NEXT:        "tokLen": 18058// CHECK-NEXT:       }8059// CHECK-NEXT:      },8060// CHECK-NEXT:      "type": {8061// CHECK-NEXT:       "qualType": "void"8062// CHECK-NEXT:      },8063// CHECK-NEXT:      "valueCategory": "prvalue",8064// CHECK-NEXT:      "adl": true,8065// CHECK-NEXT:      "inner": [8066// CHECK-NEXT:       {8067// CHECK-NEXT:        "id": "0x{{.*}}",8068// CHECK-NEXT:        "kind": "ImplicitCastExpr",8069// CHECK-NEXT:        "range": {8070// CHECK-NEXT:         "begin": {8071// CHECK-NEXT:          "offset": 2373,8072// CHECK-NEXT:          "col": 3,8073// CHECK-NEXT:          "tokLen": 18074// CHECK-NEXT:         },8075// CHECK-NEXT:         "end": {8076// CHECK-NEXT:          "offset": 2373,8077// CHECK-NEXT:          "col": 3,8078// CHECK-NEXT:          "tokLen": 18079// CHECK-NEXT:         }8080// CHECK-NEXT:        },8081// CHECK-NEXT:        "type": {8082// CHECK-NEXT:         "qualType": "void (*)(...)"8083// CHECK-NEXT:        },8084// CHECK-NEXT:        "valueCategory": "prvalue",8085// CHECK-NEXT:        "castKind": "FunctionToPointerDecay",8086// CHECK-NEXT:        "inner": [8087// CHECK-NEXT:         {8088// CHECK-NEXT:          "id": "0x{{.*}}",8089// CHECK-NEXT:          "kind": "DeclRefExpr",8090// CHECK-NEXT:          "range": {8091// CHECK-NEXT:           "begin": {8092// CHECK-NEXT:            "offset": 2373,8093// CHECK-NEXT:            "col": 3,8094// CHECK-NEXT:            "tokLen": 18095// CHECK-NEXT:           },8096// CHECK-NEXT:           "end": {8097// CHECK-NEXT:            "offset": 2373,8098// CHECK-NEXT:            "col": 3,8099// CHECK-NEXT:            "tokLen": 18100// CHECK-NEXT:           }8101// CHECK-NEXT:          },8102// CHECK-NEXT:          "type": {8103// CHECK-NEXT:           "qualType": "void (...)"8104// CHECK-NEXT:          },8105// CHECK-NEXT:          "valueCategory": "lvalue",8106// CHECK-NEXT:          "referencedDecl": {8107// CHECK-NEXT:           "id": "0x{{.*}}",8108// CHECK-NEXT:           "kind": "FunctionDecl",8109// CHECK-NEXT:           "name": "y",8110// CHECK-NEXT:           "type": {8111// CHECK-NEXT:            "qualType": "void (...)"8112// CHECK-NEXT:           }8113// CHECK-NEXT:          }8114// CHECK-NEXT:         }8115// CHECK-NEXT:        ]8116// CHECK-NEXT:       },8117// CHECK-NEXT:       {8118// CHECK-NEXT:        "id": "0x{{.*}}",8119// CHECK-NEXT:        "kind": "CXXConstructExpr",8120// CHECK-NEXT:        "range": {8121// CHECK-NEXT:         "begin": {8122// CHECK-NEXT:          "offset": 2375,8123// CHECK-NEXT:          "col": 5,8124// CHECK-NEXT:          "tokLen": 18125// CHECK-NEXT:         },8126// CHECK-NEXT:         "end": {8127// CHECK-NEXT:          "offset": 2375,8128// CHECK-NEXT:          "col": 5,8129// CHECK-NEXT:          "tokLen": 18130// CHECK-NEXT:         }8131// CHECK-NEXT:        },8132// CHECK-NEXT:        "type": {8133// CHECK-NEXT:         "qualType": "NS::X"8134// CHECK-NEXT:        },8135// CHECK-NEXT:        "valueCategory": "prvalue",8136// CHECK-NEXT:        "ctorType": {8137// CHECK-NEXT:         "qualType": "void (const X &) noexcept"8138// CHECK-NEXT:        },8139// CHECK-NEXT:        "hadMultipleCandidates": true,8140// CHECK-NEXT:        "constructionKind": "complete",8141// CHECK-NEXT:        "inner": [8142// CHECK-NEXT:         {8143// CHECK-NEXT:          "id": "0x{{.*}}",8144// CHECK-NEXT:          "kind": "ImplicitCastExpr",8145// CHECK-NEXT:          "range": {8146// CHECK-NEXT:           "begin": {8147// CHECK-NEXT:            "offset": 2375,8148// CHECK-NEXT:            "col": 5,8149// CHECK-NEXT:            "tokLen": 18150// CHECK-NEXT:           },8151// CHECK-NEXT:           "end": {8152// CHECK-NEXT:            "offset": 2375,8153// CHECK-NEXT:            "col": 5,8154// CHECK-NEXT:            "tokLen": 18155// CHECK-NEXT:           }8156// CHECK-NEXT:          },8157// CHECK-NEXT:          "type": {8158// CHECK-NEXT:           "qualType": "const X"8159// CHECK-NEXT:          },8160// CHECK-NEXT:          "valueCategory": "lvalue",8161// CHECK-NEXT:          "castKind": "NoOp",8162// CHECK-NEXT:          "inner": [8163// CHECK-NEXT:           {8164// CHECK-NEXT:            "id": "0x{{.*}}",8165// CHECK-NEXT:            "kind": "DeclRefExpr",8166// CHECK-NEXT:            "range": {8167// CHECK-NEXT:             "begin": {8168// CHECK-NEXT:              "offset": 2375,8169// CHECK-NEXT:              "col": 5,8170// CHECK-NEXT:              "tokLen": 18171// CHECK-NEXT:             },8172// CHECK-NEXT:             "end": {8173// CHECK-NEXT:              "offset": 2375,8174// CHECK-NEXT:              "col": 5,8175// CHECK-NEXT:              "tokLen": 18176// CHECK-NEXT:             }8177// CHECK-NEXT:            },8178// CHECK-NEXT:            "type": {8179// CHECK-NEXT:             "qualType": "NS::X"8180// CHECK-NEXT:            },8181// CHECK-NEXT:            "valueCategory": "lvalue",8182// CHECK-NEXT:            "referencedDecl": {8183// CHECK-NEXT:             "id": "0x{{.*}}",8184// CHECK-NEXT:             "kind": "VarDecl",8185// CHECK-NEXT:             "name": "x",8186// CHECK-NEXT:             "type": {8187// CHECK-NEXT:              "qualType": "NS::X"8188// CHECK-NEXT:             }8189// CHECK-NEXT:            }8190// CHECK-NEXT:           }8191// CHECK-NEXT:          ]8192// CHECK-NEXT:         }8193// CHECK-NEXT:        ]8194// CHECK-NEXT:       }8195// CHECK-NEXT:      ]8196// CHECK-NEXT:     }8197// CHECK-NEXT:    ]8198// CHECK-NEXT:   }8199// CHECK-NEXT:  ]8200// CHECK-NEXT: }8201 8202 8203// CHECK-NOT: {{^}}Dumping8204// CHECK:  "kind": "FunctionDecl",8205// CHECK-NEXT:  "loc": {8206// CHECK-NEXT:   "offset": 2387,8207// CHECK-NEXT:   "file": "{{.*}}",8208// CHECK-NEXT:   "line": 136,8209// CHECK-NEXT:   "col": 6,8210// CHECK-NEXT:   "tokLen": 148211// CHECK-NEXT:  },8212// CHECK-NEXT:  "range": {8213// CHECK-NEXT:   "begin": {8214// CHECK-NEXT:    "offset": 2382,8215// CHECK-NEXT:    "col": 1,8216// CHECK-NEXT:    "tokLen": 48217// CHECK-NEXT:   },8218// CHECK-NEXT:   "end": {8219// CHECK-NEXT:    "offset": 2429,8220// CHECK-NEXT:    "line": 139,8221// CHECK-NEXT:    "col": 1,8222// CHECK-NEXT:    "tokLen": 18223// CHECK-NEXT:   }8224// CHECK-NEXT:  },8225// CHECK-NEXT:  "name": "TestNonADLCall",8226// CHECK-NEXT:  "mangledName": "_Z14TestNonADLCallv",8227// CHECK-NEXT:  "type": {8228// CHECK-NEXT:   "qualType": "void ()"8229// CHECK-NEXT:  },8230// CHECK-NEXT:  "inner": [8231// CHECK-NEXT:   {8232// CHECK-NEXT:    "id": "0x{{.*}}",8233// CHECK-NEXT:    "kind": "CompoundStmt",8234// CHECK-NEXT:    "range": {8235// CHECK-NEXT:     "begin": {8236// CHECK-NEXT:      "offset": 2404,8237// CHECK-NEXT:      "line": 136,8238// CHECK-NEXT:      "col": 23,8239// CHECK-NEXT:      "tokLen": 18240// CHECK-NEXT:     },8241// CHECK-NEXT:     "end": {8242// CHECK-NEXT:      "offset": 2429,8243// CHECK-NEXT:      "line": 139,8244// CHECK-NEXT:      "col": 1,8245// CHECK-NEXT:      "tokLen": 18246// CHECK-NEXT:     }8247// CHECK-NEXT:    },8248// CHECK-NEXT:    "inner": [8249// CHECK-NEXT:     {8250// CHECK-NEXT:      "id": "0x{{.*}}",8251// CHECK-NEXT:      "kind": "DeclStmt",8252// CHECK-NEXT:      "range": {8253// CHECK-NEXT:       "begin": {8254// CHECK-NEXT:        "offset": 2408,8255// CHECK-NEXT:        "line": 137,8256// CHECK-NEXT:        "col": 3,8257// CHECK-NEXT:        "tokLen": 28258// CHECK-NEXT:       },8259// CHECK-NEXT:       "end": {8260// CHECK-NEXT:        "offset": 2415,8261// CHECK-NEXT:        "col": 10,8262// CHECK-NEXT:        "tokLen": 18263// CHECK-NEXT:       }8264// CHECK-NEXT:      },8265// CHECK-NEXT:      "inner": [8266// CHECK-NEXT:       {8267// CHECK-NEXT:        "id": "0x{{.*}}",8268// CHECK-NEXT:        "kind": "VarDecl",8269// CHECK-NEXT:        "loc": {8270// CHECK-NEXT:         "offset": 2414,8271// CHECK-NEXT:         "col": 9,8272// CHECK-NEXT:         "tokLen": 18273// CHECK-NEXT:        },8274// CHECK-NEXT:        "range": {8275// CHECK-NEXT:         "begin": {8276// CHECK-NEXT:          "offset": 2408,8277// CHECK-NEXT:          "col": 3,8278// CHECK-NEXT:          "tokLen": 28279// CHECK-NEXT:         },8280// CHECK-NEXT:         "end": {8281// CHECK-NEXT:          "offset": 2414,8282// CHECK-NEXT:          "col": 9,8283// CHECK-NEXT:          "tokLen": 18284// CHECK-NEXT:         }8285// CHECK-NEXT:        },8286// CHECK-NEXT:        "isUsed": true,8287// CHECK-NEXT:        "name": "x",8288// CHECK-NEXT:        "type": {8289// CHECK-NEXT:         "qualType": "NS::X"8290// CHECK-NEXT:        },8291// CHECK-NEXT:        "init": "call",8292// CHECK-NEXT:        "inner": [8293// CHECK-NEXT:         {8294// CHECK-NEXT:          "id": "0x{{.*}}",8295// CHECK-NEXT:          "kind": "CXXConstructExpr",8296// CHECK-NEXT:          "range": {8297// CHECK-NEXT:           "begin": {8298// CHECK-NEXT:            "offset": 2414,8299// CHECK-NEXT:            "col": 9,8300// CHECK-NEXT:            "tokLen": 18301// CHECK-NEXT:           },8302// CHECK-NEXT:           "end": {8303// CHECK-NEXT:            "offset": 2414,8304// CHECK-NEXT:            "col": 9,8305// CHECK-NEXT:            "tokLen": 18306// CHECK-NEXT:           }8307// CHECK-NEXT:          },8308// CHECK-NEXT:          "type": {8309// CHECK-NEXT:           "qualType": "NS::X"8310// CHECK-NEXT:          },8311// CHECK-NEXT:          "valueCategory": "prvalue",8312// CHECK-NEXT:          "ctorType": {8313// CHECK-NEXT:           "qualType": "void () noexcept"8314// CHECK-NEXT:          },8315// CHECK-NEXT:          "hadMultipleCandidates": true,8316// CHECK-NEXT:          "constructionKind": "complete"8317// CHECK-NEXT:         }8318// CHECK-NEXT:        ]8319// CHECK-NEXT:       }8320// CHECK-NEXT:      ]8321// CHECK-NEXT:     },8322// CHECK-NEXT:     {8323// CHECK-NEXT:      "id": "0x{{.*}}",8324// CHECK-NEXT:      "kind": "CallExpr",8325// CHECK-NEXT:      "range": {8326// CHECK-NEXT:       "begin": {8327// CHECK-NEXT:        "offset": 2419,8328// CHECK-NEXT:        "line": 138,8329// CHECK-NEXT:        "col": 3,8330// CHECK-NEXT:        "tokLen": 28331// CHECK-NEXT:       },8332// CHECK-NEXT:       "end": {8333// CHECK-NEXT:        "offset": 2426,8334// CHECK-NEXT:        "col": 10,8335// CHECK-NEXT:        "tokLen": 18336// CHECK-NEXT:       }8337// CHECK-NEXT:      },8338// CHECK-NEXT:      "type": {8339// CHECK-NEXT:       "qualType": "void"8340// CHECK-NEXT:      },8341// CHECK-NEXT:      "valueCategory": "prvalue",8342// CHECK-NEXT:      "inner": [8343// CHECK-NEXT:       {8344// CHECK-NEXT:        "id": "0x{{.*}}",8345// CHECK-NEXT:        "kind": "ImplicitCastExpr",8346// CHECK-NEXT:        "range": {8347// CHECK-NEXT:         "begin": {8348// CHECK-NEXT:          "offset": 2419,8349// CHECK-NEXT:          "col": 3,8350// CHECK-NEXT:          "tokLen": 28351// CHECK-NEXT:         },8352// CHECK-NEXT:         "end": {8353// CHECK-NEXT:          "offset": 2423,8354// CHECK-NEXT:          "col": 7,8355// CHECK-NEXT:          "tokLen": 18356// CHECK-NEXT:         }8357// CHECK-NEXT:        },8358// CHECK-NEXT:        "type": {8359// CHECK-NEXT:         "qualType": "void (*)(X)"8360// CHECK-NEXT:        },8361// CHECK-NEXT:        "valueCategory": "prvalue",8362// CHECK-NEXT:        "castKind": "FunctionToPointerDecay",8363// CHECK-NEXT:        "inner": [8364// CHECK-NEXT:         {8365// CHECK-NEXT:          "id": "0x{{.*}}",8366// CHECK-NEXT:          "kind": "DeclRefExpr",8367// CHECK-NEXT:          "range": {8368// CHECK-NEXT:           "begin": {8369// CHECK-NEXT:            "offset": 2419,8370// CHECK-NEXT:            "col": 3,8371// CHECK-NEXT:            "tokLen": 28372// CHECK-NEXT:           },8373// CHECK-NEXT:           "end": {8374// CHECK-NEXT:            "offset": 2423,8375// CHECK-NEXT:            "col": 7,8376// CHECK-NEXT:            "tokLen": 18377// CHECK-NEXT:           }8378// CHECK-NEXT:          },8379// CHECK-NEXT:          "type": {8380// CHECK-NEXT:           "qualType": "void (X)"8381// CHECK-NEXT:          },8382// CHECK-NEXT:          "valueCategory": "lvalue",8383// CHECK-NEXT:          "referencedDecl": {8384// CHECK-NEXT:           "id": "0x{{.*}}",8385// CHECK-NEXT:           "kind": "FunctionDecl",8386// CHECK-NEXT:           "name": "f",8387// CHECK-NEXT:           "type": {8388// CHECK-NEXT:            "qualType": "void (X)"8389// CHECK-NEXT:           }8390// CHECK-NEXT:          }8391// CHECK-NEXT:         }8392// CHECK-NEXT:        ]8393// CHECK-NEXT:       },8394// CHECK-NEXT:       {8395// CHECK-NEXT:        "id": "0x{{.*}}",8396// CHECK-NEXT:        "kind": "CXXConstructExpr",8397// CHECK-NEXT:        "range": {8398// CHECK-NEXT:         "begin": {8399// CHECK-NEXT:          "offset": 2425,8400// CHECK-NEXT:          "col": 9,8401// CHECK-NEXT:          "tokLen": 18402// CHECK-NEXT:         },8403// CHECK-NEXT:         "end": {8404// CHECK-NEXT:          "offset": 2425,8405// CHECK-NEXT:          "col": 9,8406// CHECK-NEXT:          "tokLen": 18407// CHECK-NEXT:         }8408// CHECK-NEXT:        },8409// CHECK-NEXT:        "type": {8410// CHECK-NEXT:         "qualType": "X"8411// CHECK-NEXT:        },8412// CHECK-NEXT:        "valueCategory": "prvalue",8413// CHECK-NEXT:        "ctorType": {8414// CHECK-NEXT:         "qualType": "void (const X &) noexcept"8415// CHECK-NEXT:        },8416// CHECK-NEXT:        "hadMultipleCandidates": true,8417// CHECK-NEXT:        "constructionKind": "complete",8418// CHECK-NEXT:        "inner": [8419// CHECK-NEXT:         {8420// CHECK-NEXT:          "id": "0x{{.*}}",8421// CHECK-NEXT:          "kind": "ImplicitCastExpr",8422// CHECK-NEXT:          "range": {8423// CHECK-NEXT:           "begin": {8424// CHECK-NEXT:            "offset": 2425,8425// CHECK-NEXT:            "col": 9,8426// CHECK-NEXT:            "tokLen": 18427// CHECK-NEXT:           },8428// CHECK-NEXT:           "end": {8429// CHECK-NEXT:            "offset": 2425,8430// CHECK-NEXT:            "col": 9,8431// CHECK-NEXT:            "tokLen": 18432// CHECK-NEXT:           }8433// CHECK-NEXT:          },8434// CHECK-NEXT:          "type": {8435// CHECK-NEXT:           "qualType": "const X"8436// CHECK-NEXT:          },8437// CHECK-NEXT:          "valueCategory": "lvalue",8438// CHECK-NEXT:          "castKind": "NoOp",8439// CHECK-NEXT:          "inner": [8440// CHECK-NEXT:           {8441// CHECK-NEXT:            "id": "0x{{.*}}",8442// CHECK-NEXT:            "kind": "DeclRefExpr",8443// CHECK-NEXT:            "range": {8444// CHECK-NEXT:             "begin": {8445// CHECK-NEXT:              "offset": 2425,8446// CHECK-NEXT:              "col": 9,8447// CHECK-NEXT:              "tokLen": 18448// CHECK-NEXT:             },8449// CHECK-NEXT:             "end": {8450// CHECK-NEXT:              "offset": 2425,8451// CHECK-NEXT:              "col": 9,8452// CHECK-NEXT:              "tokLen": 18453// CHECK-NEXT:             }8454// CHECK-NEXT:            },8455// CHECK-NEXT:            "type": {8456// CHECK-NEXT:             "qualType": "NS::X"8457// CHECK-NEXT:            },8458// CHECK-NEXT:            "valueCategory": "lvalue",8459// CHECK-NEXT:            "referencedDecl": {8460// CHECK-NEXT:             "id": "0x{{.*}}",8461// CHECK-NEXT:             "kind": "VarDecl",8462// CHECK-NEXT:             "name": "x",8463// CHECK-NEXT:             "type": {8464// CHECK-NEXT:              "qualType": "NS::X"8465// CHECK-NEXT:             }8466// CHECK-NEXT:            }8467// CHECK-NEXT:           }8468// CHECK-NEXT:          ]8469// CHECK-NEXT:         }8470// CHECK-NEXT:        ]8471// CHECK-NEXT:       }8472// CHECK-NEXT:      ]8473// CHECK-NEXT:     }8474// CHECK-NEXT:    ]8475// CHECK-NEXT:   }8476// CHECK-NEXT:  ]8477// CHECK-NEXT: }8478 8479 8480// CHECK-NOT: {{^}}Dumping8481// CHECK:  "kind": "FunctionDecl",8482// CHECK-NEXT:  "loc": {8483// CHECK-NEXT:   "offset": 2437,8484// CHECK-NEXT:   "file": "{{.*}}",8485// CHECK-NEXT:   "line": 141,8486// CHECK-NEXT:   "col": 6,8487// CHECK-NEXT:   "tokLen": 158488// CHECK-NEXT:  },8489// CHECK-NEXT:  "range": {8490// CHECK-NEXT:   "begin": {8491// CHECK-NEXT:    "offset": 2432,8492// CHECK-NEXT:    "col": 1,8493// CHECK-NEXT:    "tokLen": 48494// CHECK-NEXT:   },8495// CHECK-NEXT:   "end": {8496// CHECK-NEXT:    "offset": 2499,8497// CHECK-NEXT:    "line": 146,8498// CHECK-NEXT:    "col": 1,8499// CHECK-NEXT:    "tokLen": 18500// CHECK-NEXT:   }8501// CHECK-NEXT:  },8502// CHECK-NEXT:  "name": "TestNonADLCall2",8503// CHECK-NEXT:  "mangledName": "_Z15TestNonADLCall2v",8504// CHECK-NEXT:  "type": {8505// CHECK-NEXT:   "qualType": "void ()"8506// CHECK-NEXT:  },8507// CHECK-NEXT:  "inner": [8508// CHECK-NEXT:   {8509// CHECK-NEXT:    "id": "0x{{.*}}",8510// CHECK-NEXT:    "kind": "CompoundStmt",8511// CHECK-NEXT:    "range": {8512// CHECK-NEXT:     "begin": {8513// CHECK-NEXT:      "offset": 2455,8514// CHECK-NEXT:      "line": 141,8515// CHECK-NEXT:      "col": 24,8516// CHECK-NEXT:      "tokLen": 18517// CHECK-NEXT:     },8518// CHECK-NEXT:     "end": {8519// CHECK-NEXT:      "offset": 2499,8520// CHECK-NEXT:      "line": 146,8521// CHECK-NEXT:      "col": 1,8522// CHECK-NEXT:      "tokLen": 18523// CHECK-NEXT:     }8524// CHECK-NEXT:    },8525// CHECK-NEXT:    "inner": [8526// CHECK-NEXT:     {8527// CHECK-NEXT:      "id": "0x{{.*}}",8528// CHECK-NEXT:      "kind": "DeclStmt",8529// CHECK-NEXT:      "range": {8530// CHECK-NEXT:       "begin": {8531// CHECK-NEXT:        "offset": 2459,8532// CHECK-NEXT:        "line": 142,8533// CHECK-NEXT:        "col": 3,8534// CHECK-NEXT:        "tokLen": 28535// CHECK-NEXT:       },8536// CHECK-NEXT:       "end": {8537// CHECK-NEXT:        "offset": 2466,8538// CHECK-NEXT:        "col": 10,8539// CHECK-NEXT:        "tokLen": 18540// CHECK-NEXT:       }8541// CHECK-NEXT:      },8542// CHECK-NEXT:      "inner": [8543// CHECK-NEXT:       {8544// CHECK-NEXT:        "id": "0x{{.*}}",8545// CHECK-NEXT:        "kind": "VarDecl",8546// CHECK-NEXT:        "loc": {8547// CHECK-NEXT:         "offset": 2465,8548// CHECK-NEXT:         "col": 9,8549// CHECK-NEXT:         "tokLen": 18550// CHECK-NEXT:        },8551// CHECK-NEXT:        "range": {8552// CHECK-NEXT:         "begin": {8553// CHECK-NEXT:          "offset": 2459,8554// CHECK-NEXT:          "col": 3,8555// CHECK-NEXT:          "tokLen": 28556// CHECK-NEXT:         },8557// CHECK-NEXT:         "end": {8558// CHECK-NEXT:          "offset": 2465,8559// CHECK-NEXT:          "col": 9,8560// CHECK-NEXT:          "tokLen": 18561// CHECK-NEXT:         }8562// CHECK-NEXT:        },8563// CHECK-NEXT:        "isUsed": true,8564// CHECK-NEXT:        "name": "x",8565// CHECK-NEXT:        "type": {8566// CHECK-NEXT:         "qualType": "NS::X"8567// CHECK-NEXT:        },8568// CHECK-NEXT:        "init": "call",8569// CHECK-NEXT:        "inner": [8570// CHECK-NEXT:         {8571// CHECK-NEXT:          "id": "0x{{.*}}",8572// CHECK-NEXT:          "kind": "CXXConstructExpr",8573// CHECK-NEXT:          "range": {8574// CHECK-NEXT:           "begin": {8575// CHECK-NEXT:            "offset": 2465,8576// CHECK-NEXT:            "col": 9,8577// CHECK-NEXT:            "tokLen": 18578// CHECK-NEXT:           },8579// CHECK-NEXT:           "end": {8580// CHECK-NEXT:            "offset": 2465,8581// CHECK-NEXT:            "col": 9,8582// CHECK-NEXT:            "tokLen": 18583// CHECK-NEXT:           }8584// CHECK-NEXT:          },8585// CHECK-NEXT:          "type": {8586// CHECK-NEXT:           "qualType": "NS::X"8587// CHECK-NEXT:          },8588// CHECK-NEXT:          "valueCategory": "prvalue",8589// CHECK-NEXT:          "ctorType": {8590// CHECK-NEXT:           "qualType": "void () noexcept"8591// CHECK-NEXT:          },8592// CHECK-NEXT:          "hadMultipleCandidates": true,8593// CHECK-NEXT:          "constructionKind": "complete"8594// CHECK-NEXT:         }8595// CHECK-NEXT:        ]8596// CHECK-NEXT:       }8597// CHECK-NEXT:      ]8598// CHECK-NEXT:     },8599// CHECK-NEXT:     {8600// CHECK-NEXT:      "id": "0x{{.*}}",8601// CHECK-NEXT:      "kind": "DeclStmt",8602// CHECK-NEXT:      "range": {8603// CHECK-NEXT:       "begin": {8604// CHECK-NEXT:        "offset": 2470,8605// CHECK-NEXT:        "line": 143,8606// CHECK-NEXT:        "col": 3,8607// CHECK-NEXT:        "tokLen": 58608// CHECK-NEXT:       },8609// CHECK-NEXT:       "end": {8610// CHECK-NEXT:        "offset": 2481,8611// CHECK-NEXT:        "col": 14,8612// CHECK-NEXT:        "tokLen": 18613// CHECK-NEXT:       }8614// CHECK-NEXT:      },8615// CHECK-NEXT:      "inner": [8616// CHECK-NEXT:       {8617// CHECK-NEXT:        "id": "0x{{.*}}",8618// CHECK-NEXT:        "kind": "UsingDecl",8619// CHECK-NEXT:        "loc": {8620// CHECK-NEXT:         "offset": 2480,8621// CHECK-NEXT:         "col": 13,8622// CHECK-NEXT:         "tokLen": 18623// CHECK-NEXT:        },8624// CHECK-NEXT:        "range": {8625// CHECK-NEXT:         "begin": {8626// CHECK-NEXT:          "offset": 2470,8627// CHECK-NEXT:          "col": 3,8628// CHECK-NEXT:          "tokLen": 58629// CHECK-NEXT:         },8630// CHECK-NEXT:         "end": {8631// CHECK-NEXT:          "offset": 2480,8632// CHECK-NEXT:          "col": 13,8633// CHECK-NEXT:          "tokLen": 18634// CHECK-NEXT:         }8635// CHECK-NEXT:        },8636// CHECK-NEXT:        "name": "NS::f"8637// CHECK-NEXT:       }8638// CHECK-NEXT:      ]8639// CHECK-NEXT:     },8640// CHECK-NEXT:     {8641// CHECK-NEXT:      "id": "0x{{.*}}",8642// CHECK-NEXT:      "kind": "CallExpr",8643// CHECK-NEXT:      "range": {8644// CHECK-NEXT:       "begin": {8645// CHECK-NEXT:        "offset": 2485,8646// CHECK-NEXT:        "line": 144,8647// CHECK-NEXT:        "col": 3,8648// CHECK-NEXT:        "tokLen": 18649// CHECK-NEXT:       },8650// CHECK-NEXT:       "end": {8651// CHECK-NEXT:        "offset": 2488,8652// CHECK-NEXT:        "col": 6,8653// CHECK-NEXT:        "tokLen": 18654// CHECK-NEXT:       }8655// CHECK-NEXT:      },8656// CHECK-NEXT:      "type": {8657// CHECK-NEXT:       "qualType": "void"8658// CHECK-NEXT:      },8659// CHECK-NEXT:      "valueCategory": "prvalue",8660// CHECK-NEXT:      "inner": [8661// CHECK-NEXT:       {8662// CHECK-NEXT:        "id": "0x{{.*}}",8663// CHECK-NEXT:        "kind": "ImplicitCastExpr",8664// CHECK-NEXT:        "range": {8665// CHECK-NEXT:         "begin": {8666// CHECK-NEXT:          "offset": 2485,8667// CHECK-NEXT:          "col": 3,8668// CHECK-NEXT:          "tokLen": 18669// CHECK-NEXT:         },8670// CHECK-NEXT:         "end": {8671// CHECK-NEXT:          "offset": 2485,8672// CHECK-NEXT:          "col": 3,8673// CHECK-NEXT:          "tokLen": 18674// CHECK-NEXT:         }8675// CHECK-NEXT:        },8676// CHECK-NEXT:        "type": {8677// CHECK-NEXT:         "qualType": "void (*)(X)"8678// CHECK-NEXT:        },8679// CHECK-NEXT:        "valueCategory": "prvalue",8680// CHECK-NEXT:        "castKind": "FunctionToPointerDecay",8681// CHECK-NEXT:        "inner": [8682// CHECK-NEXT:         {8683// CHECK-NEXT:          "id": "0x{{.*}}",8684// CHECK-NEXT:          "kind": "DeclRefExpr",8685// CHECK-NEXT:          "range": {8686// CHECK-NEXT:           "begin": {8687// CHECK-NEXT:            "offset": 2485,8688// CHECK-NEXT:            "col": 3,8689// CHECK-NEXT:            "tokLen": 18690// CHECK-NEXT:           },8691// CHECK-NEXT:           "end": {8692// CHECK-NEXT:            "offset": 2485,8693// CHECK-NEXT:            "col": 3,8694// CHECK-NEXT:            "tokLen": 18695// CHECK-NEXT:           }8696// CHECK-NEXT:          },8697// CHECK-NEXT:          "type": {8698// CHECK-NEXT:           "qualType": "void (X)"8699// CHECK-NEXT:          },8700// CHECK-NEXT:          "valueCategory": "lvalue",8701// CHECK-NEXT:          "referencedDecl": {8702// CHECK-NEXT:           "id": "0x{{.*}}",8703// CHECK-NEXT:           "kind": "FunctionDecl",8704// CHECK-NEXT:           "name": "f",8705// CHECK-NEXT:           "type": {8706// CHECK-NEXT:            "qualType": "void (X)"8707// CHECK-NEXT:           }8708// CHECK-NEXT:          },8709// CHECK-NEXT:          "foundReferencedDecl": {8710// CHECK-NEXT:           "id": "0x{{.*}}",8711// CHECK-NEXT:           "kind": "UsingShadowDecl",8712// CHECK-NEXT:           "name": "f"8713// CHECK-NEXT:          }8714// CHECK-NEXT:         }8715// CHECK-NEXT:        ]8716// CHECK-NEXT:       },8717// CHECK-NEXT:       {8718// CHECK-NEXT:        "id": "0x{{.*}}",8719// CHECK-NEXT:        "kind": "CXXConstructExpr",8720// CHECK-NEXT:        "range": {8721// CHECK-NEXT:         "begin": {8722// CHECK-NEXT:          "offset": 2487,8723// CHECK-NEXT:          "col": 5,8724// CHECK-NEXT:          "tokLen": 18725// CHECK-NEXT:         },8726// CHECK-NEXT:         "end": {8727// CHECK-NEXT:          "offset": 2487,8728// CHECK-NEXT:          "col": 5,8729// CHECK-NEXT:          "tokLen": 18730// CHECK-NEXT:         }8731// CHECK-NEXT:        },8732// CHECK-NEXT:        "type": {8733// CHECK-NEXT:         "qualType": "X"8734// CHECK-NEXT:        },8735// CHECK-NEXT:        "valueCategory": "prvalue",8736// CHECK-NEXT:        "ctorType": {8737// CHECK-NEXT:         "qualType": "void (const X &) noexcept"8738// CHECK-NEXT:        },8739// CHECK-NEXT:        "hadMultipleCandidates": true,8740// CHECK-NEXT:        "constructionKind": "complete",8741// CHECK-NEXT:        "inner": [8742// CHECK-NEXT:         {8743// CHECK-NEXT:          "id": "0x{{.*}}",8744// CHECK-NEXT:          "kind": "ImplicitCastExpr",8745// CHECK-NEXT:          "range": {8746// CHECK-NEXT:           "begin": {8747// CHECK-NEXT:            "offset": 2487,8748// CHECK-NEXT:            "col": 5,8749// CHECK-NEXT:            "tokLen": 18750// CHECK-NEXT:           },8751// CHECK-NEXT:           "end": {8752// CHECK-NEXT:            "offset": 2487,8753// CHECK-NEXT:            "col": 5,8754// CHECK-NEXT:            "tokLen": 18755// CHECK-NEXT:           }8756// CHECK-NEXT:          },8757// CHECK-NEXT:          "type": {8758// CHECK-NEXT:           "qualType": "const X"8759// CHECK-NEXT:          },8760// CHECK-NEXT:          "valueCategory": "lvalue",8761// CHECK-NEXT:          "castKind": "NoOp",8762// CHECK-NEXT:          "inner": [8763// CHECK-NEXT:           {8764// CHECK-NEXT:            "id": "0x{{.*}}",8765// CHECK-NEXT:            "kind": "DeclRefExpr",8766// CHECK-NEXT:            "range": {8767// CHECK-NEXT:             "begin": {8768// CHECK-NEXT:              "offset": 2487,8769// CHECK-NEXT:              "col": 5,8770// CHECK-NEXT:              "tokLen": 18771// CHECK-NEXT:             },8772// CHECK-NEXT:             "end": {8773// CHECK-NEXT:              "offset": 2487,8774// CHECK-NEXT:              "col": 5,8775// CHECK-NEXT:              "tokLen": 18776// CHECK-NEXT:             }8777// CHECK-NEXT:            },8778// CHECK-NEXT:            "type": {8779// CHECK-NEXT:             "qualType": "NS::X"8780// CHECK-NEXT:            },8781// CHECK-NEXT:            "valueCategory": "lvalue",8782// CHECK-NEXT:            "referencedDecl": {8783// CHECK-NEXT:             "id": "0x{{.*}}",8784// CHECK-NEXT:             "kind": "VarDecl",8785// CHECK-NEXT:             "name": "x",8786// CHECK-NEXT:             "type": {8787// CHECK-NEXT:              "qualType": "NS::X"8788// CHECK-NEXT:             }8789// CHECK-NEXT:            }8790// CHECK-NEXT:           }8791// CHECK-NEXT:          ]8792// CHECK-NEXT:         }8793// CHECK-NEXT:        ]8794// CHECK-NEXT:       }8795// CHECK-NEXT:      ]8796// CHECK-NEXT:     },8797// CHECK-NEXT:     {8798// CHECK-NEXT:      "id": "0x{{.*}}",8799// CHECK-NEXT:      "kind": "CallExpr",8800// CHECK-NEXT:      "range": {8801// CHECK-NEXT:       "begin": {8802// CHECK-NEXT:        "offset": 2493,8803// CHECK-NEXT:        "line": 145,8804// CHECK-NEXT:        "col": 3,8805// CHECK-NEXT:        "tokLen": 18806// CHECK-NEXT:       },8807// CHECK-NEXT:       "end": {8808// CHECK-NEXT:        "offset": 2496,8809// CHECK-NEXT:        "col": 6,8810// CHECK-NEXT:        "tokLen": 18811// CHECK-NEXT:       }8812// CHECK-NEXT:      },8813// CHECK-NEXT:      "type": {8814// CHECK-NEXT:       "qualType": "void"8815// CHECK-NEXT:      },8816// CHECK-NEXT:      "valueCategory": "prvalue",8817// CHECK-NEXT:      "adl": true,8818// CHECK-NEXT:      "inner": [8819// CHECK-NEXT:       {8820// CHECK-NEXT:        "id": "0x{{.*}}",8821// CHECK-NEXT:        "kind": "ImplicitCastExpr",8822// CHECK-NEXT:        "range": {8823// CHECK-NEXT:         "begin": {8824// CHECK-NEXT:          "offset": 2493,8825// CHECK-NEXT:          "col": 3,8826// CHECK-NEXT:          "tokLen": 18827// CHECK-NEXT:         },8828// CHECK-NEXT:         "end": {8829// CHECK-NEXT:          "offset": 2493,8830// CHECK-NEXT:          "col": 3,8831// CHECK-NEXT:          "tokLen": 18832// CHECK-NEXT:         }8833// CHECK-NEXT:        },8834// CHECK-NEXT:        "type": {8835// CHECK-NEXT:         "qualType": "void (*)(...)"8836// CHECK-NEXT:        },8837// CHECK-NEXT:        "valueCategory": "prvalue",8838// CHECK-NEXT:        "castKind": "FunctionToPointerDecay",8839// CHECK-NEXT:        "inner": [8840// CHECK-NEXT:         {8841// CHECK-NEXT:          "id": "0x{{.*}}",8842// CHECK-NEXT:          "kind": "DeclRefExpr",8843// CHECK-NEXT:          "range": {8844// CHECK-NEXT:           "begin": {8845// CHECK-NEXT:            "offset": 2493,8846// CHECK-NEXT:            "col": 3,8847// CHECK-NEXT:            "tokLen": 18848// CHECK-NEXT:           },8849// CHECK-NEXT:           "end": {8850// CHECK-NEXT:            "offset": 2493,8851// CHECK-NEXT:            "col": 3,8852// CHECK-NEXT:            "tokLen": 18853// CHECK-NEXT:           }8854// CHECK-NEXT:          },8855// CHECK-NEXT:          "type": {8856// CHECK-NEXT:           "qualType": "void (...)"8857// CHECK-NEXT:          },8858// CHECK-NEXT:          "valueCategory": "lvalue",8859// CHECK-NEXT:          "referencedDecl": {8860// CHECK-NEXT:           "id": "0x{{.*}}",8861// CHECK-NEXT:           "kind": "FunctionDecl",8862// CHECK-NEXT:           "name": "y",8863// CHECK-NEXT:           "type": {8864// CHECK-NEXT:            "qualType": "void (...)"8865// CHECK-NEXT:           }8866// CHECK-NEXT:          }8867// CHECK-NEXT:         }8868// CHECK-NEXT:        ]8869// CHECK-NEXT:       },8870// CHECK-NEXT:       {8871// CHECK-NEXT:        "id": "0x{{.*}}",8872// CHECK-NEXT:        "kind": "CXXConstructExpr",8873// CHECK-NEXT:        "range": {8874// CHECK-NEXT:         "begin": {8875// CHECK-NEXT:          "offset": 2495,8876// CHECK-NEXT:          "col": 5,8877// CHECK-NEXT:          "tokLen": 18878// CHECK-NEXT:         },8879// CHECK-NEXT:         "end": {8880// CHECK-NEXT:          "offset": 2495,8881// CHECK-NEXT:          "col": 5,8882// CHECK-NEXT:          "tokLen": 18883// CHECK-NEXT:         }8884// CHECK-NEXT:        },8885// CHECK-NEXT:        "type": {8886// CHECK-NEXT:         "qualType": "NS::X"8887// CHECK-NEXT:        },8888// CHECK-NEXT:        "valueCategory": "prvalue",8889// CHECK-NEXT:        "ctorType": {8890// CHECK-NEXT:         "qualType": "void (const X &) noexcept"8891// CHECK-NEXT:        },8892// CHECK-NEXT:        "hadMultipleCandidates": true,8893// CHECK-NEXT:        "constructionKind": "complete",8894// CHECK-NEXT:        "inner": [8895// CHECK-NEXT:         {8896// CHECK-NEXT:          "id": "0x{{.*}}",8897// CHECK-NEXT:          "kind": "ImplicitCastExpr",8898// CHECK-NEXT:          "range": {8899// CHECK-NEXT:           "begin": {8900// CHECK-NEXT:            "offset": 2495,8901// CHECK-NEXT:            "col": 5,8902// CHECK-NEXT:            "tokLen": 18903// CHECK-NEXT:           },8904// CHECK-NEXT:           "end": {8905// CHECK-NEXT:            "offset": 2495,8906// CHECK-NEXT:            "col": 5,8907// CHECK-NEXT:            "tokLen": 18908// CHECK-NEXT:           }8909// CHECK-NEXT:          },8910// CHECK-NEXT:          "type": {8911// CHECK-NEXT:           "qualType": "const X"8912// CHECK-NEXT:          },8913// CHECK-NEXT:          "valueCategory": "lvalue",8914// CHECK-NEXT:          "castKind": "NoOp",8915// CHECK-NEXT:          "inner": [8916// CHECK-NEXT:           {8917// CHECK-NEXT:            "id": "0x{{.*}}",8918// CHECK-NEXT:            "kind": "DeclRefExpr",8919// CHECK-NEXT:            "range": {8920// CHECK-NEXT:             "begin": {8921// CHECK-NEXT:              "offset": 2495,8922// CHECK-NEXT:              "col": 5,8923// CHECK-NEXT:              "tokLen": 18924// CHECK-NEXT:             },8925// CHECK-NEXT:             "end": {8926// CHECK-NEXT:              "offset": 2495,8927// CHECK-NEXT:              "col": 5,8928// CHECK-NEXT:              "tokLen": 18929// CHECK-NEXT:             }8930// CHECK-NEXT:            },8931// CHECK-NEXT:            "type": {8932// CHECK-NEXT:             "qualType": "NS::X"8933// CHECK-NEXT:            },8934// CHECK-NEXT:            "valueCategory": "lvalue",8935// CHECK-NEXT:            "referencedDecl": {8936// CHECK-NEXT:             "id": "0x{{.*}}",8937// CHECK-NEXT:             "kind": "VarDecl",8938// CHECK-NEXT:             "name": "x",8939// CHECK-NEXT:             "type": {8940// CHECK-NEXT:              "qualType": "NS::X"8941// CHECK-NEXT:             }8942// CHECK-NEXT:            }8943// CHECK-NEXT:           }8944// CHECK-NEXT:          ]8945// CHECK-NEXT:         }8946// CHECK-NEXT:        ]8947// CHECK-NEXT:       }8948// CHECK-NEXT:      ]8949// CHECK-NEXT:     }8950// CHECK-NEXT:    ]8951// CHECK-NEXT:   }8952// CHECK-NEXT:  ]8953// CHECK-NEXT: }8954 8955 8956// CHECK-NOT: {{^}}Dumping8957// CHECK:  "kind": "FunctionDecl",8958// CHECK-NEXT:  "loc": {8959// CHECK-NEXT:   "offset": 2559,8960// CHECK-NEXT:   "file": "{{.*}}",8961// CHECK-NEXT:   "line": 150,8962// CHECK-NEXT:   "col": 6,8963// CHECK-NEXT:   "tokLen": 158964// CHECK-NEXT:  },8965// CHECK-NEXT:  "range": {8966// CHECK-NEXT:   "begin": {8967// CHECK-NEXT:    "offset": 2554,8968// CHECK-NEXT:    "col": 1,8969// CHECK-NEXT:    "tokLen": 48970// CHECK-NEXT:   },8971// CHECK-NEXT:   "end": {8972// CHECK-NEXT:    "offset": 2594,8973// CHECK-NEXT:    "line": 153,8974// CHECK-NEXT:    "col": 1,8975// CHECK-NEXT:    "tokLen": 18976// CHECK-NEXT:   }8977// CHECK-NEXT:  },8978// CHECK-NEXT:  "name": "TestNonADLCall3",8979// CHECK-NEXT:  "mangledName": "_ZN19test_adl_call_three15TestNonADLCall3Ev",8980// CHECK-NEXT:  "type": {8981// CHECK-NEXT:   "qualType": "void ()"8982// CHECK-NEXT:  },8983// CHECK-NEXT:  "inner": [8984// CHECK-NEXT:   {8985// CHECK-NEXT:    "id": "0x{{.*}}",8986// CHECK-NEXT:    "kind": "CompoundStmt",8987// CHECK-NEXT:    "range": {8988// CHECK-NEXT:     "begin": {8989// CHECK-NEXT:      "offset": 2577,8990// CHECK-NEXT:      "line": 150,8991// CHECK-NEXT:      "col": 24,8992// CHECK-NEXT:      "tokLen": 18993// CHECK-NEXT:     },8994// CHECK-NEXT:     "end": {8995// CHECK-NEXT:      "offset": 2594,8996// CHECK-NEXT:      "line": 153,8997// CHECK-NEXT:      "col": 1,8998// CHECK-NEXT:      "tokLen": 18999// CHECK-NEXT:     }9000// CHECK-NEXT:    },9001// CHECK-NEXT:    "inner": [9002// CHECK-NEXT:     {9003// CHECK-NEXT:      "id": "0x{{.*}}",9004// CHECK-NEXT:      "kind": "DeclStmt",9005// CHECK-NEXT:      "range": {9006// CHECK-NEXT:       "begin": {9007// CHECK-NEXT:        "offset": 2581,9008// CHECK-NEXT:        "line": 151,9009// CHECK-NEXT:        "col": 3,9010// CHECK-NEXT:        "tokLen": 19011// CHECK-NEXT:       },9012// CHECK-NEXT:       "end": {9013// CHECK-NEXT:        "offset": 2584,9014// CHECK-NEXT:        "col": 6,9015// CHECK-NEXT:        "tokLen": 19016// CHECK-NEXT:       }9017// CHECK-NEXT:      },9018// CHECK-NEXT:      "inner": [9019// CHECK-NEXT:       {9020// CHECK-NEXT:        "id": "0x{{.*}}",9021// CHECK-NEXT:        "kind": "VarDecl",9022// CHECK-NEXT:        "loc": {9023// CHECK-NEXT:         "offset": 2583,9024// CHECK-NEXT:         "col": 5,9025// CHECK-NEXT:         "tokLen": 19026// CHECK-NEXT:        },9027// CHECK-NEXT:        "range": {9028// CHECK-NEXT:         "begin": {9029// CHECK-NEXT:          "offset": 2581,9030// CHECK-NEXT:          "col": 3,9031// CHECK-NEXT:          "tokLen": 19032// CHECK-NEXT:         },9033// CHECK-NEXT:         "end": {9034// CHECK-NEXT:          "offset": 2583,9035// CHECK-NEXT:          "col": 5,9036// CHECK-NEXT:          "tokLen": 19037// CHECK-NEXT:         }9038// CHECK-NEXT:        },9039// CHECK-NEXT:        "isUsed": true,9040// CHECK-NEXT:        "name": "x",9041// CHECK-NEXT:        "type": {9042// CHECK-NEXT:         "qualType": "X"9043// CHECK-NEXT:        },9044// CHECK-NEXT:        "init": "call",9045// CHECK-NEXT:        "inner": [9046// CHECK-NEXT:         {9047// CHECK-NEXT:          "id": "0x{{.*}}",9048// CHECK-NEXT:          "kind": "CXXConstructExpr",9049// CHECK-NEXT:          "range": {9050// CHECK-NEXT:           "begin": {9051// CHECK-NEXT:            "offset": 2583,9052// CHECK-NEXT:            "col": 5,9053// CHECK-NEXT:            "tokLen": 19054// CHECK-NEXT:           },9055// CHECK-NEXT:           "end": {9056// CHECK-NEXT:            "offset": 2583,9057// CHECK-NEXT:            "col": 5,9058// CHECK-NEXT:            "tokLen": 19059// CHECK-NEXT:           }9060// CHECK-NEXT:          },9061// CHECK-NEXT:          "type": {9062// CHECK-NEXT:           "qualType": "X"9063// CHECK-NEXT:          },9064// CHECK-NEXT:          "valueCategory": "prvalue",9065// CHECK-NEXT:          "ctorType": {9066// CHECK-NEXT:           "qualType": "void () noexcept"9067// CHECK-NEXT:          },9068// CHECK-NEXT:          "hadMultipleCandidates": true,9069// CHECK-NEXT:          "constructionKind": "complete"9070// CHECK-NEXT:         }9071// CHECK-NEXT:        ]9072// CHECK-NEXT:       }9073// CHECK-NEXT:      ]9074// CHECK-NEXT:     },9075// CHECK-NEXT:     {9076// CHECK-NEXT:      "id": "0x{{.*}}",9077// CHECK-NEXT:      "kind": "CallExpr",9078// CHECK-NEXT:      "range": {9079// CHECK-NEXT:       "begin": {9080// CHECK-NEXT:        "offset": 2588,9081// CHECK-NEXT:        "line": 152,9082// CHECK-NEXT:        "col": 3,9083// CHECK-NEXT:        "tokLen": 19084// CHECK-NEXT:       },9085// CHECK-NEXT:       "end": {9086// CHECK-NEXT:        "offset": 2591,9087// CHECK-NEXT:        "col": 6,9088// CHECK-NEXT:        "tokLen": 19089// CHECK-NEXT:       }9090// CHECK-NEXT:      },9091// CHECK-NEXT:      "type": {9092// CHECK-NEXT:       "qualType": "void"9093// CHECK-NEXT:      },9094// CHECK-NEXT:      "valueCategory": "prvalue",9095// CHECK-NEXT:      "inner": [9096// CHECK-NEXT:       {9097// CHECK-NEXT:        "id": "0x{{.*}}",9098// CHECK-NEXT:        "kind": "ImplicitCastExpr",9099// CHECK-NEXT:        "range": {9100// CHECK-NEXT:         "begin": {9101// CHECK-NEXT:          "offset": 2588,9102// CHECK-NEXT:          "col": 3,9103// CHECK-NEXT:          "tokLen": 19104// CHECK-NEXT:         },9105// CHECK-NEXT:         "end": {9106// CHECK-NEXT:          "offset": 2588,9107// CHECK-NEXT:          "col": 3,9108// CHECK-NEXT:          "tokLen": 19109// CHECK-NEXT:         }9110// CHECK-NEXT:        },9111// CHECK-NEXT:        "type": {9112// CHECK-NEXT:         "qualType": "void (*)(X)"9113// CHECK-NEXT:        },9114// CHECK-NEXT:        "valueCategory": "prvalue",9115// CHECK-NEXT:        "castKind": "FunctionToPointerDecay",9116// CHECK-NEXT:        "inner": [9117// CHECK-NEXT:         {9118// CHECK-NEXT:          "id": "0x{{.*}}",9119// CHECK-NEXT:          "kind": "DeclRefExpr",9120// CHECK-NEXT:          "range": {9121// CHECK-NEXT:           "begin": {9122// CHECK-NEXT:            "offset": 2588,9123// CHECK-NEXT:            "col": 3,9124// CHECK-NEXT:            "tokLen": 19125// CHECK-NEXT:           },9126// CHECK-NEXT:           "end": {9127// CHECK-NEXT:            "offset": 2588,9128// CHECK-NEXT:            "col": 3,9129// CHECK-NEXT:            "tokLen": 19130// CHECK-NEXT:           }9131// CHECK-NEXT:          },9132// CHECK-NEXT:          "type": {9133// CHECK-NEXT:           "qualType": "void (X)"9134// CHECK-NEXT:          },9135// CHECK-NEXT:          "valueCategory": "lvalue",9136// CHECK-NEXT:          "referencedDecl": {9137// CHECK-NEXT:           "id": "0x{{.*}}",9138// CHECK-NEXT:           "kind": "FunctionDecl",9139// CHECK-NEXT:           "name": "f",9140// CHECK-NEXT:           "type": {9141// CHECK-NEXT:            "qualType": "void (X)"9142// CHECK-NEXT:           }9143// CHECK-NEXT:          }9144// CHECK-NEXT:         }9145// CHECK-NEXT:        ]9146// CHECK-NEXT:       },9147// CHECK-NEXT:       {9148// CHECK-NEXT:        "id": "0x{{.*}}",9149// CHECK-NEXT:        "kind": "CXXConstructExpr",9150// CHECK-NEXT:        "range": {9151// CHECK-NEXT:         "begin": {9152// CHECK-NEXT:          "offset": 2590,9153// CHECK-NEXT:          "col": 5,9154// CHECK-NEXT:          "tokLen": 19155// CHECK-NEXT:         },9156// CHECK-NEXT:         "end": {9157// CHECK-NEXT:          "offset": 2590,9158// CHECK-NEXT:          "col": 5,9159// CHECK-NEXT:          "tokLen": 19160// CHECK-NEXT:         }9161// CHECK-NEXT:        },9162// CHECK-NEXT:        "type": {9163// CHECK-NEXT:         "qualType": "X"9164// CHECK-NEXT:        },9165// CHECK-NEXT:        "valueCategory": "prvalue",9166// CHECK-NEXT:        "ctorType": {9167// CHECK-NEXT:         "qualType": "void (const X &) noexcept"9168// CHECK-NEXT:        },9169// CHECK-NEXT:        "hadMultipleCandidates": true,9170// CHECK-NEXT:        "constructionKind": "complete",9171// CHECK-NEXT:        "inner": [9172// CHECK-NEXT:         {9173// CHECK-NEXT:          "id": "0x{{.*}}",9174// CHECK-NEXT:          "kind": "ImplicitCastExpr",9175// CHECK-NEXT:          "range": {9176// CHECK-NEXT:           "begin": {9177// CHECK-NEXT:            "offset": 2590,9178// CHECK-NEXT:            "col": 5,9179// CHECK-NEXT:            "tokLen": 19180// CHECK-NEXT:           },9181// CHECK-NEXT:           "end": {9182// CHECK-NEXT:            "offset": 2590,9183// CHECK-NEXT:            "col": 5,9184// CHECK-NEXT:            "tokLen": 19185// CHECK-NEXT:           }9186// CHECK-NEXT:          },9187// CHECK-NEXT:          "type": {9188// CHECK-NEXT:           "qualType": "const X"9189// CHECK-NEXT:          },9190// CHECK-NEXT:          "valueCategory": "lvalue",9191// CHECK-NEXT:          "castKind": "NoOp",9192// CHECK-NEXT:          "inner": [9193// CHECK-NEXT:           {9194// CHECK-NEXT:            "id": "0x{{.*}}",9195// CHECK-NEXT:            "kind": "DeclRefExpr",9196// CHECK-NEXT:            "range": {9197// CHECK-NEXT:             "begin": {9198// CHECK-NEXT:              "offset": 2590,9199// CHECK-NEXT:              "col": 5,9200// CHECK-NEXT:              "tokLen": 19201// CHECK-NEXT:             },9202// CHECK-NEXT:             "end": {9203// CHECK-NEXT:              "offset": 2590,9204// CHECK-NEXT:              "col": 5,9205// CHECK-NEXT:              "tokLen": 19206// CHECK-NEXT:             }9207// CHECK-NEXT:            },9208// CHECK-NEXT:            "type": {9209// CHECK-NEXT:             "qualType": "X"9210// CHECK-NEXT:            },9211// CHECK-NEXT:            "valueCategory": "lvalue",9212// CHECK-NEXT:            "referencedDecl": {9213// CHECK-NEXT:             "id": "0x{{.*}}",9214// CHECK-NEXT:             "kind": "VarDecl",9215// CHECK-NEXT:             "name": "x",9216// CHECK-NEXT:             "type": {9217// CHECK-NEXT:              "qualType": "X"9218// CHECK-NEXT:             }9219// CHECK-NEXT:            }9220// CHECK-NEXT:           }9221// CHECK-NEXT:          ]9222// CHECK-NEXT:         }9223// CHECK-NEXT:        ]9224// CHECK-NEXT:       }9225// CHECK-NEXT:      ]9226// CHECK-NEXT:     }9227// CHECK-NEXT:    ]9228// CHECK-NEXT:   }9229// CHECK-NEXT:  ]9230// CHECK-NEXT: }9231