brintos

brintos / llvm-project-archived public Read only

0
0
Text · 321.0 KiB · f0357c5 Raw
9262 lines · cpp
1// RUN: %clang_cc1 -triple x86_64-unknown-unknown -std=c++20 -ast-dump=json %s | FileCheck --check-prefix=JSON %s2// RUN: %clang_cc1 -triple x86_64-unknown-unknown -std=c++20 -ast-print %s > %t3// RUN: FileCheck < %t %s -check-prefix=CHECK14// RUN: FileCheck < %t %s -check-prefix=CHECK25// RUN: %clang_cc1 -triple x86_64-unknown-unknown -std=c++20 -ast-dump %s | FileCheck --check-prefix=DUMP %s6 7// Test with serialization:8// RUN: %clang_cc1 -triple x86_64-unknown-unknown -std=c++20 -emit-pch -o %t %s9// RUN: %clang_cc1 -triple x86_64-unknown-unknown -x c++ -std=c++20 -include-pch %t \10// RUN: -ast-dump-all /dev/null \11// RUN: | sed -e "s/ <undeserialized declarations>//" -e "s/ imported//" \12// RUN: | FileCheck --strict-whitespace --check-prefix=DUMP %s13 14template <int X, typename Y, int Z = 5>15struct foo {16  int constant;17  foo() {}18  Y getSum() { return Y(X + Z); }19};20 21template <int A, typename B>22B bar() {23  return B(A);24}25 26void baz() {27  int x = bar<5, int>();28  int y = foo<5, int>().getSum();29  double z = foo<2, double, 3>().getSum();30}31 32// Template definition - foo33// CHECK1: template <int X, typename Y, int Z = 5> struct foo {34// CHECK2: template <int X, typename Y, int Z = 5> struct foo {35 36// Template instantiation - foo37// Since the order of instantiation may vary during runs, run FileCheck twice38// to make sure each instantiation is in the correct spot.39// CHECK1: template<> struct foo<5, int, 5> {40// CHECK2: template<> struct foo<2, double, 3> {41 42// Template definition - bar43// CHECK1: template <int A, typename B> B bar()44// CHECK2: template <int A, typename B> B bar()45 46// Template instantiation - bar47// CHECK1: template<> int bar<5, int>()48// CHECK2: template<> int bar<5, int>()49 50// CHECK1-LABEL: template <typename ...T> struct A {51// CHECK1-NEXT:    template <T ...x[3]> struct B {52template <typename ...T> struct A {53  template <T ...x[3]> struct B {};54};55 56// CHECK1-LABEL: template <typename ...T> void f() {57// CHECK1-NEXT:    A<T[3]...> a;58template <typename ...T> void f() {59  A<T[3]...> a;60}61 62namespace test2 {63void func(int);64void func(float);65template<typename T>66void tmpl() {67  func(T());68}69 70// DUMP: UnresolvedLookupExpr {{.*}} <col:3> '<overloaded function type>' lvalue (ADL) = 'func'71}72 73namespace test3 {74  template<typename T> struct A {};75  template<typename T> A(T) -> A<int>;76  // CHECK1: template <typename T> A(T) -> A<int>;77}78 79namespace test4 {80template <unsigned X, auto A>81struct foo {82  static void fn();83};84 85// Prints using an "integral" template argument. Test that this correctly86// includes the type for the auto argument and omits it for the fixed87// type/unsigned argument (see88// TemplateParameterList::shouldIncludeTypeForArgument)89// CHECK1: {{^    }}template<> struct foo<0, 0L> {90// CHECK1: {{^    }}void test(){{ }}{91// CHECK1: {{^        }}foo<0, 0 + 0L>::fn();92void test() {93  foo<0, 0 + 0L>::fn();94}95 96// Prints using an "expression" template argument. This renders based on the way97// the user wrote the arguments (including that + expression) - so it's not98// powered by the shouldIncludeTypeForArgument functionality.99// Not sure if this it's intentional that these two specializations are rendered100// differently in this way.101// CHECK1: {{^    }}template<> struct foo<1, 0 + 0L> {102template struct foo<1, 0 + 0L>;103}104 105namespace test5 {106template<long> void f() {}107void (*p)() = f<0>;108template<unsigned = 0> void f() {}109void (*q)() = f<>;110// Not perfect - this code in the dump would be ambiguous, but it's the best we111// can do to differentiate these two implicit specializations.112// CHECK1: template<> void f<0L>()113// CHECK1: template<> void f<0U>()114}115 116namespace test6 {117template <class D>118constexpr bool C = true;119 120template <class Key>121void func() {122  C<Key>;123// DUMP:      UnresolvedLookupExpr {{.*}} '<dependent type>' lvalue (no ADL) = 'C'124// DUMP-NEXT: `-TemplateArgument type 'Key'125// DUMP-NEXT:   `-TemplateTypeParmType {{.*}} 'Key' dependent depth 0 index 0126// DUMP-NEXT:     `-TemplateTypeParm {{.*}} 'Key'127}128}129 130namespace test7 {131  template <template<class> class TT> struct A {};132  template <class...> class B {};133  template struct A<B>;134// DUMP-LABEL: NamespaceDecl {{.*}} test7{{$}}135// DUMP:       ClassTemplateDecl 0x{{.+}} A{{$}}136// DUMP-NEXT:  |-TemplateTemplateParmDecl137// DUMP-NEXT:  | `-TemplateTypeParmDecl138// DUMP-NEXT:  |-CXXRecordDecl 0x[[TEST7_PAT:[^ ]+]] {{.+}} struct A definition139// DUMP:       ClassTemplateSpecializationDecl {{.*}} struct A definition instantiated_from 0x[[TEST7_PAT]] explicit_instantiation_definition strict-pack-match{{$}}140} // namespce test7141 142namespace test8 {143template<_Complex int x>144struct pr126341;145template<>146struct pr126341<{1, 2}>;147// DUMP-LABEL: NamespaceDecl {{.*}} test8{{$}}148// DUMP-NEXT:  |-ClassTemplateDecl {{.*}} pr126341149// DUMP:       `-ClassTemplateSpecializationDecl {{.*}} pr126341150// DUMP:         `-TemplateArgument structural value '1+2i'151} // namespace test8152 153namespace TestMemberPointerPartialSpec {154  template <class> struct A;155  template <class T1, class T2> struct A<T1 T2::*>;156// DUMP-LABEL: NamespaceDecl {{.+}} TestMemberPointerPartialSpec{{$}}157// DUMP:       ClassTemplatePartialSpecializationDecl {{.*}} struct A158// DUMP-NEXT:  |-TemplateArgument type 'type-parameter-0-0 type-parameter-0-1::*'159// DUMP-NEXT:  | `-MemberPointerType {{.+}} 'type-parameter-0-0 type-parameter-0-1::*' dependent160// DUMP-NEXT:  |   |-TemplateTypeParmType {{.+}} 'type-parameter-0-1' dependent depth 0 index 1161// DUMP-NEXT:  |   `-TemplateTypeParmType {{.+}} 'type-parameter-0-0' dependent depth 0 index 0162} // namespace TestMemberPointerPartialSpec163 164namespace TestDependentMemberPointer {165  template <class U> struct A {166    using X = int U::*;167    using Y = int U::test::*;168    using Z = int U::template V<int>::*;169  };170// DUMP-LABEL: NamespaceDecl {{.+}} TestDependentMemberPointer{{$}}171// DUMP:       |-TypeAliasDecl {{.+}} X 'int U::*'{{$}}172// DUMP-NEXT:  | `-MemberPointerType {{.+}} 'int U::*' dependent173// DUMP-NEXT:  |   |-TemplateTypeParmType {{.+}} 'U' dependent depth 0 index 0174// DUMP-NEXT:  |   | `-TemplateTypeParm {{.+}} 'U'175// DUMP-NEXT:  |   `-BuiltinType {{.+}} 'int'176// DUMP-NEXT:  |-TypeAliasDecl {{.+}} Y 'int U::test::*'{{$}}177// DUMP-NEXT:  | `-MemberPointerType {{.+}} 'int U::test::*' dependent178// DUMP-NEXT:  |   |-DependentNameType {{.+}} 'U::test' dependent179// DUMP-NEXT:  |   `-BuiltinType {{.+}} 'int'180// DUMP-NEXT:  `-TypeAliasDecl {{.+}} Z 'int U::template V<int>::*'{{$}}181// DUMP-NEXT:    `-MemberPointerType {{.+}} 'int U::template V<int>::*' dependent182// DUMP-NEXT:      |-TemplateSpecializationType {{.+}} 'U::template V<int>' dependent183// DUMP-NEXT:      | |-name: 'U::template V':'type-parameter-0-0::template V' dependent184// DUMP-NEXT:      | | `-NestedNameSpecifier TypeSpec 'U'185// DUMP-NEXT:      | `-TemplateArgument type 'int'186// DUMP-NEXT:      `-BuiltinType {{.+}} 'int'187} // namespace TestDependentMemberPointer188 189namespace TestPartialSpecNTTP {190// DUMP-LABEL: NamespaceDecl {{.+}} TestPartialSpecNTTP{{$}}191  template <class TA1, bool TA2> struct Template1 {};192  template <class TB1, bool TB2> struct Template2 {};193 194  template <class U1, bool U2, bool U3>195  struct Template2<Template1<U1, U2>, U3> {};196// DUMP:      ClassTemplatePartialSpecializationDecl {{.+}} struct Template2197// DUMP:      |-TemplateArgument type 'TestPartialSpecNTTP::Template1<type-parameter-0-0, value-parameter-0-1>'198// DUMP-NEXT: | `-TemplateSpecializationType {{.+}} 'TestPartialSpecNTTP::Template1<type-parameter-0-0, value-parameter-0-1>' dependent199// DUMP-NEXT: |   |-name: 'TestPartialSpecNTTP::Template1'200// DUMP-NEXT: |   | `-ClassTemplateDecl {{.+}} Template1201// DUMP-NEXT: |   |-TemplateArgument type 'type-parameter-0-0'202// DUMP-NEXT: |   | `-TemplateTypeParmType {{.+}} 'type-parameter-0-0' dependent depth 0 index 0203// DUMP-NEXT: |   `-TemplateArgument expr canonical 'value-parameter-0-1'204// DUMP-NEXT: |     `-DeclRefExpr {{.+}} 'bool' NonTypeTemplateParm {{.+}} 'U2' 'bool'205// DUMP-NEXT: |-TemplateArgument expr canonical 'value-parameter-0-2'206// DUMP-NEXT: | `-DeclRefExpr {{.+}} 'bool' NonTypeTemplateParm {{.+}} 'U3' 'bool'207// DUMP-NEXT: |-TemplateTypeParmDecl {{.+}} referenced class depth 0 index 0 U1208// DUMP-NEXT: |-NonTypeTemplateParmDecl {{.+}} referenced 'bool' depth 0 index 1 U2209// DUMP-NEXT: |-NonTypeTemplateParmDecl {{.+}} referenced 'bool' depth 0 index 2 U3210// DUMP-NEXT: `-CXXRecordDecl {{.+}} implicit struct Template2211 212  template <typename U1, bool U3, bool U2>213  struct Template2<Template1<U1, U2>, U3> {};214// DUMP:      ClassTemplatePartialSpecializationDecl {{.+}} struct Template2 definition explicit_specialization215// DUMP:      |-TemplateArgument type 'TestPartialSpecNTTP::Template1<type-parameter-0-0, value-parameter-0-2>'216// DUMP-NEXT: | `-TemplateSpecializationType {{.+}} 'TestPartialSpecNTTP::Template1<type-parameter-0-0, value-parameter-0-2>' dependent217// DUMP-NEXT: |   |-name: 'TestPartialSpecNTTP::Template1'218// DUMP-NEXT: |   | `-ClassTemplateDecl {{.+}} Template1219// DUMP-NEXT: |   |-TemplateArgument type 'type-parameter-0-0'220// DUMP-NEXT: |   | `-TemplateTypeParmType {{.+}} 'type-parameter-0-0' dependent depth 0 index 0221// DUMP-NEXT: |   `-TemplateArgument expr canonical 'value-parameter-0-2'222// DUMP-NEXT: |     `-DeclRefExpr {{.+}} 'bool' NonTypeTemplateParm {{.+}} 'U2' 'bool'223// DUMP-NEXT: |-TemplateArgument expr canonical 'value-parameter-0-1'224// DUMP-NEXT: | `-DeclRefExpr {{.+}} 'bool' NonTypeTemplateParm {{.+}} 'U3' 'bool'225// DUMP-NEXT: |-TemplateTypeParmDecl {{.+}} referenced typename depth 0 index 0 U1226// DUMP-NEXT: |-NonTypeTemplateParmDecl {{.+}} referenced 'bool' depth 0 index 1 U3227// DUMP-NEXT: |-NonTypeTemplateParmDecl {{.+}} referenced 'bool' depth 0 index 2 U2228// DUMP-NEXT: `-CXXRecordDecl {{.+}} implicit struct Template2229} // namespace TestPartialSpecNTTP230 231namespace GH153540 {232// DUMP-LABEL: NamespaceDecl {{.*}} GH153540{{$}}233 234  namespace N {235    template<typename T> struct S { S(T); };236  }237  void f() {238    N::S(0);239  }240 241// DUMP:      FunctionDecl {{.*}} f 'void ()'242// DUMP-NEXT: CompoundStmt243// DUMP-NEXT: CXXFunctionalCastExpr {{.*}} 'N::S<int>':'GH153540::N::S<int>'244// DUMP-NEXT: CXXConstructExpr {{.*}} <col:5, col:11> 'N::S<int>':'GH153540::N::S<int>' 'void (int)'245} // namespace GH153540246 247namespace AliasDependentTemplateSpecializationType {248  // DUMP-LABEL: NamespaceDecl {{.*}} AliasDependentTemplateSpecializationType{{$}}249 250  template<template<class> class TT> using T1 = TT<int>;251  template<class T> using T2 = T1<T::template X>;252 253// DUMP:      TypeAliasDecl {{.*}} T2 'T1<T::template X>':'T::template X<int>'254// DUMP-NEXT: `-TemplateSpecializationType {{.*}} 'T1<T::template X>' sugar dependent alias255// DUMP-NEXT:   |-name: 'T1':'AliasDependentTemplateSpecializationType::T1' qualified256// DUMP-NEXT:   | `-TypeAliasTemplateDecl {{.*}} T1257// DUMP-NEXT:   |-TemplateArgument template 'T::template X':'type-parameter-0-0::template X' dependent258// DUMP-NEXT:   | `-NestedNameSpecifier TypeSpec 'T'259// DUMP-NEXT:   `-TemplateSpecializationType {{.*}} 'T::template X<int>' dependent260// DUMP-NEXT:     |-name: 'T::template X':'type-parameter-0-0::template X' subst index 0 final261// DUMP-NEXT:     | |-parameter: TemplateTemplateParmDecl {{.*}} depth 0 index 0 TT262// DUMP-NEXT:     | |-associated TypeAliasTemplate {{.*}} 'T1'263// DUMP-NEXT:     | `-replacement: 'T::template X':'type-parameter-0-0::template X' dependent264// DUMP-NEXT:     |   `-NestedNameSpecifier TypeSpec 'T'265// DUMP-NEXT:     `-TemplateArgument type 'int'266// DUMP-NEXT:       `-BuiltinType {{.*}} 'int'267} // namespace268 269// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py270 271 272// JSON-NOT: {{^}}Dumping273// JSON:  "kind": "TranslationUnitDecl",274// JSON-NEXT:  "loc": {},275// JSON-NEXT:  "range": {276// JSON-NEXT:   "begin": {},277// JSON-NEXT:   "end": {}278// JSON-NEXT:  },279// JSON-NEXT:  "inner": [280// JSON-NEXT:   {281// JSON-NEXT:    "id": "0x{{.*}}",282// JSON-NEXT:    "kind": "TypedefDecl",283// JSON-NEXT:    "loc": {},284// JSON-NEXT:    "range": {285// JSON-NEXT:     "begin": {},286// JSON-NEXT:     "end": {}287// JSON-NEXT:    },288// JSON-NEXT:    "isImplicit": true,289// JSON-NEXT:    "name": "__int128_t",290// JSON-NEXT:    "type": {291// JSON-NEXT:     "qualType": "__int128"292// JSON-NEXT:    },293// JSON-NEXT:    "inner": [294// JSON-NEXT:     {295// JSON-NEXT:      "id": "0x{{.*}}",296// JSON-NEXT:      "kind": "BuiltinType",297// JSON-NEXT:      "type": {298// JSON-NEXT:       "qualType": "__int128"299// JSON-NEXT:      }300// JSON-NEXT:     }301// JSON-NEXT:    ]302// JSON-NEXT:   },303// JSON-NEXT:   {304// JSON-NEXT:    "id": "0x{{.*}}",305// JSON-NEXT:    "kind": "TypedefDecl",306// JSON-NEXT:    "loc": {},307// JSON-NEXT:    "range": {308// JSON-NEXT:     "begin": {},309// JSON-NEXT:     "end": {}310// JSON-NEXT:    },311// JSON-NEXT:    "isImplicit": true,312// JSON-NEXT:    "name": "__uint128_t",313// JSON-NEXT:    "type": {314// JSON-NEXT:     "qualType": "unsigned __int128"315// JSON-NEXT:    },316// JSON-NEXT:    "inner": [317// JSON-NEXT:     {318// JSON-NEXT:      "id": "0x{{.*}}",319// JSON-NEXT:      "kind": "BuiltinType",320// JSON-NEXT:      "type": {321// JSON-NEXT:       "qualType": "unsigned __int128"322// JSON-NEXT:      }323// JSON-NEXT:     }324// JSON-NEXT:    ]325// JSON-NEXT:   },326// JSON-NEXT:   {327// JSON-NEXT:    "id": "0x{{.*}}",328// JSON-NEXT:    "kind": "TypedefDecl",329// JSON-NEXT:    "loc": {},330// JSON-NEXT:    "range": {331// JSON-NEXT:     "begin": {},332// JSON-NEXT:     "end": {}333// JSON-NEXT:    },334// JSON-NEXT:    "isImplicit": true,335// JSON-NEXT:    "name": "__NSConstantString",336// JSON-NEXT:    "type": {337// JSON-NEXT:     "qualType": "__NSConstantString_tag"338// JSON-NEXT:    },339// JSON-NEXT:    "inner": [340// JSON-NEXT:     {341// JSON-NEXT:      "id": "0x{{.*}}",342// JSON-NEXT:      "kind": "RecordType",343// JSON-NEXT:      "type": {344// JSON-NEXT:       "qualType": "__NSConstantString_tag"345// JSON-NEXT:      },346// JSON-NEXT:      "decl": {347// JSON-NEXT:       "id": "0x{{.*}}",348// JSON-NEXT:       "kind": "CXXRecordDecl",349// JSON-NEXT:       "name": "__NSConstantString_tag"350// JSON-NEXT:      }351// JSON-NEXT:     }352// JSON-NEXT:    ]353// JSON-NEXT:   },354// JSON-NEXT:   {355// JSON-NEXT:    "id": "0x{{.*}}",356// JSON-NEXT:    "kind": "TypedefDecl",357// JSON-NEXT:    "loc": {},358// JSON-NEXT:    "range": {359// JSON-NEXT:     "begin": {},360// JSON-NEXT:     "end": {}361// JSON-NEXT:    },362// JSON-NEXT:    "isImplicit": true,363// JSON-NEXT:    "name": "__builtin_ms_va_list",364// JSON-NEXT:    "type": {365// JSON-NEXT:     "qualType": "char *"366// JSON-NEXT:    },367// JSON-NEXT:    "inner": [368// JSON-NEXT:     {369// JSON-NEXT:      "id": "0x{{.*}}",370// JSON-NEXT:      "kind": "PointerType",371// JSON-NEXT:      "type": {372// JSON-NEXT:       "qualType": "char *"373// JSON-NEXT:      },374// JSON-NEXT:      "inner": [375// JSON-NEXT:       {376// JSON-NEXT:        "id": "0x{{.*}}",377// JSON-NEXT:        "kind": "BuiltinType",378// JSON-NEXT:        "type": {379// JSON-NEXT:         "qualType": "char"380// JSON-NEXT:        }381// JSON-NEXT:       }382// JSON-NEXT:      ]383// JSON-NEXT:     }384// JSON-NEXT:    ]385// JSON-NEXT:   },386// JSON-NEXT:   {387// JSON-NEXT:    "id": "0x{{.*}}",388// JSON-NEXT:    "kind": "TypedefDecl",389// JSON-NEXT:    "loc": {},390// JSON-NEXT:    "range": {391// JSON-NEXT:     "begin": {},392// JSON-NEXT:     "end": {}393// JSON-NEXT:    },394// JSON-NEXT:    "isImplicit": true,395// JSON-NEXT:    "name": "__builtin_va_list",396// JSON-NEXT:    "type": {397// JSON-NEXT:     "qualType": "__va_list_tag[1]"398// JSON-NEXT:    },399// JSON-NEXT:    "inner": [400// JSON-NEXT:     {401// JSON-NEXT:      "id": "0x{{.*}}",402// JSON-NEXT:      "kind": "ConstantArrayType",403// JSON-NEXT:      "type": {404// JSON-NEXT:       "qualType": "__va_list_tag[1]"405// JSON-NEXT:      },406// JSON-NEXT:      "size": 1,407// JSON-NEXT:      "inner": [408// JSON-NEXT:       {409// JSON-NEXT:        "id": "0x{{.*}}",410// JSON-NEXT:        "kind": "RecordType",411// JSON-NEXT:        "type": {412// JSON-NEXT:         "qualType": "__va_list_tag"413// JSON-NEXT:        },414// JSON-NEXT:        "decl": {415// JSON-NEXT:         "id": "0x{{.*}}",416// JSON-NEXT:         "kind": "CXXRecordDecl",417// JSON-NEXT:         "name": "__va_list_tag"418// JSON-NEXT:        }419// JSON-NEXT:       }420// JSON-NEXT:      ]421// JSON-NEXT:     }422// JSON-NEXT:    ]423// JSON-NEXT:   },424// JSON-NEXT:   {425// JSON-NEXT:    "id": "0x{{.*}}",426// JSON-NEXT:    "kind": "ClassTemplateDecl",427// JSON-NEXT:    "loc": {428// JSON-NEXT:     "offset": 812,429// JSON-NEXT:     "file": "{{.*}}",430// JSON-NEXT:     "line": 15,431// JSON-NEXT:     "col": 8,432// JSON-NEXT:     "tokLen": 3433// JSON-NEXT:    },434// JSON-NEXT:    "range": {435// JSON-NEXT:     "begin": {436// JSON-NEXT:      "offset": 765,437// JSON-NEXT:      "line": 14,438// JSON-NEXT:      "col": 1,439// JSON-NEXT:      "tokLen": 8440// JSON-NEXT:     },441// JSON-NEXT:     "end": {442// JSON-NEXT:      "offset": 879,443// JSON-NEXT:      "line": 19,444// JSON-NEXT:      "col": 1,445// JSON-NEXT:      "tokLen": 1446// JSON-NEXT:     }447// JSON-NEXT:    },448// JSON-NEXT:    "name": "foo",449// JSON-NEXT:    "inner": [450// JSON-NEXT:     {451// JSON-NEXT:      "id": "0x{{.*}}",452// JSON-NEXT:      "kind": "NonTypeTemplateParmDecl",453// JSON-NEXT:      "loc": {454// JSON-NEXT:       "offset": 779,455// JSON-NEXT:       "line": 14,456// JSON-NEXT:       "col": 15,457// JSON-NEXT:       "tokLen": 1458// JSON-NEXT:      },459// JSON-NEXT:      "range": {460// JSON-NEXT:       "begin": {461// JSON-NEXT:        "offset": 775,462// JSON-NEXT:        "col": 11,463// JSON-NEXT:        "tokLen": 3464// JSON-NEXT:       },465// JSON-NEXT:       "end": {466// JSON-NEXT:        "offset": 779,467// JSON-NEXT:        "col": 15,468// JSON-NEXT:        "tokLen": 1469// JSON-NEXT:       }470// JSON-NEXT:      },471// JSON-NEXT:      "isReferenced": true,472// JSON-NEXT:      "name": "X",473// JSON-NEXT:      "type": {474// JSON-NEXT:       "qualType": "int"475// JSON-NEXT:      },476// JSON-NEXT:      "depth": 0,477// JSON-NEXT:      "index": 0478// JSON-NEXT:     },479// JSON-NEXT:     {480// JSON-NEXT:      "id": "0x{{.*}}",481// JSON-NEXT:      "kind": "TemplateTypeParmDecl",482// JSON-NEXT:      "loc": {483// JSON-NEXT:       "offset": 791,484// JSON-NEXT:       "col": 27,485// JSON-NEXT:       "tokLen": 1486// JSON-NEXT:      },487// JSON-NEXT:      "range": {488// JSON-NEXT:       "begin": {489// JSON-NEXT:        "offset": 782,490// JSON-NEXT:        "col": 18,491// JSON-NEXT:        "tokLen": 8492// JSON-NEXT:       },493// JSON-NEXT:       "end": {494// JSON-NEXT:        "offset": 791,495// JSON-NEXT:        "col": 27,496// JSON-NEXT:        "tokLen": 1497// JSON-NEXT:       }498// JSON-NEXT:      },499// JSON-NEXT:      "isReferenced": true,500// JSON-NEXT:      "name": "Y",501// JSON-NEXT:      "tagUsed": "typename",502// JSON-NEXT:      "depth": 0,503// JSON-NEXT:      "index": 1504// JSON-NEXT:     },505// JSON-NEXT:     {506// JSON-NEXT:      "id": "0x{{.*}}",507// JSON-NEXT:      "kind": "NonTypeTemplateParmDecl",508// JSON-NEXT:      "loc": {509// JSON-NEXT:       "offset": 798,510// JSON-NEXT:       "col": 34,511// JSON-NEXT:       "tokLen": 1512// JSON-NEXT:      },513// JSON-NEXT:      "range": {514// JSON-NEXT:       "begin": {515// JSON-NEXT:        "offset": 794,516// JSON-NEXT:        "col": 30,517// JSON-NEXT:        "tokLen": 3518// JSON-NEXT:       },519// JSON-NEXT:       "end": {520// JSON-NEXT:        "offset": 802,521// JSON-NEXT:        "col": 38,522// JSON-NEXT:        "tokLen": 1523// JSON-NEXT:       }524// JSON-NEXT:      },525// JSON-NEXT:      "isReferenced": true,526// JSON-NEXT:      "name": "Z",527// JSON-NEXT:      "type": {528// JSON-NEXT:       "qualType": "int"529// JSON-NEXT:      },530// JSON-NEXT:      "depth": 0,531// JSON-NEXT:      "index": 2,532// JSON-NEXT:      "defaultArg": {533// JSON-NEXT:       "kind": "TemplateArgument",534// JSON-NEXT:       "isExpr": true535// JSON-NEXT:      },536// JSON-NEXT:      "inner": [537// JSON-NEXT:       {538// JSON-NEXT:        "kind": "TemplateArgument",539// JSON-NEXT:        "range": {540// JSON-NEXT:         "begin": {541// JSON-NEXT:          "offset": 802,542// JSON-NEXT:          "col": 38,543// JSON-NEXT:          "tokLen": 1544// JSON-NEXT:         },545// JSON-NEXT:         "end": {546// JSON-NEXT:          "offset": 802,547// JSON-NEXT:          "col": 38,548// JSON-NEXT:          "tokLen": 1549// JSON-NEXT:         }550// JSON-NEXT:        },551// JSON-NEXT:        "isExpr": true,552// JSON-NEXT:        "inner": [553// JSON-NEXT:         {554// JSON-NEXT:          "id": "0x{{.*}}",555// JSON-NEXT:          "kind": "IntegerLiteral",556// JSON-NEXT:          "range": {557// JSON-NEXT:           "begin": {558// JSON-NEXT:            "offset": 802,559// JSON-NEXT:            "col": 38,560// JSON-NEXT:            "tokLen": 1561// JSON-NEXT:           },562// JSON-NEXT:           "end": {563// JSON-NEXT:            "offset": 802,564// JSON-NEXT:            "col": 38,565// JSON-NEXT:            "tokLen": 1566// JSON-NEXT:           }567// JSON-NEXT:          },568// JSON-NEXT:          "type": {569// JSON-NEXT:           "qualType": "int"570// JSON-NEXT:          },571// JSON-NEXT:          "valueCategory": "prvalue",572// JSON-NEXT:          "value": "5"573// JSON-NEXT:         }574// JSON-NEXT:        ]575// JSON-NEXT:       }576// JSON-NEXT:      ]577// JSON-NEXT:     },578// JSON-NEXT:     {579// JSON-NEXT:      "id": "0x{{.*}}",580// JSON-NEXT:      "kind": "CXXRecordDecl",581// JSON-NEXT:      "loc": {582// JSON-NEXT:       "offset": 812,583// JSON-NEXT:       "line": 15,584// JSON-NEXT:       "col": 8,585// JSON-NEXT:       "tokLen": 3586// JSON-NEXT:      },587// JSON-NEXT:      "range": {588// JSON-NEXT:       "begin": {589// JSON-NEXT:        "offset": 805,590// JSON-NEXT:        "col": 1,591// JSON-NEXT:        "tokLen": 6592// JSON-NEXT:       },593// JSON-NEXT:       "end": {594// JSON-NEXT:        "offset": 879,595// JSON-NEXT:        "line": 19,596// JSON-NEXT:        "col": 1,597// JSON-NEXT:        "tokLen": 1598// JSON-NEXT:       }599// JSON-NEXT:      },600// JSON-NEXT:      "name": "foo",601// JSON-NEXT:      "tagUsed": "struct",602// JSON-NEXT:      "completeDefinition": true,603// JSON-NEXT:      "definitionData": {604// JSON-NEXT:       "canConstDefaultInit": true,605// JSON-NEXT:       "copyAssign": {606// JSON-NEXT:        "hasConstParam": true,607// JSON-NEXT:        "implicitHasConstParam": true,608// JSON-NEXT:        "needsImplicit": true,609// JSON-NEXT:        "simple": true,610// JSON-NEXT:        "trivial": true611// JSON-NEXT:       },612// JSON-NEXT:       "copyCtor": {613// JSON-NEXT:        "hasConstParam": true,614// JSON-NEXT:        "implicitHasConstParam": true,615// JSON-NEXT:        "needsImplicit": true,616// JSON-NEXT:        "simple": true,617// JSON-NEXT:        "trivial": true618// JSON-NEXT:       },619// JSON-NEXT:       "defaultCtor": {620// JSON-NEXT:        "defaultedIsConstexpr": true,621// JSON-NEXT:        "exists": true,622// JSON-NEXT:        "nonTrivial": true,623// JSON-NEXT:        "userProvided": true624// JSON-NEXT:       },625// JSON-NEXT:       "dtor": {626// JSON-NEXT:        "irrelevant": true,627// JSON-NEXT:        "needsImplicit": true,628// JSON-NEXT:        "simple": true,629// JSON-NEXT:        "trivial": true630// JSON-NEXT:       },631// JSON-NEXT:       "hasUserDeclaredConstructor": true,632// JSON-NEXT:       "isStandardLayout": true,633// JSON-NEXT:       "isTriviallyCopyable": true,634// JSON-NEXT:       "moveAssign": {635// JSON-NEXT:        "exists": true,636// JSON-NEXT:        "needsImplicit": true,637// JSON-NEXT:        "simple": true,638// JSON-NEXT:        "trivial": true639// JSON-NEXT:       },640// JSON-NEXT:       "moveCtor": {641// JSON-NEXT:        "exists": true,642// JSON-NEXT:        "needsImplicit": true,643// JSON-NEXT:        "simple": true,644// JSON-NEXT:        "trivial": true645// JSON-NEXT:       }646// JSON-NEXT:      },647// JSON-NEXT:      "inner": [648// JSON-NEXT:       {649// JSON-NEXT:        "id": "0x{{.*}}",650// JSON-NEXT:        "kind": "CXXRecordDecl",651// JSON-NEXT:        "loc": {652// JSON-NEXT:         "offset": 812,653// JSON-NEXT:         "line": 15,654// JSON-NEXT:         "col": 8,655// JSON-NEXT:         "tokLen": 3656// JSON-NEXT:        },657// JSON-NEXT:        "range": {658// JSON-NEXT:         "begin": {659// JSON-NEXT:          "offset": 805,660// JSON-NEXT:          "col": 1,661// JSON-NEXT:          "tokLen": 6662// JSON-NEXT:         },663// JSON-NEXT:         "end": {664// JSON-NEXT:          "offset": 812,665// JSON-NEXT:          "col": 8,666// JSON-NEXT:          "tokLen": 3667// JSON-NEXT:         }668// JSON-NEXT:        },669// JSON-NEXT:        "isImplicit": true,670// JSON-NEXT:        "name": "foo",671// JSON-NEXT:        "tagUsed": "struct"672// JSON-NEXT:       },673// JSON-NEXT:       {674// JSON-NEXT:        "id": "0x{{.*}}",675// JSON-NEXT:        "kind": "FieldDecl",676// JSON-NEXT:        "loc": {677// JSON-NEXT:         "offset": 824,678// JSON-NEXT:         "line": 16,679// JSON-NEXT:         "col": 7,680// JSON-NEXT:         "tokLen": 8681// JSON-NEXT:        },682// JSON-NEXT:        "range": {683// JSON-NEXT:         "begin": {684// JSON-NEXT:          "offset": 820,685// JSON-NEXT:          "col": 3,686// JSON-NEXT:          "tokLen": 3687// JSON-NEXT:         },688// JSON-NEXT:         "end": {689// JSON-NEXT:          "offset": 824,690// JSON-NEXT:          "col": 7,691// JSON-NEXT:          "tokLen": 8692// JSON-NEXT:         }693// JSON-NEXT:        },694// JSON-NEXT:        "name": "constant",695// JSON-NEXT:        "type": {696// JSON-NEXT:         "qualType": "int"697// JSON-NEXT:        }698// JSON-NEXT:       },699// JSON-NEXT:       {700// JSON-NEXT:        "id": "0x{{.*}}",701// JSON-NEXT:        "kind": "CXXConstructorDecl",702// JSON-NEXT:        "loc": {703// JSON-NEXT:         "offset": 836,704// JSON-NEXT:         "line": 17,705// JSON-NEXT:         "col": 3,706// JSON-NEXT:         "tokLen": 3707// JSON-NEXT:        },708// JSON-NEXT:        "range": {709// JSON-NEXT:         "begin": {710// JSON-NEXT:          "offset": 836,711// JSON-NEXT:          "col": 3,712// JSON-NEXT:          "tokLen": 3713// JSON-NEXT:         },714// JSON-NEXT:         "end": {715// JSON-NEXT:          "offset": 843,716// JSON-NEXT:          "col": 10,717// JSON-NEXT:          "tokLen": 1718// JSON-NEXT:         }719// JSON-NEXT:        },720// JSON-NEXT:        "name": "foo<X, Y, Z>",721// JSON-NEXT:        "type": {722// JSON-NEXT:         "qualType": "void ()"723// JSON-NEXT:        },724// JSON-NEXT:        "inner": [725// JSON-NEXT:         {726// JSON-NEXT:          "id": "0x{{.*}}",727// JSON-NEXT:          "kind": "CompoundStmt",728// JSON-NEXT:          "range": {729// JSON-NEXT:           "begin": {730// JSON-NEXT:            "offset": 842,731// JSON-NEXT:            "col": 9,732// JSON-NEXT:            "tokLen": 1733// JSON-NEXT:           },734// JSON-NEXT:           "end": {735// JSON-NEXT:            "offset": 843,736// JSON-NEXT:            "col": 10,737// JSON-NEXT:            "tokLen": 1738// JSON-NEXT:           }739// JSON-NEXT:          }740// JSON-NEXT:         }741// JSON-NEXT:        ]742// JSON-NEXT:       },743// JSON-NEXT:       {744// JSON-NEXT:        "id": "0x{{.*}}",745// JSON-NEXT:        "kind": "CXXMethodDecl",746// JSON-NEXT:        "loc": {747// JSON-NEXT:         "offset": 849,748// JSON-NEXT:         "line": 18,749// JSON-NEXT:         "col": 5,750// JSON-NEXT:         "tokLen": 6751// JSON-NEXT:        },752// JSON-NEXT:        "range": {753// JSON-NEXT:         "begin": {754// JSON-NEXT:          "offset": 847,755// JSON-NEXT:          "col": 3,756// JSON-NEXT:          "tokLen": 1757// JSON-NEXT:         },758// JSON-NEXT:         "end": {759// JSON-NEXT:          "offset": 877,760// JSON-NEXT:          "col": 33,761// JSON-NEXT:          "tokLen": 1762// JSON-NEXT:         }763// JSON-NEXT:        },764// JSON-NEXT:        "name": "getSum",765// JSON-NEXT:        "type": {766// JSON-NEXT:         "qualType": "Y ()"767// JSON-NEXT:        },768// JSON-NEXT:        "inner": [769// JSON-NEXT:         {770// JSON-NEXT:          "id": "0x{{.*}}",771// JSON-NEXT:          "kind": "CompoundStmt",772// JSON-NEXT:          "range": {773// JSON-NEXT:           "begin": {774// JSON-NEXT:            "offset": 858,775// JSON-NEXT:            "col": 14,776// JSON-NEXT:            "tokLen": 1777// JSON-NEXT:           },778// JSON-NEXT:           "end": {779// JSON-NEXT:            "offset": 877,780// JSON-NEXT:            "col": 33,781// JSON-NEXT:            "tokLen": 1782// JSON-NEXT:           }783// JSON-NEXT:          },784// JSON-NEXT:          "inner": [785// JSON-NEXT:           {786// JSON-NEXT:            "id": "0x{{.*}}",787// JSON-NEXT:            "kind": "ReturnStmt",788// JSON-NEXT:            "range": {789// JSON-NEXT:             "begin": {790// JSON-NEXT:              "offset": 860,791// JSON-NEXT:              "col": 16,792// JSON-NEXT:              "tokLen": 6793// JSON-NEXT:             },794// JSON-NEXT:             "end": {795// JSON-NEXT:              "offset": 874,796// JSON-NEXT:              "col": 30,797// JSON-NEXT:              "tokLen": 1798// JSON-NEXT:             }799// JSON-NEXT:            },800// JSON-NEXT:            "inner": [801// JSON-NEXT:             {802// JSON-NEXT:              "id": "0x{{.*}}",803// JSON-NEXT:              "kind": "CXXUnresolvedConstructExpr",804// JSON-NEXT:              "range": {805// JSON-NEXT:               "begin": {806// JSON-NEXT:                "offset": 867,807// JSON-NEXT:                "col": 23,808// JSON-NEXT:                "tokLen": 1809// JSON-NEXT:               },810// JSON-NEXT:               "end": {811// JSON-NEXT:                "offset": 874,812// JSON-NEXT:                "col": 30,813// JSON-NEXT:                "tokLen": 1814// JSON-NEXT:               }815// JSON-NEXT:              },816// JSON-NEXT:              "type": {817// JSON-NEXT:               "qualType": "Y"818// JSON-NEXT:              },819// JSON-NEXT:              "valueCategory": "prvalue",820// JSON-NEXT:              "inner": [821// JSON-NEXT:               {822// JSON-NEXT:                "id": "0x{{.*}}",823// JSON-NEXT:                "kind": "BinaryOperator",824// JSON-NEXT:                "range": {825// JSON-NEXT:                 "begin": {826// JSON-NEXT:                  "offset": 869,827// JSON-NEXT:                  "col": 25,828// JSON-NEXT:                  "tokLen": 1829// JSON-NEXT:                 },830// JSON-NEXT:                 "end": {831// JSON-NEXT:                  "offset": 873,832// JSON-NEXT:                  "col": 29,833// JSON-NEXT:                  "tokLen": 1834// JSON-NEXT:                 }835// JSON-NEXT:                },836// JSON-NEXT:                "type": {837// JSON-NEXT:                 "qualType": "int"838// JSON-NEXT:                },839// JSON-NEXT:                "valueCategory": "prvalue",840// JSON-NEXT:                "opcode": "+",841// JSON-NEXT:                "inner": [842// JSON-NEXT:                 {843// JSON-NEXT:                  "id": "0x{{.*}}",844// JSON-NEXT:                  "kind": "DeclRefExpr",845// JSON-NEXT:                  "range": {846// JSON-NEXT:                   "begin": {847// JSON-NEXT:                    "offset": 869,848// JSON-NEXT:                    "col": 25,849// JSON-NEXT:                    "tokLen": 1850// JSON-NEXT:                   },851// JSON-NEXT:                   "end": {852// JSON-NEXT:                    "offset": 869,853// JSON-NEXT:                    "col": 25,854// JSON-NEXT:                    "tokLen": 1855// JSON-NEXT:                   }856// JSON-NEXT:                  },857// JSON-NEXT:                  "type": {858// JSON-NEXT:                   "qualType": "int"859// JSON-NEXT:                  },860// JSON-NEXT:                  "valueCategory": "prvalue",861// JSON-NEXT:                  "referencedDecl": {862// JSON-NEXT:                   "id": "0x{{.*}}",863// JSON-NEXT:                   "kind": "NonTypeTemplateParmDecl",864// JSON-NEXT:                   "name": "X",865// JSON-NEXT:                   "type": {866// JSON-NEXT:                    "qualType": "int"867// JSON-NEXT:                   }868// JSON-NEXT:                  }869// JSON-NEXT:                 },870// JSON-NEXT:                 {871// JSON-NEXT:                  "id": "0x{{.*}}",872// JSON-NEXT:                  "kind": "DeclRefExpr",873// JSON-NEXT:                  "range": {874// JSON-NEXT:                   "begin": {875// JSON-NEXT:                    "offset": 873,876// JSON-NEXT:                    "col": 29,877// JSON-NEXT:                    "tokLen": 1878// JSON-NEXT:                   },879// JSON-NEXT:                   "end": {880// JSON-NEXT:                    "offset": 873,881// JSON-NEXT:                    "col": 29,882// JSON-NEXT:                    "tokLen": 1883// JSON-NEXT:                   }884// JSON-NEXT:                  },885// JSON-NEXT:                  "type": {886// JSON-NEXT:                   "qualType": "int"887// JSON-NEXT:                  },888// JSON-NEXT:                  "valueCategory": "prvalue",889// JSON-NEXT:                  "referencedDecl": {890// JSON-NEXT:                   "id": "0x{{.*}}",891// JSON-NEXT:                   "kind": "NonTypeTemplateParmDecl",892// JSON-NEXT:                   "name": "Z",893// JSON-NEXT:                   "type": {894// JSON-NEXT:                    "qualType": "int"895// JSON-NEXT:                   }896// JSON-NEXT:                  }897// JSON-NEXT:                 }898// JSON-NEXT:                ]899// JSON-NEXT:               }900// JSON-NEXT:              ]901// JSON-NEXT:             }902// JSON-NEXT:            ]903// JSON-NEXT:           }904// JSON-NEXT:          ]905// JSON-NEXT:         }906// JSON-NEXT:        ]907// JSON-NEXT:       }908// JSON-NEXT:      ]909// JSON-NEXT:     },910// JSON-NEXT:     {911// JSON-NEXT:      "id": "0x{{.*}}",912// JSON-NEXT:      "kind": "ClassTemplateSpecializationDecl",913// JSON-NEXT:      "loc": {914// JSON-NEXT:       "offset": 812,915// JSON-NEXT:       "line": 15,916// JSON-NEXT:       "col": 8,917// JSON-NEXT:       "tokLen": 3918// JSON-NEXT:      },919// JSON-NEXT:      "range": {920// JSON-NEXT:       "begin": {921// JSON-NEXT:        "offset": 765,922// JSON-NEXT:        "line": 14,923// JSON-NEXT:        "col": 1,924// JSON-NEXT:        "tokLen": 8925// JSON-NEXT:       },926// JSON-NEXT:       "end": {927// JSON-NEXT:        "offset": 879,928// JSON-NEXT:        "line": 19,929// JSON-NEXT:        "col": 1,930// JSON-NEXT:        "tokLen": 1931// JSON-NEXT:       }932// JSON-NEXT:      },933// JSON-NEXT:      "name": "foo",934// JSON-NEXT:      "tagUsed": "struct",935// JSON-NEXT:      "completeDefinition": true,936// JSON-NEXT:      "TemplateInstantiationPattern": "0x{{.*}}",937// JSON-NEXT:      "definitionData": {938// JSON-NEXT:       "canConstDefaultInit": true,939// JSON-NEXT:       "canPassInRegisters": true,940// JSON-NEXT:       "copyAssign": {941// JSON-NEXT:        "hasConstParam": true,942// JSON-NEXT:        "implicitHasConstParam": true,943// JSON-NEXT:        "needsImplicit": true,944// JSON-NEXT:        "simple": true,945// JSON-NEXT:        "trivial": true946// JSON-NEXT:       },947// JSON-NEXT:       "copyCtor": {948// JSON-NEXT:        "hasConstParam": true,949// JSON-NEXT:        "implicitHasConstParam": true,950// JSON-NEXT:        "simple": true,951// JSON-NEXT:        "trivial": true952// JSON-NEXT:       },953// JSON-NEXT:       "defaultCtor": {954// JSON-NEXT:        "defaultedIsConstexpr": true,955// JSON-NEXT:        "exists": true,956// JSON-NEXT:        "nonTrivial": true,957// JSON-NEXT:        "userProvided": true958// JSON-NEXT:       },959// JSON-NEXT:       "dtor": {960// JSON-NEXT:        "irrelevant": true,961// JSON-NEXT:        "simple": true,962// JSON-NEXT:        "trivial": true963// JSON-NEXT:       },964// JSON-NEXT:       "hasUserDeclaredConstructor": true,965// JSON-NEXT:       "isStandardLayout": true,966// JSON-NEXT:       "isTriviallyCopyable": true,967// JSON-NEXT:       "moveAssign": {968// JSON-NEXT:        "exists": true,969// JSON-NEXT:        "needsImplicit": true,970// JSON-NEXT:        "simple": true,971// JSON-NEXT:        "trivial": true972// JSON-NEXT:       },973// JSON-NEXT:       "moveCtor": {974// JSON-NEXT:        "exists": true,975// JSON-NEXT:        "simple": true,976// JSON-NEXT:        "trivial": true977// JSON-NEXT:       }978// JSON-NEXT:      },979// JSON-NEXT:      "inner": [980// JSON-NEXT:       {981// JSON-NEXT:        "kind": "TemplateArgument",982// JSON-NEXT:        "value": 5983// JSON-NEXT:       },984// JSON-NEXT:       {985// JSON-NEXT:        "kind": "TemplateArgument",986// JSON-NEXT:        "type": {987// JSON-NEXT:         "qualType": "int"988// JSON-NEXT:        },989// JSON-NEXT:        "inner": [990// JSON-NEXT:         {991// JSON-NEXT:          "id": "0x{{.*}}",992// JSON-NEXT:          "kind": "BuiltinType",993// JSON-NEXT:          "type": {994// JSON-NEXT:           "qualType": "int"995// JSON-NEXT:          }996// JSON-NEXT:         }997// JSON-NEXT:        ]998// JSON-NEXT:       },999// JSON-NEXT:       {1000// JSON-NEXT:        "kind": "TemplateArgument",1001// JSON-NEXT:        "value": 51002// JSON-NEXT:       },1003// JSON-NEXT:       {1004// JSON-NEXT:        "id": "0x{{.*}}",1005// JSON-NEXT:        "kind": "CXXRecordDecl",1006// JSON-NEXT:        "loc": {1007// JSON-NEXT:         "offset": 812,1008// JSON-NEXT:         "line": 15,1009// JSON-NEXT:         "col": 8,1010// JSON-NEXT:         "tokLen": 31011// JSON-NEXT:        },1012// JSON-NEXT:        "range": {1013// JSON-NEXT:         "begin": {1014// JSON-NEXT:          "offset": 805,1015// JSON-NEXT:          "col": 1,1016// JSON-NEXT:          "tokLen": 61017// JSON-NEXT:         },1018// JSON-NEXT:         "end": {1019// JSON-NEXT:          "offset": 812,1020// JSON-NEXT:          "col": 8,1021// JSON-NEXT:          "tokLen": 31022// JSON-NEXT:         }1023// JSON-NEXT:        },1024// JSON-NEXT:        "isImplicit": true,1025// JSON-NEXT:        "name": "foo",1026// JSON-NEXT:        "tagUsed": "struct"1027// JSON-NEXT:       },1028// JSON-NEXT:       {1029// JSON-NEXT:        "id": "0x{{.*}}",1030// JSON-NEXT:        "kind": "FieldDecl",1031// JSON-NEXT:        "loc": {1032// JSON-NEXT:         "offset": 824,1033// JSON-NEXT:         "line": 16,1034// JSON-NEXT:         "col": 7,1035// JSON-NEXT:         "tokLen": 81036// JSON-NEXT:        },1037// JSON-NEXT:        "range": {1038// JSON-NEXT:         "begin": {1039// JSON-NEXT:          "offset": 820,1040// JSON-NEXT:          "col": 3,1041// JSON-NEXT:          "tokLen": 31042// JSON-NEXT:         },1043// JSON-NEXT:         "end": {1044// JSON-NEXT:          "offset": 824,1045// JSON-NEXT:          "col": 7,1046// JSON-NEXT:          "tokLen": 81047// JSON-NEXT:         }1048// JSON-NEXT:        },1049// JSON-NEXT:        "name": "constant",1050// JSON-NEXT:        "type": {1051// JSON-NEXT:         "qualType": "int"1052// JSON-NEXT:        }1053// JSON-NEXT:       },1054// JSON-NEXT:       {1055// JSON-NEXT:        "id": "0x{{.*}}",1056// JSON-NEXT:        "kind": "CXXConstructorDecl",1057// JSON-NEXT:        "loc": {1058// JSON-NEXT:         "offset": 836,1059// JSON-NEXT:         "line": 17,1060// JSON-NEXT:         "col": 3,1061// JSON-NEXT:         "tokLen": 31062// JSON-NEXT:        },1063// JSON-NEXT:        "range": {1064// JSON-NEXT:         "begin": {1065// JSON-NEXT:          "offset": 836,1066// JSON-NEXT:          "col": 3,1067// JSON-NEXT:          "tokLen": 31068// JSON-NEXT:         },1069// JSON-NEXT:         "end": {1070// JSON-NEXT:          "offset": 843,1071// JSON-NEXT:          "col": 10,1072// JSON-NEXT:          "tokLen": 11073// JSON-NEXT:         }1074// JSON-NEXT:        },1075// JSON-NEXT:        "isUsed": true,1076// JSON-NEXT:        "name": "foo",1077// JSON-NEXT:        "mangledName": "_ZN3fooILi5EiLi5EEC1Ev",1078// JSON-NEXT:        "type": {1079// JSON-NEXT:         "qualType": "void ()"1080// JSON-NEXT:        },1081// JSON-NEXT:        "TemplateInstantiationPattern": "0x{{.*}}",1082// JSON-NEXT:        "inner": [1083// JSON-NEXT:         {1084// JSON-NEXT:          "id": "0x{{.*}}",1085// JSON-NEXT:          "kind": "CompoundStmt",1086// JSON-NEXT:          "range": {1087// JSON-NEXT:           "begin": {1088// JSON-NEXT:            "offset": 842,1089// JSON-NEXT:            "col": 9,1090// JSON-NEXT:            "tokLen": 11091// JSON-NEXT:           },1092// JSON-NEXT:           "end": {1093// JSON-NEXT:            "offset": 843,1094// JSON-NEXT:            "col": 10,1095// JSON-NEXT:            "tokLen": 11096// JSON-NEXT:           }1097// JSON-NEXT:          }1098// JSON-NEXT:         }1099// JSON-NEXT:        ]1100// JSON-NEXT:       },1101// JSON-NEXT:       {1102// JSON-NEXT:        "id": "0x{{.*}}",1103// JSON-NEXT:        "kind": "CXXMethodDecl",1104// JSON-NEXT:        "loc": {1105// JSON-NEXT:         "offset": 849,1106// JSON-NEXT:         "line": 18,1107// JSON-NEXT:         "col": 5,1108// JSON-NEXT:         "tokLen": 61109// JSON-NEXT:        },1110// JSON-NEXT:        "range": {1111// JSON-NEXT:         "begin": {1112// JSON-NEXT:          "offset": 847,1113// JSON-NEXT:          "col": 3,1114// JSON-NEXT:          "tokLen": 11115// JSON-NEXT:         },1116// JSON-NEXT:         "end": {1117// JSON-NEXT:          "offset": 877,1118// JSON-NEXT:          "col": 33,1119// JSON-NEXT:          "tokLen": 11120// JSON-NEXT:         }1121// JSON-NEXT:        },1122// JSON-NEXT:        "isUsed": true,1123// JSON-NEXT:        "name": "getSum",1124// JSON-NEXT:        "mangledName": "_ZN3fooILi5EiLi5EE6getSumEv",1125// JSON-NEXT:        "type": {1126// JSON-NEXT:         "qualType": "int ()"1127// JSON-NEXT:        },1128// JSON-NEXT:        "TemplateInstantiationPattern": "0x{{.*}}",1129// JSON-NEXT:        "inner": [1130// JSON-NEXT:         {1131// JSON-NEXT:          "id": "0x{{.*}}",1132// JSON-NEXT:          "kind": "CompoundStmt",1133// JSON-NEXT:          "range": {1134// JSON-NEXT:           "begin": {1135// JSON-NEXT:            "offset": 858,1136// JSON-NEXT:            "col": 14,1137// JSON-NEXT:            "tokLen": 11138// JSON-NEXT:           },1139// JSON-NEXT:           "end": {1140// JSON-NEXT:            "offset": 877,1141// JSON-NEXT:            "col": 33,1142// JSON-NEXT:            "tokLen": 11143// JSON-NEXT:           }1144// JSON-NEXT:          },1145// JSON-NEXT:          "inner": [1146// JSON-NEXT:           {1147// JSON-NEXT:            "id": "0x{{.*}}",1148// JSON-NEXT:            "kind": "ReturnStmt",1149// JSON-NEXT:            "range": {1150// JSON-NEXT:             "begin": {1151// JSON-NEXT:              "offset": 860,1152// JSON-NEXT:              "col": 16,1153// JSON-NEXT:              "tokLen": 61154// JSON-NEXT:             },1155// JSON-NEXT:             "end": {1156// JSON-NEXT:              "offset": 874,1157// JSON-NEXT:              "col": 30,1158// JSON-NEXT:              "tokLen": 11159// JSON-NEXT:             }1160// JSON-NEXT:            },1161// JSON-NEXT:            "inner": [1162// JSON-NEXT:             {1163// JSON-NEXT:              "id": "0x{{.*}}",1164// JSON-NEXT:              "kind": "CXXFunctionalCastExpr",1165// JSON-NEXT:              "range": {1166// JSON-NEXT:               "begin": {1167// JSON-NEXT:                "offset": 867,1168// JSON-NEXT:                "col": 23,1169// JSON-NEXT:                "tokLen": 11170// JSON-NEXT:               },1171// JSON-NEXT:               "end": {1172// JSON-NEXT:                "offset": 874,1173// JSON-NEXT:                "col": 30,1174// JSON-NEXT:                "tokLen": 11175// JSON-NEXT:               }1176// JSON-NEXT:              },1177// JSON-NEXT:              "type": {1178// JSON-NEXT:               "qualType": "int"1179// JSON-NEXT:              },1180// JSON-NEXT:              "valueCategory": "prvalue",1181// JSON-NEXT:              "castKind": "NoOp",1182// JSON-NEXT:              "inner": [1183// JSON-NEXT:               {1184// JSON-NEXT:                "id": "0x{{.*}}",1185// JSON-NEXT:                "kind": "BinaryOperator",1186// JSON-NEXT:                "range": {1187// JSON-NEXT:                 "begin": {1188// JSON-NEXT:                  "offset": 869,1189// JSON-NEXT:                  "col": 25,1190// JSON-NEXT:                  "tokLen": 11191// JSON-NEXT:                 },1192// JSON-NEXT:                 "end": {1193// JSON-NEXT:                  "offset": 873,1194// JSON-NEXT:                  "col": 29,1195// JSON-NEXT:                  "tokLen": 11196// JSON-NEXT:                 }1197// JSON-NEXT:                },1198// JSON-NEXT:                "type": {1199// JSON-NEXT:                 "qualType": "int"1200// JSON-NEXT:                },1201// JSON-NEXT:                "valueCategory": "prvalue",1202// JSON-NEXT:                "opcode": "+",1203// JSON-NEXT:                "inner": [1204// JSON-NEXT:                 {1205// JSON-NEXT:                  "id": "0x{{.*}}",1206// JSON-NEXT:                  "kind": "SubstNonTypeTemplateParmExpr",1207// JSON-NEXT:                  "range": {1208// JSON-NEXT:                   "begin": {1209// JSON-NEXT:                    "offset": 869,1210// JSON-NEXT:                    "col": 25,1211// JSON-NEXT:                    "tokLen": 11212// JSON-NEXT:                   },1213// JSON-NEXT:                   "end": {1214// JSON-NEXT:                    "offset": 869,1215// JSON-NEXT:                    "col": 25,1216// JSON-NEXT:                    "tokLen": 11217// JSON-NEXT:                   }1218// JSON-NEXT:                  },1219// JSON-NEXT:                  "type": {1220// JSON-NEXT:                   "qualType": "int"1221// JSON-NEXT:                  },1222// JSON-NEXT:                  "valueCategory": "prvalue",1223// JSON-NEXT:                  "inner": [1224// JSON-NEXT:                   {1225// JSON-NEXT:                    "id": "0x{{.*}}",1226// JSON-NEXT:                    "kind": "NonTypeTemplateParmDecl",1227// JSON-NEXT:                    "loc": {1228// JSON-NEXT:                     "offset": 779,1229// JSON-NEXT:                     "line": 14,1230// JSON-NEXT:                     "col": 15,1231// JSON-NEXT:                     "tokLen": 11232// JSON-NEXT:                    },1233// JSON-NEXT:                    "range": {1234// JSON-NEXT:                     "begin": {1235// JSON-NEXT:                      "offset": 775,1236// JSON-NEXT:                      "col": 11,1237// JSON-NEXT:                      "tokLen": 31238// JSON-NEXT:                     },1239// JSON-NEXT:                     "end": {1240// JSON-NEXT:                      "offset": 779,1241// JSON-NEXT:                      "col": 15,1242// JSON-NEXT:                      "tokLen": 11243// JSON-NEXT:                     }1244// JSON-NEXT:                    },1245// JSON-NEXT:                    "isReferenced": true,1246// JSON-NEXT:                    "name": "X",1247// JSON-NEXT:                    "type": {1248// JSON-NEXT:                     "qualType": "int"1249// JSON-NEXT:                    },1250// JSON-NEXT:                    "depth": 0,1251// JSON-NEXT:                    "index": 01252// JSON-NEXT:                   },1253// JSON-NEXT:                   {1254// JSON-NEXT:                    "id": "0x{{.*}}",1255// JSON-NEXT:                    "kind": "IntegerLiteral",1256// JSON-NEXT:                    "range": {1257// JSON-NEXT:                     "begin": {1258// JSON-NEXT:                      "offset": 869,1259// JSON-NEXT:                      "line": 18,1260// JSON-NEXT:                      "col": 25,1261// JSON-NEXT:                      "tokLen": 11262// JSON-NEXT:                     },1263// JSON-NEXT:                     "end": {1264// JSON-NEXT:                      "offset": 869,1265// JSON-NEXT:                      "col": 25,1266// JSON-NEXT:                      "tokLen": 11267// JSON-NEXT:                     }1268// JSON-NEXT:                    },1269// JSON-NEXT:                    "type": {1270// JSON-NEXT:                     "qualType": "int"1271// JSON-NEXT:                    },1272// JSON-NEXT:                    "valueCategory": "prvalue",1273// JSON-NEXT:                    "value": "5"1274// JSON-NEXT:                   }1275// JSON-NEXT:                  ]1276// JSON-NEXT:                 },1277// JSON-NEXT:                 {1278// JSON-NEXT:                  "id": "0x{{.*}}",1279// JSON-NEXT:                  "kind": "SubstNonTypeTemplateParmExpr",1280// JSON-NEXT:                  "range": {1281// JSON-NEXT:                   "begin": {1282// JSON-NEXT:                    "offset": 873,1283// JSON-NEXT:                    "col": 29,1284// JSON-NEXT:                    "tokLen": 11285// JSON-NEXT:                   },1286// JSON-NEXT:                   "end": {1287// JSON-NEXT:                    "offset": 873,1288// JSON-NEXT:                    "col": 29,1289// JSON-NEXT:                    "tokLen": 11290// JSON-NEXT:                   }1291// JSON-NEXT:                  },1292// JSON-NEXT:                  "type": {1293// JSON-NEXT:                   "qualType": "int"1294// JSON-NEXT:                  },1295// JSON-NEXT:                  "valueCategory": "prvalue",1296// JSON-NEXT:                  "inner": [1297// JSON-NEXT:                   {1298// JSON-NEXT:                    "id": "0x{{.*}}",1299// JSON-NEXT:                    "kind": "NonTypeTemplateParmDecl",1300// JSON-NEXT:                    "loc": {1301// JSON-NEXT:                     "offset": 798,1302// JSON-NEXT:                     "line": 14,1303// JSON-NEXT:                     "col": 34,1304// JSON-NEXT:                     "tokLen": 11305// JSON-NEXT:                    },1306// JSON-NEXT:                    "range": {1307// JSON-NEXT:                     "begin": {1308// JSON-NEXT:                      "offset": 794,1309// JSON-NEXT:                      "col": 30,1310// JSON-NEXT:                      "tokLen": 31311// JSON-NEXT:                     },1312// JSON-NEXT:                     "end": {1313// JSON-NEXT:                      "offset": 802,1314// JSON-NEXT:                      "col": 38,1315// JSON-NEXT:                      "tokLen": 11316// JSON-NEXT:                     }1317// JSON-NEXT:                    },1318// JSON-NEXT:                    "isReferenced": true,1319// JSON-NEXT:                    "name": "Z",1320// JSON-NEXT:                    "type": {1321// JSON-NEXT:                     "qualType": "int"1322// JSON-NEXT:                    },1323// JSON-NEXT:                    "depth": 0,1324// JSON-NEXT:                    "index": 2,1325// JSON-NEXT:                    "defaultArg": {1326// JSON-NEXT:                     "kind": "TemplateArgument",1327// JSON-NEXT:                     "isExpr": true1328// JSON-NEXT:                    },1329// JSON-NEXT:                    "inner": [1330// JSON-NEXT:                     {1331// JSON-NEXT:                      "kind": "TemplateArgument",1332// JSON-NEXT:                      "range": {1333// JSON-NEXT:                       "begin": {1334// JSON-NEXT:                        "offset": 802,1335// JSON-NEXT:                        "col": 38,1336// JSON-NEXT:                        "tokLen": 11337// JSON-NEXT:                       },1338// JSON-NEXT:                       "end": {1339// JSON-NEXT:                        "offset": 802,1340// JSON-NEXT:                        "col": 38,1341// JSON-NEXT:                        "tokLen": 11342// JSON-NEXT:                       }1343// JSON-NEXT:                      },1344// JSON-NEXT:                      "isExpr": true,1345// JSON-NEXT:                      "inner": [1346// JSON-NEXT:                       {1347// JSON-NEXT:                        "id": "0x{{.*}}",1348// JSON-NEXT:                        "kind": "IntegerLiteral",1349// JSON-NEXT:                        "range": {1350// JSON-NEXT:                         "begin": {1351// JSON-NEXT:                          "offset": 802,1352// JSON-NEXT:                          "col": 38,1353// JSON-NEXT:                          "tokLen": 11354// JSON-NEXT:                         },1355// JSON-NEXT:                         "end": {1356// JSON-NEXT:                          "offset": 802,1357// JSON-NEXT:                          "col": 38,1358// JSON-NEXT:                          "tokLen": 11359// JSON-NEXT:                         }1360// JSON-NEXT:                        },1361// JSON-NEXT:                        "type": {1362// JSON-NEXT:                         "qualType": "int"1363// JSON-NEXT:                        },1364// JSON-NEXT:                        "valueCategory": "prvalue",1365// JSON-NEXT:                        "value": "5"1366// JSON-NEXT:                       }1367// JSON-NEXT:                      ]1368// JSON-NEXT:                     }1369// JSON-NEXT:                    ]1370// JSON-NEXT:                   },1371// JSON-NEXT:                   {1372// JSON-NEXT:                    "id": "0x{{.*}}",1373// JSON-NEXT:                    "kind": "IntegerLiteral",1374// JSON-NEXT:                    "range": {1375// JSON-NEXT:                     "begin": {1376// JSON-NEXT:                      "offset": 873,1377// JSON-NEXT:                      "line": 18,1378// JSON-NEXT:                      "col": 29,1379// JSON-NEXT:                      "tokLen": 11380// JSON-NEXT:                     },1381// JSON-NEXT:                     "end": {1382// JSON-NEXT:                      "offset": 873,1383// JSON-NEXT:                      "col": 29,1384// JSON-NEXT:                      "tokLen": 11385// JSON-NEXT:                     }1386// JSON-NEXT:                    },1387// JSON-NEXT:                    "type": {1388// JSON-NEXT:                     "qualType": "int"1389// JSON-NEXT:                    },1390// JSON-NEXT:                    "valueCategory": "prvalue",1391// JSON-NEXT:                    "value": "5"1392// JSON-NEXT:                   }1393// JSON-NEXT:                  ]1394// JSON-NEXT:                 }1395// JSON-NEXT:                ]1396// JSON-NEXT:               }1397// JSON-NEXT:              ]1398// JSON-NEXT:             }1399// JSON-NEXT:            ]1400// JSON-NEXT:           }1401// JSON-NEXT:          ]1402// JSON-NEXT:         }1403// JSON-NEXT:        ]1404// JSON-NEXT:       },1405// JSON-NEXT:       {1406// JSON-NEXT:        "id": "0x{{.*}}",1407// JSON-NEXT:        "kind": "CXXConstructorDecl",1408// JSON-NEXT:        "loc": {1409// JSON-NEXT:         "offset": 812,1410// JSON-NEXT:         "line": 15,1411// JSON-NEXT:         "col": 8,1412// JSON-NEXT:         "tokLen": 31413// JSON-NEXT:        },1414// JSON-NEXT:        "range": {1415// JSON-NEXT:         "begin": {1416// JSON-NEXT:          "offset": 812,1417// JSON-NEXT:          "col": 8,1418// JSON-NEXT:          "tokLen": 31419// JSON-NEXT:         },1420// JSON-NEXT:         "end": {1421// JSON-NEXT:          "offset": 812,1422// JSON-NEXT:          "col": 8,1423// JSON-NEXT:          "tokLen": 31424// JSON-NEXT:         }1425// JSON-NEXT:        },1426// JSON-NEXT:        "isImplicit": true,1427// JSON-NEXT:        "name": "foo",1428// JSON-NEXT:        "mangledName": "_ZN3fooILi5EiLi5EEC1ERKS0_",1429// JSON-NEXT:        "type": {1430// JSON-NEXT:         "qualType": "void (const foo<5, int> &)"1431// JSON-NEXT:        },1432// JSON-NEXT:        "inline": true,1433// JSON-NEXT:        "constexpr": true,1434// JSON-NEXT:        "explicitlyDefaulted": "default",1435// JSON-NEXT:        "inner": [1436// JSON-NEXT:         {1437// JSON-NEXT:          "id": "0x{{.*}}",1438// JSON-NEXT:          "kind": "ParmVarDecl",1439// JSON-NEXT:          "loc": {1440// JSON-NEXT:           "offset": 812,1441// JSON-NEXT:           "col": 8,1442// JSON-NEXT:           "tokLen": 31443// JSON-NEXT:          },1444// JSON-NEXT:          "range": {1445// JSON-NEXT:           "begin": {1446// JSON-NEXT:            "offset": 812,1447// JSON-NEXT:            "col": 8,1448// JSON-NEXT:            "tokLen": 31449// JSON-NEXT:           },1450// JSON-NEXT:           "end": {1451// JSON-NEXT:            "offset": 812,1452// JSON-NEXT:            "col": 8,1453// JSON-NEXT:            "tokLen": 31454// JSON-NEXT:           }1455// JSON-NEXT:          },1456// JSON-NEXT:          "type": {1457// JSON-NEXT:           "qualType": "const foo<5, int> &"1458// JSON-NEXT:          }1459// JSON-NEXT:         }1460// JSON-NEXT:        ]1461// JSON-NEXT:       },1462// JSON-NEXT:       {1463// JSON-NEXT:        "id": "0x{{.*}}",1464// JSON-NEXT:        "kind": "CXXConstructorDecl",1465// JSON-NEXT:        "loc": {1466// JSON-NEXT:         "offset": 812,1467// JSON-NEXT:         "col": 8,1468// JSON-NEXT:         "tokLen": 31469// JSON-NEXT:        },1470// JSON-NEXT:        "range": {1471// JSON-NEXT:         "begin": {1472// JSON-NEXT:          "offset": 812,1473// JSON-NEXT:          "col": 8,1474// JSON-NEXT:          "tokLen": 31475// JSON-NEXT:         },1476// JSON-NEXT:         "end": {1477// JSON-NEXT:          "offset": 812,1478// JSON-NEXT:          "col": 8,1479// JSON-NEXT:          "tokLen": 31480// JSON-NEXT:         }1481// JSON-NEXT:        },1482// JSON-NEXT:        "isImplicit": true,1483// JSON-NEXT:        "name": "foo",1484// JSON-NEXT:        "mangledName": "_ZN3fooILi5EiLi5EEC1EOS0_",1485// JSON-NEXT:        "type": {1486// JSON-NEXT:         "qualType": "void (foo<5, int> &&)"1487// JSON-NEXT:        },1488// JSON-NEXT:        "inline": true,1489// JSON-NEXT:        "constexpr": true,1490// JSON-NEXT:        "explicitlyDefaulted": "default",1491// JSON-NEXT:        "inner": [1492// JSON-NEXT:         {1493// JSON-NEXT:          "id": "0x{{.*}}",1494// JSON-NEXT:          "kind": "ParmVarDecl",1495// JSON-NEXT:          "loc": {1496// JSON-NEXT:           "offset": 812,1497// JSON-NEXT:           "col": 8,1498// JSON-NEXT:           "tokLen": 31499// JSON-NEXT:          },1500// JSON-NEXT:          "range": {1501// JSON-NEXT:           "begin": {1502// JSON-NEXT:            "offset": 812,1503// JSON-NEXT:            "col": 8,1504// JSON-NEXT:            "tokLen": 31505// JSON-NEXT:           },1506// JSON-NEXT:           "end": {1507// JSON-NEXT:            "offset": 812,1508// JSON-NEXT:            "col": 8,1509// JSON-NEXT:            "tokLen": 31510// JSON-NEXT:           }1511// JSON-NEXT:          },1512// JSON-NEXT:          "type": {1513// JSON-NEXT:           "qualType": "foo<5, int> &&"1514// JSON-NEXT:          }1515// JSON-NEXT:         }1516// JSON-NEXT:        ]1517// JSON-NEXT:       },1518// JSON-NEXT:       {1519// JSON-NEXT:        "id": "0x{{.*}}",1520// JSON-NEXT:        "kind": "CXXDestructorDecl",1521// JSON-NEXT:        "loc": {1522// JSON-NEXT:         "offset": 812,1523// JSON-NEXT:         "col": 8,1524// JSON-NEXT:         "tokLen": 31525// JSON-NEXT:        },1526// JSON-NEXT:        "range": {1527// JSON-NEXT:         "begin": {1528// JSON-NEXT:          "offset": 812,1529// JSON-NEXT:          "col": 8,1530// JSON-NEXT:          "tokLen": 31531// JSON-NEXT:         },1532// JSON-NEXT:         "end": {1533// JSON-NEXT:          "offset": 812,1534// JSON-NEXT:          "col": 8,1535// JSON-NEXT:          "tokLen": 31536// JSON-NEXT:         }1537// JSON-NEXT:        },1538// JSON-NEXT:        "isImplicit": true,1539// JSON-NEXT:        "isReferenced": true,1540// JSON-NEXT:        "name": "~foo",1541// JSON-NEXT:        "mangledName": "_ZN3fooILi5EiLi5EED1Ev",1542// JSON-NEXT:        "type": {1543// JSON-NEXT:         "qualType": "void () noexcept"1544// JSON-NEXT:        },1545// JSON-NEXT:        "inline": true,1546// JSON-NEXT:        "constexpr": true,1547// JSON-NEXT:        "explicitlyDefaulted": "default"1548// JSON-NEXT:       }1549// JSON-NEXT:      ]1550// JSON-NEXT:     },1551// JSON-NEXT:     {1552// JSON-NEXT:      "id": "0x{{.*}}",1553// JSON-NEXT:      "kind": "ClassTemplateSpecializationDecl",1554// JSON-NEXT:      "loc": {1555// JSON-NEXT:       "offset": 812,1556// JSON-NEXT:       "col": 8,1557// JSON-NEXT:       "tokLen": 31558// JSON-NEXT:      },1559// JSON-NEXT:      "range": {1560// JSON-NEXT:       "begin": {1561// JSON-NEXT:        "offset": 765,1562// JSON-NEXT:        "line": 14,1563// JSON-NEXT:        "col": 1,1564// JSON-NEXT:        "tokLen": 81565// JSON-NEXT:       },1566// JSON-NEXT:       "end": {1567// JSON-NEXT:        "offset": 879,1568// JSON-NEXT:        "line": 19,1569// JSON-NEXT:        "col": 1,1570// JSON-NEXT:        "tokLen": 11571// JSON-NEXT:       }1572// JSON-NEXT:      },1573// JSON-NEXT:      "name": "foo",1574// JSON-NEXT:      "tagUsed": "struct",1575// JSON-NEXT:      "completeDefinition": true,1576// JSON-NEXT:      "TemplateInstantiationPattern": "0x{{.*}}",1577// JSON-NEXT:      "definitionData": {1578// JSON-NEXT:       "canConstDefaultInit": true,1579// JSON-NEXT:       "canPassInRegisters": true,1580// JSON-NEXT:       "copyAssign": {1581// JSON-NEXT:        "hasConstParam": true,1582// JSON-NEXT:        "implicitHasConstParam": true,1583// JSON-NEXT:        "needsImplicit": true,1584// JSON-NEXT:        "simple": true,1585// JSON-NEXT:        "trivial": true1586// JSON-NEXT:       },1587// JSON-NEXT:       "copyCtor": {1588// JSON-NEXT:        "hasConstParam": true,1589// JSON-NEXT:        "implicitHasConstParam": true,1590// JSON-NEXT:        "simple": true,1591// JSON-NEXT:        "trivial": true1592// JSON-NEXT:       },1593// JSON-NEXT:       "defaultCtor": {1594// JSON-NEXT:        "defaultedIsConstexpr": true,1595// JSON-NEXT:        "exists": true,1596// JSON-NEXT:        "nonTrivial": true,1597// JSON-NEXT:        "userProvided": true1598// JSON-NEXT:       },1599// JSON-NEXT:       "dtor": {1600// JSON-NEXT:        "irrelevant": true,1601// JSON-NEXT:        "simple": true,1602// JSON-NEXT:        "trivial": true1603// JSON-NEXT:       },1604// JSON-NEXT:       "hasUserDeclaredConstructor": true,1605// JSON-NEXT:       "isStandardLayout": true,1606// JSON-NEXT:       "isTriviallyCopyable": true,1607// JSON-NEXT:       "moveAssign": {1608// JSON-NEXT:        "exists": true,1609// JSON-NEXT:        "needsImplicit": true,1610// JSON-NEXT:        "simple": true,1611// JSON-NEXT:        "trivial": true1612// JSON-NEXT:       },1613// JSON-NEXT:       "moveCtor": {1614// JSON-NEXT:        "exists": true,1615// JSON-NEXT:        "simple": true,1616// JSON-NEXT:        "trivial": true1617// JSON-NEXT:       }1618// JSON-NEXT:      },1619// JSON-NEXT:      "inner": [1620// JSON-NEXT:       {1621// JSON-NEXT:        "kind": "TemplateArgument",1622// JSON-NEXT:        "value": 21623// JSON-NEXT:       },1624// JSON-NEXT:       {1625// JSON-NEXT:        "kind": "TemplateArgument",1626// JSON-NEXT:        "type": {1627// JSON-NEXT:         "qualType": "double"1628// JSON-NEXT:        },1629// JSON-NEXT:        "inner": [1630// JSON-NEXT:         {1631// JSON-NEXT:          "id": "0x{{.*}}",1632// JSON-NEXT:          "kind": "BuiltinType",1633// JSON-NEXT:          "type": {1634// JSON-NEXT:           "qualType": "double"1635// JSON-NEXT:          }1636// JSON-NEXT:         }1637// JSON-NEXT:        ]1638// JSON-NEXT:       },1639// JSON-NEXT:       {1640// JSON-NEXT:        "kind": "TemplateArgument",1641// JSON-NEXT:        "value": 31642// JSON-NEXT:       },1643// JSON-NEXT:       {1644// JSON-NEXT:        "id": "0x{{.*}}",1645// JSON-NEXT:        "kind": "CXXRecordDecl",1646// JSON-NEXT:        "loc": {1647// JSON-NEXT:         "offset": 812,1648// JSON-NEXT:         "line": 15,1649// JSON-NEXT:         "col": 8,1650// JSON-NEXT:         "tokLen": 31651// JSON-NEXT:        },1652// JSON-NEXT:        "range": {1653// JSON-NEXT:         "begin": {1654// JSON-NEXT:          "offset": 805,1655// JSON-NEXT:          "col": 1,1656// JSON-NEXT:          "tokLen": 61657// JSON-NEXT:         },1658// JSON-NEXT:         "end": {1659// JSON-NEXT:          "offset": 812,1660// JSON-NEXT:          "col": 8,1661// JSON-NEXT:          "tokLen": 31662// JSON-NEXT:         }1663// JSON-NEXT:        },1664// JSON-NEXT:        "isImplicit": true,1665// JSON-NEXT:        "name": "foo",1666// JSON-NEXT:        "tagUsed": "struct"1667// JSON-NEXT:       },1668// JSON-NEXT:       {1669// JSON-NEXT:        "id": "0x{{.*}}",1670// JSON-NEXT:        "kind": "FieldDecl",1671// JSON-NEXT:        "loc": {1672// JSON-NEXT:         "offset": 824,1673// JSON-NEXT:         "line": 16,1674// JSON-NEXT:         "col": 7,1675// JSON-NEXT:         "tokLen": 81676// JSON-NEXT:        },1677// JSON-NEXT:        "range": {1678// JSON-NEXT:         "begin": {1679// JSON-NEXT:          "offset": 820,1680// JSON-NEXT:          "col": 3,1681// JSON-NEXT:          "tokLen": 31682// JSON-NEXT:         },1683// JSON-NEXT:         "end": {1684// JSON-NEXT:          "offset": 824,1685// JSON-NEXT:          "col": 7,1686// JSON-NEXT:          "tokLen": 81687// JSON-NEXT:         }1688// JSON-NEXT:        },1689// JSON-NEXT:        "name": "constant",1690// JSON-NEXT:        "type": {1691// JSON-NEXT:         "qualType": "int"1692// JSON-NEXT:        }1693// JSON-NEXT:       },1694// JSON-NEXT:       {1695// JSON-NEXT:        "id": "0x{{.*}}",1696// JSON-NEXT:        "kind": "CXXConstructorDecl",1697// JSON-NEXT:        "loc": {1698// JSON-NEXT:         "offset": 836,1699// JSON-NEXT:         "line": 17,1700// JSON-NEXT:         "col": 3,1701// JSON-NEXT:         "tokLen": 31702// JSON-NEXT:        },1703// JSON-NEXT:        "range": {1704// JSON-NEXT:         "begin": {1705// JSON-NEXT:          "offset": 836,1706// JSON-NEXT:          "col": 3,1707// JSON-NEXT:          "tokLen": 31708// JSON-NEXT:         },1709// JSON-NEXT:         "end": {1710// JSON-NEXT:          "offset": 843,1711// JSON-NEXT:          "col": 10,1712// JSON-NEXT:          "tokLen": 11713// JSON-NEXT:         }1714// JSON-NEXT:        },1715// JSON-NEXT:        "isUsed": true,1716// JSON-NEXT:        "name": "foo",1717// JSON-NEXT:        "mangledName": "_ZN3fooILi2EdLi3EEC1Ev",1718// JSON-NEXT:        "type": {1719// JSON-NEXT:         "qualType": "void ()"1720// JSON-NEXT:        },1721// JSON-NEXT:        "TemplateInstantiationPattern": "0x{{.*}}",1722// JSON-NEXT:        "inner": [1723// JSON-NEXT:         {1724// JSON-NEXT:          "id": "0x{{.*}}",1725// JSON-NEXT:          "kind": "CompoundStmt",1726// JSON-NEXT:          "range": {1727// JSON-NEXT:           "begin": {1728// JSON-NEXT:            "offset": 842,1729// JSON-NEXT:            "col": 9,1730// JSON-NEXT:            "tokLen": 11731// JSON-NEXT:           },1732// JSON-NEXT:           "end": {1733// JSON-NEXT:            "offset": 843,1734// JSON-NEXT:            "col": 10,1735// JSON-NEXT:            "tokLen": 11736// JSON-NEXT:           }1737// JSON-NEXT:          }1738// JSON-NEXT:         }1739// JSON-NEXT:        ]1740// JSON-NEXT:       },1741// JSON-NEXT:       {1742// JSON-NEXT:        "id": "0x{{.*}}",1743// JSON-NEXT:        "kind": "CXXMethodDecl",1744// JSON-NEXT:        "loc": {1745// JSON-NEXT:         "offset": 849,1746// JSON-NEXT:         "line": 18,1747// JSON-NEXT:         "col": 5,1748// JSON-NEXT:         "tokLen": 61749// JSON-NEXT:        },1750// JSON-NEXT:        "range": {1751// JSON-NEXT:         "begin": {1752// JSON-NEXT:          "offset": 847,1753// JSON-NEXT:          "col": 3,1754// JSON-NEXT:          "tokLen": 11755// JSON-NEXT:         },1756// JSON-NEXT:         "end": {1757// JSON-NEXT:          "offset": 877,1758// JSON-NEXT:          "col": 33,1759// JSON-NEXT:          "tokLen": 11760// JSON-NEXT:         }1761// JSON-NEXT:        },1762// JSON-NEXT:        "isUsed": true,1763// JSON-NEXT:        "name": "getSum",1764// JSON-NEXT:        "mangledName": "_ZN3fooILi2EdLi3EE6getSumEv",1765// JSON-NEXT:        "type": {1766// JSON-NEXT:         "qualType": "double ()"1767// JSON-NEXT:        },1768// JSON-NEXT:        "TemplateInstantiationPattern": "0x{{.*}}",1769// JSON-NEXT:        "inner": [1770// JSON-NEXT:         {1771// JSON-NEXT:          "id": "0x{{.*}}",1772// JSON-NEXT:          "kind": "CompoundStmt",1773// JSON-NEXT:          "range": {1774// JSON-NEXT:           "begin": {1775// JSON-NEXT:            "offset": 858,1776// JSON-NEXT:            "col": 14,1777// JSON-NEXT:            "tokLen": 11778// JSON-NEXT:           },1779// JSON-NEXT:           "end": {1780// JSON-NEXT:            "offset": 877,1781// JSON-NEXT:            "col": 33,1782// JSON-NEXT:            "tokLen": 11783// JSON-NEXT:           }1784// JSON-NEXT:          },1785// JSON-NEXT:          "inner": [1786// JSON-NEXT:           {1787// JSON-NEXT:            "id": "0x{{.*}}",1788// JSON-NEXT:            "kind": "ReturnStmt",1789// JSON-NEXT:            "range": {1790// JSON-NEXT:             "begin": {1791// JSON-NEXT:              "offset": 860,1792// JSON-NEXT:              "col": 16,1793// JSON-NEXT:              "tokLen": 61794// JSON-NEXT:             },1795// JSON-NEXT:             "end": {1796// JSON-NEXT:              "offset": 874,1797// JSON-NEXT:              "col": 30,1798// JSON-NEXT:              "tokLen": 11799// JSON-NEXT:             }1800// JSON-NEXT:            },1801// JSON-NEXT:            "inner": [1802// JSON-NEXT:             {1803// JSON-NEXT:              "id": "0x{{.*}}",1804// JSON-NEXT:              "kind": "CXXFunctionalCastExpr",1805// JSON-NEXT:              "range": {1806// JSON-NEXT:               "begin": {1807// JSON-NEXT:                "offset": 867,1808// JSON-NEXT:                "col": 23,1809// JSON-NEXT:                "tokLen": 11810// JSON-NEXT:               },1811// JSON-NEXT:               "end": {1812// JSON-NEXT:                "offset": 874,1813// JSON-NEXT:                "col": 30,1814// JSON-NEXT:                "tokLen": 11815// JSON-NEXT:               }1816// JSON-NEXT:              },1817// JSON-NEXT:              "type": {1818// JSON-NEXT:               "qualType": "double"1819// JSON-NEXT:              },1820// JSON-NEXT:              "valueCategory": "prvalue",1821// JSON-NEXT:              "castKind": "NoOp",1822// JSON-NEXT:              "inner": [1823// JSON-NEXT:               {1824// JSON-NEXT:                "id": "0x{{.*}}",1825// JSON-NEXT:                "kind": "ImplicitCastExpr",1826// JSON-NEXT:                "range": {1827// JSON-NEXT:                 "begin": {1828// JSON-NEXT:                  "offset": 869,1829// JSON-NEXT:                  "col": 25,1830// JSON-NEXT:                  "tokLen": 11831// JSON-NEXT:                 },1832// JSON-NEXT:                 "end": {1833// JSON-NEXT:                  "offset": 873,1834// JSON-NEXT:                  "col": 29,1835// JSON-NEXT:                  "tokLen": 11836// JSON-NEXT:                 }1837// JSON-NEXT:                },1838// JSON-NEXT:                "type": {1839// JSON-NEXT:                 "qualType": "double"1840// JSON-NEXT:                },1841// JSON-NEXT:                "valueCategory": "prvalue",1842// JSON-NEXT:                "castKind": "IntegralToFloating",1843// JSON-NEXT:                "isPartOfExplicitCast": true,1844// JSON-NEXT:                "inner": [1845// JSON-NEXT:                 {1846// JSON-NEXT:                  "id": "0x{{.*}}",1847// JSON-NEXT:                  "kind": "BinaryOperator",1848// JSON-NEXT:                  "range": {1849// JSON-NEXT:                   "begin": {1850// JSON-NEXT:                    "offset": 869,1851// JSON-NEXT:                    "col": 25,1852// JSON-NEXT:                    "tokLen": 11853// JSON-NEXT:                   },1854// JSON-NEXT:                   "end": {1855// JSON-NEXT:                    "offset": 873,1856// JSON-NEXT:                    "col": 29,1857// JSON-NEXT:                    "tokLen": 11858// JSON-NEXT:                   }1859// JSON-NEXT:                  },1860// JSON-NEXT:                  "type": {1861// JSON-NEXT:                   "qualType": "int"1862// JSON-NEXT:                  },1863// JSON-NEXT:                  "valueCategory": "prvalue",1864// JSON-NEXT:                  "opcode": "+",1865// JSON-NEXT:                  "inner": [1866// JSON-NEXT:                   {1867// JSON-NEXT:                    "id": "0x{{.*}}",1868// JSON-NEXT:                    "kind": "SubstNonTypeTemplateParmExpr",1869// JSON-NEXT:                    "range": {1870// JSON-NEXT:                     "begin": {1871// JSON-NEXT:                      "offset": 869,1872// JSON-NEXT:                      "col": 25,1873// JSON-NEXT:                      "tokLen": 11874// JSON-NEXT:                     },1875// JSON-NEXT:                     "end": {1876// JSON-NEXT:                      "offset": 869,1877// JSON-NEXT:                      "col": 25,1878// JSON-NEXT:                      "tokLen": 11879// JSON-NEXT:                     }1880// JSON-NEXT:                    },1881// JSON-NEXT:                    "type": {1882// JSON-NEXT:                     "qualType": "int"1883// JSON-NEXT:                    },1884// JSON-NEXT:                    "valueCategory": "prvalue",1885// JSON-NEXT:                    "inner": [1886// JSON-NEXT:                     {1887// JSON-NEXT:                      "id": "0x{{.*}}",1888// JSON-NEXT:                      "kind": "NonTypeTemplateParmDecl",1889// JSON-NEXT:                      "loc": {1890// JSON-NEXT:                       "offset": 779,1891// JSON-NEXT:                       "line": 14,1892// JSON-NEXT:                       "col": 15,1893// JSON-NEXT:                       "tokLen": 11894// JSON-NEXT:                      },1895// JSON-NEXT:                      "range": {1896// JSON-NEXT:                       "begin": {1897// JSON-NEXT:                        "offset": 775,1898// JSON-NEXT:                        "col": 11,1899// JSON-NEXT:                        "tokLen": 31900// JSON-NEXT:                       },1901// JSON-NEXT:                       "end": {1902// JSON-NEXT:                        "offset": 779,1903// JSON-NEXT:                        "col": 15,1904// JSON-NEXT:                        "tokLen": 11905// JSON-NEXT:                       }1906// JSON-NEXT:                      },1907// JSON-NEXT:                      "isReferenced": true,1908// JSON-NEXT:                      "name": "X",1909// JSON-NEXT:                      "type": {1910// JSON-NEXT:                       "qualType": "int"1911// JSON-NEXT:                      },1912// JSON-NEXT:                      "depth": 0,1913// JSON-NEXT:                      "index": 01914// JSON-NEXT:                     },1915// JSON-NEXT:                     {1916// JSON-NEXT:                      "id": "0x{{.*}}",1917// JSON-NEXT:                      "kind": "IntegerLiteral",1918// JSON-NEXT:                      "range": {1919// JSON-NEXT:                       "begin": {1920// JSON-NEXT:                        "offset": 869,1921// JSON-NEXT:                        "line": 18,1922// JSON-NEXT:                        "col": 25,1923// JSON-NEXT:                        "tokLen": 11924// JSON-NEXT:                       },1925// JSON-NEXT:                       "end": {1926// JSON-NEXT:                        "offset": 869,1927// JSON-NEXT:                        "col": 25,1928// JSON-NEXT:                        "tokLen": 11929// JSON-NEXT:                       }1930// JSON-NEXT:                      },1931// JSON-NEXT:                      "type": {1932// JSON-NEXT:                       "qualType": "int"1933// JSON-NEXT:                      },1934// JSON-NEXT:                      "valueCategory": "prvalue",1935// JSON-NEXT:                      "value": "2"1936// JSON-NEXT:                     }1937// JSON-NEXT:                    ]1938// JSON-NEXT:                   },1939// JSON-NEXT:                   {1940// JSON-NEXT:                    "id": "0x{{.*}}",1941// JSON-NEXT:                    "kind": "SubstNonTypeTemplateParmExpr",1942// JSON-NEXT:                    "range": {1943// JSON-NEXT:                     "begin": {1944// JSON-NEXT:                      "offset": 873,1945// JSON-NEXT:                      "col": 29,1946// JSON-NEXT:                      "tokLen": 11947// JSON-NEXT:                     },1948// JSON-NEXT:                     "end": {1949// JSON-NEXT:                      "offset": 873,1950// JSON-NEXT:                      "col": 29,1951// JSON-NEXT:                      "tokLen": 11952// JSON-NEXT:                     }1953// JSON-NEXT:                    },1954// JSON-NEXT:                    "type": {1955// JSON-NEXT:                     "qualType": "int"1956// JSON-NEXT:                    },1957// JSON-NEXT:                    "valueCategory": "prvalue",1958// JSON-NEXT:                    "inner": [1959// JSON-NEXT:                     {1960// JSON-NEXT:                      "id": "0x{{.*}}",1961// JSON-NEXT:                      "kind": "NonTypeTemplateParmDecl",1962// JSON-NEXT:                      "loc": {1963// JSON-NEXT:                       "offset": 798,1964// JSON-NEXT:                       "line": 14,1965// JSON-NEXT:                       "col": 34,1966// JSON-NEXT:                       "tokLen": 11967// JSON-NEXT:                      },1968// JSON-NEXT:                      "range": {1969// JSON-NEXT:                       "begin": {1970// JSON-NEXT:                        "offset": 794,1971// JSON-NEXT:                        "col": 30,1972// JSON-NEXT:                        "tokLen": 31973// JSON-NEXT:                       },1974// JSON-NEXT:                       "end": {1975// JSON-NEXT:                        "offset": 802,1976// JSON-NEXT:                        "col": 38,1977// JSON-NEXT:                        "tokLen": 11978// JSON-NEXT:                       }1979// JSON-NEXT:                      },1980// JSON-NEXT:                      "isReferenced": true,1981// JSON-NEXT:                      "name": "Z",1982// JSON-NEXT:                      "type": {1983// JSON-NEXT:                       "qualType": "int"1984// JSON-NEXT:                      },1985// JSON-NEXT:                      "depth": 0,1986// JSON-NEXT:                      "index": 2,1987// JSON-NEXT:                      "defaultArg": {1988// JSON-NEXT:                       "kind": "TemplateArgument",1989// JSON-NEXT:                       "isExpr": true1990// JSON-NEXT:                      },1991// JSON-NEXT:                      "inner": [1992// JSON-NEXT:                       {1993// JSON-NEXT:                        "kind": "TemplateArgument",1994// JSON-NEXT:                        "range": {1995// JSON-NEXT:                         "begin": {1996// JSON-NEXT:                          "offset": 802,1997// JSON-NEXT:                          "col": 38,1998// JSON-NEXT:                          "tokLen": 11999// JSON-NEXT:                         },2000// JSON-NEXT:                         "end": {2001// JSON-NEXT:                          "offset": 802,2002// JSON-NEXT:                          "col": 38,2003// JSON-NEXT:                          "tokLen": 12004// JSON-NEXT:                         }2005// JSON-NEXT:                        },2006// JSON-NEXT:                        "isExpr": true,2007// JSON-NEXT:                        "inner": [2008// JSON-NEXT:                         {2009// JSON-NEXT:                          "id": "0x{{.*}}",2010// JSON-NEXT:                          "kind": "IntegerLiteral",2011// JSON-NEXT:                          "range": {2012// JSON-NEXT:                           "begin": {2013// JSON-NEXT:                            "offset": 802,2014// JSON-NEXT:                            "col": 38,2015// JSON-NEXT:                            "tokLen": 12016// JSON-NEXT:                           },2017// JSON-NEXT:                           "end": {2018// JSON-NEXT:                            "offset": 802,2019// JSON-NEXT:                            "col": 38,2020// JSON-NEXT:                            "tokLen": 12021// JSON-NEXT:                           }2022// JSON-NEXT:                          },2023// JSON-NEXT:                          "type": {2024// JSON-NEXT:                           "qualType": "int"2025// JSON-NEXT:                          },2026// JSON-NEXT:                          "valueCategory": "prvalue",2027// JSON-NEXT:                          "value": "5"2028// JSON-NEXT:                         }2029// JSON-NEXT:                        ]2030// JSON-NEXT:                       }2031// JSON-NEXT:                      ]2032// JSON-NEXT:                     },2033// JSON-NEXT:                     {2034// JSON-NEXT:                      "id": "0x{{.*}}",2035// JSON-NEXT:                      "kind": "IntegerLiteral",2036// JSON-NEXT:                      "range": {2037// JSON-NEXT:                       "begin": {2038// JSON-NEXT:                        "offset": 873,2039// JSON-NEXT:                        "line": 18,2040// JSON-NEXT:                        "col": 29,2041// JSON-NEXT:                        "tokLen": 12042// JSON-NEXT:                       },2043// JSON-NEXT:                       "end": {2044// JSON-NEXT:                        "offset": 873,2045// JSON-NEXT:                        "col": 29,2046// JSON-NEXT:                        "tokLen": 12047// JSON-NEXT:                       }2048// JSON-NEXT:                      },2049// JSON-NEXT:                      "type": {2050// JSON-NEXT:                       "qualType": "int"2051// JSON-NEXT:                      },2052// JSON-NEXT:                      "valueCategory": "prvalue",2053// JSON-NEXT:                      "value": "3"2054// JSON-NEXT:                     }2055// JSON-NEXT:                    ]2056// JSON-NEXT:                   }2057// JSON-NEXT:                  ]2058// JSON-NEXT:                 }2059// JSON-NEXT:                ]2060// JSON-NEXT:               }2061// JSON-NEXT:              ]2062// JSON-NEXT:             }2063// JSON-NEXT:            ]2064// JSON-NEXT:           }2065// JSON-NEXT:          ]2066// JSON-NEXT:         }2067// JSON-NEXT:        ]2068// JSON-NEXT:       },2069// JSON-NEXT:       {2070// JSON-NEXT:        "id": "0x{{.*}}",2071// JSON-NEXT:        "kind": "CXXConstructorDecl",2072// JSON-NEXT:        "loc": {2073// JSON-NEXT:         "offset": 812,2074// JSON-NEXT:         "line": 15,2075// JSON-NEXT:         "col": 8,2076// JSON-NEXT:         "tokLen": 32077// JSON-NEXT:        },2078// JSON-NEXT:        "range": {2079// JSON-NEXT:         "begin": {2080// JSON-NEXT:          "offset": 812,2081// JSON-NEXT:          "col": 8,2082// JSON-NEXT:          "tokLen": 32083// JSON-NEXT:         },2084// JSON-NEXT:         "end": {2085// JSON-NEXT:          "offset": 812,2086// JSON-NEXT:          "col": 8,2087// JSON-NEXT:          "tokLen": 32088// JSON-NEXT:         }2089// JSON-NEXT:        },2090// JSON-NEXT:        "isImplicit": true,2091// JSON-NEXT:        "name": "foo",2092// JSON-NEXT:        "mangledName": "_ZN3fooILi2EdLi3EEC1ERKS0_",2093// JSON-NEXT:        "type": {2094// JSON-NEXT:         "qualType": "void (const foo<2, double, 3> &)"2095// JSON-NEXT:        },2096// JSON-NEXT:        "inline": true,2097// JSON-NEXT:        "constexpr": true,2098// JSON-NEXT:        "explicitlyDefaulted": "default",2099// JSON-NEXT:        "inner": [2100// JSON-NEXT:         {2101// JSON-NEXT:          "id": "0x{{.*}}",2102// JSON-NEXT:          "kind": "ParmVarDecl",2103// JSON-NEXT:          "loc": {2104// JSON-NEXT:           "offset": 812,2105// JSON-NEXT:           "col": 8,2106// JSON-NEXT:           "tokLen": 32107// JSON-NEXT:          },2108// JSON-NEXT:          "range": {2109// JSON-NEXT:           "begin": {2110// JSON-NEXT:            "offset": 812,2111// JSON-NEXT:            "col": 8,2112// JSON-NEXT:            "tokLen": 32113// JSON-NEXT:           },2114// JSON-NEXT:           "end": {2115// JSON-NEXT:            "offset": 812,2116// JSON-NEXT:            "col": 8,2117// JSON-NEXT:            "tokLen": 32118// JSON-NEXT:           }2119// JSON-NEXT:          },2120// JSON-NEXT:          "type": {2121// JSON-NEXT:           "qualType": "const foo<2, double, 3> &"2122// JSON-NEXT:          }2123// JSON-NEXT:         }2124// JSON-NEXT:        ]2125// JSON-NEXT:       },2126// JSON-NEXT:       {2127// JSON-NEXT:        "id": "0x{{.*}}",2128// JSON-NEXT:        "kind": "CXXConstructorDecl",2129// JSON-NEXT:        "loc": {2130// JSON-NEXT:         "offset": 812,2131// JSON-NEXT:         "col": 8,2132// JSON-NEXT:         "tokLen": 32133// JSON-NEXT:        },2134// JSON-NEXT:        "range": {2135// JSON-NEXT:         "begin": {2136// JSON-NEXT:          "offset": 812,2137// JSON-NEXT:          "col": 8,2138// JSON-NEXT:          "tokLen": 32139// JSON-NEXT:         },2140// JSON-NEXT:         "end": {2141// JSON-NEXT:          "offset": 812,2142// JSON-NEXT:          "col": 8,2143// JSON-NEXT:          "tokLen": 32144// JSON-NEXT:         }2145// JSON-NEXT:        },2146// JSON-NEXT:        "isImplicit": true,2147// JSON-NEXT:        "name": "foo",2148// JSON-NEXT:        "mangledName": "_ZN3fooILi2EdLi3EEC1EOS0_",2149// JSON-NEXT:        "type": {2150// JSON-NEXT:         "qualType": "void (foo<2, double, 3> &&)"2151// JSON-NEXT:        },2152// JSON-NEXT:        "inline": true,2153// JSON-NEXT:        "constexpr": true,2154// JSON-NEXT:        "explicitlyDefaulted": "default",2155// JSON-NEXT:        "inner": [2156// JSON-NEXT:         {2157// JSON-NEXT:          "id": "0x{{.*}}",2158// JSON-NEXT:          "kind": "ParmVarDecl",2159// JSON-NEXT:          "loc": {2160// JSON-NEXT:           "offset": 812,2161// JSON-NEXT:           "col": 8,2162// JSON-NEXT:           "tokLen": 32163// JSON-NEXT:          },2164// JSON-NEXT:          "range": {2165// JSON-NEXT:           "begin": {2166// JSON-NEXT:            "offset": 812,2167// JSON-NEXT:            "col": 8,2168// JSON-NEXT:            "tokLen": 32169// JSON-NEXT:           },2170// JSON-NEXT:           "end": {2171// JSON-NEXT:            "offset": 812,2172// JSON-NEXT:            "col": 8,2173// JSON-NEXT:            "tokLen": 32174// JSON-NEXT:           }2175// JSON-NEXT:          },2176// JSON-NEXT:          "type": {2177// JSON-NEXT:           "qualType": "foo<2, double, 3> &&"2178// JSON-NEXT:          }2179// JSON-NEXT:         }2180// JSON-NEXT:        ]2181// JSON-NEXT:       },2182// JSON-NEXT:       {2183// JSON-NEXT:        "id": "0x{{.*}}",2184// JSON-NEXT:        "kind": "CXXDestructorDecl",2185// JSON-NEXT:        "loc": {2186// JSON-NEXT:         "offset": 812,2187// JSON-NEXT:         "col": 8,2188// JSON-NEXT:         "tokLen": 32189// JSON-NEXT:        },2190// JSON-NEXT:        "range": {2191// JSON-NEXT:         "begin": {2192// JSON-NEXT:          "offset": 812,2193// JSON-NEXT:          "col": 8,2194// JSON-NEXT:          "tokLen": 32195// JSON-NEXT:         },2196// JSON-NEXT:         "end": {2197// JSON-NEXT:          "offset": 812,2198// JSON-NEXT:          "col": 8,2199// JSON-NEXT:          "tokLen": 32200// JSON-NEXT:         }2201// JSON-NEXT:        },2202// JSON-NEXT:        "isImplicit": true,2203// JSON-NEXT:        "isReferenced": true,2204// JSON-NEXT:        "name": "~foo",2205// JSON-NEXT:        "mangledName": "_ZN3fooILi2EdLi3EED1Ev",2206// JSON-NEXT:        "type": {2207// JSON-NEXT:         "qualType": "void () noexcept"2208// JSON-NEXT:        },2209// JSON-NEXT:        "inline": true,2210// JSON-NEXT:        "constexpr": true,2211// JSON-NEXT:        "explicitlyDefaulted": "default"2212// JSON-NEXT:       }2213// JSON-NEXT:      ]2214// JSON-NEXT:     }2215// JSON-NEXT:    ]2216// JSON-NEXT:   },2217// JSON-NEXT:   {2218// JSON-NEXT:    "id": "0x{{.*}}",2219// JSON-NEXT:    "kind": "FunctionTemplateDecl",2220// JSON-NEXT:    "loc": {2221// JSON-NEXT:     "offset": 914,2222// JSON-NEXT:     "line": 22,2223// JSON-NEXT:     "col": 3,2224// JSON-NEXT:     "tokLen": 32225// JSON-NEXT:    },2226// JSON-NEXT:    "range": {2227// JSON-NEXT:     "begin": {2228// JSON-NEXT:      "offset": 883,2229// JSON-NEXT:      "line": 21,2230// JSON-NEXT:      "col": 1,2231// JSON-NEXT:      "tokLen": 82232// JSON-NEXT:     },2233// JSON-NEXT:     "end": {2234// JSON-NEXT:      "offset": 937,2235// JSON-NEXT:      "line": 24,2236// JSON-NEXT:      "col": 1,2237// JSON-NEXT:      "tokLen": 12238// JSON-NEXT:     }2239// JSON-NEXT:    },2240// JSON-NEXT:    "name": "bar",2241// JSON-NEXT:    "inner": [2242// JSON-NEXT:     {2243// JSON-NEXT:      "id": "0x{{.*}}",2244// JSON-NEXT:      "kind": "NonTypeTemplateParmDecl",2245// JSON-NEXT:      "loc": {2246// JSON-NEXT:       "offset": 897,2247// JSON-NEXT:       "line": 21,2248// JSON-NEXT:       "col": 15,2249// JSON-NEXT:       "tokLen": 12250// JSON-NEXT:      },2251// JSON-NEXT:      "range": {2252// JSON-NEXT:       "begin": {2253// JSON-NEXT:        "offset": 893,2254// JSON-NEXT:        "col": 11,2255// JSON-NEXT:        "tokLen": 32256// JSON-NEXT:       },2257// JSON-NEXT:       "end": {2258// JSON-NEXT:        "offset": 897,2259// JSON-NEXT:        "col": 15,2260// JSON-NEXT:        "tokLen": 12261// JSON-NEXT:       }2262// JSON-NEXT:      },2263// JSON-NEXT:      "isReferenced": true,2264// JSON-NEXT:      "name": "A",2265// JSON-NEXT:      "type": {2266// JSON-NEXT:       "qualType": "int"2267// JSON-NEXT:      },2268// JSON-NEXT:      "depth": 0,2269// JSON-NEXT:      "index": 02270// JSON-NEXT:     },2271// JSON-NEXT:     {2272// JSON-NEXT:      "id": "0x{{.*}}",2273// JSON-NEXT:      "kind": "TemplateTypeParmDecl",2274// JSON-NEXT:      "loc": {2275// JSON-NEXT:       "offset": 909,2276// JSON-NEXT:       "col": 27,2277// JSON-NEXT:       "tokLen": 12278// JSON-NEXT:      },2279// JSON-NEXT:      "range": {2280// JSON-NEXT:       "begin": {2281// JSON-NEXT:        "offset": 900,2282// JSON-NEXT:        "col": 18,2283// JSON-NEXT:        "tokLen": 82284// JSON-NEXT:       },2285// JSON-NEXT:       "end": {2286// JSON-NEXT:        "offset": 909,2287// JSON-NEXT:        "col": 27,2288// JSON-NEXT:        "tokLen": 12289// JSON-NEXT:       }2290// JSON-NEXT:      },2291// JSON-NEXT:      "isReferenced": true,2292// JSON-NEXT:      "name": "B",2293// JSON-NEXT:      "tagUsed": "typename",2294// JSON-NEXT:      "depth": 0,2295// JSON-NEXT:      "index": 12296// JSON-NEXT:     },2297// JSON-NEXT:     {2298// JSON-NEXT:      "id": "0x{{.*}}",2299// JSON-NEXT:      "kind": "FunctionDecl",2300// JSON-NEXT:      "loc": {2301// JSON-NEXT:       "offset": 914,2302// JSON-NEXT:       "line": 22,2303// JSON-NEXT:       "col": 3,2304// JSON-NEXT:       "tokLen": 32305// JSON-NEXT:      },2306// JSON-NEXT:      "range": {2307// JSON-NEXT:       "begin": {2308// JSON-NEXT:        "offset": 912,2309// JSON-NEXT:        "col": 1,2310// JSON-NEXT:        "tokLen": 12311// JSON-NEXT:       },2312// JSON-NEXT:       "end": {2313// JSON-NEXT:        "offset": 937,2314// JSON-NEXT:        "line": 24,2315// JSON-NEXT:        "col": 1,2316// JSON-NEXT:        "tokLen": 12317// JSON-NEXT:       }2318// JSON-NEXT:      },2319// JSON-NEXT:      "name": "bar",2320// JSON-NEXT:      "type": {2321// JSON-NEXT:       "qualType": "B ()"2322// JSON-NEXT:      },2323// JSON-NEXT:      "inner": [2324// JSON-NEXT:       {2325// JSON-NEXT:        "id": "0x{{.*}}",2326// JSON-NEXT:        "kind": "CompoundStmt",2327// JSON-NEXT:        "range": {2328// JSON-NEXT:         "begin": {2329// JSON-NEXT:          "offset": 920,2330// JSON-NEXT:          "line": 22,2331// JSON-NEXT:          "col": 9,2332// JSON-NEXT:          "tokLen": 12333// JSON-NEXT:         },2334// JSON-NEXT:         "end": {2335// JSON-NEXT:          "offset": 937,2336// JSON-NEXT:          "line": 24,2337// JSON-NEXT:          "col": 1,2338// JSON-NEXT:          "tokLen": 12339// JSON-NEXT:         }2340// JSON-NEXT:        },2341// JSON-NEXT:        "inner": [2342// JSON-NEXT:         {2343// JSON-NEXT:          "id": "0x{{.*}}",2344// JSON-NEXT:          "kind": "ReturnStmt",2345// JSON-NEXT:          "range": {2346// JSON-NEXT:           "begin": {2347// JSON-NEXT:            "offset": 924,2348// JSON-NEXT:            "line": 23,2349// JSON-NEXT:            "col": 3,2350// JSON-NEXT:            "tokLen": 62351// JSON-NEXT:           },2352// JSON-NEXT:           "end": {2353// JSON-NEXT:            "offset": 934,2354// JSON-NEXT:            "col": 13,2355// JSON-NEXT:            "tokLen": 12356// JSON-NEXT:           }2357// JSON-NEXT:          },2358// JSON-NEXT:          "inner": [2359// JSON-NEXT:           {2360// JSON-NEXT:            "id": "0x{{.*}}",2361// JSON-NEXT:            "kind": "CXXUnresolvedConstructExpr",2362// JSON-NEXT:            "range": {2363// JSON-NEXT:             "begin": {2364// JSON-NEXT:              "offset": 931,2365// JSON-NEXT:              "col": 10,2366// JSON-NEXT:              "tokLen": 12367// JSON-NEXT:             },2368// JSON-NEXT:             "end": {2369// JSON-NEXT:              "offset": 934,2370// JSON-NEXT:              "col": 13,2371// JSON-NEXT:              "tokLen": 12372// JSON-NEXT:             }2373// JSON-NEXT:            },2374// JSON-NEXT:            "type": {2375// JSON-NEXT:             "qualType": "B"2376// JSON-NEXT:            },2377// JSON-NEXT:            "valueCategory": "prvalue",2378// JSON-NEXT:            "inner": [2379// JSON-NEXT:             {2380// JSON-NEXT:              "id": "0x{{.*}}",2381// JSON-NEXT:              "kind": "DeclRefExpr",2382// JSON-NEXT:              "range": {2383// JSON-NEXT:               "begin": {2384// JSON-NEXT:                "offset": 933,2385// JSON-NEXT:                "col": 12,2386// JSON-NEXT:                "tokLen": 12387// JSON-NEXT:               },2388// JSON-NEXT:               "end": {2389// JSON-NEXT:                "offset": 933,2390// JSON-NEXT:                "col": 12,2391// JSON-NEXT:                "tokLen": 12392// JSON-NEXT:               }2393// JSON-NEXT:              },2394// JSON-NEXT:              "type": {2395// JSON-NEXT:               "qualType": "int"2396// JSON-NEXT:              },2397// JSON-NEXT:              "valueCategory": "prvalue",2398// JSON-NEXT:              "referencedDecl": {2399// JSON-NEXT:               "id": "0x{{.*}}",2400// JSON-NEXT:               "kind": "NonTypeTemplateParmDecl",2401// JSON-NEXT:               "name": "A",2402// JSON-NEXT:               "type": {2403// JSON-NEXT:                "qualType": "int"2404// JSON-NEXT:               }2405// JSON-NEXT:              }2406// JSON-NEXT:             }2407// JSON-NEXT:            ]2408// JSON-NEXT:           }2409// JSON-NEXT:          ]2410// JSON-NEXT:         }2411// JSON-NEXT:        ]2412// JSON-NEXT:       }2413// JSON-NEXT:      ]2414// JSON-NEXT:     },2415// JSON-NEXT:     {2416// JSON-NEXT:      "id": "0x{{.*}}",2417// JSON-NEXT:      "kind": "FunctionDecl",2418// JSON-NEXT:      "loc": {2419// JSON-NEXT:       "offset": 914,2420// JSON-NEXT:       "line": 22,2421// JSON-NEXT:       "col": 3,2422// JSON-NEXT:       "tokLen": 32423// JSON-NEXT:      },2424// JSON-NEXT:      "range": {2425// JSON-NEXT:       "begin": {2426// JSON-NEXT:        "offset": 912,2427// JSON-NEXT:        "col": 1,2428// JSON-NEXT:        "tokLen": 12429// JSON-NEXT:       },2430// JSON-NEXT:       "end": {2431// JSON-NEXT:        "offset": 937,2432// JSON-NEXT:        "line": 24,2433// JSON-NEXT:        "col": 1,2434// JSON-NEXT:        "tokLen": 12435// JSON-NEXT:       }2436// JSON-NEXT:      },2437// JSON-NEXT:      "isUsed": true,2438// JSON-NEXT:      "name": "bar",2439// JSON-NEXT:      "mangledName": "_Z3barILi5EiET0_v",2440// JSON-NEXT:      "type": {2441// JSON-NEXT:       "qualType": "int ()"2442// JSON-NEXT:      },2443// JSON-NEXT:      "TemplateInstantiationPattern": "0x{{.*}}",2444// JSON-NEXT:      "inner": [2445// JSON-NEXT:       {2446// JSON-NEXT:        "kind": "TemplateArgument",2447// JSON-NEXT:        "value": 52448// JSON-NEXT:       },2449// JSON-NEXT:       {2450// JSON-NEXT:        "kind": "TemplateArgument",2451// JSON-NEXT:        "type": {2452// JSON-NEXT:         "qualType": "int"2453// JSON-NEXT:        },2454// JSON-NEXT:        "inner": [2455// JSON-NEXT:         {2456// JSON-NEXT:          "id": "0x{{.*}}",2457// JSON-NEXT:          "kind": "BuiltinType",2458// JSON-NEXT:          "type": {2459// JSON-NEXT:           "qualType": "int"2460// JSON-NEXT:          }2461// JSON-NEXT:         }2462// JSON-NEXT:        ]2463// JSON-NEXT:       },2464// JSON-NEXT:       {2465// JSON-NEXT:        "id": "0x{{.*}}",2466// JSON-NEXT:        "kind": "CompoundStmt",2467// JSON-NEXT:        "range": {2468// JSON-NEXT:         "begin": {2469// JSON-NEXT:          "offset": 920,2470// JSON-NEXT:          "line": 22,2471// JSON-NEXT:          "col": 9,2472// JSON-NEXT:          "tokLen": 12473// JSON-NEXT:         },2474// JSON-NEXT:         "end": {2475// JSON-NEXT:          "offset": 937,2476// JSON-NEXT:          "line": 24,2477// JSON-NEXT:          "col": 1,2478// JSON-NEXT:          "tokLen": 12479// JSON-NEXT:         }2480// JSON-NEXT:        },2481// JSON-NEXT:        "inner": [2482// JSON-NEXT:         {2483// JSON-NEXT:          "id": "0x{{.*}}",2484// JSON-NEXT:          "kind": "ReturnStmt",2485// JSON-NEXT:          "range": {2486// JSON-NEXT:           "begin": {2487// JSON-NEXT:            "offset": 924,2488// JSON-NEXT:            "line": 23,2489// JSON-NEXT:            "col": 3,2490// JSON-NEXT:            "tokLen": 62491// JSON-NEXT:           },2492// JSON-NEXT:           "end": {2493// JSON-NEXT:            "offset": 934,2494// JSON-NEXT:            "col": 13,2495// JSON-NEXT:            "tokLen": 12496// JSON-NEXT:           }2497// JSON-NEXT:          },2498// JSON-NEXT:          "inner": [2499// JSON-NEXT:           {2500// JSON-NEXT:            "id": "0x{{.*}}",2501// JSON-NEXT:            "kind": "CXXFunctionalCastExpr",2502// JSON-NEXT:            "range": {2503// JSON-NEXT:             "begin": {2504// JSON-NEXT:              "offset": 931,2505// JSON-NEXT:              "col": 10,2506// JSON-NEXT:              "tokLen": 12507// JSON-NEXT:             },2508// JSON-NEXT:             "end": {2509// JSON-NEXT:              "offset": 934,2510// JSON-NEXT:              "col": 13,2511// JSON-NEXT:              "tokLen": 12512// JSON-NEXT:             }2513// JSON-NEXT:            },2514// JSON-NEXT:            "type": {2515// JSON-NEXT:             "qualType": "int"2516// JSON-NEXT:            },2517// JSON-NEXT:            "valueCategory": "prvalue",2518// JSON-NEXT:            "castKind": "NoOp",2519// JSON-NEXT:            "inner": [2520// JSON-NEXT:             {2521// JSON-NEXT:              "id": "0x{{.*}}",2522// JSON-NEXT:              "kind": "SubstNonTypeTemplateParmExpr",2523// JSON-NEXT:              "range": {2524// JSON-NEXT:               "begin": {2525// JSON-NEXT:                "offset": 933,2526// JSON-NEXT:                "col": 12,2527// JSON-NEXT:                "tokLen": 12528// JSON-NEXT:               },2529// JSON-NEXT:               "end": {2530// JSON-NEXT:                "offset": 933,2531// JSON-NEXT:                "col": 12,2532// JSON-NEXT:                "tokLen": 12533// JSON-NEXT:               }2534// JSON-NEXT:              },2535// JSON-NEXT:              "type": {2536// JSON-NEXT:               "qualType": "int"2537// JSON-NEXT:              },2538// JSON-NEXT:              "valueCategory": "prvalue",2539// JSON-NEXT:              "inner": [2540// JSON-NEXT:               {2541// JSON-NEXT:                "id": "0x{{.*}}",2542// JSON-NEXT:                "kind": "NonTypeTemplateParmDecl",2543// JSON-NEXT:                "loc": {2544// JSON-NEXT:                 "offset": 897,2545// JSON-NEXT:                 "line": 21,2546// JSON-NEXT:                 "col": 15,2547// JSON-NEXT:                 "tokLen": 12548// JSON-NEXT:                },2549// JSON-NEXT:                "range": {2550// JSON-NEXT:                 "begin": {2551// JSON-NEXT:                  "offset": 893,2552// JSON-NEXT:                  "col": 11,2553// JSON-NEXT:                  "tokLen": 32554// JSON-NEXT:                 },2555// JSON-NEXT:                 "end": {2556// JSON-NEXT:                  "offset": 897,2557// JSON-NEXT:                  "col": 15,2558// JSON-NEXT:                  "tokLen": 12559// JSON-NEXT:                 }2560// JSON-NEXT:                },2561// JSON-NEXT:                "isReferenced": true,2562// JSON-NEXT:                "name": "A",2563// JSON-NEXT:                "type": {2564// JSON-NEXT:                 "qualType": "int"2565// JSON-NEXT:                },2566// JSON-NEXT:                "depth": 0,2567// JSON-NEXT:                "index": 02568// JSON-NEXT:               },2569// JSON-NEXT:               {2570// JSON-NEXT:                "id": "0x{{.*}}",2571// JSON-NEXT:                "kind": "IntegerLiteral",2572// JSON-NEXT:                "range": {2573// JSON-NEXT:                 "begin": {2574// JSON-NEXT:                  "offset": 933,2575// JSON-NEXT:                  "line": 23,2576// JSON-NEXT:                  "col": 12,2577// JSON-NEXT:                  "tokLen": 12578// JSON-NEXT:                 },2579// JSON-NEXT:                 "end": {2580// JSON-NEXT:                  "offset": 933,2581// JSON-NEXT:                  "col": 12,2582// JSON-NEXT:                  "tokLen": 12583// JSON-NEXT:                 }2584// JSON-NEXT:                },2585// JSON-NEXT:                "type": {2586// JSON-NEXT:                 "qualType": "int"2587// JSON-NEXT:                },2588// JSON-NEXT:                "valueCategory": "prvalue",2589// JSON-NEXT:                "value": "5"2590// JSON-NEXT:               }2591// JSON-NEXT:              ]2592// JSON-NEXT:             }2593// JSON-NEXT:            ]2594// JSON-NEXT:           }2595// JSON-NEXT:          ]2596// JSON-NEXT:         }2597// JSON-NEXT:        ]2598// JSON-NEXT:       }2599// JSON-NEXT:      ]2600// JSON-NEXT:     }2601// JSON-NEXT:    ]2602// JSON-NEXT:   },2603// JSON-NEXT:   {2604// JSON-NEXT:    "id": "0x{{.*}}",2605// JSON-NEXT:    "kind": "FunctionDecl",2606// JSON-NEXT:    "loc": {2607// JSON-NEXT:     "offset": 945,2608// JSON-NEXT:     "line": 26,2609// JSON-NEXT:     "col": 6,2610// JSON-NEXT:     "tokLen": 32611// JSON-NEXT:    },2612// JSON-NEXT:    "range": {2613// JSON-NEXT:     "begin": {2614// JSON-NEXT:      "offset": 940,2615// JSON-NEXT:      "col": 1,2616// JSON-NEXT:      "tokLen": 42617// JSON-NEXT:     },2618// JSON-NEXT:     "end": {2619// JSON-NEXT:      "offset": 1055,2620// JSON-NEXT:      "line": 30,2621// JSON-NEXT:      "col": 1,2622// JSON-NEXT:      "tokLen": 12623// JSON-NEXT:     }2624// JSON-NEXT:    },2625// JSON-NEXT:    "name": "baz",2626// JSON-NEXT:    "mangledName": "_Z3bazv",2627// JSON-NEXT:    "type": {2628// JSON-NEXT:     "qualType": "void ()"2629// JSON-NEXT:    },2630// JSON-NEXT:    "inner": [2631// JSON-NEXT:     {2632// JSON-NEXT:      "id": "0x{{.*}}",2633// JSON-NEXT:      "kind": "CompoundStmt",2634// JSON-NEXT:      "range": {2635// JSON-NEXT:       "begin": {2636// JSON-NEXT:        "offset": 951,2637// JSON-NEXT:        "line": 26,2638// JSON-NEXT:        "col": 12,2639// JSON-NEXT:        "tokLen": 12640// JSON-NEXT:       },2641// JSON-NEXT:       "end": {2642// JSON-NEXT:        "offset": 1055,2643// JSON-NEXT:        "line": 30,2644// JSON-NEXT:        "col": 1,2645// JSON-NEXT:        "tokLen": 12646// JSON-NEXT:       }2647// JSON-NEXT:      },2648// JSON-NEXT:      "inner": [2649// JSON-NEXT:       {2650// JSON-NEXT:        "id": "0x{{.*}}",2651// JSON-NEXT:        "kind": "DeclStmt",2652// JSON-NEXT:        "range": {2653// JSON-NEXT:         "begin": {2654// JSON-NEXT:          "offset": 955,2655// JSON-NEXT:          "line": 27,2656// JSON-NEXT:          "col": 3,2657// JSON-NEXT:          "tokLen": 32658// JSON-NEXT:         },2659// JSON-NEXT:         "end": {2660// JSON-NEXT:          "offset": 976,2661// JSON-NEXT:          "col": 24,2662// JSON-NEXT:          "tokLen": 12663// JSON-NEXT:         }2664// JSON-NEXT:        },2665// JSON-NEXT:        "inner": [2666// JSON-NEXT:         {2667// JSON-NEXT:          "id": "0x{{.*}}",2668// JSON-NEXT:          "kind": "VarDecl",2669// JSON-NEXT:          "loc": {2670// JSON-NEXT:           "offset": 959,2671// JSON-NEXT:           "col": 7,2672// JSON-NEXT:           "tokLen": 12673// JSON-NEXT:          },2674// JSON-NEXT:          "range": {2675// JSON-NEXT:           "begin": {2676// JSON-NEXT:            "offset": 955,2677// JSON-NEXT:            "col": 3,2678// JSON-NEXT:            "tokLen": 32679// JSON-NEXT:           },2680// JSON-NEXT:           "end": {2681// JSON-NEXT:            "offset": 975,2682// JSON-NEXT:            "col": 23,2683// JSON-NEXT:            "tokLen": 12684// JSON-NEXT:           }2685// JSON-NEXT:          },2686// JSON-NEXT:          "name": "x",2687// JSON-NEXT:          "type": {2688// JSON-NEXT:           "qualType": "int"2689// JSON-NEXT:          },2690// JSON-NEXT:          "init": "c",2691// JSON-NEXT:          "inner": [2692// JSON-NEXT:           {2693// JSON-NEXT:            "id": "0x{{.*}}",2694// JSON-NEXT:            "kind": "CallExpr",2695// JSON-NEXT:            "range": {2696// JSON-NEXT:             "begin": {2697// JSON-NEXT:              "offset": 963,2698// JSON-NEXT:              "col": 11,2699// JSON-NEXT:              "tokLen": 32700// JSON-NEXT:             },2701// JSON-NEXT:             "end": {2702// JSON-NEXT:              "offset": 975,2703// JSON-NEXT:              "col": 23,2704// JSON-NEXT:              "tokLen": 12705// JSON-NEXT:             }2706// JSON-NEXT:            },2707// JSON-NEXT:            "type": {2708// JSON-NEXT:             "qualType": "int"2709// JSON-NEXT:            },2710// JSON-NEXT:            "valueCategory": "prvalue",2711// JSON-NEXT:            "inner": [2712// JSON-NEXT:             {2713// JSON-NEXT:              "id": "0x{{.*}}",2714// JSON-NEXT:              "kind": "ImplicitCastExpr",2715// JSON-NEXT:              "range": {2716// JSON-NEXT:               "begin": {2717// JSON-NEXT:                "offset": 963,2718// JSON-NEXT:                "col": 11,2719// JSON-NEXT:                "tokLen": 32720// JSON-NEXT:               },2721// JSON-NEXT:               "end": {2722// JSON-NEXT:                "offset": 973,2723// JSON-NEXT:                "col": 21,2724// JSON-NEXT:                "tokLen": 12725// JSON-NEXT:               }2726// JSON-NEXT:              },2727// JSON-NEXT:              "type": {2728// JSON-NEXT:               "qualType": "int (*)()"2729// JSON-NEXT:              },2730// JSON-NEXT:              "valueCategory": "prvalue",2731// JSON-NEXT:              "castKind": "FunctionToPointerDecay",2732// JSON-NEXT:              "inner": [2733// JSON-NEXT:               {2734// JSON-NEXT:                "id": "0x{{.*}}",2735// JSON-NEXT:                "kind": "DeclRefExpr",2736// JSON-NEXT:                "range": {2737// JSON-NEXT:                 "begin": {2738// JSON-NEXT:                  "offset": 963,2739// JSON-NEXT:                  "col": 11,2740// JSON-NEXT:                  "tokLen": 32741// JSON-NEXT:                 },2742// JSON-NEXT:                 "end": {2743// JSON-NEXT:                  "offset": 973,2744// JSON-NEXT:                  "col": 21,2745// JSON-NEXT:                  "tokLen": 12746// JSON-NEXT:                 }2747// JSON-NEXT:                },2748// JSON-NEXT:                "type": {2749// JSON-NEXT:                 "qualType": "int ()"2750// JSON-NEXT:                },2751// JSON-NEXT:                "valueCategory": "lvalue",2752// JSON-NEXT:                "referencedDecl": {2753// JSON-NEXT:                 "id": "0x{{.*}}",2754// JSON-NEXT:                 "kind": "FunctionDecl",2755// JSON-NEXT:                 "name": "bar",2756// JSON-NEXT:                 "type": {2757// JSON-NEXT:                  "qualType": "int ()"2758// JSON-NEXT:                 }2759// JSON-NEXT:                },2760// JSON-NEXT:                "foundReferencedDecl": {2761// JSON-NEXT:                 "id": "0x{{.*}}",2762// JSON-NEXT:                 "kind": "FunctionTemplateDecl",2763// JSON-NEXT:                 "name": "bar"2764// JSON-NEXT:                }2765// JSON-NEXT:               }2766// JSON-NEXT:              ]2767// JSON-NEXT:             }2768// JSON-NEXT:            ]2769// JSON-NEXT:           }2770// JSON-NEXT:          ]2771// JSON-NEXT:         }2772// JSON-NEXT:        ]2773// JSON-NEXT:       },2774// JSON-NEXT:       {2775// JSON-NEXT:        "id": "0x{{.*}}",2776// JSON-NEXT:        "kind": "DeclStmt",2777// JSON-NEXT:        "range": {2778// JSON-NEXT:         "begin": {2779// JSON-NEXT:          "offset": 980,2780// JSON-NEXT:          "line": 28,2781// JSON-NEXT:          "col": 3,2782// JSON-NEXT:          "tokLen": 32783// JSON-NEXT:         },2784// JSON-NEXT:         "end": {2785// JSON-NEXT:          "offset": 1010,2786// JSON-NEXT:          "col": 33,2787// JSON-NEXT:          "tokLen": 12788// JSON-NEXT:         }2789// JSON-NEXT:        },2790// JSON-NEXT:        "inner": [2791// JSON-NEXT:         {2792// JSON-NEXT:          "id": "0x{{.*}}",2793// JSON-NEXT:          "kind": "VarDecl",2794// JSON-NEXT:          "loc": {2795// JSON-NEXT:           "offset": 984,2796// JSON-NEXT:           "col": 7,2797// JSON-NEXT:           "tokLen": 12798// JSON-NEXT:          },2799// JSON-NEXT:          "range": {2800// JSON-NEXT:           "begin": {2801// JSON-NEXT:            "offset": 980,2802// JSON-NEXT:            "col": 3,2803// JSON-NEXT:            "tokLen": 32804// JSON-NEXT:           },2805// JSON-NEXT:           "end": {2806// JSON-NEXT:            "offset": 1009,2807// JSON-NEXT:            "col": 32,2808// JSON-NEXT:            "tokLen": 12809// JSON-NEXT:           }2810// JSON-NEXT:          },2811// JSON-NEXT:          "name": "y",2812// JSON-NEXT:          "type": {2813// JSON-NEXT:           "qualType": "int"2814// JSON-NEXT:          },2815// JSON-NEXT:          "init": "c",2816// JSON-NEXT:          "inner": [2817// JSON-NEXT:           {2818// JSON-NEXT:            "id": "0x{{.*}}",2819// JSON-NEXT:            "kind": "ExprWithCleanups",2820// JSON-NEXT:            "range": {2821// JSON-NEXT:             "begin": {2822// JSON-NEXT:              "offset": 988,2823// JSON-NEXT:              "col": 11,2824// JSON-NEXT:              "tokLen": 32825// JSON-NEXT:             },2826// JSON-NEXT:             "end": {2827// JSON-NEXT:              "offset": 1009,2828// JSON-NEXT:              "col": 32,2829// JSON-NEXT:              "tokLen": 12830// JSON-NEXT:             }2831// JSON-NEXT:            },2832// JSON-NEXT:            "type": {2833// JSON-NEXT:             "qualType": "int"2834// JSON-NEXT:            },2835// JSON-NEXT:            "valueCategory": "prvalue",2836// JSON-NEXT:            "inner": [2837// JSON-NEXT:             {2838// JSON-NEXT:              "id": "0x{{.*}}",2839// JSON-NEXT:              "kind": "CXXMemberCallExpr",2840// JSON-NEXT:              "range": {2841// JSON-NEXT:               "begin": {2842// JSON-NEXT:                "offset": 988,2843// JSON-NEXT:                "col": 11,2844// JSON-NEXT:                "tokLen": 32845// JSON-NEXT:               },2846// JSON-NEXT:               "end": {2847// JSON-NEXT:                "offset": 1009,2848// JSON-NEXT:                "col": 32,2849// JSON-NEXT:                "tokLen": 12850// JSON-NEXT:               }2851// JSON-NEXT:              },2852// JSON-NEXT:              "type": {2853// JSON-NEXT:               "qualType": "int"2854// JSON-NEXT:              },2855// JSON-NEXT:              "valueCategory": "prvalue",2856// JSON-NEXT:              "inner": [2857// JSON-NEXT:               {2858// JSON-NEXT:                "id": "0x{{.*}}",2859// JSON-NEXT:                "kind": "MemberExpr",2860// JSON-NEXT:                "range": {2861// JSON-NEXT:                 "begin": {2862// JSON-NEXT:                  "offset": 988,2863// JSON-NEXT:                  "col": 11,2864// JSON-NEXT:                  "tokLen": 32865// JSON-NEXT:                 },2866// JSON-NEXT:                 "end": {2867// JSON-NEXT:                  "offset": 1002,2868// JSON-NEXT:                  "col": 25,2869// JSON-NEXT:                  "tokLen": 62870// JSON-NEXT:                 }2871// JSON-NEXT:                },2872// JSON-NEXT:                "type": {2873// JSON-NEXT:                 "qualType": "<bound member function type>"2874// JSON-NEXT:                },2875// JSON-NEXT:                "valueCategory": "prvalue",2876// JSON-NEXT:                "name": "getSum",2877// JSON-NEXT:                "isArrow": false,2878// JSON-NEXT:                "referencedMemberDecl": "0x{{.*}}",2879// JSON-NEXT:                "inner": [2880// JSON-NEXT:                 {2881// JSON-NEXT:                  "id": "0x{{.*}}",2882// JSON-NEXT:                  "kind": "MaterializeTemporaryExpr",2883// JSON-NEXT:                  "range": {2884// JSON-NEXT:                   "begin": {2885// JSON-NEXT:                    "offset": 988,2886// JSON-NEXT:                    "col": 11,2887// JSON-NEXT:                    "tokLen": 32888// JSON-NEXT:                   },2889// JSON-NEXT:                   "end": {2890// JSON-NEXT:                    "offset": 1000,2891// JSON-NEXT:                    "col": 23,2892// JSON-NEXT:                    "tokLen": 12893// JSON-NEXT:                   }2894// JSON-NEXT:                  },2895// JSON-NEXT:                  "type": {2896// JSON-NEXT:                   "qualType": "foo<5, int>"2897// JSON-NEXT:                  },2898// JSON-NEXT:                  "valueCategory": "xvalue",2899// JSON-NEXT:                  "storageDuration": "full expression",2900// JSON-NEXT:                  "inner": [2901// JSON-NEXT:                   {2902// JSON-NEXT:                    "id": "0x{{.*}}",2903// JSON-NEXT:                    "kind": "CXXTemporaryObjectExpr",2904// JSON-NEXT:                    "range": {2905// JSON-NEXT:                     "begin": {2906// JSON-NEXT:                      "offset": 988,2907// JSON-NEXT:                      "col": 11,2908// JSON-NEXT:                      "tokLen": 32909// JSON-NEXT:                     },2910// JSON-NEXT:                     "end": {2911// JSON-NEXT:                      "offset": 1000,2912// JSON-NEXT:                      "col": 23,2913// JSON-NEXT:                      "tokLen": 12914// JSON-NEXT:                     }2915// JSON-NEXT:                    },2916// JSON-NEXT:                    "type": {2917// JSON-NEXT:                     "qualType": "foo<5, int>"2918// JSON-NEXT:                    },2919// JSON-NEXT:                    "valueCategory": "prvalue",2920// JSON-NEXT:                    "ctorType": {2921// JSON-NEXT:                     "qualType": "void ()"2922// JSON-NEXT:                    },2923// JSON-NEXT:                    "hadMultipleCandidates": true,2924// JSON-NEXT:                    "constructionKind": "complete"2925// JSON-NEXT:                   }2926// JSON-NEXT:                  ]2927// JSON-NEXT:                 }2928// JSON-NEXT:                ]2929// JSON-NEXT:               }2930// JSON-NEXT:              ]2931// JSON-NEXT:             }2932// JSON-NEXT:            ]2933// JSON-NEXT:           }2934// JSON-NEXT:          ]2935// JSON-NEXT:         }2936// JSON-NEXT:        ]2937// JSON-NEXT:       },2938// JSON-NEXT:       {2939// JSON-NEXT:        "id": "0x{{.*}}",2940// JSON-NEXT:        "kind": "DeclStmt",2941// JSON-NEXT:        "range": {2942// JSON-NEXT:         "begin": {2943// JSON-NEXT:          "offset": 1014,2944// JSON-NEXT:          "line": 29,2945// JSON-NEXT:          "col": 3,2946// JSON-NEXT:          "tokLen": 62947// JSON-NEXT:         },2948// JSON-NEXT:         "end": {2949// JSON-NEXT:          "offset": 1053,2950// JSON-NEXT:          "col": 42,2951// JSON-NEXT:          "tokLen": 12952// JSON-NEXT:         }2953// JSON-NEXT:        },2954// JSON-NEXT:        "inner": [2955// JSON-NEXT:         {2956// JSON-NEXT:          "id": "0x{{.*}}",2957// JSON-NEXT:          "kind": "VarDecl",2958// JSON-NEXT:          "loc": {2959// JSON-NEXT:           "offset": 1021,2960// JSON-NEXT:           "col": 10,2961// JSON-NEXT:           "tokLen": 12962// JSON-NEXT:          },2963// JSON-NEXT:          "range": {2964// JSON-NEXT:           "begin": {2965// JSON-NEXT:            "offset": 1014,2966// JSON-NEXT:            "col": 3,2967// JSON-NEXT:            "tokLen": 62968// JSON-NEXT:           },2969// JSON-NEXT:           "end": {2970// JSON-NEXT:            "offset": 1052,2971// JSON-NEXT:            "col": 41,2972// JSON-NEXT:            "tokLen": 12973// JSON-NEXT:           }2974// JSON-NEXT:          },2975// JSON-NEXT:          "name": "z",2976// JSON-NEXT:          "type": {2977// JSON-NEXT:           "qualType": "double"2978// JSON-NEXT:          },2979// JSON-NEXT:          "init": "c",2980// JSON-NEXT:          "inner": [2981// JSON-NEXT:           {2982// JSON-NEXT:            "id": "0x{{.*}}",2983// JSON-NEXT:            "kind": "ExprWithCleanups",2984// JSON-NEXT:            "range": {2985// JSON-NEXT:             "begin": {2986// JSON-NEXT:              "offset": 1025,2987// JSON-NEXT:              "col": 14,2988// JSON-NEXT:              "tokLen": 32989// JSON-NEXT:             },2990// JSON-NEXT:             "end": {2991// JSON-NEXT:              "offset": 1052,2992// JSON-NEXT:              "col": 41,2993// JSON-NEXT:              "tokLen": 12994// JSON-NEXT:             }2995// JSON-NEXT:            },2996// JSON-NEXT:            "type": {2997// JSON-NEXT:             "qualType": "double"2998// JSON-NEXT:            },2999// JSON-NEXT:            "valueCategory": "prvalue",3000// JSON-NEXT:            "inner": [3001// JSON-NEXT:             {3002// JSON-NEXT:              "id": "0x{{.*}}",3003// JSON-NEXT:              "kind": "CXXMemberCallExpr",3004// JSON-NEXT:              "range": {3005// JSON-NEXT:               "begin": {3006// JSON-NEXT:                "offset": 1025,3007// JSON-NEXT:                "col": 14,3008// JSON-NEXT:                "tokLen": 33009// JSON-NEXT:               },3010// JSON-NEXT:               "end": {3011// JSON-NEXT:                "offset": 1052,3012// JSON-NEXT:                "col": 41,3013// JSON-NEXT:                "tokLen": 13014// JSON-NEXT:               }3015// JSON-NEXT:              },3016// JSON-NEXT:              "type": {3017// JSON-NEXT:               "qualType": "double"3018// JSON-NEXT:              },3019// JSON-NEXT:              "valueCategory": "prvalue",3020// JSON-NEXT:              "inner": [3021// JSON-NEXT:               {3022// JSON-NEXT:                "id": "0x{{.*}}",3023// JSON-NEXT:                "kind": "MemberExpr",3024// JSON-NEXT:                "range": {3025// JSON-NEXT:                 "begin": {3026// JSON-NEXT:                  "offset": 1025,3027// JSON-NEXT:                  "col": 14,3028// JSON-NEXT:                  "tokLen": 33029// JSON-NEXT:                 },3030// JSON-NEXT:                 "end": {3031// JSON-NEXT:                  "offset": 1045,3032// JSON-NEXT:                  "col": 34,3033// JSON-NEXT:                  "tokLen": 63034// JSON-NEXT:                 }3035// JSON-NEXT:                },3036// JSON-NEXT:                "type": {3037// JSON-NEXT:                 "qualType": "<bound member function type>"3038// JSON-NEXT:                },3039// JSON-NEXT:                "valueCategory": "prvalue",3040// JSON-NEXT:                "name": "getSum",3041// JSON-NEXT:                "isArrow": false,3042// JSON-NEXT:                "referencedMemberDecl": "0x{{.*}}",3043// JSON-NEXT:                "inner": [3044// JSON-NEXT:                 {3045// JSON-NEXT:                  "id": "0x{{.*}}",3046// JSON-NEXT:                  "kind": "MaterializeTemporaryExpr",3047// JSON-NEXT:                  "range": {3048// JSON-NEXT:                   "begin": {3049// JSON-NEXT:                    "offset": 1025,3050// JSON-NEXT:                    "col": 14,3051// JSON-NEXT:                    "tokLen": 33052// JSON-NEXT:                   },3053// JSON-NEXT:                   "end": {3054// JSON-NEXT:                    "offset": 1043,3055// JSON-NEXT:                    "col": 32,3056// JSON-NEXT:                    "tokLen": 13057// JSON-NEXT:                   }3058// JSON-NEXT:                  },3059// JSON-NEXT:                  "type": {3060// JSON-NEXT:                   "qualType": "foo<2, double, 3>"3061// JSON-NEXT:                  },3062// JSON-NEXT:                  "valueCategory": "xvalue",3063// JSON-NEXT:                  "storageDuration": "full expression",3064// JSON-NEXT:                  "inner": [3065// JSON-NEXT:                   {3066// JSON-NEXT:                    "id": "0x{{.*}}",3067// JSON-NEXT:                    "kind": "CXXTemporaryObjectExpr",3068// JSON-NEXT:                    "range": {3069// JSON-NEXT:                     "begin": {3070// JSON-NEXT:                      "offset": 1025,3071// JSON-NEXT:                      "col": 14,3072// JSON-NEXT:                      "tokLen": 33073// JSON-NEXT:                     },3074// JSON-NEXT:                     "end": {3075// JSON-NEXT:                      "offset": 1043,3076// JSON-NEXT:                      "col": 32,3077// JSON-NEXT:                      "tokLen": 13078// JSON-NEXT:                     }3079// JSON-NEXT:                    },3080// JSON-NEXT:                    "type": {3081// JSON-NEXT:                     "qualType": "foo<2, double, 3>"3082// JSON-NEXT:                    },3083// JSON-NEXT:                    "valueCategory": "prvalue",3084// JSON-NEXT:                    "ctorType": {3085// JSON-NEXT:                     "qualType": "void ()"3086// JSON-NEXT:                    },3087// JSON-NEXT:                    "hadMultipleCandidates": true,3088// JSON-NEXT:                    "constructionKind": "complete"3089// JSON-NEXT:                   }3090// JSON-NEXT:                  ]3091// JSON-NEXT:                 }3092// JSON-NEXT:                ]3093// JSON-NEXT:               }3094// JSON-NEXT:              ]3095// JSON-NEXT:             }3096// JSON-NEXT:            ]3097// JSON-NEXT:           }3098// JSON-NEXT:          ]3099// JSON-NEXT:         }3100// JSON-NEXT:        ]3101// JSON-NEXT:       }3102// JSON-NEXT:      ]3103// JSON-NEXT:     }3104// JSON-NEXT:    ]3105// JSON-NEXT:   },3106// JSON-NEXT:   {3107// JSON-NEXT:    "id": "0x{{.*}}",3108// JSON-NEXT:    "kind": "ClassTemplateDecl",3109// JSON-NEXT:    "loc": {3110// JSON-NEXT:     "offset": 1856,3111// JSON-NEXT:     "line": 52,3112// JSON-NEXT:     "col": 33,3113// JSON-NEXT:     "tokLen": 13114// JSON-NEXT:    },3115// JSON-NEXT:    "range": {3116// JSON-NEXT:     "begin": {3117// JSON-NEXT:      "offset": 1824,3118// JSON-NEXT:      "col": 1,3119// JSON-NEXT:      "tokLen": 83120// JSON-NEXT:     },3121// JSON-NEXT:     "end": {3122// JSON-NEXT:      "offset": 1896,3123// JSON-NEXT:      "line": 54,3124// JSON-NEXT:      "col": 1,3125// JSON-NEXT:      "tokLen": 13126// JSON-NEXT:     }3127// JSON-NEXT:    },3128// JSON-NEXT:    "name": "A",3129// JSON-NEXT:    "inner": [3130// JSON-NEXT:     {3131// JSON-NEXT:      "id": "0x{{.*}}",3132// JSON-NEXT:      "kind": "TemplateTypeParmDecl",3133// JSON-NEXT:      "loc": {3134// JSON-NEXT:       "offset": 1846,3135// JSON-NEXT:       "line": 52,3136// JSON-NEXT:       "col": 23,3137// JSON-NEXT:       "tokLen": 13138// JSON-NEXT:      },3139// JSON-NEXT:      "range": {3140// JSON-NEXT:       "begin": {3141// JSON-NEXT:        "offset": 1834,3142// JSON-NEXT:        "col": 11,3143// JSON-NEXT:        "tokLen": 83144// JSON-NEXT:       },3145// JSON-NEXT:       "end": {3146// JSON-NEXT:        "offset": 1846,3147// JSON-NEXT:        "col": 23,3148// JSON-NEXT:        "tokLen": 13149// JSON-NEXT:       }3150// JSON-NEXT:      },3151// JSON-NEXT:      "isReferenced": true,3152// JSON-NEXT:      "name": "T",3153// JSON-NEXT:      "tagUsed": "typename",3154// JSON-NEXT:      "depth": 0,3155// JSON-NEXT:      "index": 0,3156// JSON-NEXT:      "isParameterPack": true3157// JSON-NEXT:     },3158// JSON-NEXT:     {3159// JSON-NEXT:      "id": "0x{{.*}}",3160// JSON-NEXT:      "kind": "CXXRecordDecl",3161// JSON-NEXT:      "loc": {3162// JSON-NEXT:       "offset": 1856,3163// JSON-NEXT:       "col": 33,3164// JSON-NEXT:       "tokLen": 13165// JSON-NEXT:      },3166// JSON-NEXT:      "range": {3167// JSON-NEXT:       "begin": {3168// JSON-NEXT:        "offset": 1849,3169// JSON-NEXT:        "col": 26,3170// JSON-NEXT:        "tokLen": 63171// JSON-NEXT:       },3172// JSON-NEXT:       "end": {3173// JSON-NEXT:        "offset": 1896,3174// JSON-NEXT:        "line": 54,3175// JSON-NEXT:        "col": 1,3176// JSON-NEXT:        "tokLen": 13177// JSON-NEXT:       }3178// JSON-NEXT:      },3179// JSON-NEXT:      "name": "A",3180// JSON-NEXT:      "tagUsed": "struct",3181// JSON-NEXT:      "completeDefinition": true,3182// JSON-NEXT:      "definitionData": {3183// JSON-NEXT:       "canConstDefaultInit": true,3184// JSON-NEXT:       "copyAssign": {3185// JSON-NEXT:        "hasConstParam": true,3186// JSON-NEXT:        "implicitHasConstParam": true,3187// JSON-NEXT:        "needsImplicit": true,3188// JSON-NEXT:        "simple": true,3189// JSON-NEXT:        "trivial": true3190// JSON-NEXT:       },3191// JSON-NEXT:       "copyCtor": {3192// JSON-NEXT:        "hasConstParam": true,3193// JSON-NEXT:        "implicitHasConstParam": true,3194// JSON-NEXT:        "needsImplicit": true,3195// JSON-NEXT:        "simple": true,3196// JSON-NEXT:        "trivial": true3197// JSON-NEXT:       },3198// JSON-NEXT:       "defaultCtor": {3199// JSON-NEXT:        "defaultedIsConstexpr": true,3200// JSON-NEXT:        "exists": true,3201// JSON-NEXT:        "isConstexpr": true,3202// JSON-NEXT:        "needsImplicit": true,3203// JSON-NEXT:        "trivial": true3204// JSON-NEXT:       },3205// JSON-NEXT:       "dtor": {3206// JSON-NEXT:        "irrelevant": true,3207// JSON-NEXT:        "needsImplicit": true,3208// JSON-NEXT:        "simple": true,3209// JSON-NEXT:        "trivial": true3210// JSON-NEXT:       },3211// JSON-NEXT:       "hasConstexprNonCopyMoveConstructor": true,3212// JSON-NEXT:       "isAggregate": true,3213// JSON-NEXT:       "isEmpty": true,3214// JSON-NEXT:       "isLiteral": true,3215// JSON-NEXT:       "isPOD": true,3216// JSON-NEXT:       "isStandardLayout": true,3217// JSON-NEXT:       "isTrivial": true,3218// JSON-NEXT:       "isTriviallyCopyable": true,3219// JSON-NEXT:       "moveAssign": {3220// JSON-NEXT:        "exists": true,3221// JSON-NEXT:        "needsImplicit": true,3222// JSON-NEXT:        "simple": true,3223// JSON-NEXT:        "trivial": true3224// JSON-NEXT:       },3225// JSON-NEXT:       "moveCtor": {3226// JSON-NEXT:        "exists": true,3227// JSON-NEXT:        "needsImplicit": true,3228// JSON-NEXT:        "simple": true,3229// JSON-NEXT:        "trivial": true3230// JSON-NEXT:       }3231// JSON-NEXT:      },3232// JSON-NEXT:      "inner": [3233// JSON-NEXT:       {3234// JSON-NEXT:        "id": "0x{{.*}}",3235// JSON-NEXT:        "kind": "CXXRecordDecl",3236// JSON-NEXT:        "loc": {3237// JSON-NEXT:         "offset": 1856,3238// JSON-NEXT:         "line": 52,3239// JSON-NEXT:         "col": 33,3240// JSON-NEXT:         "tokLen": 13241// JSON-NEXT:        },3242// JSON-NEXT:        "range": {3243// JSON-NEXT:         "begin": {3244// JSON-NEXT:          "offset": 1849,3245// JSON-NEXT:          "col": 26,3246// JSON-NEXT:          "tokLen": 63247// JSON-NEXT:         },3248// JSON-NEXT:         "end": {3249// JSON-NEXT:          "offset": 1856,3250// JSON-NEXT:          "col": 33,3251// JSON-NEXT:          "tokLen": 13252// JSON-NEXT:         }3253// JSON-NEXT:        },3254// JSON-NEXT:        "isImplicit": true,3255// JSON-NEXT:        "name": "A",3256// JSON-NEXT:        "tagUsed": "struct"3257// JSON-NEXT:       },3258// JSON-NEXT:       {3259// JSON-NEXT:        "id": "0x{{.*}}",3260// JSON-NEXT:        "kind": "ClassTemplateDecl",3261// JSON-NEXT:        "loc": {3262// JSON-NEXT:         "offset": 1890,3263// JSON-NEXT:         "line": 53,3264// JSON-NEXT:         "col": 31,3265// JSON-NEXT:         "tokLen": 13266// JSON-NEXT:        },3267// JSON-NEXT:        "range": {3268// JSON-NEXT:         "begin": {3269// JSON-NEXT:          "offset": 1862,3270// JSON-NEXT:          "col": 3,3271// JSON-NEXT:          "tokLen": 83272// JSON-NEXT:         },3273// JSON-NEXT:         "end": {3274// JSON-NEXT:          "offset": 1893,3275// JSON-NEXT:          "col": 34,3276// JSON-NEXT:          "tokLen": 13277// JSON-NEXT:         }3278// JSON-NEXT:        },3279// JSON-NEXT:        "name": "B",3280// JSON-NEXT:        "inner": [3281// JSON-NEXT:         {3282// JSON-NEXT:          "id": "0x{{.*}}",3283// JSON-NEXT:          "kind": "NonTypeTemplateParmDecl",3284// JSON-NEXT:          "loc": {3285// JSON-NEXT:           "offset": 1877,3286// JSON-NEXT:           "col": 18,3287// JSON-NEXT:           "tokLen": 13288// JSON-NEXT:          },3289// JSON-NEXT:          "range": {3290// JSON-NEXT:           "begin": {3291// JSON-NEXT:            "offset": 1872,3292// JSON-NEXT:            "col": 13,3293// JSON-NEXT:            "tokLen": 13294// JSON-NEXT:           },3295// JSON-NEXT:           "end": {3296// JSON-NEXT:            "offset": 1880,3297// JSON-NEXT:            "col": 21,3298// JSON-NEXT:            "tokLen": 13299// JSON-NEXT:           }3300// JSON-NEXT:          },3301// JSON-NEXT:          "name": "x",3302// JSON-NEXT:          "type": {3303// JSON-NEXT:           "qualType": "T[3]..."3304// JSON-NEXT:          },3305// JSON-NEXT:          "depth": 1,3306// JSON-NEXT:          "index": 0,3307// JSON-NEXT:          "isParameterPack": true3308// JSON-NEXT:         },3309// JSON-NEXT:         {3310// JSON-NEXT:          "id": "0x{{.*}}",3311// JSON-NEXT:          "kind": "CXXRecordDecl",3312// JSON-NEXT:          "loc": {3313// JSON-NEXT:           "offset": 1890,3314// JSON-NEXT:           "col": 31,3315// JSON-NEXT:           "tokLen": 13316// JSON-NEXT:          },3317// JSON-NEXT:          "range": {3318// JSON-NEXT:           "begin": {3319// JSON-NEXT:            "offset": 1883,3320// JSON-NEXT:            "col": 24,3321// JSON-NEXT:            "tokLen": 63322// JSON-NEXT:           },3323// JSON-NEXT:           "end": {3324// JSON-NEXT:            "offset": 1893,3325// JSON-NEXT:            "col": 34,3326// JSON-NEXT:            "tokLen": 13327// JSON-NEXT:           }3328// JSON-NEXT:          },3329// JSON-NEXT:          "name": "B",3330// JSON-NEXT:          "tagUsed": "struct",3331// JSON-NEXT:          "completeDefinition": true,3332// JSON-NEXT:          "definitionData": {3333// JSON-NEXT:           "canConstDefaultInit": true,3334// JSON-NEXT:           "copyAssign": {3335// JSON-NEXT:            "hasConstParam": true,3336// JSON-NEXT:            "implicitHasConstParam": true,3337// JSON-NEXT:            "needsImplicit": true,3338// JSON-NEXT:            "simple": true,3339// JSON-NEXT:            "trivial": true3340// JSON-NEXT:           },3341// JSON-NEXT:           "copyCtor": {3342// JSON-NEXT:            "hasConstParam": true,3343// JSON-NEXT:            "implicitHasConstParam": true,3344// JSON-NEXT:            "needsImplicit": true,3345// JSON-NEXT:            "simple": true,3346// JSON-NEXT:            "trivial": true3347// JSON-NEXT:           },3348// JSON-NEXT:           "defaultCtor": {3349// JSON-NEXT:            "defaultedIsConstexpr": true,3350// JSON-NEXT:            "exists": true,3351// JSON-NEXT:            "isConstexpr": true,3352// JSON-NEXT:            "needsImplicit": true,3353// JSON-NEXT:            "trivial": true3354// JSON-NEXT:           },3355// JSON-NEXT:           "dtor": {3356// JSON-NEXT:            "irrelevant": true,3357// JSON-NEXT:            "needsImplicit": true,3358// JSON-NEXT:            "simple": true,3359// JSON-NEXT:            "trivial": true3360// JSON-NEXT:           },3361// JSON-NEXT:           "hasConstexprNonCopyMoveConstructor": true,3362// JSON-NEXT:           "isAggregate": true,3363// JSON-NEXT:           "isEmpty": true,3364// JSON-NEXT:           "isLiteral": true,3365// JSON-NEXT:           "isPOD": true,3366// JSON-NEXT:           "isStandardLayout": true,3367// JSON-NEXT:           "isTrivial": true,3368// JSON-NEXT:           "isTriviallyCopyable": true,3369// JSON-NEXT:           "moveAssign": {3370// JSON-NEXT:            "exists": true,3371// JSON-NEXT:            "needsImplicit": true,3372// JSON-NEXT:            "simple": true,3373// JSON-NEXT:            "trivial": true3374// JSON-NEXT:           },3375// JSON-NEXT:           "moveCtor": {3376// JSON-NEXT:            "exists": true,3377// JSON-NEXT:            "needsImplicit": true,3378// JSON-NEXT:            "simple": true,3379// JSON-NEXT:            "trivial": true3380// JSON-NEXT:           }3381// JSON-NEXT:          },3382// JSON-NEXT:          "inner": [3383// JSON-NEXT:           {3384// JSON-NEXT:            "id": "0x{{.*}}",3385// JSON-NEXT:            "kind": "CXXRecordDecl",3386// JSON-NEXT:            "loc": {3387// JSON-NEXT:             "offset": 1890,3388// JSON-NEXT:             "col": 31,3389// JSON-NEXT:             "tokLen": 13390// JSON-NEXT:            },3391// JSON-NEXT:            "range": {3392// JSON-NEXT:             "begin": {3393// JSON-NEXT:              "offset": 1883,3394// JSON-NEXT:              "col": 24,3395// JSON-NEXT:              "tokLen": 63396// JSON-NEXT:             },3397// JSON-NEXT:             "end": {3398// JSON-NEXT:              "offset": 1890,3399// JSON-NEXT:              "col": 31,3400// JSON-NEXT:              "tokLen": 13401// JSON-NEXT:             }3402// JSON-NEXT:            },3403// JSON-NEXT:            "isImplicit": true,3404// JSON-NEXT:            "name": "B",3405// JSON-NEXT:            "tagUsed": "struct"3406// JSON-NEXT:           }3407// JSON-NEXT:          ]3408// JSON-NEXT:         }3409// JSON-NEXT:        ]3410// JSON-NEXT:       }3411// JSON-NEXT:      ]3412// JSON-NEXT:     }3413// JSON-NEXT:    ]3414// JSON-NEXT:   },3415// JSON-NEXT:   {3416// JSON-NEXT:    "id": "0x{{.*}}",3417// JSON-NEXT:    "kind": "FunctionTemplateDecl",3418// JSON-NEXT:    "loc": {3419// JSON-NEXT:     "offset": 2016,3420// JSON-NEXT:     "line": 58,3421// JSON-NEXT:     "col": 31,3422// JSON-NEXT:     "tokLen": 13423// JSON-NEXT:    },3424// JSON-NEXT:    "range": {3425// JSON-NEXT:     "begin": {3426// JSON-NEXT:      "offset": 1986,3427// JSON-NEXT:      "col": 1,3428// JSON-NEXT:      "tokLen": 83429// JSON-NEXT:     },3430// JSON-NEXT:     "end": {3431// JSON-NEXT:      "offset": 2038,3432// JSON-NEXT:      "line": 60,3433// JSON-NEXT:      "col": 1,3434// JSON-NEXT:      "tokLen": 13435// JSON-NEXT:     }3436// JSON-NEXT:    },3437// JSON-NEXT:    "name": "f",3438// JSON-NEXT:    "inner": [3439// JSON-NEXT:     {3440// JSON-NEXT:      "id": "0x{{.*}}",3441// JSON-NEXT:      "kind": "TemplateTypeParmDecl",3442// JSON-NEXT:      "loc": {3443// JSON-NEXT:       "offset": 2008,3444// JSON-NEXT:       "line": 58,3445// JSON-NEXT:       "col": 23,3446// JSON-NEXT:       "tokLen": 13447// JSON-NEXT:      },3448// JSON-NEXT:      "range": {3449// JSON-NEXT:       "begin": {3450// JSON-NEXT:        "offset": 1996,3451// JSON-NEXT:        "col": 11,3452// JSON-NEXT:        "tokLen": 83453// JSON-NEXT:       },3454// JSON-NEXT:       "end": {3455// JSON-NEXT:        "offset": 2008,3456// JSON-NEXT:        "col": 23,3457// JSON-NEXT:        "tokLen": 13458// JSON-NEXT:       }3459// JSON-NEXT:      },3460// JSON-NEXT:      "isReferenced": true,3461// JSON-NEXT:      "name": "T",3462// JSON-NEXT:      "tagUsed": "typename",3463// JSON-NEXT:      "depth": 0,3464// JSON-NEXT:      "index": 0,3465// JSON-NEXT:      "isParameterPack": true3466// JSON-NEXT:     },3467// JSON-NEXT:     {3468// JSON-NEXT:      "id": "0x{{.*}}",3469// JSON-NEXT:      "kind": "FunctionDecl",3470// JSON-NEXT:      "loc": {3471// JSON-NEXT:       "offset": 2016,3472// JSON-NEXT:       "col": 31,3473// JSON-NEXT:       "tokLen": 13474// JSON-NEXT:      },3475// JSON-NEXT:      "range": {3476// JSON-NEXT:       "begin": {3477// JSON-NEXT:        "offset": 2011,3478// JSON-NEXT:        "col": 26,3479// JSON-NEXT:        "tokLen": 43480// JSON-NEXT:       },3481// JSON-NEXT:       "end": {3482// JSON-NEXT:        "offset": 2038,3483// JSON-NEXT:        "line": 60,3484// JSON-NEXT:        "col": 1,3485// JSON-NEXT:        "tokLen": 13486// JSON-NEXT:       }3487// JSON-NEXT:      },3488// JSON-NEXT:      "name": "f",3489// JSON-NEXT:      "type": {3490// JSON-NEXT:       "qualType": "void ()"3491// JSON-NEXT:      },3492// JSON-NEXT:      "inner": [3493// JSON-NEXT:       {3494// JSON-NEXT:        "id": "0x{{.*}}",3495// JSON-NEXT:        "kind": "CompoundStmt",3496// JSON-NEXT:        "range": {3497// JSON-NEXT:         "begin": {3498// JSON-NEXT:          "offset": 2020,3499// JSON-NEXT:          "line": 58,3500// JSON-NEXT:          "col": 35,3501// JSON-NEXT:          "tokLen": 13502// JSON-NEXT:         },3503// JSON-NEXT:         "end": {3504// JSON-NEXT:          "offset": 2038,3505// JSON-NEXT:          "line": 60,3506// JSON-NEXT:          "col": 1,3507// JSON-NEXT:          "tokLen": 13508// JSON-NEXT:         }3509// JSON-NEXT:        },3510// JSON-NEXT:        "inner": [3511// JSON-NEXT:         {3512// JSON-NEXT:          "id": "0x{{.*}}",3513// JSON-NEXT:          "kind": "DeclStmt",3514// JSON-NEXT:          "range": {3515// JSON-NEXT:           "begin": {3516// JSON-NEXT:            "offset": 2024,3517// JSON-NEXT:            "line": 59,3518// JSON-NEXT:            "col": 3,3519// JSON-NEXT:            "tokLen": 13520// JSON-NEXT:           },3521// JSON-NEXT:           "end": {3522// JSON-NEXT:            "offset": 2036,3523// JSON-NEXT:            "col": 15,3524// JSON-NEXT:            "tokLen": 13525// JSON-NEXT:           }3526// JSON-NEXT:          },3527// JSON-NEXT:          "inner": [3528// JSON-NEXT:           {3529// JSON-NEXT:            "id": "0x{{.*}}",3530// JSON-NEXT:            "kind": "VarDecl",3531// JSON-NEXT:            "loc": {3532// JSON-NEXT:             "offset": 2035,3533// JSON-NEXT:             "col": 14,3534// JSON-NEXT:             "tokLen": 13535// JSON-NEXT:            },3536// JSON-NEXT:            "range": {3537// JSON-NEXT:             "begin": {3538// JSON-NEXT:              "offset": 2024,3539// JSON-NEXT:              "col": 3,3540// JSON-NEXT:              "tokLen": 13541// JSON-NEXT:             },3542// JSON-NEXT:             "end": {3543// JSON-NEXT:              "offset": 2035,3544// JSON-NEXT:              "col": 14,3545// JSON-NEXT:              "tokLen": 13546// JSON-NEXT:             }3547// JSON-NEXT:            },3548// JSON-NEXT:            "name": "a",3549// JSON-NEXT:            "type": {3550// JSON-NEXT:             "qualType": "A<T[3]...>"3551// JSON-NEXT:            }3552// JSON-NEXT:           }3553// JSON-NEXT:          ]3554// JSON-NEXT:         }3555// JSON-NEXT:        ]3556// JSON-NEXT:       }3557// JSON-NEXT:      ]3558// JSON-NEXT:     }3559// JSON-NEXT:    ]3560// JSON-NEXT:   },3561// JSON-NEXT:   {3562// JSON-NEXT:    "id": "0x{{.*}}",3563// JSON-NEXT:    "kind": "NamespaceDecl",3564// JSON-NEXT:    "loc": {3565// JSON-NEXT:     "offset": 2051,3566// JSON-NEXT:     "line": 62,3567// JSON-NEXT:     "col": 11,3568// JSON-NEXT:     "tokLen": 53569// JSON-NEXT:    },3570// JSON-NEXT:    "range": {3571// JSON-NEXT:     "begin": {3572// JSON-NEXT:      "offset": 2041,3573// JSON-NEXT:      "col": 1,3574// JSON-NEXT:      "tokLen": 93575// JSON-NEXT:     },3576// JSON-NEXT:     "end": {3577// JSON-NEXT:      "offset": 2240,3578// JSON-NEXT:      "line": 71,3579// JSON-NEXT:      "col": 1,3580// JSON-NEXT:      "tokLen": 13581// JSON-NEXT:     }3582// JSON-NEXT:    },3583// JSON-NEXT:    "name": "test2",3584// JSON-NEXT:    "inner": [3585// JSON-NEXT:     {3586// JSON-NEXT:      "id": "0x{{.*}}",3587// JSON-NEXT:      "kind": "FunctionDecl",3588// JSON-NEXT:      "loc": {3589// JSON-NEXT:       "offset": 2064,3590// JSON-NEXT:       "line": 63,3591// JSON-NEXT:       "col": 6,3592// JSON-NEXT:       "tokLen": 43593// JSON-NEXT:      },3594// JSON-NEXT:      "range": {3595// JSON-NEXT:       "begin": {3596// JSON-NEXT:        "offset": 2059,3597// JSON-NEXT:        "col": 1,3598// JSON-NEXT:        "tokLen": 43599// JSON-NEXT:       },3600// JSON-NEXT:       "end": {3601// JSON-NEXT:        "offset": 2072,3602// JSON-NEXT:        "col": 14,3603// JSON-NEXT:        "tokLen": 13604// JSON-NEXT:       }3605// JSON-NEXT:      },3606// JSON-NEXT:      "name": "func",3607// JSON-NEXT:      "mangledName": "_ZN5test24funcEi",3608// JSON-NEXT:      "type": {3609// JSON-NEXT:       "qualType": "void (int)"3610// JSON-NEXT:      },3611// JSON-NEXT:      "inner": [3612// JSON-NEXT:       {3613// JSON-NEXT:        "id": "0x{{.*}}",3614// JSON-NEXT:        "kind": "ParmVarDecl",3615// JSON-NEXT:        "loc": {3616// JSON-NEXT:         "offset": 2072,3617// JSON-NEXT:         "col": 14,3618// JSON-NEXT:         "tokLen": 13619// JSON-NEXT:        },3620// JSON-NEXT:        "range": {3621// JSON-NEXT:         "begin": {3622// JSON-NEXT:          "offset": 2069,3623// JSON-NEXT:          "col": 11,3624// JSON-NEXT:          "tokLen": 33625// JSON-NEXT:         },3626// JSON-NEXT:         "end": {3627// JSON-NEXT:          "offset": 2069,3628// JSON-NEXT:          "col": 11,3629// JSON-NEXT:          "tokLen": 33630// JSON-NEXT:         }3631// JSON-NEXT:        },3632// JSON-NEXT:        "type": {3633// JSON-NEXT:         "qualType": "int"3634// JSON-NEXT:        }3635// JSON-NEXT:       }3636// JSON-NEXT:      ]3637// JSON-NEXT:     },3638// JSON-NEXT:     {3639// JSON-NEXT:      "id": "0x{{.*}}",3640// JSON-NEXT:      "kind": "FunctionDecl",3641// JSON-NEXT:      "loc": {3642// JSON-NEXT:       "offset": 2080,3643// JSON-NEXT:       "line": 64,3644// JSON-NEXT:       "col": 6,3645// JSON-NEXT:       "tokLen": 43646// JSON-NEXT:      },3647// JSON-NEXT:      "range": {3648// JSON-NEXT:       "begin": {3649// JSON-NEXT:        "offset": 2075,3650// JSON-NEXT:        "col": 1,3651// JSON-NEXT:        "tokLen": 43652// JSON-NEXT:       },3653// JSON-NEXT:       "end": {3654// JSON-NEXT:        "offset": 2090,3655// JSON-NEXT:        "col": 16,3656// JSON-NEXT:        "tokLen": 13657// JSON-NEXT:       }3658// JSON-NEXT:      },3659// JSON-NEXT:      "name": "func",3660// JSON-NEXT:      "mangledName": "_ZN5test24funcEf",3661// JSON-NEXT:      "type": {3662// JSON-NEXT:       "qualType": "void (float)"3663// JSON-NEXT:      },3664// JSON-NEXT:      "inner": [3665// JSON-NEXT:       {3666// JSON-NEXT:        "id": "0x{{.*}}",3667// JSON-NEXT:        "kind": "ParmVarDecl",3668// JSON-NEXT:        "loc": {3669// JSON-NEXT:         "offset": 2090,3670// JSON-NEXT:         "col": 16,3671// JSON-NEXT:         "tokLen": 13672// JSON-NEXT:        },3673// JSON-NEXT:        "range": {3674// JSON-NEXT:         "begin": {3675// JSON-NEXT:          "offset": 2085,3676// JSON-NEXT:          "col": 11,3677// JSON-NEXT:          "tokLen": 53678// JSON-NEXT:         },3679// JSON-NEXT:         "end": {3680// JSON-NEXT:          "offset": 2085,3681// JSON-NEXT:          "col": 11,3682// JSON-NEXT:          "tokLen": 53683// JSON-NEXT:         }3684// JSON-NEXT:        },3685// JSON-NEXT:        "type": {3686// JSON-NEXT:         "qualType": "float"3687// JSON-NEXT:        }3688// JSON-NEXT:       }3689// JSON-NEXT:      ]3690// JSON-NEXT:     },3691// JSON-NEXT:     {3692// JSON-NEXT:      "id": "0x{{.*}}",3693// JSON-NEXT:      "kind": "FunctionTemplateDecl",3694// JSON-NEXT:      "loc": {3695// JSON-NEXT:       "offset": 2119,3696// JSON-NEXT:       "line": 66,3697// JSON-NEXT:       "col": 6,3698// JSON-NEXT:       "tokLen": 43699// JSON-NEXT:      },3700// JSON-NEXT:      "range": {3701// JSON-NEXT:       "begin": {3702// JSON-NEXT:        "offset": 2093,3703// JSON-NEXT:        "line": 65,3704// JSON-NEXT:        "col": 1,3705// JSON-NEXT:        "tokLen": 83706// JSON-NEXT:       },3707// JSON-NEXT:       "end": {3708// JSON-NEXT:        "offset": 2141,3709// JSON-NEXT:        "line": 68,3710// JSON-NEXT:        "col": 1,3711// JSON-NEXT:        "tokLen": 13712// JSON-NEXT:       }3713// JSON-NEXT:      },3714// JSON-NEXT:      "name": "tmpl",3715// JSON-NEXT:      "inner": [3716// JSON-NEXT:       {3717// JSON-NEXT:        "id": "0x{{.*}}",3718// JSON-NEXT:        "kind": "TemplateTypeParmDecl",3719// JSON-NEXT:        "loc": {3720// JSON-NEXT:         "offset": 2111,3721// JSON-NEXT:         "line": 65,3722// JSON-NEXT:         "col": 19,3723// JSON-NEXT:         "tokLen": 13724// JSON-NEXT:        },3725// JSON-NEXT:        "range": {3726// JSON-NEXT:         "begin": {3727// JSON-NEXT:          "offset": 2102,3728// JSON-NEXT:          "col": 10,3729// JSON-NEXT:          "tokLen": 83730// JSON-NEXT:         },3731// JSON-NEXT:         "end": {3732// JSON-NEXT:          "offset": 2111,3733// JSON-NEXT:          "col": 19,3734// JSON-NEXT:          "tokLen": 13735// JSON-NEXT:         }3736// JSON-NEXT:        },3737// JSON-NEXT:        "isReferenced": true,3738// JSON-NEXT:        "name": "T",3739// JSON-NEXT:        "tagUsed": "typename",3740// JSON-NEXT:        "depth": 0,3741// JSON-NEXT:        "index": 03742// JSON-NEXT:       },3743// JSON-NEXT:       {3744// JSON-NEXT:        "id": "0x{{.*}}",3745// JSON-NEXT:        "kind": "FunctionDecl",3746// JSON-NEXT:        "loc": {3747// JSON-NEXT:         "offset": 2119,3748// JSON-NEXT:         "line": 66,3749// JSON-NEXT:         "col": 6,3750// JSON-NEXT:         "tokLen": 43751// JSON-NEXT:        },3752// JSON-NEXT:        "range": {3753// JSON-NEXT:         "begin": {3754// JSON-NEXT:          "offset": 2114,3755// JSON-NEXT:          "col": 1,3756// JSON-NEXT:          "tokLen": 43757// JSON-NEXT:         },3758// JSON-NEXT:         "end": {3759// JSON-NEXT:          "offset": 2141,3760// JSON-NEXT:          "line": 68,3761// JSON-NEXT:          "col": 1,3762// JSON-NEXT:          "tokLen": 13763// JSON-NEXT:         }3764// JSON-NEXT:        },3765// JSON-NEXT:        "name": "tmpl",3766// JSON-NEXT:        "type": {3767// JSON-NEXT:         "qualType": "void ()"3768// JSON-NEXT:        },3769// JSON-NEXT:        "inner": [3770// JSON-NEXT:         {3771// JSON-NEXT:          "id": "0x{{.*}}",3772// JSON-NEXT:          "kind": "CompoundStmt",3773// JSON-NEXT:          "range": {3774// JSON-NEXT:           "begin": {3775// JSON-NEXT:            "offset": 2126,3776// JSON-NEXT:            "line": 66,3777// JSON-NEXT:            "col": 13,3778// JSON-NEXT:            "tokLen": 13779// JSON-NEXT:           },3780// JSON-NEXT:           "end": {3781// JSON-NEXT:            "offset": 2141,3782// JSON-NEXT:            "line": 68,3783// JSON-NEXT:            "col": 1,3784// JSON-NEXT:            "tokLen": 13785// JSON-NEXT:           }3786// JSON-NEXT:          },3787// JSON-NEXT:          "inner": [3788// JSON-NEXT:           {3789// JSON-NEXT:            "id": "0x{{.*}}",3790// JSON-NEXT:            "kind": "CallExpr",3791// JSON-NEXT:            "range": {3792// JSON-NEXT:             "begin": {3793// JSON-NEXT:              "offset": 2130,3794// JSON-NEXT:              "line": 67,3795// JSON-NEXT:              "col": 3,3796// JSON-NEXT:              "tokLen": 43797// JSON-NEXT:             },3798// JSON-NEXT:             "end": {3799// JSON-NEXT:              "offset": 2138,3800// JSON-NEXT:              "col": 11,3801// JSON-NEXT:              "tokLen": 13802// JSON-NEXT:             }3803// JSON-NEXT:            },3804// JSON-NEXT:            "type": {3805// JSON-NEXT:             "qualType": "<dependent type>"3806// JSON-NEXT:            },3807// JSON-NEXT:            "valueCategory": "prvalue",3808// JSON-NEXT:            "inner": [3809// JSON-NEXT:             {3810// JSON-NEXT:              "id": "0x{{.*}}",3811// JSON-NEXT:              "kind": "UnresolvedLookupExpr",3812// JSON-NEXT:              "range": {3813// JSON-NEXT:               "begin": {3814// JSON-NEXT:                "offset": 2130,3815// JSON-NEXT:                "col": 3,3816// JSON-NEXT:                "tokLen": 43817// JSON-NEXT:               },3818// JSON-NEXT:               "end": {3819// JSON-NEXT:                "offset": 2130,3820// JSON-NEXT:                "col": 3,3821// JSON-NEXT:                "tokLen": 43822// JSON-NEXT:               }3823// JSON-NEXT:              },3824// JSON-NEXT:              "type": {3825// JSON-NEXT:               "qualType": "<overloaded function type>"3826// JSON-NEXT:              },3827// JSON-NEXT:              "valueCategory": "lvalue",3828// JSON-NEXT:              "usesADL": true,3829// JSON-NEXT:              "name": "func",3830// JSON-NEXT:              "lookups": [3831// JSON-NEXT:               {3832// JSON-NEXT:                "id": "0x{{.*}}",3833// JSON-NEXT:                "kind": "FunctionDecl",3834// JSON-NEXT:                "name": "func",3835// JSON-NEXT:                "type": {3836// JSON-NEXT:                 "qualType": "void (float)"3837// JSON-NEXT:                }3838// JSON-NEXT:               },3839// JSON-NEXT:               {3840// JSON-NEXT:                "id": "0x{{.*}}",3841// JSON-NEXT:                "kind": "FunctionDecl",3842// JSON-NEXT:                "name": "func",3843// JSON-NEXT:                "type": {3844// JSON-NEXT:                 "qualType": "void (int)"3845// JSON-NEXT:                }3846// JSON-NEXT:               }3847// JSON-NEXT:              ]3848// JSON-NEXT:             },3849// JSON-NEXT:             {3850// JSON-NEXT:              "id": "0x{{.*}}",3851// JSON-NEXT:              "kind": "CXXUnresolvedConstructExpr",3852// JSON-NEXT:              "range": {3853// JSON-NEXT:               "begin": {3854// JSON-NEXT:                "offset": 2135,3855// JSON-NEXT:                "col": 8,3856// JSON-NEXT:                "tokLen": 13857// JSON-NEXT:               },3858// JSON-NEXT:               "end": {3859// JSON-NEXT:                "offset": 2137,3860// JSON-NEXT:                "col": 10,3861// JSON-NEXT:                "tokLen": 13862// JSON-NEXT:               }3863// JSON-NEXT:              },3864// JSON-NEXT:              "type": {3865// JSON-NEXT:               "qualType": "T"3866// JSON-NEXT:              },3867// JSON-NEXT:              "valueCategory": "prvalue"3868// JSON-NEXT:             }3869// JSON-NEXT:            ]3870// JSON-NEXT:           }3871// JSON-NEXT:          ]3872// JSON-NEXT:         }3873// JSON-NEXT:        ]3874// JSON-NEXT:       }3875// JSON-NEXT:      ]3876// JSON-NEXT:     }3877// JSON-NEXT:    ]3878// JSON-NEXT:   },3879// JSON-NEXT:   {3880// JSON-NEXT:    "id": "0x{{.*}}",3881// JSON-NEXT:    "kind": "NamespaceDecl",3882// JSON-NEXT:    "loc": {3883// JSON-NEXT:     "offset": 2253,3884// JSON-NEXT:     "line": 73,3885// JSON-NEXT:     "col": 11,3886// JSON-NEXT:     "tokLen": 53887// JSON-NEXT:    },3888// JSON-NEXT:    "range": {3889// JSON-NEXT:     "begin": {3890// JSON-NEXT:      "offset": 2243,3891// JSON-NEXT:      "col": 1,3892// JSON-NEXT:      "tokLen": 93893// JSON-NEXT:     },3894// JSON-NEXT:     "end": {3895// JSON-NEXT:      "offset": 2387,3896// JSON-NEXT:      "line": 77,3897// JSON-NEXT:      "col": 1,3898// JSON-NEXT:      "tokLen": 13899// JSON-NEXT:     }3900// JSON-NEXT:    },3901// JSON-NEXT:    "name": "test3",3902// JSON-NEXT:    "inner": [3903// JSON-NEXT:     {3904// JSON-NEXT:      "id": "0x{{.*}}",3905// JSON-NEXT:      "kind": "ClassTemplateDecl",3906// JSON-NEXT:      "loc": {3907// JSON-NEXT:       "offset": 2291,3908// JSON-NEXT:       "line": 74,3909// JSON-NEXT:       "col": 31,3910// JSON-NEXT:       "tokLen": 13911// JSON-NEXT:      },3912// JSON-NEXT:      "range": {3913// JSON-NEXT:       "begin": {3914// JSON-NEXT:        "offset": 2263,3915// JSON-NEXT:        "col": 3,3916// JSON-NEXT:        "tokLen": 83917// JSON-NEXT:       },3918// JSON-NEXT:       "end": {3919// JSON-NEXT:        "offset": 2294,3920// JSON-NEXT:        "col": 34,3921// JSON-NEXT:        "tokLen": 13922// JSON-NEXT:       }3923// JSON-NEXT:      },3924// JSON-NEXT:      "name": "A",3925// JSON-NEXT:      "inner": [3926// JSON-NEXT:       {3927// JSON-NEXT:        "id": "0x{{.*}}",3928// JSON-NEXT:        "kind": "TemplateTypeParmDecl",3929// JSON-NEXT:        "loc": {3930// JSON-NEXT:         "offset": 2281,3931// JSON-NEXT:         "col": 21,3932// JSON-NEXT:         "tokLen": 13933// JSON-NEXT:        },3934// JSON-NEXT:        "range": {3935// JSON-NEXT:         "begin": {3936// JSON-NEXT:          "offset": 2272,3937// JSON-NEXT:          "col": 12,3938// JSON-NEXT:          "tokLen": 83939// JSON-NEXT:         },3940// JSON-NEXT:         "end": {3941// JSON-NEXT:          "offset": 2281,3942// JSON-NEXT:          "col": 21,3943// JSON-NEXT:          "tokLen": 13944// JSON-NEXT:         }3945// JSON-NEXT:        },3946// JSON-NEXT:        "name": "T",3947// JSON-NEXT:        "tagUsed": "typename",3948// JSON-NEXT:        "depth": 0,3949// JSON-NEXT:        "index": 03950// JSON-NEXT:       },3951// JSON-NEXT:       {3952// JSON-NEXT:        "id": "0x{{.*}}",3953// JSON-NEXT:        "kind": "CXXRecordDecl",3954// JSON-NEXT:        "loc": {3955// JSON-NEXT:         "offset": 2291,3956// JSON-NEXT:         "col": 31,3957// JSON-NEXT:         "tokLen": 13958// JSON-NEXT:        },3959// JSON-NEXT:        "range": {3960// JSON-NEXT:         "begin": {3961// JSON-NEXT:          "offset": 2284,3962// JSON-NEXT:          "col": 24,3963// JSON-NEXT:          "tokLen": 63964// JSON-NEXT:         },3965// JSON-NEXT:         "end": {3966// JSON-NEXT:          "offset": 2294,3967// JSON-NEXT:          "col": 34,3968// JSON-NEXT:          "tokLen": 13969// JSON-NEXT:         }3970// JSON-NEXT:        },3971// JSON-NEXT:        "name": "A",3972// JSON-NEXT:        "tagUsed": "struct",3973// JSON-NEXT:        "completeDefinition": true,3974// JSON-NEXT:        "definitionData": {3975// JSON-NEXT:         "canConstDefaultInit": true,3976// JSON-NEXT:         "copyAssign": {3977// JSON-NEXT:          "hasConstParam": true,3978// JSON-NEXT:          "implicitHasConstParam": true,3979// JSON-NEXT:          "needsImplicit": true,3980// JSON-NEXT:          "simple": true,3981// JSON-NEXT:          "trivial": true3982// JSON-NEXT:         },3983// JSON-NEXT:         "copyCtor": {3984// JSON-NEXT:          "hasConstParam": true,3985// JSON-NEXT:          "implicitHasConstParam": true,3986// JSON-NEXT:          "needsImplicit": true,3987// JSON-NEXT:          "simple": true,3988// JSON-NEXT:          "trivial": true3989// JSON-NEXT:         },3990// JSON-NEXT:         "defaultCtor": {3991// JSON-NEXT:          "defaultedIsConstexpr": true,3992// JSON-NEXT:          "exists": true,3993// JSON-NEXT:          "isConstexpr": true,3994// JSON-NEXT:          "needsImplicit": true,3995// JSON-NEXT:          "trivial": true3996// JSON-NEXT:         },3997// JSON-NEXT:         "dtor": {3998// JSON-NEXT:          "irrelevant": true,3999// JSON-NEXT:          "needsImplicit": true,4000// JSON-NEXT:          "simple": true,4001// JSON-NEXT:          "trivial": true4002// JSON-NEXT:         },4003// JSON-NEXT:         "hasConstexprNonCopyMoveConstructor": true,4004// JSON-NEXT:         "isAggregate": true,4005// JSON-NEXT:         "isEmpty": true,4006// JSON-NEXT:         "isLiteral": true,4007// JSON-NEXT:         "isPOD": true,4008// JSON-NEXT:         "isStandardLayout": true,4009// JSON-NEXT:         "isTrivial": true,4010// JSON-NEXT:         "isTriviallyCopyable": true,4011// JSON-NEXT:         "moveAssign": {4012// JSON-NEXT:          "exists": true,4013// JSON-NEXT:          "needsImplicit": true,4014// JSON-NEXT:          "simple": true,4015// JSON-NEXT:          "trivial": true4016// JSON-NEXT:         },4017// JSON-NEXT:         "moveCtor": {4018// JSON-NEXT:          "exists": true,4019// JSON-NEXT:          "needsImplicit": true,4020// JSON-NEXT:          "simple": true,4021// JSON-NEXT:          "trivial": true4022// JSON-NEXT:         }4023// JSON-NEXT:        },4024// JSON-NEXT:        "inner": [4025// JSON-NEXT:         {4026// JSON-NEXT:          "id": "0x{{.*}}",4027// JSON-NEXT:          "kind": "CXXRecordDecl",4028// JSON-NEXT:          "loc": {4029// JSON-NEXT:           "offset": 2291,4030// JSON-NEXT:           "col": 31,4031// JSON-NEXT:           "tokLen": 14032// JSON-NEXT:          },4033// JSON-NEXT:          "range": {4034// JSON-NEXT:           "begin": {4035// JSON-NEXT:            "offset": 2284,4036// JSON-NEXT:            "col": 24,4037// JSON-NEXT:            "tokLen": 64038// JSON-NEXT:           },4039// JSON-NEXT:           "end": {4040// JSON-NEXT:            "offset": 2291,4041// JSON-NEXT:            "col": 31,4042// JSON-NEXT:            "tokLen": 14043// JSON-NEXT:           }4044// JSON-NEXT:          },4045// JSON-NEXT:          "isImplicit": true,4046// JSON-NEXT:          "name": "A",4047// JSON-NEXT:          "tagUsed": "struct"4048// JSON-NEXT:         }4049// JSON-NEXT:        ]4050// JSON-NEXT:       },4051// JSON-NEXT:       {4052// JSON-NEXT:        "id": "0x{{.*}}",4053// JSON-NEXT:        "kind": "ClassTemplateSpecializationDecl",4054// JSON-NEXT:        "loc": {4055// JSON-NEXT:         "offset": 2291,4056// JSON-NEXT:         "col": 31,4057// JSON-NEXT:         "tokLen": 14058// JSON-NEXT:        },4059// JSON-NEXT:        "range": {4060// JSON-NEXT:         "begin": {4061// JSON-NEXT:          "offset": 2263,4062// JSON-NEXT:          "col": 3,4063// JSON-NEXT:          "tokLen": 84064// JSON-NEXT:         },4065// JSON-NEXT:         "end": {4066// JSON-NEXT:          "offset": 2294,4067// JSON-NEXT:          "col": 34,4068// JSON-NEXT:          "tokLen": 14069// JSON-NEXT:         }4070// JSON-NEXT:        },4071// JSON-NEXT:        "name": "A",4072// JSON-NEXT:        "tagUsed": "struct",4073// JSON-NEXT:        "inner": [4074// JSON-NEXT:         {4075// JSON-NEXT:          "kind": "TemplateArgument",4076// JSON-NEXT:          "type": {4077// JSON-NEXT:           "qualType": "int"4078// JSON-NEXT:          },4079// JSON-NEXT:          "inner": [4080// JSON-NEXT:           {4081// JSON-NEXT:            "id": "0x{{.*}}",4082// JSON-NEXT:            "kind": "BuiltinType",4083// JSON-NEXT:            "type": {4084// JSON-NEXT:             "qualType": "int"4085// JSON-NEXT:            }4086// JSON-NEXT:           }4087// JSON-NEXT:          ]4088// JSON-NEXT:         }4089// JSON-NEXT:        ]4090// JSON-NEXT:       }4091// JSON-NEXT:      ]4092// JSON-NEXT:     },4093// JSON-NEXT:     {4094// JSON-NEXT:      "id": "0x{{.*}}",4095// JSON-NEXT:      "kind": "FunctionTemplateDecl",4096// JSON-NEXT:      "loc": {4097// JSON-NEXT:       "offset": 2291,4098// JSON-NEXT:       "col": 31,4099// JSON-NEXT:       "tokLen": 14100// JSON-NEXT:      },4101// JSON-NEXT:      "range": {4102// JSON-NEXT:       "begin": {4103// JSON-NEXT:        "offset": 2263,4104// JSON-NEXT:        "col": 3,4105// JSON-NEXT:        "tokLen": 84106// JSON-NEXT:       },4107// JSON-NEXT:       "end": {4108// JSON-NEXT:        "offset": 2291,4109// JSON-NEXT:        "col": 31,4110// JSON-NEXT:        "tokLen": 14111// JSON-NEXT:       }4112// JSON-NEXT:      },4113// JSON-NEXT:      "isImplicit": true,4114// JSON-NEXT:      "name": "<deduction guide for A>",4115// JSON-NEXT:      "inner": [4116// JSON-NEXT:       {4117// JSON-NEXT:        "id": "0x{{.*}}",4118// JSON-NEXT:        "kind": "TemplateTypeParmDecl",4119// JSON-NEXT:        "loc": {4120// JSON-NEXT:         "offset": 2281,4121// JSON-NEXT:         "col": 21,4122// JSON-NEXT:         "tokLen": 14123// JSON-NEXT:        },4124// JSON-NEXT:        "range": {4125// JSON-NEXT:         "begin": {4126// JSON-NEXT:          "offset": 2272,4127// JSON-NEXT:          "col": 12,4128// JSON-NEXT:          "tokLen": 84129// JSON-NEXT:         },4130// JSON-NEXT:         "end": {4131// JSON-NEXT:          "offset": 2281,4132// JSON-NEXT:          "col": 21,4133// JSON-NEXT:          "tokLen": 14134// JSON-NEXT:         }4135// JSON-NEXT:        },4136// JSON-NEXT:        "name": "T",4137// JSON-NEXT:        "tagUsed": "typename",4138// JSON-NEXT:        "depth": 0,4139// JSON-NEXT:        "index": 04140// JSON-NEXT:       },4141// JSON-NEXT:       {4142// JSON-NEXT:        "id": "0x{{.*}}",4143// JSON-NEXT:        "kind": "CXXDeductionGuideDecl",4144// JSON-NEXT:        "loc": {4145// JSON-NEXT:         "offset": 2291,4146// JSON-NEXT:         "col": 31,4147// JSON-NEXT:         "tokLen": 14148// JSON-NEXT:        },4149// JSON-NEXT:        "range": {4150// JSON-NEXT:         "begin": {4151// JSON-NEXT:          "offset": 2291,4152// JSON-NEXT:          "col": 31,4153// JSON-NEXT:          "tokLen": 14154// JSON-NEXT:         },4155// JSON-NEXT:         "end": {4156// JSON-NEXT:          "offset": 2291,4157// JSON-NEXT:          "col": 31,4158// JSON-NEXT:          "tokLen": 14159// JSON-NEXT:         }4160// JSON-NEXT:        },4161// JSON-NEXT:        "isImplicit": true,4162// JSON-NEXT:        "name": "<deduction guide for A>",4163// JSON-NEXT:        "type": {4164// JSON-NEXT:         "qualType": "auto () -> test3::A<T>"4165// JSON-NEXT:        }4166// JSON-NEXT:       }4167// JSON-NEXT:      ]4168// JSON-NEXT:     },4169// JSON-NEXT:     {4170// JSON-NEXT:      "id": "0x{{.*}}",4171// JSON-NEXT:      "kind": "FunctionTemplateDecl",4172// JSON-NEXT:      "loc": {4173// JSON-NEXT:       "offset": 2291,4174// JSON-NEXT:       "col": 31,4175// JSON-NEXT:       "tokLen": 14176// JSON-NEXT:      },4177// JSON-NEXT:      "range": {4178// JSON-NEXT:       "begin": {4179// JSON-NEXT:        "offset": 2263,4180// JSON-NEXT:        "col": 3,4181// JSON-NEXT:        "tokLen": 84182// JSON-NEXT:       },4183// JSON-NEXT:       "end": {4184// JSON-NEXT:        "offset": 2291,4185// JSON-NEXT:        "col": 31,4186// JSON-NEXT:        "tokLen": 14187// JSON-NEXT:       }4188// JSON-NEXT:      },4189// JSON-NEXT:      "isImplicit": true,4190// JSON-NEXT:      "name": "<deduction guide for A>",4191// JSON-NEXT:      "inner": [4192// JSON-NEXT:       {4193// JSON-NEXT:        "id": "0x{{.*}}",4194// JSON-NEXT:        "kind": "TemplateTypeParmDecl",4195// JSON-NEXT:        "loc": {4196// JSON-NEXT:         "offset": 2281,4197// JSON-NEXT:         "col": 21,4198// JSON-NEXT:         "tokLen": 14199// JSON-NEXT:        },4200// JSON-NEXT:        "range": {4201// JSON-NEXT:         "begin": {4202// JSON-NEXT:          "offset": 2272,4203// JSON-NEXT:          "col": 12,4204// JSON-NEXT:          "tokLen": 84205// JSON-NEXT:         },4206// JSON-NEXT:         "end": {4207// JSON-NEXT:          "offset": 2281,4208// JSON-NEXT:          "col": 21,4209// JSON-NEXT:          "tokLen": 14210// JSON-NEXT:         }4211// JSON-NEXT:        },4212// JSON-NEXT:        "name": "T",4213// JSON-NEXT:        "tagUsed": "typename",4214// JSON-NEXT:        "depth": 0,4215// JSON-NEXT:        "index": 04216// JSON-NEXT:       },4217// JSON-NEXT:       {4218// JSON-NEXT:        "id": "0x{{.*}}",4219// JSON-NEXT:        "kind": "CXXDeductionGuideDecl",4220// JSON-NEXT:        "loc": {4221// JSON-NEXT:         "offset": 2291,4222// JSON-NEXT:         "col": 31,4223// JSON-NEXT:         "tokLen": 14224// JSON-NEXT:        },4225// JSON-NEXT:        "range": {4226// JSON-NEXT:         "begin": {4227// JSON-NEXT:          "offset": 2291,4228// JSON-NEXT:          "col": 31,4229// JSON-NEXT:          "tokLen": 14230// JSON-NEXT:         },4231// JSON-NEXT:         "end": {4232// JSON-NEXT:          "offset": 2291,4233// JSON-NEXT:          "col": 31,4234// JSON-NEXT:          "tokLen": 14235// JSON-NEXT:         }4236// JSON-NEXT:        },4237// JSON-NEXT:        "isImplicit": true,4238// JSON-NEXT:        "name": "<deduction guide for A>",4239// JSON-NEXT:        "type": {4240// JSON-NEXT:         "qualType": "auto (test3::A<T>) -> test3::A<T>"4241// JSON-NEXT:        },4242// JSON-NEXT:        "inner": [4243// JSON-NEXT:         {4244// JSON-NEXT:          "id": "0x{{.*}}",4245// JSON-NEXT:          "kind": "ParmVarDecl",4246// JSON-NEXT:          "loc": {4247// JSON-NEXT:           "offset": 2291,4248// JSON-NEXT:           "col": 31,4249// JSON-NEXT:           "tokLen": 14250// JSON-NEXT:          },4251// JSON-NEXT:          "range": {4252// JSON-NEXT:           "begin": {4253// JSON-NEXT:            "offset": 2291,4254// JSON-NEXT:            "col": 31,4255// JSON-NEXT:            "tokLen": 14256// JSON-NEXT:           },4257// JSON-NEXT:           "end": {4258// JSON-NEXT:            "offset": 2291,4259// JSON-NEXT:            "col": 31,4260// JSON-NEXT:            "tokLen": 14261// JSON-NEXT:           }4262// JSON-NEXT:          },4263// JSON-NEXT:          "type": {4264// JSON-NEXT:           "qualType": "test3::A<T>"4265// JSON-NEXT:          }4266// JSON-NEXT:         }4267// JSON-NEXT:        ]4268// JSON-NEXT:       }4269// JSON-NEXT:      ]4270// JSON-NEXT:     },4271// JSON-NEXT:     {4272// JSON-NEXT:      "id": "0x{{.*}}",4273// JSON-NEXT:      "kind": "FunctionTemplateDecl",4274// JSON-NEXT:      "loc": {4275// JSON-NEXT:       "offset": 2320,4276// JSON-NEXT:       "line": 75,4277// JSON-NEXT:       "col": 24,4278// JSON-NEXT:       "tokLen": 14279// JSON-NEXT:      },4280// JSON-NEXT:      "range": {4281// JSON-NEXT:       "begin": {4282// JSON-NEXT:        "offset": 2299,4283// JSON-NEXT:        "col": 3,4284// JSON-NEXT:        "tokLen": 84285// JSON-NEXT:       },4286// JSON-NEXT:       "end": {4287// JSON-NEXT:        "offset": 2333,4288// JSON-NEXT:        "col": 37,4289// JSON-NEXT:        "tokLen": 14290// JSON-NEXT:       }4291// JSON-NEXT:      },4292// JSON-NEXT:      "name": "<deduction guide for A>",4293// JSON-NEXT:      "inner": [4294// JSON-NEXT:       {4295// JSON-NEXT:        "id": "0x{{.*}}",4296// JSON-NEXT:        "kind": "TemplateTypeParmDecl",4297// JSON-NEXT:        "loc": {4298// JSON-NEXT:         "offset": 2317,4299// JSON-NEXT:         "col": 21,4300// JSON-NEXT:         "tokLen": 14301// JSON-NEXT:        },4302// JSON-NEXT:        "range": {4303// JSON-NEXT:         "begin": {4304// JSON-NEXT:          "offset": 2308,4305// JSON-NEXT:          "col": 12,4306// JSON-NEXT:          "tokLen": 84307// JSON-NEXT:         },4308// JSON-NEXT:         "end": {4309// JSON-NEXT:          "offset": 2317,4310// JSON-NEXT:          "col": 21,4311// JSON-NEXT:          "tokLen": 14312// JSON-NEXT:         }4313// JSON-NEXT:        },4314// JSON-NEXT:        "isReferenced": true,4315// JSON-NEXT:        "name": "T",4316// JSON-NEXT:        "tagUsed": "typename",4317// JSON-NEXT:        "depth": 0,4318// JSON-NEXT:        "index": 04319// JSON-NEXT:       },4320// JSON-NEXT:       {4321// JSON-NEXT:        "id": "0x{{.*}}",4322// JSON-NEXT:        "kind": "CXXDeductionGuideDecl",4323// JSON-NEXT:        "loc": {4324// JSON-NEXT:         "offset": 2320,4325// JSON-NEXT:         "col": 24,4326// JSON-NEXT:         "tokLen": 14327// JSON-NEXT:        },4328// JSON-NEXT:        "range": {4329// JSON-NEXT:         "begin": {4330// JSON-NEXT:          "offset": 2320,4331// JSON-NEXT:          "col": 24,4332// JSON-NEXT:          "tokLen": 14333// JSON-NEXT:         },4334// JSON-NEXT:         "end": {4335// JSON-NEXT:          "offset": 2333,4336// JSON-NEXT:          "col": 37,4337// JSON-NEXT:          "tokLen": 14338// JSON-NEXT:         }4339// JSON-NEXT:        },4340// JSON-NEXT:        "name": "<deduction guide for A>",4341// JSON-NEXT:        "type": {4342// JSON-NEXT:         "qualType": "auto (T) -> A<int>"4343// JSON-NEXT:        },4344// JSON-NEXT:        "inner": [4345// JSON-NEXT:         {4346// JSON-NEXT:          "id": "0x{{.*}}",4347// JSON-NEXT:          "kind": "ParmVarDecl",4348// JSON-NEXT:          "loc": {4349// JSON-NEXT:           "offset": 2323,4350// JSON-NEXT:           "col": 27,4351// JSON-NEXT:           "tokLen": 14352// JSON-NEXT:          },4353// JSON-NEXT:          "range": {4354// JSON-NEXT:           "begin": {4355// JSON-NEXT:            "offset": 2322,4356// JSON-NEXT:            "col": 26,4357// JSON-NEXT:            "tokLen": 14358// JSON-NEXT:           },4359// JSON-NEXT:           "end": {4360// JSON-NEXT:            "offset": 2322,4361// JSON-NEXT:            "col": 26,4362// JSON-NEXT:            "tokLen": 14363// JSON-NEXT:           }4364// JSON-NEXT:          },4365// JSON-NEXT:          "type": {4366// JSON-NEXT:           "qualType": "T"4367// JSON-NEXT:          }4368// JSON-NEXT:         }4369// JSON-NEXT:        ]4370// JSON-NEXT:       }4371// JSON-NEXT:      ]4372// JSON-NEXT:     }4373// JSON-NEXT:    ]4374// JSON-NEXT:   },4375// JSON-NEXT:   {4376// JSON-NEXT:    "id": "0x{{.*}}",4377// JSON-NEXT:    "kind": "NamespaceDecl",4378// JSON-NEXT:    "loc": {4379// JSON-NEXT:     "offset": 2400,4380// JSON-NEXT:     "line": 79,4381// JSON-NEXT:     "col": 11,4382// JSON-NEXT:     "tokLen": 54383// JSON-NEXT:    },4384// JSON-NEXT:    "range": {4385// JSON-NEXT:     "begin": {4386// JSON-NEXT:      "offset": 2390,4387// JSON-NEXT:      "col": 1,4388// JSON-NEXT:      "tokLen": 94389// JSON-NEXT:     },4390// JSON-NEXT:     "end": {4391// JSON-NEXT:      "offset": 3297,4392// JSON-NEXT:      "line": 103,4393// JSON-NEXT:      "col": 1,4394// JSON-NEXT:      "tokLen": 14395// JSON-NEXT:     }4396// JSON-NEXT:    },4397// JSON-NEXT:    "name": "test4",4398// JSON-NEXT:    "inner": [4399// JSON-NEXT:     {4400// JSON-NEXT:      "id": "0x{{.*}}",4401// JSON-NEXT:      "kind": "ClassTemplateDecl",4402// JSON-NEXT:      "loc": {4403// JSON-NEXT:       "offset": 2445,4404// JSON-NEXT:       "line": 81,4405// JSON-NEXT:       "col": 8,4406// JSON-NEXT:       "tokLen": 34407// JSON-NEXT:      },4408// JSON-NEXT:      "range": {4409// JSON-NEXT:       "begin": {4410// JSON-NEXT:        "offset": 2408,4411// JSON-NEXT:        "line": 80,4412// JSON-NEXT:        "col": 1,4413// JSON-NEXT:        "tokLen": 84414// JSON-NEXT:       },4415// JSON-NEXT:       "end": {4416// JSON-NEXT:        "offset": 2471,4417// JSON-NEXT:        "line": 83,4418// JSON-NEXT:        "col": 1,4419// JSON-NEXT:        "tokLen": 14420// JSON-NEXT:       }4421// JSON-NEXT:      },4422// JSON-NEXT:      "name": "foo",4423// JSON-NEXT:      "inner": [4424// JSON-NEXT:       {4425// JSON-NEXT:        "id": "0x{{.*}}",4426// JSON-NEXT:        "kind": "NonTypeTemplateParmDecl",4427// JSON-NEXT:        "loc": {4428// JSON-NEXT:         "offset": 2427,4429// JSON-NEXT:         "line": 80,4430// JSON-NEXT:         "col": 20,4431// JSON-NEXT:         "tokLen": 14432// JSON-NEXT:        },4433// JSON-NEXT:        "range": {4434// JSON-NEXT:         "begin": {4435// JSON-NEXT:          "offset": 2418,4436// JSON-NEXT:          "col": 11,4437// JSON-NEXT:          "tokLen": 84438// JSON-NEXT:         },4439// JSON-NEXT:         "end": {4440// JSON-NEXT:          "offset": 2427,4441// JSON-NEXT:          "col": 20,4442// JSON-NEXT:          "tokLen": 14443// JSON-NEXT:         }4444// JSON-NEXT:        },4445// JSON-NEXT:        "name": "X",4446// JSON-NEXT:        "type": {4447// JSON-NEXT:         "qualType": "unsigned int"4448// JSON-NEXT:        },4449// JSON-NEXT:        "depth": 0,4450// JSON-NEXT:        "index": 04451// JSON-NEXT:       },4452// JSON-NEXT:       {4453// JSON-NEXT:        "id": "0x{{.*}}",4454// JSON-NEXT:        "kind": "NonTypeTemplateParmDecl",4455// JSON-NEXT:        "loc": {4456// JSON-NEXT:         "offset": 2435,4457// JSON-NEXT:         "col": 28,4458// JSON-NEXT:         "tokLen": 14459// JSON-NEXT:        },4460// JSON-NEXT:        "range": {4461// JSON-NEXT:         "begin": {4462// JSON-NEXT:          "offset": 2430,4463// JSON-NEXT:          "col": 23,4464// JSON-NEXT:          "tokLen": 44465// JSON-NEXT:         },4466// JSON-NEXT:         "end": {4467// JSON-NEXT:          "offset": 2435,4468// JSON-NEXT:          "col": 28,4469// JSON-NEXT:          "tokLen": 14470// JSON-NEXT:         }4471// JSON-NEXT:        },4472// JSON-NEXT:        "name": "A",4473// JSON-NEXT:        "type": {4474// JSON-NEXT:         "qualType": "auto"4475// JSON-NEXT:        },4476// JSON-NEXT:        "depth": 0,4477// JSON-NEXT:        "index": 14478// JSON-NEXT:       },4479// JSON-NEXT:       {4480// JSON-NEXT:        "id": "0x{{.*}}",4481// JSON-NEXT:        "kind": "CXXRecordDecl",4482// JSON-NEXT:        "loc": {4483// JSON-NEXT:         "offset": 2445,4484// JSON-NEXT:         "line": 81,4485// JSON-NEXT:         "col": 8,4486// JSON-NEXT:         "tokLen": 34487// JSON-NEXT:        },4488// JSON-NEXT:        "range": {4489// JSON-NEXT:         "begin": {4490// JSON-NEXT:          "offset": 2438,4491// JSON-NEXT:          "col": 1,4492// JSON-NEXT:          "tokLen": 64493// JSON-NEXT:         },4494// JSON-NEXT:         "end": {4495// JSON-NEXT:          "offset": 2471,4496// JSON-NEXT:          "line": 83,4497// JSON-NEXT:          "col": 1,4498// JSON-NEXT:          "tokLen": 14499// JSON-NEXT:         }4500// JSON-NEXT:        },4501// JSON-NEXT:        "name": "foo",4502// JSON-NEXT:        "tagUsed": "struct",4503// JSON-NEXT:        "completeDefinition": true,4504// JSON-NEXT:        "definitionData": {4505// JSON-NEXT:         "canConstDefaultInit": true,4506// JSON-NEXT:         "copyAssign": {4507// JSON-NEXT:          "hasConstParam": true,4508// JSON-NEXT:          "implicitHasConstParam": true,4509// JSON-NEXT:          "needsImplicit": true,4510// JSON-NEXT:          "simple": true,4511// JSON-NEXT:          "trivial": true4512// JSON-NEXT:         },4513// JSON-NEXT:         "copyCtor": {4514// JSON-NEXT:          "hasConstParam": true,4515// JSON-NEXT:          "implicitHasConstParam": true,4516// JSON-NEXT:          "needsImplicit": true,4517// JSON-NEXT:          "simple": true,4518// JSON-NEXT:          "trivial": true4519// JSON-NEXT:         },4520// JSON-NEXT:         "defaultCtor": {4521// JSON-NEXT:          "defaultedIsConstexpr": true,4522// JSON-NEXT:          "exists": true,4523// JSON-NEXT:          "isConstexpr": true,4524// JSON-NEXT:          "needsImplicit": true,4525// JSON-NEXT:          "trivial": true4526// JSON-NEXT:         },4527// JSON-NEXT:         "dtor": {4528// JSON-NEXT:          "irrelevant": true,4529// JSON-NEXT:          "needsImplicit": true,4530// JSON-NEXT:          "simple": true,4531// JSON-NEXT:          "trivial": true4532// JSON-NEXT:         },4533// JSON-NEXT:         "hasConstexprNonCopyMoveConstructor": true,4534// JSON-NEXT:         "isAggregate": true,4535// JSON-NEXT:         "isEmpty": true,4536// JSON-NEXT:         "isLiteral": true,4537// JSON-NEXT:         "isPOD": true,4538// JSON-NEXT:         "isStandardLayout": true,4539// JSON-NEXT:         "isTrivial": true,4540// JSON-NEXT:         "isTriviallyCopyable": true,4541// JSON-NEXT:         "moveAssign": {4542// JSON-NEXT:          "exists": true,4543// JSON-NEXT:          "needsImplicit": true,4544// JSON-NEXT:          "simple": true,4545// JSON-NEXT:          "trivial": true4546// JSON-NEXT:         },4547// JSON-NEXT:         "moveCtor": {4548// JSON-NEXT:          "exists": true,4549// JSON-NEXT:          "needsImplicit": true,4550// JSON-NEXT:          "simple": true,4551// JSON-NEXT:          "trivial": true4552// JSON-NEXT:         }4553// JSON-NEXT:        },4554// JSON-NEXT:        "inner": [4555// JSON-NEXT:         {4556// JSON-NEXT:          "id": "0x{{.*}}",4557// JSON-NEXT:          "kind": "CXXRecordDecl",4558// JSON-NEXT:          "loc": {4559// JSON-NEXT:           "offset": 2445,4560// JSON-NEXT:           "line": 81,4561// JSON-NEXT:           "col": 8,4562// JSON-NEXT:           "tokLen": 34563// JSON-NEXT:          },4564// JSON-NEXT:          "range": {4565// JSON-NEXT:           "begin": {4566// JSON-NEXT:            "offset": 2438,4567// JSON-NEXT:            "col": 1,4568// JSON-NEXT:            "tokLen": 64569// JSON-NEXT:           },4570// JSON-NEXT:           "end": {4571// JSON-NEXT:            "offset": 2445,4572// JSON-NEXT:            "col": 8,4573// JSON-NEXT:            "tokLen": 34574// JSON-NEXT:           }4575// JSON-NEXT:          },4576// JSON-NEXT:          "isImplicit": true,4577// JSON-NEXT:          "name": "foo",4578// JSON-NEXT:          "tagUsed": "struct"4579// JSON-NEXT:         },4580// JSON-NEXT:         {4581// JSON-NEXT:          "id": "0x{{.*}}",4582// JSON-NEXT:          "kind": "CXXMethodDecl",4583// JSON-NEXT:          "loc": {4584// JSON-NEXT:           "offset": 2465,4585// JSON-NEXT:           "line": 82,4586// JSON-NEXT:           "col": 15,4587// JSON-NEXT:           "tokLen": 24588// JSON-NEXT:          },4589// JSON-NEXT:          "range": {4590// JSON-NEXT:           "begin": {4591// JSON-NEXT:            "offset": 2453,4592// JSON-NEXT:            "col": 3,4593// JSON-NEXT:            "tokLen": 64594// JSON-NEXT:           },4595// JSON-NEXT:           "end": {4596// JSON-NEXT:            "offset": 2468,4597// JSON-NEXT:            "col": 18,4598// JSON-NEXT:            "tokLen": 14599// JSON-NEXT:           }4600// JSON-NEXT:          },4601// JSON-NEXT:          "name": "fn",4602// JSON-NEXT:          "type": {4603// JSON-NEXT:           "qualType": "void ()"4604// JSON-NEXT:          },4605// JSON-NEXT:          "storageClass": "static"4606// JSON-NEXT:         }4607// JSON-NEXT:        ]4608// JSON-NEXT:       },4609// JSON-NEXT:       {4610// JSON-NEXT:        "id": "0x{{.*}}",4611// JSON-NEXT:        "kind": "ClassTemplateSpecializationDecl",4612// JSON-NEXT:        "loc": {4613// JSON-NEXT:         "offset": 2445,4614// JSON-NEXT:         "line": 81,4615// JSON-NEXT:         "col": 8,4616// JSON-NEXT:         "tokLen": 34617// JSON-NEXT:        },4618// JSON-NEXT:        "range": {4619// JSON-NEXT:         "begin": {4620// JSON-NEXT:          "offset": 2408,4621// JSON-NEXT:          "line": 80,4622// JSON-NEXT:          "col": 1,4623// JSON-NEXT:          "tokLen": 84624// JSON-NEXT:         },4625// JSON-NEXT:         "end": {4626// JSON-NEXT:          "offset": 2471,4627// JSON-NEXT:          "line": 83,4628// JSON-NEXT:          "col": 1,4629// JSON-NEXT:          "tokLen": 14630// JSON-NEXT:         }4631// JSON-NEXT:        },4632// JSON-NEXT:        "name": "foo",4633// JSON-NEXT:        "tagUsed": "struct",4634// JSON-NEXT:        "completeDefinition": true,4635// JSON-NEXT:        "TemplateInstantiationPattern": "0x{{.*}}",4636// JSON-NEXT:        "definitionData": {4637// JSON-NEXT:         "canConstDefaultInit": true,4638// JSON-NEXT:         "canPassInRegisters": true,4639// JSON-NEXT:         "copyAssign": {4640// JSON-NEXT:          "hasConstParam": true,4641// JSON-NEXT:          "implicitHasConstParam": true,4642// JSON-NEXT:          "needsImplicit": true,4643// JSON-NEXT:          "simple": true,4644// JSON-NEXT:          "trivial": true4645// JSON-NEXT:         },4646// JSON-NEXT:         "copyCtor": {4647// JSON-NEXT:          "hasConstParam": true,4648// JSON-NEXT:          "implicitHasConstParam": true,4649// JSON-NEXT:          "needsImplicit": true,4650// JSON-NEXT:          "simple": true,4651// JSON-NEXT:          "trivial": true4652// JSON-NEXT:         },4653// JSON-NEXT:         "defaultCtor": {4654// JSON-NEXT:          "defaultedIsConstexpr": true,4655// JSON-NEXT:          "exists": true,4656// JSON-NEXT:          "isConstexpr": true,4657// JSON-NEXT:          "needsImplicit": true,4658// JSON-NEXT:          "trivial": true4659// JSON-NEXT:         },4660// JSON-NEXT:         "dtor": {4661// JSON-NEXT:          "irrelevant": true,4662// JSON-NEXT:          "needsImplicit": true,4663// JSON-NEXT:          "simple": true,4664// JSON-NEXT:          "trivial": true4665// JSON-NEXT:         },4666// JSON-NEXT:         "hasConstexprNonCopyMoveConstructor": true,4667// JSON-NEXT:         "isAggregate": true,4668// JSON-NEXT:         "isEmpty": true,4669// JSON-NEXT:         "isLiteral": true,4670// JSON-NEXT:         "isPOD": true,4671// JSON-NEXT:         "isStandardLayout": true,4672// JSON-NEXT:         "isTrivial": true,4673// JSON-NEXT:         "isTriviallyCopyable": true,4674// JSON-NEXT:         "moveAssign": {4675// JSON-NEXT:          "exists": true,4676// JSON-NEXT:          "needsImplicit": true,4677// JSON-NEXT:          "simple": true,4678// JSON-NEXT:          "trivial": true4679// JSON-NEXT:         },4680// JSON-NEXT:         "moveCtor": {4681// JSON-NEXT:          "exists": true,4682// JSON-NEXT:          "needsImplicit": true,4683// JSON-NEXT:          "simple": true,4684// JSON-NEXT:          "trivial": true4685// JSON-NEXT:         }4686// JSON-NEXT:        },4687// JSON-NEXT:        "inner": [4688// JSON-NEXT:         {4689// JSON-NEXT:          "kind": "TemplateArgument",4690// JSON-NEXT:          "value": 04691// JSON-NEXT:         },4692// JSON-NEXT:         {4693// JSON-NEXT:          "kind": "TemplateArgument",4694// JSON-NEXT:          "value": 04695// JSON-NEXT:         },4696// JSON-NEXT:         {4697// JSON-NEXT:          "id": "0x{{.*}}",4698// JSON-NEXT:          "kind": "CXXRecordDecl",4699// JSON-NEXT:          "loc": {4700// JSON-NEXT:           "offset": 2445,4701// JSON-NEXT:           "line": 81,4702// JSON-NEXT:           "col": 8,4703// JSON-NEXT:           "tokLen": 34704// JSON-NEXT:          },4705// JSON-NEXT:          "range": {4706// JSON-NEXT:           "begin": {4707// JSON-NEXT:            "offset": 2438,4708// JSON-NEXT:            "col": 1,4709// JSON-NEXT:            "tokLen": 64710// JSON-NEXT:           },4711// JSON-NEXT:           "end": {4712// JSON-NEXT:            "offset": 2445,4713// JSON-NEXT:            "col": 8,4714// JSON-NEXT:            "tokLen": 34715// JSON-NEXT:           }4716// JSON-NEXT:          },4717// JSON-NEXT:          "isImplicit": true,4718// JSON-NEXT:          "name": "foo",4719// JSON-NEXT:          "tagUsed": "struct"4720// JSON-NEXT:         },4721// JSON-NEXT:         {4722// JSON-NEXT:          "id": "0x{{.*}}",4723// JSON-NEXT:          "kind": "CXXMethodDecl",4724// JSON-NEXT:          "loc": {4725// JSON-NEXT:           "offset": 2465,4726// JSON-NEXT:           "line": 82,4727// JSON-NEXT:           "col": 15,4728// JSON-NEXT:           "tokLen": 24729// JSON-NEXT:          },4730// JSON-NEXT:          "range": {4731// JSON-NEXT:           "begin": {4732// JSON-NEXT:            "offset": 2453,4733// JSON-NEXT:            "col": 3,4734// JSON-NEXT:            "tokLen": 64735// JSON-NEXT:           },4736// JSON-NEXT:           "end": {4737// JSON-NEXT:            "offset": 2468,4738// JSON-NEXT:            "col": 18,4739// JSON-NEXT:            "tokLen": 14740// JSON-NEXT:           }4741// JSON-NEXT:          },4742// JSON-NEXT:          "isUsed": true,4743// JSON-NEXT:          "name": "fn",4744// JSON-NEXT:          "mangledName": "_ZN5test43fooILj0ELl0EE2fnEv",4745// JSON-NEXT:          "type": {4746// JSON-NEXT:           "qualType": "void ()"4747// JSON-NEXT:          },4748// JSON-NEXT:          "storageClass": "static",4749// JSON-NEXT:          "TemplateInstantiationPattern": "0x{{.*}}"4750// JSON-NEXT:         }4751// JSON-NEXT:        ]4752// JSON-NEXT:       },4753// JSON-NEXT:       {4754// JSON-NEXT:        "id": "0x{{.*}}",4755// JSON-NEXT:        "kind": "ClassTemplateSpecializationDecl",4756// JSON-NEXT:        "name": "foo"4757// JSON-NEXT:       }4758// JSON-NEXT:      ]4759// JSON-NEXT:     },4760// JSON-NEXT:     {4761// JSON-NEXT:      "id": "0x{{.*}}",4762// JSON-NEXT:      "kind": "FunctionDecl",4763// JSON-NEXT:      "loc": {4764// JSON-NEXT:       "offset": 2846,4765// JSON-NEXT:       "line": 92,4766// JSON-NEXT:       "col": 6,4767// JSON-NEXT:       "tokLen": 44768// JSON-NEXT:      },4769// JSON-NEXT:      "range": {4770// JSON-NEXT:       "begin": {4771// JSON-NEXT:        "offset": 2841,4772// JSON-NEXT:        "col": 1,4773// JSON-NEXT:        "tokLen": 44774// JSON-NEXT:       },4775// JSON-NEXT:       "end": {4776// JSON-NEXT:        "offset": 2879,4777// JSON-NEXT:        "line": 94,4778// JSON-NEXT:        "col": 1,4779// JSON-NEXT:        "tokLen": 14780// JSON-NEXT:       }4781// JSON-NEXT:      },4782// JSON-NEXT:      "name": "test",4783// JSON-NEXT:      "mangledName": "_ZN5test44testEv",4784// JSON-NEXT:      "type": {4785// JSON-NEXT:       "qualType": "void ()"4786// JSON-NEXT:      },4787// JSON-NEXT:      "inner": [4788// JSON-NEXT:       {4789// JSON-NEXT:        "id": "0x{{.*}}",4790// JSON-NEXT:        "kind": "CompoundStmt",4791// JSON-NEXT:        "range": {4792// JSON-NEXT:         "begin": {4793// JSON-NEXT:          "offset": 2853,4794// JSON-NEXT:          "line": 92,4795// JSON-NEXT:          "col": 13,4796// JSON-NEXT:          "tokLen": 14797// JSON-NEXT:         },4798// JSON-NEXT:         "end": {4799// JSON-NEXT:          "offset": 2879,4800// JSON-NEXT:          "line": 94,4801// JSON-NEXT:          "col": 1,4802// JSON-NEXT:          "tokLen": 14803// JSON-NEXT:         }4804// JSON-NEXT:        },4805// JSON-NEXT:        "inner": [4806// JSON-NEXT:         {4807// JSON-NEXT:          "id": "0x{{.*}}",4808// JSON-NEXT:          "kind": "CallExpr",4809// JSON-NEXT:          "range": {4810// JSON-NEXT:           "begin": {4811// JSON-NEXT:            "offset": 2857,4812// JSON-NEXT:            "line": 93,4813// JSON-NEXT:            "col": 3,4814// JSON-NEXT:            "tokLen": 34815// JSON-NEXT:           },4816// JSON-NEXT:           "end": {4817// JSON-NEXT:            "offset": 2876,4818// JSON-NEXT:            "col": 22,4819// JSON-NEXT:            "tokLen": 14820// JSON-NEXT:           }4821// JSON-NEXT:          },4822// JSON-NEXT:          "type": {4823// JSON-NEXT:           "qualType": "void"4824// JSON-NEXT:          },4825// JSON-NEXT:          "valueCategory": "prvalue",4826// JSON-NEXT:          "inner": [4827// JSON-NEXT:           {4828// JSON-NEXT:            "id": "0x{{.*}}",4829// JSON-NEXT:            "kind": "ImplicitCastExpr",4830// JSON-NEXT:            "range": {4831// JSON-NEXT:             "begin": {4832// JSON-NEXT:              "offset": 2857,4833// JSON-NEXT:              "col": 3,4834// JSON-NEXT:              "tokLen": 34835// JSON-NEXT:             },4836// JSON-NEXT:             "end": {4837// JSON-NEXT:              "offset": 2873,4838// JSON-NEXT:              "col": 19,4839// JSON-NEXT:              "tokLen": 24840// JSON-NEXT:             }4841// JSON-NEXT:            },4842// JSON-NEXT:            "type": {4843// JSON-NEXT:             "qualType": "void (*)()"4844// JSON-NEXT:            },4845// JSON-NEXT:            "valueCategory": "prvalue",4846// JSON-NEXT:            "castKind": "FunctionToPointerDecay",4847// JSON-NEXT:            "inner": [4848// JSON-NEXT:             {4849// JSON-NEXT:              "id": "0x{{.*}}",4850// JSON-NEXT:              "kind": "DeclRefExpr",4851// JSON-NEXT:              "range": {4852// JSON-NEXT:               "begin": {4853// JSON-NEXT:                "offset": 2857,4854// JSON-NEXT:                "col": 3,4855// JSON-NEXT:                "tokLen": 34856// JSON-NEXT:               },4857// JSON-NEXT:               "end": {4858// JSON-NEXT:                "offset": 2873,4859// JSON-NEXT:                "col": 19,4860// JSON-NEXT:                "tokLen": 24861// JSON-NEXT:               }4862// JSON-NEXT:              },4863// JSON-NEXT:              "type": {4864// JSON-NEXT:               "qualType": "void ()"4865// JSON-NEXT:              },4866// JSON-NEXT:              "valueCategory": "lvalue",4867// JSON-NEXT:              "referencedDecl": {4868// JSON-NEXT:               "id": "0x{{.*}}",4869// JSON-NEXT:               "kind": "CXXMethodDecl",4870// JSON-NEXT:               "name": "fn",4871// JSON-NEXT:               "type": {4872// JSON-NEXT:                "qualType": "void ()"4873// JSON-NEXT:               }4874// JSON-NEXT:              }4875// JSON-NEXT:             }4876// JSON-NEXT:            ]4877// JSON-NEXT:           }4878// JSON-NEXT:          ]4879// JSON-NEXT:         }4880// JSON-NEXT:        ]4881// JSON-NEXT:       }4882// JSON-NEXT:      ]4883// JSON-NEXT:     },4884// JSON-NEXT:     {4885// JSON-NEXT:      "id": "0x{{.*}}",4886// JSON-NEXT:      "kind": "ClassTemplateSpecializationDecl",4887// JSON-NEXT:      "loc": {4888// JSON-NEXT:       "offset": 3281,4889// JSON-NEXT:       "line": 102,4890// JSON-NEXT:       "col": 17,4891// JSON-NEXT:       "tokLen": 34892// JSON-NEXT:      },4893// JSON-NEXT:      "range": {4894// JSON-NEXT:       "begin": {4895// JSON-NEXT:        "offset": 3265,4896// JSON-NEXT:        "col": 1,4897// JSON-NEXT:        "tokLen": 84898// JSON-NEXT:       },4899// JSON-NEXT:       "end": {4900// JSON-NEXT:        "offset": 3294,4901// JSON-NEXT:        "col": 30,4902// JSON-NEXT:        "tokLen": 14903// JSON-NEXT:       }4904// JSON-NEXT:      },4905// JSON-NEXT:      "name": "foo",4906// JSON-NEXT:      "tagUsed": "struct",4907// JSON-NEXT:      "completeDefinition": true,4908// JSON-NEXT:      "TemplateInstantiationPattern": "0x{{.*}}",4909// JSON-NEXT:      "definitionData": {4910// JSON-NEXT:       "canConstDefaultInit": true,4911// JSON-NEXT:       "canPassInRegisters": true,4912// JSON-NEXT:       "copyAssign": {4913// JSON-NEXT:        "hasConstParam": true,4914// JSON-NEXT:        "implicitHasConstParam": true,4915// JSON-NEXT:        "needsImplicit": true,4916// JSON-NEXT:        "simple": true,4917// JSON-NEXT:        "trivial": true4918// JSON-NEXT:       },4919// JSON-NEXT:       "copyCtor": {4920// JSON-NEXT:        "hasConstParam": true,4921// JSON-NEXT:        "implicitHasConstParam": true,4922// JSON-NEXT:        "needsImplicit": true,4923// JSON-NEXT:        "simple": true,4924// JSON-NEXT:        "trivial": true4925// JSON-NEXT:       },4926// JSON-NEXT:       "defaultCtor": {4927// JSON-NEXT:        "defaultedIsConstexpr": true,4928// JSON-NEXT:        "exists": true,4929// JSON-NEXT:        "isConstexpr": true,4930// JSON-NEXT:        "needsImplicit": true,4931// JSON-NEXT:        "trivial": true4932// JSON-NEXT:       },4933// JSON-NEXT:       "dtor": {4934// JSON-NEXT:        "irrelevant": true,4935// JSON-NEXT:        "needsImplicit": true,4936// JSON-NEXT:        "simple": true,4937// JSON-NEXT:        "trivial": true4938// JSON-NEXT:       },4939// JSON-NEXT:       "hasConstexprNonCopyMoveConstructor": true,4940// JSON-NEXT:       "isAggregate": true,4941// JSON-NEXT:       "isEmpty": true,4942// JSON-NEXT:       "isLiteral": true,4943// JSON-NEXT:       "isPOD": true,4944// JSON-NEXT:       "isStandardLayout": true,4945// JSON-NEXT:       "isTrivial": true,4946// JSON-NEXT:       "isTriviallyCopyable": true,4947// JSON-NEXT:       "moveAssign": {4948// JSON-NEXT:        "exists": true,4949// JSON-NEXT:        "needsImplicit": true,4950// JSON-NEXT:        "simple": true,4951// JSON-NEXT:        "trivial": true4952// JSON-NEXT:       },4953// JSON-NEXT:       "moveCtor": {4954// JSON-NEXT:        "exists": true,4955// JSON-NEXT:        "needsImplicit": true,4956// JSON-NEXT:        "simple": true,4957// JSON-NEXT:        "trivial": true4958// JSON-NEXT:       }4959// JSON-NEXT:      },4960// JSON-NEXT:      "inner": [4961// JSON-NEXT:       {4962// JSON-NEXT:        "kind": "TemplateArgument",4963// JSON-NEXT:        "value": 14964// JSON-NEXT:       },4965// JSON-NEXT:       {4966// JSON-NEXT:        "kind": "TemplateArgument",4967// JSON-NEXT:        "value": 04968// JSON-NEXT:       },4969// JSON-NEXT:       {4970// JSON-NEXT:        "id": "0x{{.*}}",4971// JSON-NEXT:        "kind": "CXXRecordDecl",4972// JSON-NEXT:        "loc": {4973// JSON-NEXT:         "offset": 2445,4974// JSON-NEXT:         "line": 81,4975// JSON-NEXT:         "col": 8,4976// JSON-NEXT:         "tokLen": 34977// JSON-NEXT:        },4978// JSON-NEXT:        "range": {4979// JSON-NEXT:         "begin": {4980// JSON-NEXT:          "offset": 2438,4981// JSON-NEXT:          "col": 1,4982// JSON-NEXT:          "tokLen": 64983// JSON-NEXT:         },4984// JSON-NEXT:         "end": {4985// JSON-NEXT:          "offset": 2445,4986// JSON-NEXT:          "col": 8,4987// JSON-NEXT:          "tokLen": 34988// JSON-NEXT:         }4989// JSON-NEXT:        },4990// JSON-NEXT:        "isImplicit": true,4991// JSON-NEXT:        "name": "foo",4992// JSON-NEXT:        "tagUsed": "struct"4993// JSON-NEXT:       },4994// JSON-NEXT:       {4995// JSON-NEXT:        "id": "0x{{.*}}",4996// JSON-NEXT:        "kind": "CXXMethodDecl",4997// JSON-NEXT:        "loc": {4998// JSON-NEXT:         "offset": 2465,4999// JSON-NEXT:         "line": 82,5000// JSON-NEXT:         "col": 15,5001// JSON-NEXT:         "tokLen": 25002// JSON-NEXT:        },5003// JSON-NEXT:        "range": {5004// JSON-NEXT:         "begin": {5005// JSON-NEXT:          "offset": 2453,5006// JSON-NEXT:          "col": 3,5007// JSON-NEXT:          "tokLen": 65008// JSON-NEXT:         },5009// JSON-NEXT:         "end": {5010// JSON-NEXT:          "offset": 2468,5011// JSON-NEXT:          "col": 18,5012// JSON-NEXT:          "tokLen": 15013// JSON-NEXT:         }5014// JSON-NEXT:        },5015// JSON-NEXT:        "name": "fn",5016// JSON-NEXT:        "mangledName": "_ZN5test43fooILj1ELl0EE2fnEv",5017// JSON-NEXT:        "type": {5018// JSON-NEXT:         "qualType": "void ()"5019// JSON-NEXT:        },5020// JSON-NEXT:        "storageClass": "static",5021// JSON-NEXT:        "TemplateInstantiationPattern": "0x{{.*}}"5022// JSON-NEXT:       }5023// JSON-NEXT:      ]5024// JSON-NEXT:     }5025// JSON-NEXT:    ]5026// JSON-NEXT:   },5027// JSON-NEXT:   {5028// JSON-NEXT:    "id": "0x{{.*}}",5029// JSON-NEXT:    "kind": "NamespaceDecl",5030// JSON-NEXT:    "loc": {5031// JSON-NEXT:     "offset": 3310,5032// JSON-NEXT:     "line": 105,5033// JSON-NEXT:     "col": 11,5034// JSON-NEXT:     "tokLen": 55035// JSON-NEXT:    },5036// JSON-NEXT:    "range": {5037// JSON-NEXT:     "begin": {5038// JSON-NEXT:      "offset": 3300,5039// JSON-NEXT:      "col": 1,5040// JSON-NEXT:      "tokLen": 95041// JSON-NEXT:     },5042// JSON-NEXT:     "end": {5043// JSON-NEXT:      "offset": 3632,5044// JSON-NEXT:      "line": 114,5045// JSON-NEXT:      "col": 1,5046// JSON-NEXT:      "tokLen": 15047// JSON-NEXT:     }5048// JSON-NEXT:    },5049// JSON-NEXT:    "name": "test5",5050// JSON-NEXT:    "inner": [5051// JSON-NEXT:     {5052// JSON-NEXT:      "id": "0x{{.*}}",5053// JSON-NEXT:      "kind": "FunctionTemplateDecl",5054// JSON-NEXT:      "loc": {5055// JSON-NEXT:       "offset": 3338,5056// JSON-NEXT:       "line": 106,5057// JSON-NEXT:       "col": 21,5058// JSON-NEXT:       "tokLen": 15059// JSON-NEXT:      },5060// JSON-NEXT:      "range": {5061// JSON-NEXT:       "begin": {5062// JSON-NEXT:        "offset": 3318,5063// JSON-NEXT:        "col": 1,5064// JSON-NEXT:        "tokLen": 85065// JSON-NEXT:       },5066// JSON-NEXT:       "end": {5067// JSON-NEXT:        "offset": 3343,5068// JSON-NEXT:        "col": 26,5069// JSON-NEXT:        "tokLen": 15070// JSON-NEXT:       }5071// JSON-NEXT:      },5072// JSON-NEXT:      "name": "f",5073// JSON-NEXT:      "inner": [5074// JSON-NEXT:       {5075// JSON-NEXT:        "id": "0x{{.*}}",5076// JSON-NEXT:        "kind": "NonTypeTemplateParmDecl",5077// JSON-NEXT:        "loc": {5078// JSON-NEXT:         "offset": 3331,5079// JSON-NEXT:         "col": 14,5080// JSON-NEXT:         "tokLen": 15081// JSON-NEXT:        },5082// JSON-NEXT:        "range": {5083// JSON-NEXT:         "begin": {5084// JSON-NEXT:          "offset": 3327,5085// JSON-NEXT:          "col": 10,5086// JSON-NEXT:          "tokLen": 45087// JSON-NEXT:         },5088// JSON-NEXT:         "end": {5089// JSON-NEXT:          "offset": 3327,5090// JSON-NEXT:          "col": 10,5091// JSON-NEXT:          "tokLen": 45092// JSON-NEXT:         }5093// JSON-NEXT:        },5094// JSON-NEXT:        "type": {5095// JSON-NEXT:         "qualType": "long"5096// JSON-NEXT:        },5097// JSON-NEXT:        "depth": 0,5098// JSON-NEXT:        "index": 05099// JSON-NEXT:       },5100// JSON-NEXT:       {5101// JSON-NEXT:        "id": "0x{{.*}}",5102// JSON-NEXT:        "kind": "FunctionDecl",5103// JSON-NEXT:        "loc": {5104// JSON-NEXT:         "offset": 3338,5105// JSON-NEXT:         "col": 21,5106// JSON-NEXT:         "tokLen": 15107// JSON-NEXT:        },5108// JSON-NEXT:        "range": {5109// JSON-NEXT:         "begin": {5110// JSON-NEXT:          "offset": 3333,5111// JSON-NEXT:          "col": 16,5112// JSON-NEXT:          "tokLen": 45113// JSON-NEXT:         },5114// JSON-NEXT:         "end": {5115// JSON-NEXT:          "offset": 3343,5116// JSON-NEXT:          "col": 26,5117// JSON-NEXT:          "tokLen": 15118// JSON-NEXT:         }5119// JSON-NEXT:        },5120// JSON-NEXT:        "name": "f",5121// JSON-NEXT:        "type": {5122// JSON-NEXT:         "qualType": "void ()"5123// JSON-NEXT:        },5124// JSON-NEXT:        "inner": [5125// JSON-NEXT:         {5126// JSON-NEXT:          "id": "0x{{.*}}",5127// JSON-NEXT:          "kind": "CompoundStmt",5128// JSON-NEXT:          "range": {5129// JSON-NEXT:           "begin": {5130// JSON-NEXT:            "offset": 3342,5131// JSON-NEXT:            "col": 25,5132// JSON-NEXT:            "tokLen": 15133// JSON-NEXT:           },5134// JSON-NEXT:           "end": {5135// JSON-NEXT:            "offset": 3343,5136// JSON-NEXT:            "col": 26,5137// JSON-NEXT:            "tokLen": 15138// JSON-NEXT:           }5139// JSON-NEXT:          }5140// JSON-NEXT:         }5141// JSON-NEXT:        ]5142// JSON-NEXT:       },5143// JSON-NEXT:       {5144// JSON-NEXT:        "id": "0x{{.*}}",5145// JSON-NEXT:        "kind": "FunctionDecl",5146// JSON-NEXT:        "loc": {5147// JSON-NEXT:         "offset": 3338,5148// JSON-NEXT:         "col": 21,5149// JSON-NEXT:         "tokLen": 15150// JSON-NEXT:        },5151// JSON-NEXT:        "range": {5152// JSON-NEXT:         "begin": {5153// JSON-NEXT:          "offset": 3333,5154// JSON-NEXT:          "col": 16,5155// JSON-NEXT:          "tokLen": 45156// JSON-NEXT:         },5157// JSON-NEXT:         "end": {5158// JSON-NEXT:          "offset": 3343,5159// JSON-NEXT:          "col": 26,5160// JSON-NEXT:          "tokLen": 15161// JSON-NEXT:         }5162// JSON-NEXT:        },5163// JSON-NEXT:        "isUsed": true,5164// JSON-NEXT:        "name": "f",5165// JSON-NEXT:        "mangledName": "_ZN5test51fILl0EEEvv",5166// JSON-NEXT:        "type": {5167// JSON-NEXT:         "qualType": "void ()"5168// JSON-NEXT:        },5169// JSON-NEXT:        "TemplateInstantiationPattern": "0x{{.*}}",5170// JSON-NEXT:        "inner": [5171// JSON-NEXT:         {5172// JSON-NEXT:          "kind": "TemplateArgument",5173// JSON-NEXT:          "value": 05174// JSON-NEXT:         },5175// JSON-NEXT:         {5176// JSON-NEXT:          "id": "0x{{.*}}",5177// JSON-NEXT:          "kind": "CompoundStmt",5178// JSON-NEXT:          "range": {5179// JSON-NEXT:           "begin": {5180// JSON-NEXT:            "offset": 3342,5181// JSON-NEXT:            "col": 25,5182// JSON-NEXT:            "tokLen": 15183// JSON-NEXT:           },5184// JSON-NEXT:           "end": {5185// JSON-NEXT:            "offset": 3343,5186// JSON-NEXT:            "col": 26,5187// JSON-NEXT:            "tokLen": 15188// JSON-NEXT:           }5189// JSON-NEXT:          }5190// JSON-NEXT:         }5191// JSON-NEXT:        ]5192// JSON-NEXT:       }5193// JSON-NEXT:      ]5194// JSON-NEXT:     },5195// JSON-NEXT:     {5196// JSON-NEXT:      "id": "0x{{.*}}",5197// JSON-NEXT:      "kind": "VarDecl",5198// JSON-NEXT:      "loc": {5199// JSON-NEXT:       "offset": 3352,5200// JSON-NEXT:       "line": 107,5201// JSON-NEXT:       "col": 8,5202// JSON-NEXT:       "tokLen": 15203// JSON-NEXT:      },5204// JSON-NEXT:      "range": {5205// JSON-NEXT:       "begin": {5206// JSON-NEXT:        "offset": 3345,5207// JSON-NEXT:        "col": 1,5208// JSON-NEXT:        "tokLen": 45209// JSON-NEXT:       },5210// JSON-NEXT:       "end": {5211// JSON-NEXT:        "offset": 3362,5212// JSON-NEXT:        "col": 18,5213// JSON-NEXT:        "tokLen": 15214// JSON-NEXT:       }5215// JSON-NEXT:      },5216// JSON-NEXT:      "name": "p",5217// JSON-NEXT:      "mangledName": "_ZN5test51pE",5218// JSON-NEXT:      "type": {5219// JSON-NEXT:       "qualType": "void (*)()"5220// JSON-NEXT:      },5221// JSON-NEXT:      "init": "c",5222// JSON-NEXT:      "inner": [5223// JSON-NEXT:       {5224// JSON-NEXT:        "id": "0x{{.*}}",5225// JSON-NEXT:        "kind": "ImplicitCastExpr",5226// JSON-NEXT:        "range": {5227// JSON-NEXT:         "begin": {5228// JSON-NEXT:          "offset": 3359,5229// JSON-NEXT:          "col": 15,5230// JSON-NEXT:          "tokLen": 15231// JSON-NEXT:         },5232// JSON-NEXT:         "end": {5233// JSON-NEXT:          "offset": 3362,5234// JSON-NEXT:          "col": 18,5235// JSON-NEXT:          "tokLen": 15236// JSON-NEXT:         }5237// JSON-NEXT:        },5238// JSON-NEXT:        "type": {5239// JSON-NEXT:         "qualType": "void (*)()"5240// JSON-NEXT:        },5241// JSON-NEXT:        "valueCategory": "prvalue",5242// JSON-NEXT:        "castKind": "FunctionToPointerDecay",5243// JSON-NEXT:        "inner": [5244// JSON-NEXT:         {5245// JSON-NEXT:          "id": "0x{{.*}}",5246// JSON-NEXT:          "kind": "DeclRefExpr",5247// JSON-NEXT:          "range": {5248// JSON-NEXT:           "begin": {5249// JSON-NEXT:            "offset": 3359,5250// JSON-NEXT:            "col": 15,5251// JSON-NEXT:            "tokLen": 15252// JSON-NEXT:           },5253// JSON-NEXT:           "end": {5254// JSON-NEXT:            "offset": 3362,5255// JSON-NEXT:            "col": 18,5256// JSON-NEXT:            "tokLen": 15257// JSON-NEXT:           }5258// JSON-NEXT:          },5259// JSON-NEXT:          "type": {5260// JSON-NEXT:           "qualType": "void ()"5261// JSON-NEXT:          },5262// JSON-NEXT:          "valueCategory": "lvalue",5263// JSON-NEXT:          "referencedDecl": {5264// JSON-NEXT:           "id": "0x{{.*}}",5265// JSON-NEXT:           "kind": "FunctionDecl",5266// JSON-NEXT:           "name": "f",5267// JSON-NEXT:           "type": {5268// JSON-NEXT:            "qualType": "void ()"5269// JSON-NEXT:           }5270// JSON-NEXT:          },5271// JSON-NEXT:          "foundReferencedDecl": {5272// JSON-NEXT:           "id": "0x{{.*}}",5273// JSON-NEXT:           "kind": "FunctionTemplateDecl",5274// JSON-NEXT:           "name": "f"5275// JSON-NEXT:          }5276// JSON-NEXT:         }5277// JSON-NEXT:        ]5278// JSON-NEXT:       }5279// JSON-NEXT:      ]5280// JSON-NEXT:     },5281// JSON-NEXT:     {5282// JSON-NEXT:      "id": "0x{{.*}}",5283// JSON-NEXT:      "kind": "FunctionTemplateDecl",5284// JSON-NEXT:      "loc": {5285// JSON-NEXT:       "offset": 3393,5286// JSON-NEXT:       "line": 108,5287// JSON-NEXT:       "col": 29,5288// JSON-NEXT:       "tokLen": 15289// JSON-NEXT:      },5290// JSON-NEXT:      "range": {5291// JSON-NEXT:       "begin": {5292// JSON-NEXT:        "offset": 3365,5293// JSON-NEXT:        "col": 1,5294// JSON-NEXT:        "tokLen": 85295// JSON-NEXT:       },5296// JSON-NEXT:       "end": {5297// JSON-NEXT:        "offset": 3398,5298// JSON-NEXT:        "col": 34,5299// JSON-NEXT:        "tokLen": 15300// JSON-NEXT:       }5301// JSON-NEXT:      },5302// JSON-NEXT:      "name": "f",5303// JSON-NEXT:      "inner": [5304// JSON-NEXT:       {5305// JSON-NEXT:        "id": "0x{{.*}}",5306// JSON-NEXT:        "kind": "NonTypeTemplateParmDecl",5307// JSON-NEXT:        "loc": {5308// JSON-NEXT:         "offset": 3383,5309// JSON-NEXT:         "col": 19,5310// JSON-NEXT:         "tokLen": 15311// JSON-NEXT:        },5312// JSON-NEXT:        "range": {5313// JSON-NEXT:         "begin": {5314// JSON-NEXT:          "offset": 3374,5315// JSON-NEXT:          "col": 10,5316// JSON-NEXT:          "tokLen": 85317// JSON-NEXT:         },5318// JSON-NEXT:         "end": {5319// JSON-NEXT:          "offset": 3385,5320// JSON-NEXT:          "col": 21,5321// JSON-NEXT:          "tokLen": 15322// JSON-NEXT:         }5323// JSON-NEXT:        },5324// JSON-NEXT:        "type": {5325// JSON-NEXT:         "qualType": "unsigned int"5326// JSON-NEXT:        },5327// JSON-NEXT:        "depth": 0,5328// JSON-NEXT:        "index": 0,5329// JSON-NEXT:        "defaultArg": {5330// JSON-NEXT:         "kind": "TemplateArgument",5331// JSON-NEXT:         "isExpr": true5332// JSON-NEXT:        },5333// JSON-NEXT:        "inner": [5334// JSON-NEXT:         {5335// JSON-NEXT:          "kind": "TemplateArgument",5336// JSON-NEXT:          "range": {5337// JSON-NEXT:           "begin": {5338// JSON-NEXT:            "offset": 3385,5339// JSON-NEXT:            "col": 21,5340// JSON-NEXT:            "tokLen": 15341// JSON-NEXT:           },5342// JSON-NEXT:           "end": {5343// JSON-NEXT:            "offset": 3385,5344// JSON-NEXT:            "col": 21,5345// JSON-NEXT:            "tokLen": 15346// JSON-NEXT:           }5347// JSON-NEXT:          },5348// JSON-NEXT:          "isExpr": true,5349// JSON-NEXT:          "inner": [5350// JSON-NEXT:           {5351// JSON-NEXT:            "id": "0x{{.*}}",5352// JSON-NEXT:            "kind": "IntegerLiteral",5353// JSON-NEXT:            "range": {5354// JSON-NEXT:             "begin": {5355// JSON-NEXT:              "offset": 3385,5356// JSON-NEXT:              "col": 21,5357// JSON-NEXT:              "tokLen": 15358// JSON-NEXT:             },5359// JSON-NEXT:             "end": {5360// JSON-NEXT:              "offset": 3385,5361// JSON-NEXT:              "col": 21,5362// JSON-NEXT:              "tokLen": 15363// JSON-NEXT:             }5364// JSON-NEXT:            },5365// JSON-NEXT:            "type": {5366// JSON-NEXT:             "qualType": "int"5367// JSON-NEXT:            },5368// JSON-NEXT:            "valueCategory": "prvalue",5369// JSON-NEXT:            "value": "0"5370// JSON-NEXT:           }5371// JSON-NEXT:          ]5372// JSON-NEXT:         }5373// JSON-NEXT:        ]5374// JSON-NEXT:       },5375// JSON-NEXT:       {5376// JSON-NEXT:        "id": "0x{{.*}}",5377// JSON-NEXT:        "kind": "FunctionDecl",5378// JSON-NEXT:        "loc": {5379// JSON-NEXT:         "offset": 3393,5380// JSON-NEXT:         "col": 29,5381// JSON-NEXT:         "tokLen": 15382// JSON-NEXT:        },5383// JSON-NEXT:        "range": {5384// JSON-NEXT:         "begin": {5385// JSON-NEXT:          "offset": 3388,5386// JSON-NEXT:          "col": 24,5387// JSON-NEXT:          "tokLen": 45388// JSON-NEXT:         },5389// JSON-NEXT:         "end": {5390// JSON-NEXT:          "offset": 3398,5391// JSON-NEXT:          "col": 34,5392// JSON-NEXT:          "tokLen": 15393// JSON-NEXT:         }5394// JSON-NEXT:        },5395// JSON-NEXT:        "name": "f",5396// JSON-NEXT:        "type": {5397// JSON-NEXT:         "qualType": "void ()"5398// JSON-NEXT:        },5399// JSON-NEXT:        "inner": [5400// JSON-NEXT:         {5401// JSON-NEXT:          "id": "0x{{.*}}",5402// JSON-NEXT:          "kind": "CompoundStmt",5403// JSON-NEXT:          "range": {5404// JSON-NEXT:           "begin": {5405// JSON-NEXT:            "offset": 3397,5406// JSON-NEXT:            "col": 33,5407// JSON-NEXT:            "tokLen": 15408// JSON-NEXT:           },5409// JSON-NEXT:           "end": {5410// JSON-NEXT:            "offset": 3398,5411// JSON-NEXT:            "col": 34,5412// JSON-NEXT:            "tokLen": 15413// JSON-NEXT:           }5414// JSON-NEXT:          }5415// JSON-NEXT:         }5416// JSON-NEXT:        ]5417// JSON-NEXT:       },5418// JSON-NEXT:       {5419// JSON-NEXT:        "id": "0x{{.*}}",5420// JSON-NEXT:        "kind": "FunctionDecl",5421// JSON-NEXT:        "loc": {5422// JSON-NEXT:         "offset": 3393,5423// JSON-NEXT:         "col": 29,5424// JSON-NEXT:         "tokLen": 15425// JSON-NEXT:        },5426// JSON-NEXT:        "range": {5427// JSON-NEXT:         "begin": {5428// JSON-NEXT:          "offset": 3388,5429// JSON-NEXT:          "col": 24,5430// JSON-NEXT:          "tokLen": 45431// JSON-NEXT:         },5432// JSON-NEXT:         "end": {5433// JSON-NEXT:          "offset": 3398,5434// JSON-NEXT:          "col": 34,5435// JSON-NEXT:          "tokLen": 15436// JSON-NEXT:         }5437// JSON-NEXT:        },5438// JSON-NEXT:        "isUsed": true,5439// JSON-NEXT:        "name": "f",5440// JSON-NEXT:        "mangledName": "_ZN5test51fILj0EEEvv",5441// JSON-NEXT:        "type": {5442// JSON-NEXT:         "qualType": "void ()"5443// JSON-NEXT:        },5444// JSON-NEXT:        "TemplateInstantiationPattern": "0x{{.*}}",5445// JSON-NEXT:        "inner": [5446// JSON-NEXT:         {5447// JSON-NEXT:          "kind": "TemplateArgument",5448// JSON-NEXT:          "value": 05449// JSON-NEXT:         },5450// JSON-NEXT:         {5451// JSON-NEXT:          "id": "0x{{.*}}",5452// JSON-NEXT:          "kind": "CompoundStmt",5453// JSON-NEXT:          "range": {5454// JSON-NEXT:           "begin": {5455// JSON-NEXT:            "offset": 3397,5456// JSON-NEXT:            "col": 33,5457// JSON-NEXT:            "tokLen": 15458// JSON-NEXT:           },5459// JSON-NEXT:           "end": {5460// JSON-NEXT:            "offset": 3398,5461// JSON-NEXT:            "col": 34,5462// JSON-NEXT:            "tokLen": 15463// JSON-NEXT:           }5464// JSON-NEXT:          }5465// JSON-NEXT:         }5466// JSON-NEXT:        ]5467// JSON-NEXT:       }5468// JSON-NEXT:      ]5469// JSON-NEXT:     },5470// JSON-NEXT:     {5471// JSON-NEXT:      "id": "0x{{.*}}",5472// JSON-NEXT:      "kind": "VarDecl",5473// JSON-NEXT:      "loc": {5474// JSON-NEXT:       "offset": 3407,5475// JSON-NEXT:       "line": 109,5476// JSON-NEXT:       "col": 8,5477// JSON-NEXT:       "tokLen": 15478// JSON-NEXT:      },5479// JSON-NEXT:      "range": {5480// JSON-NEXT:       "begin": {5481// JSON-NEXT:        "offset": 3400,5482// JSON-NEXT:        "col": 1,5483// JSON-NEXT:        "tokLen": 45484// JSON-NEXT:       },5485// JSON-NEXT:       "end": {5486// JSON-NEXT:        "offset": 3416,5487// JSON-NEXT:        "col": 17,5488// JSON-NEXT:        "tokLen": 15489// JSON-NEXT:       }5490// JSON-NEXT:      },5491// JSON-NEXT:      "name": "q",5492// JSON-NEXT:      "mangledName": "_ZN5test51qE",5493// JSON-NEXT:      "type": {5494// JSON-NEXT:       "qualType": "void (*)()"5495// JSON-NEXT:      },5496// JSON-NEXT:      "init": "c",5497// JSON-NEXT:      "inner": [5498// JSON-NEXT:       {5499// JSON-NEXT:        "id": "0x{{.*}}",5500// JSON-NEXT:        "kind": "ImplicitCastExpr",5501// JSON-NEXT:        "range": {5502// JSON-NEXT:         "begin": {5503// JSON-NEXT:          "offset": 3414,5504// JSON-NEXT:          "col": 15,5505// JSON-NEXT:          "tokLen": 15506// JSON-NEXT:         },5507// JSON-NEXT:         "end": {5508// JSON-NEXT:          "offset": 3416,5509// JSON-NEXT:          "col": 17,5510// JSON-NEXT:          "tokLen": 15511// JSON-NEXT:         }5512// JSON-NEXT:        },5513// JSON-NEXT:        "type": {5514// JSON-NEXT:         "qualType": "void (*)()"5515// JSON-NEXT:        },5516// JSON-NEXT:        "valueCategory": "prvalue",5517// JSON-NEXT:        "castKind": "FunctionToPointerDecay",5518// JSON-NEXT:        "inner": [5519// JSON-NEXT:         {5520// JSON-NEXT:          "id": "0x{{.*}}",5521// JSON-NEXT:          "kind": "DeclRefExpr",5522// JSON-NEXT:          "range": {5523// JSON-NEXT:           "begin": {5524// JSON-NEXT:            "offset": 3414,5525// JSON-NEXT:            "col": 15,5526// JSON-NEXT:            "tokLen": 15527// JSON-NEXT:           },5528// JSON-NEXT:           "end": {5529// JSON-NEXT:            "offset": 3416,5530// JSON-NEXT:            "col": 17,5531// JSON-NEXT:            "tokLen": 15532// JSON-NEXT:           }5533// JSON-NEXT:          },5534// JSON-NEXT:          "type": {5535// JSON-NEXT:           "qualType": "void ()"5536// JSON-NEXT:          },5537// JSON-NEXT:          "valueCategory": "lvalue",5538// JSON-NEXT:          "referencedDecl": {5539// JSON-NEXT:           "id": "0x{{.*}}",5540// JSON-NEXT:           "kind": "FunctionDecl",5541// JSON-NEXT:           "name": "f",5542// JSON-NEXT:           "type": {5543// JSON-NEXT:            "qualType": "void ()"5544// JSON-NEXT:           }5545// JSON-NEXT:          },5546// JSON-NEXT:          "foundReferencedDecl": {5547// JSON-NEXT:           "id": "0x{{.*}}",5548// JSON-NEXT:           "kind": "FunctionTemplateDecl",5549// JSON-NEXT:           "name": "f"5550// JSON-NEXT:          }5551// JSON-NEXT:         }5552// JSON-NEXT:        ]5553// JSON-NEXT:       }5554// JSON-NEXT:      ]5555// JSON-NEXT:     }5556// JSON-NEXT:    ]5557// JSON-NEXT:   },5558// JSON-NEXT:   {5559// JSON-NEXT:    "id": "0x{{.*}}",5560// JSON-NEXT:    "kind": "NamespaceDecl",5561// JSON-NEXT:    "loc": {5562// JSON-NEXT:     "offset": 3645,5563// JSON-NEXT:     "line": 116,5564// JSON-NEXT:     "col": 11,5565// JSON-NEXT:     "tokLen": 55566// JSON-NEXT:    },5567// JSON-NEXT:    "range": {5568// JSON-NEXT:     "begin": {5569// JSON-NEXT:      "offset": 3635,5570// JSON-NEXT:      "col": 1,5571// JSON-NEXT:      "tokLen": 95572// JSON-NEXT:     },5573// JSON-NEXT:     "end": {5574// JSON-NEXT:      "offset": 4000,5575// JSON-NEXT:      "line": 128,5576// JSON-NEXT:      "col": 1,5577// JSON-NEXT:      "tokLen": 15578// JSON-NEXT:     }5579// JSON-NEXT:    },5580// JSON-NEXT:    "name": "test6",5581// JSON-NEXT:    "inner": [5582// JSON-NEXT:     {5583// JSON-NEXT:      "id": "0x{{.*}}",5584// JSON-NEXT:      "kind": "VarTemplateDecl",5585// JSON-NEXT:      "loc": {5586// JSON-NEXT:       "offset": 3687,5587// JSON-NEXT:       "line": 118,5588// JSON-NEXT:       "col": 16,5589// JSON-NEXT:       "tokLen": 15590// JSON-NEXT:      },5591// JSON-NEXT:      "range": {5592// JSON-NEXT:       "begin": {5593// JSON-NEXT:        "offset": 3653,5594// JSON-NEXT:        "line": 117,5595// JSON-NEXT:        "col": 1,5596// JSON-NEXT:        "tokLen": 85597// JSON-NEXT:       },5598// JSON-NEXT:       "end": {5599// JSON-NEXT:        "offset": 3691,5600// JSON-NEXT:        "line": 118,5601// JSON-NEXT:        "col": 20,5602// JSON-NEXT:        "tokLen": 45603// JSON-NEXT:       }5604// JSON-NEXT:      },5605// JSON-NEXT:      "name": "C",5606// JSON-NEXT:      "inner": [5607// JSON-NEXT:       {5608// JSON-NEXT:        "id": "0x{{.*}}",5609// JSON-NEXT:        "kind": "TemplateTypeParmDecl",5610// JSON-NEXT:        "loc": {5611// JSON-NEXT:         "offset": 3669,5612// JSON-NEXT:         "line": 117,5613// JSON-NEXT:         "col": 17,5614// JSON-NEXT:         "tokLen": 15615// JSON-NEXT:        },5616// JSON-NEXT:        "range": {5617// JSON-NEXT:         "begin": {5618// JSON-NEXT:          "offset": 3663,5619// JSON-NEXT:          "col": 11,5620// JSON-NEXT:          "tokLen": 55621// JSON-NEXT:         },5622// JSON-NEXT:         "end": {5623// JSON-NEXT:          "offset": 3669,5624// JSON-NEXT:          "col": 17,5625// JSON-NEXT:          "tokLen": 15626// JSON-NEXT:         }5627// JSON-NEXT:        },5628// JSON-NEXT:        "name": "D",5629// JSON-NEXT:        "tagUsed": "class",5630// JSON-NEXT:        "depth": 0,5631// JSON-NEXT:        "index": 05632// JSON-NEXT:       },5633// JSON-NEXT:       {5634// JSON-NEXT:        "id": "0x{{.*}}",5635// JSON-NEXT:        "kind": "VarDecl",5636// JSON-NEXT:        "loc": {5637// JSON-NEXT:         "offset": 3687,5638// JSON-NEXT:         "line": 118,5639// JSON-NEXT:         "col": 16,5640// JSON-NEXT:         "tokLen": 15641// JSON-NEXT:        },5642// JSON-NEXT:        "range": {5643// JSON-NEXT:         "begin": {5644// JSON-NEXT:          "offset": 3672,5645// JSON-NEXT:          "col": 1,5646// JSON-NEXT:          "tokLen": 95647// JSON-NEXT:         },5648// JSON-NEXT:         "end": {5649// JSON-NEXT:          "offset": 3691,5650// JSON-NEXT:          "col": 20,5651// JSON-NEXT:          "tokLen": 45652// JSON-NEXT:         }5653// JSON-NEXT:        },5654// JSON-NEXT:        "name": "C",5655// JSON-NEXT:        "type": {5656// JSON-NEXT:         "qualType": "const bool"5657// JSON-NEXT:        },5658// JSON-NEXT:        "constexpr": true,5659// JSON-NEXT:        "init": "c",5660// JSON-NEXT:        "TemplateInstantiationPattern": "0x{{.*}}",5661// JSON-NEXT:        "inner": [5662// JSON-NEXT:         {5663// JSON-NEXT:          "id": "0x{{.*}}",5664// JSON-NEXT:          "kind": "CXXBoolLiteralExpr",5665// JSON-NEXT:          "range": {5666// JSON-NEXT:           "begin": {5667// JSON-NEXT:            "offset": 3691,5668// JSON-NEXT:            "col": 20,5669// JSON-NEXT:            "tokLen": 45670// JSON-NEXT:           },5671// JSON-NEXT:           "end": {5672// JSON-NEXT:            "offset": 3691,5673// JSON-NEXT:            "col": 20,5674// JSON-NEXT:            "tokLen": 45675// JSON-NEXT:           }5676// JSON-NEXT:          },5677// JSON-NEXT:          "type": {5678// JSON-NEXT:           "qualType": "bool"5679// JSON-NEXT:          },5680// JSON-NEXT:          "valueCategory": "prvalue",5681// JSON-NEXT:          "value": true5682// JSON-NEXT:         }5683// JSON-NEXT:        ]5684// JSON-NEXT:       }5685// JSON-NEXT:      ]5686// JSON-NEXT:     },5687// JSON-NEXT:     {5688// JSON-NEXT:      "id": "0x{{.*}}",5689// JSON-NEXT:      "kind": "FunctionTemplateDecl",5690// JSON-NEXT:      "loc": {5691// JSON-NEXT:       "offset": 3724,5692// JSON-NEXT:       "line": 121,5693// JSON-NEXT:       "col": 6,5694// JSON-NEXT:       "tokLen": 45695// JSON-NEXT:      },5696// JSON-NEXT:      "range": {5697// JSON-NEXT:       "begin": {5698// JSON-NEXT:        "offset": 3698,5699// JSON-NEXT:        "line": 120,5700// JSON-NEXT:        "col": 1,5701// JSON-NEXT:        "tokLen": 85702// JSON-NEXT:       },5703// JSON-NEXT:       "end": {5704// JSON-NEXT:        "offset": 3998,5705// JSON-NEXT:        "line": 127,5706// JSON-NEXT:        "col": 1,5707// JSON-NEXT:        "tokLen": 15708// JSON-NEXT:       }5709// JSON-NEXT:      },5710// JSON-NEXT:      "name": "func",5711// JSON-NEXT:      "inner": [5712// JSON-NEXT:       {5713// JSON-NEXT:        "id": "0x{{.*}}",5714// JSON-NEXT:        "kind": "TemplateTypeParmDecl",5715// JSON-NEXT:        "loc": {5716// JSON-NEXT:         "offset": 3714,5717// JSON-NEXT:         "line": 120,5718// JSON-NEXT:         "col": 17,5719// JSON-NEXT:         "tokLen": 35720// JSON-NEXT:        },5721// JSON-NEXT:        "range": {5722// JSON-NEXT:         "begin": {5723// JSON-NEXT:          "offset": 3708,5724// JSON-NEXT:          "col": 11,5725// JSON-NEXT:          "tokLen": 55726// JSON-NEXT:         },5727// JSON-NEXT:         "end": {5728// JSON-NEXT:          "offset": 3714,5729// JSON-NEXT:          "col": 17,5730// JSON-NEXT:          "tokLen": 35731// JSON-NEXT:         }5732// JSON-NEXT:        },5733// JSON-NEXT:        "isReferenced": true,5734// JSON-NEXT:        "name": "Key",5735// JSON-NEXT:        "tagUsed": "class",5736// JSON-NEXT:        "depth": 0,5737// JSON-NEXT:        "index": 05738// JSON-NEXT:       },5739// JSON-NEXT:       {5740// JSON-NEXT:        "id": "0x{{.*}}",5741// JSON-NEXT:        "kind": "FunctionDecl",5742// JSON-NEXT:        "loc": {5743// JSON-NEXT:         "offset": 3724,5744// JSON-NEXT:         "line": 121,5745// JSON-NEXT:         "col": 6,5746// JSON-NEXT:         "tokLen": 45747// JSON-NEXT:        },5748// JSON-NEXT:        "range": {5749// JSON-NEXT:         "begin": {5750// JSON-NEXT:          "offset": 3719,5751// JSON-NEXT:          "col": 1,5752// JSON-NEXT:          "tokLen": 45753// JSON-NEXT:         },5754// JSON-NEXT:         "end": {5755// JSON-NEXT:          "offset": 3998,5756// JSON-NEXT:          "line": 127,5757// JSON-NEXT:          "col": 1,5758// JSON-NEXT:          "tokLen": 15759// JSON-NEXT:         }5760// JSON-NEXT:        },5761// JSON-NEXT:        "name": "func",5762// JSON-NEXT:        "type": {5763// JSON-NEXT:         "qualType": "void ()"5764// JSON-NEXT:        },5765// JSON-NEXT:        "inner": [5766// JSON-NEXT:         {5767// JSON-NEXT:          "id": "0x{{.*}}",5768// JSON-NEXT:          "kind": "CompoundStmt",5769// JSON-NEXT:          "range": {5770// JSON-NEXT:           "begin": {5771// JSON-NEXT:            "offset": 3731,5772// JSON-NEXT:            "line": 121,5773// JSON-NEXT:            "col": 13,5774// JSON-NEXT:            "tokLen": 15775// JSON-NEXT:           },5776// JSON-NEXT:           "end": {5777// JSON-NEXT:            "offset": 3998,5778// JSON-NEXT:            "line": 127,5779// JSON-NEXT:            "col": 1,5780// JSON-NEXT:            "tokLen": 15781// JSON-NEXT:           }5782// JSON-NEXT:          },5783// JSON-NEXT:          "inner": [5784// JSON-NEXT:           {5785// JSON-NEXT:            "id": "0x{{.*}}",5786// JSON-NEXT:            "kind": "UnresolvedLookupExpr",5787// JSON-NEXT:            "range": {5788// JSON-NEXT:             "begin": {5789// JSON-NEXT:              "offset": 3735,5790// JSON-NEXT:              "line": 122,5791// JSON-NEXT:              "col": 3,5792// JSON-NEXT:              "tokLen": 15793// JSON-NEXT:             },5794// JSON-NEXT:             "end": {5795// JSON-NEXT:              "offset": 3740,5796// JSON-NEXT:              "col": 8,5797// JSON-NEXT:              "tokLen": 15798// JSON-NEXT:             }5799// JSON-NEXT:            },5800// JSON-NEXT:            "type": {5801// JSON-NEXT:             "qualType": "<dependent type>"5802// JSON-NEXT:            },5803// JSON-NEXT:            "valueCategory": "lvalue",5804// JSON-NEXT:            "usesADL": false,5805// JSON-NEXT:            "name": "C",5806// JSON-NEXT:            "lookups": [5807// JSON-NEXT:             {5808// JSON-NEXT:              "id": "0x{{.*}}",5809// JSON-NEXT:              "kind": "VarTemplateDecl",5810// JSON-NEXT:              "name": "C"5811// JSON-NEXT:             }5812// JSON-NEXT:            ],5813// JSON-NEXT:            "inner": [5814// JSON-NEXT:             {5815// JSON-NEXT:              "kind": "TemplateArgument",5816// JSON-NEXT:              "type": {5817// JSON-NEXT:               "qualType": "Key"5818// JSON-NEXT:              },5819// JSON-NEXT:              "inner": [5820// JSON-NEXT:               {5821// JSON-NEXT:                "id": "0x{{.*}}",5822// JSON-NEXT:                "kind": "TemplateTypeParmType",5823// JSON-NEXT:                "type": {5824// JSON-NEXT:                 "qualType": "Key"5825// JSON-NEXT:                },5826// JSON-NEXT:                "isDependent": true,5827// JSON-NEXT:                "isInstantiationDependent": true,5828// JSON-NEXT:                "depth": 0,5829// JSON-NEXT:                "index": 0,5830// JSON-NEXT:                "decl": {5831// JSON-NEXT:                 "id": "0x{{.*}}",5832// JSON-NEXT:                 "kind": "TemplateTypeParmDecl",5833// JSON-NEXT:                 "name": "Key"5834// JSON-NEXT:                }5835// JSON-NEXT:               }5836// JSON-NEXT:              ]5837// JSON-NEXT:             }5838// JSON-NEXT:            ]5839// JSON-NEXT:           }5840// JSON-NEXT:          ]5841// JSON-NEXT:         }5842// JSON-NEXT:        ]5843// JSON-NEXT:       }5844// JSON-NEXT:      ]5845// JSON-NEXT:     }5846// JSON-NEXT:    ]5847// JSON-NEXT:   },5848// JSON-NEXT:   {5849// JSON-NEXT:    "id": "0x{{.*}}",5850// JSON-NEXT:    "kind": "NamespaceDecl",5851// JSON-NEXT:    "loc": {5852// JSON-NEXT:     "offset": 4013,5853// JSON-NEXT:     "line": 130,5854// JSON-NEXT:     "col": 11,5855// JSON-NEXT:     "tokLen": 55856// JSON-NEXT:    },5857// JSON-NEXT:    "range": {5858// JSON-NEXT:     "begin": {5859// JSON-NEXT:      "offset": 4003,5860// JSON-NEXT:      "col": 1,5861// JSON-NEXT:      "tokLen": 95862// JSON-NEXT:     },5863// JSON-NEXT:     "end": {5864// JSON-NEXT:      "offset": 4553,5865// JSON-NEXT:      "line": 140,5866// JSON-NEXT:      "col": 1,5867// JSON-NEXT:      "tokLen": 15868// JSON-NEXT:     }5869// JSON-NEXT:    },5870// JSON-NEXT:    "name": "test7",5871// JSON-NEXT:    "inner": [5872// JSON-NEXT:     {5873// JSON-NEXT:      "id": "0x{{.*}}",5874// JSON-NEXT:      "kind": "ClassTemplateDecl",5875// JSON-NEXT:      "loc": {5876// JSON-NEXT:       "offset": 4066,5877// JSON-NEXT:       "line": 131,5878// JSON-NEXT:       "col": 46,5879// JSON-NEXT:       "tokLen": 15880// JSON-NEXT:      },5881// JSON-NEXT:      "range": {5882// JSON-NEXT:       "begin": {5883// JSON-NEXT:        "offset": 4023,5884// JSON-NEXT:        "col": 3,5885// JSON-NEXT:        "tokLen": 85886// JSON-NEXT:       },5887// JSON-NEXT:       "end": {5888// JSON-NEXT:        "offset": 4069,5889// JSON-NEXT:        "col": 49,5890// JSON-NEXT:        "tokLen": 15891// JSON-NEXT:       }5892// JSON-NEXT:      },5893// JSON-NEXT:      "name": "A",5894// JSON-NEXT:      "inner": [5895// JSON-NEXT:       {5896// JSON-NEXT:        "id": "0x{{.*}}",5897// JSON-NEXT:        "kind": "TemplateTemplateParmDecl",5898// JSON-NEXT:        "loc": {5899// JSON-NEXT:         "offset": 4055,5900// JSON-NEXT:         "col": 35,5901// JSON-NEXT:         "tokLen": 25902// JSON-NEXT:        },5903// JSON-NEXT:        "range": {5904// JSON-NEXT:         "begin": {5905// JSON-NEXT:          "offset": 4033,5906// JSON-NEXT:          "col": 13,5907// JSON-NEXT:          "tokLen": 85908// JSON-NEXT:         },5909// JSON-NEXT:         "end": {5910// JSON-NEXT:          "offset": 4055,5911// JSON-NEXT:          "col": 35,5912// JSON-NEXT:          "tokLen": 25913// JSON-NEXT:         }5914// JSON-NEXT:        },5915// JSON-NEXT:        "name": "TT",5916// JSON-NEXT:        "depth": 0,5917// JSON-NEXT:        "index": 0,5918// JSON-NEXT:        "inner": [5919// JSON-NEXT:         {5920// JSON-NEXT:          "id": "0x{{.*}}",5921// JSON-NEXT:          "kind": "TemplateTypeParmDecl",5922// JSON-NEXT:          "loc": {5923// JSON-NEXT:           "offset": 4047,5924// JSON-NEXT:           "col": 27,5925// JSON-NEXT:           "tokLen": 15926// JSON-NEXT:          },5927// JSON-NEXT:          "range": {5928// JSON-NEXT:           "begin": {5929// JSON-NEXT:            "offset": 4042,5930// JSON-NEXT:            "col": 22,5931// JSON-NEXT:            "tokLen": 55932// JSON-NEXT:           },5933// JSON-NEXT:           "end": {5934// JSON-NEXT:            "offset": 4042,5935// JSON-NEXT:            "col": 22,5936// JSON-NEXT:            "tokLen": 55937// JSON-NEXT:           }5938// JSON-NEXT:          },5939// JSON-NEXT:          "tagUsed": "class",5940// JSON-NEXT:          "depth": 1,5941// JSON-NEXT:          "index": 05942// JSON-NEXT:         }5943// JSON-NEXT:        ]5944// JSON-NEXT:       },5945// JSON-NEXT:       {5946// JSON-NEXT:        "id": "0x{{.*}}",5947// JSON-NEXT:        "kind": "CXXRecordDecl",5948// JSON-NEXT:        "loc": {5949// JSON-NEXT:         "offset": 4066,5950// JSON-NEXT:         "col": 46,5951// JSON-NEXT:         "tokLen": 15952// JSON-NEXT:        },5953// JSON-NEXT:        "range": {5954// JSON-NEXT:         "begin": {5955// JSON-NEXT:          "offset": 4059,5956// JSON-NEXT:          "col": 39,5957// JSON-NEXT:          "tokLen": 65958// JSON-NEXT:         },5959// JSON-NEXT:         "end": {5960// JSON-NEXT:          "offset": 4069,5961// JSON-NEXT:          "col": 49,5962// JSON-NEXT:          "tokLen": 15963// JSON-NEXT:         }5964// JSON-NEXT:        },5965// JSON-NEXT:        "name": "A",5966// JSON-NEXT:        "tagUsed": "struct",5967// JSON-NEXT:        "completeDefinition": true,5968// JSON-NEXT:        "definitionData": {5969// JSON-NEXT:         "canConstDefaultInit": true,5970// JSON-NEXT:         "copyAssign": {5971// JSON-NEXT:          "hasConstParam": true,5972// JSON-NEXT:          "implicitHasConstParam": true,5973// JSON-NEXT:          "needsImplicit": true,5974// JSON-NEXT:          "simple": true,5975// JSON-NEXT:          "trivial": true5976// JSON-NEXT:         },5977// JSON-NEXT:         "copyCtor": {5978// JSON-NEXT:          "hasConstParam": true,5979// JSON-NEXT:          "implicitHasConstParam": true,5980// JSON-NEXT:          "needsImplicit": true,5981// JSON-NEXT:          "simple": true,5982// JSON-NEXT:          "trivial": true5983// JSON-NEXT:         },5984// JSON-NEXT:         "defaultCtor": {5985// JSON-NEXT:          "defaultedIsConstexpr": true,5986// JSON-NEXT:          "exists": true,5987// JSON-NEXT:          "isConstexpr": true,5988// JSON-NEXT:          "needsImplicit": true,5989// JSON-NEXT:          "trivial": true5990// JSON-NEXT:         },5991// JSON-NEXT:         "dtor": {5992// JSON-NEXT:          "irrelevant": true,5993// JSON-NEXT:          "needsImplicit": true,5994// JSON-NEXT:          "simple": true,5995// JSON-NEXT:          "trivial": true5996// JSON-NEXT:         },5997// JSON-NEXT:         "hasConstexprNonCopyMoveConstructor": true,5998// JSON-NEXT:         "isAggregate": true,5999// JSON-NEXT:         "isEmpty": true,6000// JSON-NEXT:         "isLiteral": true,6001// JSON-NEXT:         "isPOD": true,6002// JSON-NEXT:         "isStandardLayout": true,6003// JSON-NEXT:         "isTrivial": true,6004// JSON-NEXT:         "isTriviallyCopyable": true,6005// JSON-NEXT:         "moveAssign": {6006// JSON-NEXT:          "exists": true,6007// JSON-NEXT:          "needsImplicit": true,6008// JSON-NEXT:          "simple": true,6009// JSON-NEXT:          "trivial": true6010// JSON-NEXT:         },6011// JSON-NEXT:         "moveCtor": {6012// JSON-NEXT:          "exists": true,6013// JSON-NEXT:          "needsImplicit": true,6014// JSON-NEXT:          "simple": true,6015// JSON-NEXT:          "trivial": true6016// JSON-NEXT:         }6017// JSON-NEXT:        },6018// JSON-NEXT:        "inner": [6019// JSON-NEXT:         {6020// JSON-NEXT:          "id": "0x{{.*}}",6021// JSON-NEXT:          "kind": "CXXRecordDecl",6022// JSON-NEXT:          "loc": {6023// JSON-NEXT:           "offset": 4066,6024// JSON-NEXT:           "col": 46,6025// JSON-NEXT:           "tokLen": 16026// JSON-NEXT:          },6027// JSON-NEXT:          "range": {6028// JSON-NEXT:           "begin": {6029// JSON-NEXT:            "offset": 4059,6030// JSON-NEXT:            "col": 39,6031// JSON-NEXT:            "tokLen": 66032// JSON-NEXT:           },6033// JSON-NEXT:           "end": {6034// JSON-NEXT:            "offset": 4066,6035// JSON-NEXT:            "col": 46,6036// JSON-NEXT:            "tokLen": 16037// JSON-NEXT:           }6038// JSON-NEXT:          },6039// JSON-NEXT:          "isImplicit": true,6040// JSON-NEXT:          "name": "A",6041// JSON-NEXT:          "tagUsed": "struct"6042// JSON-NEXT:         }6043// JSON-NEXT:        ]6044// JSON-NEXT:       },6045// JSON-NEXT:       {6046// JSON-NEXT:        "id": "0x{{.*}}",6047// JSON-NEXT:        "kind": "ClassTemplateSpecializationDecl",6048// JSON-NEXT:        "name": "A"6049// JSON-NEXT:       }6050// JSON-NEXT:      ]6051// JSON-NEXT:     },6052// JSON-NEXT:     {6053// JSON-NEXT:      "id": "0x{{.*}}",6054// JSON-NEXT:      "kind": "ClassTemplateDecl",6055// JSON-NEXT:      "loc": {6056// JSON-NEXT:       "offset": 4100,6057// JSON-NEXT:       "line": 132,6058// JSON-NEXT:       "col": 29,6059// JSON-NEXT:       "tokLen": 16060// JSON-NEXT:      },6061// JSON-NEXT:      "range": {6062// JSON-NEXT:       "begin": {6063// JSON-NEXT:        "offset": 4074,6064// JSON-NEXT:        "col": 3,6065// JSON-NEXT:        "tokLen": 86066// JSON-NEXT:       },6067// JSON-NEXT:       "end": {6068// JSON-NEXT:        "offset": 4103,6069// JSON-NEXT:        "col": 32,6070// JSON-NEXT:        "tokLen": 16071// JSON-NEXT:       }6072// JSON-NEXT:      },6073// JSON-NEXT:      "name": "B",6074// JSON-NEXT:      "inner": [6075// JSON-NEXT:       {6076// JSON-NEXT:        "id": "0x{{.*}}",6077// JSON-NEXT:        "kind": "TemplateTypeParmDecl",6078// JSON-NEXT:        "loc": {6079// JSON-NEXT:         "offset": 4092,6080// JSON-NEXT:         "col": 21,6081// JSON-NEXT:         "tokLen": 16082// JSON-NEXT:        },6083// JSON-NEXT:        "range": {6084// JSON-NEXT:         "begin": {6085// JSON-NEXT:          "offset": 4084,6086// JSON-NEXT:          "col": 13,6087// JSON-NEXT:          "tokLen": 56088// JSON-NEXT:         },6089// JSON-NEXT:         "end": {6090// JSON-NEXT:          "offset": 4084,6091// JSON-NEXT:          "col": 13,6092// JSON-NEXT:          "tokLen": 56093// JSON-NEXT:         }6094// JSON-NEXT:        },6095// JSON-NEXT:        "tagUsed": "class",6096// JSON-NEXT:        "depth": 0,6097// JSON-NEXT:        "index": 0,6098// JSON-NEXT:        "isParameterPack": true6099// JSON-NEXT:       },6100// JSON-NEXT:       {6101// JSON-NEXT:        "id": "0x{{.*}}",6102// JSON-NEXT:        "kind": "CXXRecordDecl",6103// JSON-NEXT:        "loc": {6104// JSON-NEXT:         "offset": 4100,6105// JSON-NEXT:         "col": 29,6106// JSON-NEXT:         "tokLen": 16107// JSON-NEXT:        },6108// JSON-NEXT:        "range": {6109// JSON-NEXT:         "begin": {6110// JSON-NEXT:          "offset": 4094,6111// JSON-NEXT:          "col": 23,6112// JSON-NEXT:          "tokLen": 56113// JSON-NEXT:         },6114// JSON-NEXT:         "end": {6115// JSON-NEXT:          "offset": 4103,6116// JSON-NEXT:          "col": 32,6117// JSON-NEXT:          "tokLen": 16118// JSON-NEXT:         }6119// JSON-NEXT:        },6120// JSON-NEXT:        "name": "B",6121// JSON-NEXT:        "tagUsed": "class",6122// JSON-NEXT:        "completeDefinition": true,6123// JSON-NEXT:        "definitionData": {6124// JSON-NEXT:         "canConstDefaultInit": true,6125// JSON-NEXT:         "copyAssign": {6126// JSON-NEXT:          "hasConstParam": true,6127// JSON-NEXT:          "implicitHasConstParam": true,6128// JSON-NEXT:          "needsImplicit": true,6129// JSON-NEXT:          "simple": true,6130// JSON-NEXT:          "trivial": true6131// JSON-NEXT:         },6132// JSON-NEXT:         "copyCtor": {6133// JSON-NEXT:          "hasConstParam": true,6134// JSON-NEXT:          "implicitHasConstParam": true,6135// JSON-NEXT:          "needsImplicit": true,6136// JSON-NEXT:          "simple": true,6137// JSON-NEXT:          "trivial": true6138// JSON-NEXT:         },6139// JSON-NEXT:         "defaultCtor": {6140// JSON-NEXT:          "defaultedIsConstexpr": true,6141// JSON-NEXT:          "exists": true,6142// JSON-NEXT:          "isConstexpr": true,6143// JSON-NEXT:          "needsImplicit": true,6144// JSON-NEXT:          "trivial": true6145// JSON-NEXT:         },6146// JSON-NEXT:         "dtor": {6147// JSON-NEXT:          "irrelevant": true,6148// JSON-NEXT:          "needsImplicit": true,6149// JSON-NEXT:          "simple": true,6150// JSON-NEXT:          "trivial": true6151// JSON-NEXT:         },6152// JSON-NEXT:         "hasConstexprNonCopyMoveConstructor": true,6153// JSON-NEXT:         "isAggregate": true,6154// JSON-NEXT:         "isEmpty": true,6155// JSON-NEXT:         "isLiteral": true,6156// JSON-NEXT:         "isPOD": true,6157// JSON-NEXT:         "isStandardLayout": true,6158// JSON-NEXT:         "isTrivial": true,6159// JSON-NEXT:         "isTriviallyCopyable": true,6160// JSON-NEXT:         "moveAssign": {6161// JSON-NEXT:          "exists": true,6162// JSON-NEXT:          "needsImplicit": true,6163// JSON-NEXT:          "simple": true,6164// JSON-NEXT:          "trivial": true6165// JSON-NEXT:         },6166// JSON-NEXT:         "moveCtor": {6167// JSON-NEXT:          "exists": true,6168// JSON-NEXT:          "needsImplicit": true,6169// JSON-NEXT:          "simple": true,6170// JSON-NEXT:          "trivial": true6171// JSON-NEXT:         }6172// JSON-NEXT:        },6173// JSON-NEXT:        "inner": [6174// JSON-NEXT:         {6175// JSON-NEXT:          "id": "0x{{.*}}",6176// JSON-NEXT:          "kind": "CXXRecordDecl",6177// JSON-NEXT:          "loc": {6178// JSON-NEXT:           "offset": 4100,6179// JSON-NEXT:           "col": 29,6180// JSON-NEXT:           "tokLen": 16181// JSON-NEXT:          },6182// JSON-NEXT:          "range": {6183// JSON-NEXT:           "begin": {6184// JSON-NEXT:            "offset": 4094,6185// JSON-NEXT:            "col": 23,6186// JSON-NEXT:            "tokLen": 56187// JSON-NEXT:           },6188// JSON-NEXT:           "end": {6189// JSON-NEXT:            "offset": 4100,6190// JSON-NEXT:            "col": 29,6191// JSON-NEXT:            "tokLen": 16192// JSON-NEXT:           }6193// JSON-NEXT:          },6194// JSON-NEXT:          "isImplicit": true,6195// JSON-NEXT:          "name": "B",6196// JSON-NEXT:          "tagUsed": "class"6197// JSON-NEXT:         }6198// JSON-NEXT:        ]6199// JSON-NEXT:       }6200// JSON-NEXT:      ]6201// JSON-NEXT:     },6202// JSON-NEXT:     {6203// JSON-NEXT:      "id": "0x{{.*}}",6204// JSON-NEXT:      "kind": "ClassTemplateSpecializationDecl",6205// JSON-NEXT:      "loc": {6206// JSON-NEXT:       "offset": 4124,6207// JSON-NEXT:       "line": 133,6208// JSON-NEXT:       "col": 19,6209// JSON-NEXT:       "tokLen": 16210// JSON-NEXT:      },6211// JSON-NEXT:      "range": {6212// JSON-NEXT:       "begin": {6213// JSON-NEXT:        "offset": 4108,6214// JSON-NEXT:        "col": 3,6215// JSON-NEXT:        "tokLen": 86216// JSON-NEXT:       },6217// JSON-NEXT:       "end": {6218// JSON-NEXT:        "offset": 4127,6219// JSON-NEXT:        "col": 22,6220// JSON-NEXT:        "tokLen": 16221// JSON-NEXT:       }6222// JSON-NEXT:      },6223// JSON-NEXT:      "name": "A",6224// JSON-NEXT:      "tagUsed": "struct",6225// JSON-NEXT:      "completeDefinition": true,6226// JSON-NEXT:      "strict-pack-match": true,6227// JSON-NEXT:      "TemplateInstantiationPattern": "0x{{.*}}",6228// JSON-NEXT:      "definitionData": {6229// JSON-NEXT:       "canConstDefaultInit": true,6230// JSON-NEXT:       "canPassInRegisters": true,6231// JSON-NEXT:       "copyAssign": {6232// JSON-NEXT:        "hasConstParam": true,6233// JSON-NEXT:        "implicitHasConstParam": true,6234// JSON-NEXT:        "needsImplicit": true,6235// JSON-NEXT:        "simple": true,6236// JSON-NEXT:        "trivial": true6237// JSON-NEXT:       },6238// JSON-NEXT:       "copyCtor": {6239// JSON-NEXT:        "hasConstParam": true,6240// JSON-NEXT:        "implicitHasConstParam": true,6241// JSON-NEXT:        "needsImplicit": true,6242// JSON-NEXT:        "simple": true,6243// JSON-NEXT:        "trivial": true6244// JSON-NEXT:       },6245// JSON-NEXT:       "defaultCtor": {6246// JSON-NEXT:        "defaultedIsConstexpr": true,6247// JSON-NEXT:        "exists": true,6248// JSON-NEXT:        "isConstexpr": true,6249// JSON-NEXT:        "needsImplicit": true,6250// JSON-NEXT:        "trivial": true6251// JSON-NEXT:       },6252// JSON-NEXT:       "dtor": {6253// JSON-NEXT:        "irrelevant": true,6254// JSON-NEXT:        "needsImplicit": true,6255// JSON-NEXT:        "simple": true,6256// JSON-NEXT:        "trivial": true6257// JSON-NEXT:       },6258// JSON-NEXT:       "hasConstexprNonCopyMoveConstructor": true,6259// JSON-NEXT:       "isAggregate": true,6260// JSON-NEXT:       "isEmpty": true,6261// JSON-NEXT:       "isLiteral": true,6262// JSON-NEXT:       "isPOD": true,6263// JSON-NEXT:       "isStandardLayout": true,6264// JSON-NEXT:       "isTrivial": true,6265// JSON-NEXT:       "isTriviallyCopyable": true,6266// JSON-NEXT:       "moveAssign": {6267// JSON-NEXT:        "exists": true,6268// JSON-NEXT:        "needsImplicit": true,6269// JSON-NEXT:        "simple": true,6270// JSON-NEXT:        "trivial": true6271// JSON-NEXT:       },6272// JSON-NEXT:       "moveCtor": {6273// JSON-NEXT:        "exists": true,6274// JSON-NEXT:        "needsImplicit": true,6275// JSON-NEXT:        "simple": true,6276// JSON-NEXT:        "trivial": true6277// JSON-NEXT:       }6278// JSON-NEXT:      },6279// JSON-NEXT:      "inner": [6280// JSON-NEXT:       {6281// JSON-NEXT:        "kind": "TemplateArgument"6282// JSON-NEXT:       },6283// JSON-NEXT:       {6284// JSON-NEXT:        "id": "0x{{.*}}",6285// JSON-NEXT:        "kind": "CXXRecordDecl",6286// JSON-NEXT:        "loc": {6287// JSON-NEXT:         "offset": 4066,6288// JSON-NEXT:         "line": 131,6289// JSON-NEXT:         "col": 46,6290// JSON-NEXT:         "tokLen": 16291// JSON-NEXT:        },6292// JSON-NEXT:        "range": {6293// JSON-NEXT:         "begin": {6294// JSON-NEXT:          "offset": 4059,6295// JSON-NEXT:          "col": 39,6296// JSON-NEXT:          "tokLen": 66297// JSON-NEXT:         },6298// JSON-NEXT:         "end": {6299// JSON-NEXT:          "offset": 4066,6300// JSON-NEXT:          "col": 46,6301// JSON-NEXT:          "tokLen": 16302// JSON-NEXT:         }6303// JSON-NEXT:        },6304// JSON-NEXT:        "isImplicit": true,6305// JSON-NEXT:        "name": "A",6306// JSON-NEXT:        "tagUsed": "struct"6307// JSON-NEXT:       }6308// JSON-NEXT:      ]6309// JSON-NEXT:     }6310// JSON-NEXT:    ]6311// JSON-NEXT:   },6312// JSON-NEXT:   {6313// JSON-NEXT:    "id": "0x{{.*}}",6314// JSON-NEXT:    "kind": "NamespaceDecl",6315// JSON-NEXT:    "loc": {6316// JSON-NEXT:     "offset": 4584,6317// JSON-NEXT:     "line": 142,6318// JSON-NEXT:     "col": 11,6319// JSON-NEXT:     "tokLen": 56320// JSON-NEXT:    },6321// JSON-NEXT:    "range": {6322// JSON-NEXT:     "begin": {6323// JSON-NEXT:      "offset": 4574,6324// JSON-NEXT:      "col": 1,6325// JSON-NEXT:      "tokLen": 96326// JSON-NEXT:     },6327// JSON-NEXT:     "end": {6328// JSON-NEXT:      "offset": 4893,6329// JSON-NEXT:      "line": 151,6330// JSON-NEXT:      "col": 1,6331// JSON-NEXT:      "tokLen": 16332// JSON-NEXT:     }6333// JSON-NEXT:    },6334// JSON-NEXT:    "name": "test8",6335// JSON-NEXT:    "inner": [6336// JSON-NEXT:     {6337// JSON-NEXT:      "id": "0x{{.*}}",6338// JSON-NEXT:      "kind": "ClassTemplateDecl",6339// JSON-NEXT:      "loc": {6340// JSON-NEXT:       "offset": 4624,6341// JSON-NEXT:       "line": 144,6342// JSON-NEXT:       "col": 8,6343// JSON-NEXT:       "tokLen": 86344// JSON-NEXT:      },6345// JSON-NEXT:      "range": {6346// JSON-NEXT:       "begin": {6347// JSON-NEXT:        "offset": 4592,6348// JSON-NEXT:        "line": 143,6349// JSON-NEXT:        "col": 1,6350// JSON-NEXT:        "tokLen": 86351// JSON-NEXT:       },6352// JSON-NEXT:       "end": {6353// JSON-NEXT:        "offset": 4624,6354// JSON-NEXT:        "line": 144,6355// JSON-NEXT:        "col": 8,6356// JSON-NEXT:        "tokLen": 86357// JSON-NEXT:       }6358// JSON-NEXT:      },6359// JSON-NEXT:      "name": "pr126341",6360// JSON-NEXT:      "inner": [6361// JSON-NEXT:       {6362// JSON-NEXT:        "id": "0x{{.*}}",6363// JSON-NEXT:        "kind": "NonTypeTemplateParmDecl",6364// JSON-NEXT:        "loc": {6365// JSON-NEXT:         "offset": 4614,6366// JSON-NEXT:         "line": 143,6367// JSON-NEXT:         "col": 23,6368// JSON-NEXT:         "tokLen": 16369// JSON-NEXT:        },6370// JSON-NEXT:        "range": {6371// JSON-NEXT:         "begin": {6372// JSON-NEXT:          "offset": 4601,6373// JSON-NEXT:          "col": 10,6374// JSON-NEXT:          "tokLen": 86375// JSON-NEXT:         },6376// JSON-NEXT:         "end": {6377// JSON-NEXT:          "offset": 4614,6378// JSON-NEXT:          "col": 23,6379// JSON-NEXT:          "tokLen": 16380// JSON-NEXT:         }6381// JSON-NEXT:        },6382// JSON-NEXT:        "name": "x",6383// JSON-NEXT:        "type": {6384// JSON-NEXT:         "qualType": "_Complex int"6385// JSON-NEXT:        },6386// JSON-NEXT:        "depth": 0,6387// JSON-NEXT:        "index": 06388// JSON-NEXT:       },6389// JSON-NEXT:       {6390// JSON-NEXT:        "id": "0x{{.*}}",6391// JSON-NEXT:        "kind": "CXXRecordDecl",6392// JSON-NEXT:        "loc": {6393// JSON-NEXT:         "offset": 4624,6394// JSON-NEXT:         "line": 144,6395// JSON-NEXT:         "col": 8,6396// JSON-NEXT:         "tokLen": 86397// JSON-NEXT:        },6398// JSON-NEXT:        "range": {6399// JSON-NEXT:         "begin": {6400// JSON-NEXT:          "offset": 4617,6401// JSON-NEXT:          "col": 1,6402// JSON-NEXT:          "tokLen": 66403// JSON-NEXT:         },6404// JSON-NEXT:         "end": {6405// JSON-NEXT:          "offset": 4624,6406// JSON-NEXT:          "col": 8,6407// JSON-NEXT:          "tokLen": 86408// JSON-NEXT:         }6409// JSON-NEXT:        },6410// JSON-NEXT:        "name": "pr126341",6411// JSON-NEXT:        "tagUsed": "struct"6412// JSON-NEXT:       },6413// JSON-NEXT:       {6414// JSON-NEXT:        "id": "0x{{.*}}",6415// JSON-NEXT:        "kind": "ClassTemplateSpecializationDecl",6416// JSON-NEXT:        "name": "pr126341"6417// JSON-NEXT:       }6418// JSON-NEXT:      ]6419// JSON-NEXT:     },6420// JSON-NEXT:     {6421// JSON-NEXT:      "id": "0x{{.*}}",6422// JSON-NEXT:      "kind": "ClassTemplateSpecializationDecl",6423// JSON-NEXT:      "loc": {6424// JSON-NEXT:       "offset": 4652,6425// JSON-NEXT:       "line": 146,6426// JSON-NEXT:       "col": 8,6427// JSON-NEXT:       "tokLen": 86428// JSON-NEXT:      },6429// JSON-NEXT:      "range": {6430// JSON-NEXT:       "begin": {6431// JSON-NEXT:        "offset": 4634,6432// JSON-NEXT:        "line": 145,6433// JSON-NEXT:        "col": 1,6434// JSON-NEXT:        "tokLen": 86435// JSON-NEXT:       },6436// JSON-NEXT:       "end": {6437// JSON-NEXT:        "offset": 4667,6438// JSON-NEXT:        "line": 146,6439// JSON-NEXT:        "col": 23,6440// JSON-NEXT:        "tokLen": 16441// JSON-NEXT:       }6442// JSON-NEXT:      },6443// JSON-NEXT:      "name": "pr126341",6444// JSON-NEXT:      "tagUsed": "struct",6445// JSON-NEXT:      "inner": [6446// JSON-NEXT:       {6447// JSON-NEXT:        "kind": "TemplateArgument",6448// JSON-NEXT:        "value": "1+2i"6449// JSON-NEXT:       }6450// JSON-NEXT:      ]6451// JSON-NEXT:     }6452// JSON-NEXT:    ]6453// JSON-NEXT:   },6454// JSON-NEXT:   {6455// JSON-NEXT:    "id": "0x{{.*}}",6456// JSON-NEXT:    "kind": "NamespaceDecl",6457// JSON-NEXT:    "loc": {6458// JSON-NEXT:     "offset": 4925,6459// JSON-NEXT:     "line": 153,6460// JSON-NEXT:     "col": 11,6461// JSON-NEXT:     "tokLen": 286462// JSON-NEXT:    },6463// JSON-NEXT:    "range": {6464// JSON-NEXT:     "begin": {6465// JSON-NEXT:      "offset": 4915,6466// JSON-NEXT:      "col": 1,6467// JSON-NEXT:      "tokLen": 96468// JSON-NEXT:     },6469// JSON-NEXT:     "end": {6470// JSON-NEXT:      "offset": 5548,6471// JSON-NEXT:      "line": 162,6472// JSON-NEXT:      "col": 1,6473// JSON-NEXT:      "tokLen": 16474// JSON-NEXT:     }6475// JSON-NEXT:    },6476// JSON-NEXT:    "name": "TestMemberPointerPartialSpec",6477// JSON-NEXT:    "inner": [6478// JSON-NEXT:     {6479// JSON-NEXT:      "id": "0x{{.*}}",6480// JSON-NEXT:      "kind": "ClassTemplateDecl",6481// JSON-NEXT:      "loc": {6482// JSON-NEXT:       "offset": 4982,6483// JSON-NEXT:       "line": 154,6484// JSON-NEXT:       "col": 27,6485// JSON-NEXT:       "tokLen": 16486// JSON-NEXT:      },6487// JSON-NEXT:      "range": {6488// JSON-NEXT:       "begin": {6489// JSON-NEXT:        "offset": 4958,6490// JSON-NEXT:        "col": 3,6491// JSON-NEXT:        "tokLen": 86492// JSON-NEXT:       },6493// JSON-NEXT:       "end": {6494// JSON-NEXT:        "offset": 4982,6495// JSON-NEXT:        "col": 27,6496// JSON-NEXT:        "tokLen": 16497// JSON-NEXT:       }6498// JSON-NEXT:      },6499// JSON-NEXT:      "name": "A",6500// JSON-NEXT:      "inner": [6501// JSON-NEXT:       {6502// JSON-NEXT:        "id": "0x{{.*}}",6503// JSON-NEXT:        "kind": "TemplateTypeParmDecl",6504// JSON-NEXT:        "loc": {6505// JSON-NEXT:         "offset": 4973,6506// JSON-NEXT:         "col": 18,6507// JSON-NEXT:         "tokLen": 16508// JSON-NEXT:        },6509// JSON-NEXT:        "range": {6510// JSON-NEXT:         "begin": {6511// JSON-NEXT:          "offset": 4968,6512// JSON-NEXT:          "col": 13,6513// JSON-NEXT:          "tokLen": 56514// JSON-NEXT:         },6515// JSON-NEXT:         "end": {6516// JSON-NEXT:          "offset": 4968,6517// JSON-NEXT:          "col": 13,6518// JSON-NEXT:          "tokLen": 56519// JSON-NEXT:         }6520// JSON-NEXT:        },6521// JSON-NEXT:        "tagUsed": "class",6522// JSON-NEXT:        "depth": 0,6523// JSON-NEXT:        "index": 06524// JSON-NEXT:       },6525// JSON-NEXT:       {6526// JSON-NEXT:        "id": "0x{{.*}}",6527// JSON-NEXT:        "kind": "CXXRecordDecl",6528// JSON-NEXT:        "loc": {6529// JSON-NEXT:         "offset": 4982,6530// JSON-NEXT:         "col": 27,6531// JSON-NEXT:         "tokLen": 16532// JSON-NEXT:        },6533// JSON-NEXT:        "range": {6534// JSON-NEXT:         "begin": {6535// JSON-NEXT:          "offset": 4975,6536// JSON-NEXT:          "col": 20,6537// JSON-NEXT:          "tokLen": 66538// JSON-NEXT:         },6539// JSON-NEXT:         "end": {6540// JSON-NEXT:          "offset": 4982,6541// JSON-NEXT:          "col": 27,6542// JSON-NEXT:          "tokLen": 16543// JSON-NEXT:         }6544// JSON-NEXT:        },6545// JSON-NEXT:        "name": "A",6546// JSON-NEXT:        "tagUsed": "struct"6547// JSON-NEXT:       }6548// JSON-NEXT:      ]6549// JSON-NEXT:     },6550// JSON-NEXT:     {6551// JSON-NEXT:      "id": "0x{{.*}}",6552// JSON-NEXT:      "kind": "ClassTemplatePartialSpecializationDecl",6553// JSON-NEXT:      "loc": {6554// JSON-NEXT:       "offset": 5024,6555// JSON-NEXT:       "line": 155,6556// JSON-NEXT:       "col": 40,6557// JSON-NEXT:       "tokLen": 16558// JSON-NEXT:      },6559// JSON-NEXT:      "range": {6560// JSON-NEXT:       "begin": {6561// JSON-NEXT:        "offset": 4987,6562// JSON-NEXT:        "col": 3,6563// JSON-NEXT:        "tokLen": 86564// JSON-NEXT:       },6565// JSON-NEXT:       "end": {6566// JSON-NEXT:        "offset": 5034,6567// JSON-NEXT:        "col": 50,6568// JSON-NEXT:        "tokLen": 16569// JSON-NEXT:       }6570// JSON-NEXT:      },6571// JSON-NEXT:      "name": "A",6572// JSON-NEXT:      "tagUsed": "struct",6573// JSON-NEXT:      "inner": [6574// JSON-NEXT:       {6575// JSON-NEXT:        "kind": "TemplateArgument",6576// JSON-NEXT:        "type": {6577// JSON-NEXT:         "qualType": "type-parameter-0-0 type-parameter-0-1::*"6578// JSON-NEXT:        },6579// JSON-NEXT:        "inner": [6580// JSON-NEXT:         {6581// JSON-NEXT:          "id": "0x{{.*}}",6582// JSON-NEXT:          "kind": "MemberPointerType",6583// JSON-NEXT:          "type": {6584// JSON-NEXT:           "qualType": "type-parameter-0-0 type-parameter-0-1::*"6585// JSON-NEXT:          },6586// JSON-NEXT:          "isDependent": true,6587// JSON-NEXT:          "isInstantiationDependent": true,6588// JSON-NEXT:          "isData": true,6589// JSON-NEXT:          "inner": [6590// JSON-NEXT:           {6591// JSON-NEXT:            "id": "0x{{.*}}",6592// JSON-NEXT:            "kind": "TemplateTypeParmType",6593// JSON-NEXT:            "type": {6594// JSON-NEXT:             "qualType": "type-parameter-0-1"6595// JSON-NEXT:            },6596// JSON-NEXT:            "isDependent": true,6597// JSON-NEXT:            "isInstantiationDependent": true,6598// JSON-NEXT:            "depth": 0,6599// JSON-NEXT:            "index": 1,6600// JSON-NEXT:            "decl": {6601// JSON-NEXT:             "id": "0x0"6602// JSON-NEXT:            }6603// JSON-NEXT:           },6604// JSON-NEXT:           {6605// JSON-NEXT:            "id": "0x{{.*}}",6606// JSON-NEXT:            "kind": "TemplateTypeParmType",6607// JSON-NEXT:            "type": {6608// JSON-NEXT:             "qualType": "type-parameter-0-0"6609// JSON-NEXT:            },6610// JSON-NEXT:            "isDependent": true,6611// JSON-NEXT:            "isInstantiationDependent": true,6612// JSON-NEXT:            "depth": 0,6613// JSON-NEXT:            "index": 0,6614// JSON-NEXT:            "decl": {6615// JSON-NEXT:             "id": "0x0"6616// JSON-NEXT:            }6617// JSON-NEXT:           }6618// JSON-NEXT:          ]6619// JSON-NEXT:         }6620// JSON-NEXT:        ]6621// JSON-NEXT:       },6622// JSON-NEXT:       {6623// JSON-NEXT:        "id": "0x{{.*}}",6624// JSON-NEXT:        "kind": "TemplateTypeParmDecl",6625// JSON-NEXT:        "loc": {6626// JSON-NEXT:         "offset": 5003,6627// JSON-NEXT:         "col": 19,6628// JSON-NEXT:         "tokLen": 26629// JSON-NEXT:        },6630// JSON-NEXT:        "range": {6631// JSON-NEXT:         "begin": {6632// JSON-NEXT:          "offset": 4997,6633// JSON-NEXT:          "col": 13,6634// JSON-NEXT:          "tokLen": 56635// JSON-NEXT:         },6636// JSON-NEXT:         "end": {6637// JSON-NEXT:          "offset": 5003,6638// JSON-NEXT:          "col": 19,6639// JSON-NEXT:          "tokLen": 26640// JSON-NEXT:         }6641// JSON-NEXT:        },6642// JSON-NEXT:        "isReferenced": true,6643// JSON-NEXT:        "name": "T1",6644// JSON-NEXT:        "tagUsed": "class",6645// JSON-NEXT:        "depth": 0,6646// JSON-NEXT:        "index": 06647// JSON-NEXT:       },6648// JSON-NEXT:       {6649// JSON-NEXT:        "id": "0x{{.*}}",6650// JSON-NEXT:        "kind": "TemplateTypeParmDecl",6651// JSON-NEXT:        "loc": {6652// JSON-NEXT:         "offset": 5013,6653// JSON-NEXT:         "col": 29,6654// JSON-NEXT:         "tokLen": 26655// JSON-NEXT:        },6656// JSON-NEXT:        "range": {6657// JSON-NEXT:         "begin": {6658// JSON-NEXT:          "offset": 5007,6659// JSON-NEXT:          "col": 23,6660// JSON-NEXT:          "tokLen": 56661// JSON-NEXT:         },6662// JSON-NEXT:         "end": {6663// JSON-NEXT:          "offset": 5013,6664// JSON-NEXT:          "col": 29,6665// JSON-NEXT:          "tokLen": 26666// JSON-NEXT:         }6667// JSON-NEXT:        },6668// JSON-NEXT:        "name": "T2",6669// JSON-NEXT:        "tagUsed": "class",6670// JSON-NEXT:        "depth": 0,6671// JSON-NEXT:        "index": 16672// JSON-NEXT:       }6673// JSON-NEXT:      ]6674// JSON-NEXT:     }6675// JSON-NEXT:    ]6676// JSON-NEXT:   },6677// JSON-NEXT:   {6678// JSON-NEXT:    "id": "0x{{.*}}",6679// JSON-NEXT:    "kind": "NamespaceDecl",6680// JSON-NEXT:    "loc": {6681// JSON-NEXT:     "offset": 5603,6682// JSON-NEXT:     "line": 164,6683// JSON-NEXT:     "col": 11,6684// JSON-NEXT:     "tokLen": 266685// JSON-NEXT:    },6686// JSON-NEXT:    "range": {6687// JSON-NEXT:     "begin": {6688// JSON-NEXT:      "offset": 5593,6689// JSON-NEXT:      "col": 1,6690// JSON-NEXT:      "tokLen": 96691// JSON-NEXT:     },6692// JSON-NEXT:     "end": {6693// JSON-NEXT:      "offset": 6858,6694// JSON-NEXT:      "line": 187,6695// JSON-NEXT:      "col": 1,6696// JSON-NEXT:      "tokLen": 16697// JSON-NEXT:     }6698// JSON-NEXT:    },6699// JSON-NEXT:    "name": "TestDependentMemberPointer",6700// JSON-NEXT:    "inner": [6701// JSON-NEXT:     {6702// JSON-NEXT:      "id": "0x{{.*}}",6703// JSON-NEXT:      "kind": "ClassTemplateDecl",6704// JSON-NEXT:      "loc": {6705// JSON-NEXT:       "offset": 5660,6706// JSON-NEXT:       "line": 165,6707// JSON-NEXT:       "col": 29,6708// JSON-NEXT:       "tokLen": 16709// JSON-NEXT:      },6710// JSON-NEXT:      "range": {6711// JSON-NEXT:       "begin": {6712// JSON-NEXT:        "offset": 5634,6713// JSON-NEXT:        "col": 3,6714// JSON-NEXT:        "tokLen": 86715// JSON-NEXT:       },6716// JSON-NEXT:       "end": {6717// JSON-NEXT:        "offset": 5761,6718// JSON-NEXT:        "line": 169,6719// JSON-NEXT:        "col": 3,6720// JSON-NEXT:        "tokLen": 16721// JSON-NEXT:       }6722// JSON-NEXT:      },6723// JSON-NEXT:      "name": "A",6724// JSON-NEXT:      "inner": [6725// JSON-NEXT:       {6726// JSON-NEXT:        "id": "0x{{.*}}",6727// JSON-NEXT:        "kind": "TemplateTypeParmDecl",6728// JSON-NEXT:        "loc": {6729// JSON-NEXT:         "offset": 5650,6730// JSON-NEXT:         "line": 165,6731// JSON-NEXT:         "col": 19,6732// JSON-NEXT:         "tokLen": 16733// JSON-NEXT:        },6734// JSON-NEXT:        "range": {6735// JSON-NEXT:         "begin": {6736// JSON-NEXT:          "offset": 5644,6737// JSON-NEXT:          "col": 13,6738// JSON-NEXT:          "tokLen": 56739// JSON-NEXT:         },6740// JSON-NEXT:         "end": {6741// JSON-NEXT:          "offset": 5650,6742// JSON-NEXT:          "col": 19,6743// JSON-NEXT:          "tokLen": 16744// JSON-NEXT:         }6745// JSON-NEXT:        },6746// JSON-NEXT:        "name": "U",6747// JSON-NEXT:        "tagUsed": "class",6748// JSON-NEXT:        "depth": 0,6749// JSON-NEXT:        "index": 06750// JSON-NEXT:       },6751// JSON-NEXT:       {6752// JSON-NEXT:        "id": "0x{{.*}}",6753// JSON-NEXT:        "kind": "CXXRecordDecl",6754// JSON-NEXT:        "loc": {6755// JSON-NEXT:         "offset": 5660,6756// JSON-NEXT:         "col": 29,6757// JSON-NEXT:         "tokLen": 16758// JSON-NEXT:        },6759// JSON-NEXT:        "range": {6760// JSON-NEXT:         "begin": {6761// JSON-NEXT:          "offset": 5653,6762// JSON-NEXT:          "col": 22,6763// JSON-NEXT:          "tokLen": 66764// JSON-NEXT:         },6765// JSON-NEXT:         "end": {6766// JSON-NEXT:          "offset": 5761,6767// JSON-NEXT:          "line": 169,6768// JSON-NEXT:          "col": 3,6769// JSON-NEXT:          "tokLen": 16770// JSON-NEXT:         }6771// JSON-NEXT:        },6772// JSON-NEXT:        "name": "A",6773// JSON-NEXT:        "tagUsed": "struct",6774// JSON-NEXT:        "completeDefinition": true,6775// JSON-NEXT:        "definitionData": {6776// JSON-NEXT:         "canConstDefaultInit": true,6777// JSON-NEXT:         "copyAssign": {6778// JSON-NEXT:          "hasConstParam": true,6779// JSON-NEXT:          "implicitHasConstParam": true,6780// JSON-NEXT:          "needsImplicit": true,6781// JSON-NEXT:          "simple": true,6782// JSON-NEXT:          "trivial": true6783// JSON-NEXT:         },6784// JSON-NEXT:         "copyCtor": {6785// JSON-NEXT:          "hasConstParam": true,6786// JSON-NEXT:          "implicitHasConstParam": true,6787// JSON-NEXT:          "needsImplicit": true,6788// JSON-NEXT:          "simple": true,6789// JSON-NEXT:          "trivial": true6790// JSON-NEXT:         },6791// JSON-NEXT:         "defaultCtor": {6792// JSON-NEXT:          "defaultedIsConstexpr": true,6793// JSON-NEXT:          "exists": true,6794// JSON-NEXT:          "isConstexpr": true,6795// JSON-NEXT:          "needsImplicit": true,6796// JSON-NEXT:          "trivial": true6797// JSON-NEXT:         },6798// JSON-NEXT:         "dtor": {6799// JSON-NEXT:          "irrelevant": true,6800// JSON-NEXT:          "needsImplicit": true,6801// JSON-NEXT:          "simple": true,6802// JSON-NEXT:          "trivial": true6803// JSON-NEXT:         },6804// JSON-NEXT:         "hasConstexprNonCopyMoveConstructor": true,6805// JSON-NEXT:         "isAggregate": true,6806// JSON-NEXT:         "isEmpty": true,6807// JSON-NEXT:         "isLiteral": true,6808// JSON-NEXT:         "isPOD": true,6809// JSON-NEXT:         "isStandardLayout": true,6810// JSON-NEXT:         "isTrivial": true,6811// JSON-NEXT:         "isTriviallyCopyable": true,6812// JSON-NEXT:         "moveAssign": {6813// JSON-NEXT:          "exists": true,6814// JSON-NEXT:          "needsImplicit": true,6815// JSON-NEXT:          "simple": true,6816// JSON-NEXT:          "trivial": true6817// JSON-NEXT:         },6818// JSON-NEXT:         "moveCtor": {6819// JSON-NEXT:          "exists": true,6820// JSON-NEXT:          "needsImplicit": true,6821// JSON-NEXT:          "simple": true,6822// JSON-NEXT:          "trivial": true6823// JSON-NEXT:         }6824// JSON-NEXT:        },6825// JSON-NEXT:        "inner": [6826// JSON-NEXT:         {6827// JSON-NEXT:          "id": "0x{{.*}}",6828// JSON-NEXT:          "kind": "CXXRecordDecl",6829// JSON-NEXT:          "loc": {6830// JSON-NEXT:           "offset": 5660,6831// JSON-NEXT:           "line": 165,6832// JSON-NEXT:           "col": 29,6833// JSON-NEXT:           "tokLen": 16834// JSON-NEXT:          },6835// JSON-NEXT:          "range": {6836// JSON-NEXT:           "begin": {6837// JSON-NEXT:            "offset": 5653,6838// JSON-NEXT:            "col": 22,6839// JSON-NEXT:            "tokLen": 66840// JSON-NEXT:           },6841// JSON-NEXT:           "end": {6842// JSON-NEXT:            "offset": 5660,6843// JSON-NEXT:            "col": 29,6844// JSON-NEXT:            "tokLen": 16845// JSON-NEXT:           }6846// JSON-NEXT:          },6847// JSON-NEXT:          "isImplicit": true,6848// JSON-NEXT:          "name": "A",6849// JSON-NEXT:          "tagUsed": "struct"6850// JSON-NEXT:         },6851// JSON-NEXT:         {6852// JSON-NEXT:          "id": "0x{{.*}}",6853// JSON-NEXT:          "kind": "TypeAliasDecl",6854// JSON-NEXT:          "loc": {6855// JSON-NEXT:           "offset": 5674,6856// JSON-NEXT:           "line": 166,6857// JSON-NEXT:           "col": 11,6858// JSON-NEXT:           "tokLen": 16859// JSON-NEXT:          },6860// JSON-NEXT:          "range": {6861// JSON-NEXT:           "begin": {6862// JSON-NEXT:            "offset": 5668,6863// JSON-NEXT:            "col": 5,6864// JSON-NEXT:            "tokLen": 56865// JSON-NEXT:           },6866// JSON-NEXT:           "end": {6867// JSON-NEXT:            "offset": 5685,6868// JSON-NEXT:            "col": 22,6869// JSON-NEXT:            "tokLen": 16870// JSON-NEXT:           }6871// JSON-NEXT:          },6872// JSON-NEXT:          "name": "X",6873// JSON-NEXT:          "type": {6874// JSON-NEXT:           "qualType": "int U::*"6875// JSON-NEXT:          },6876// JSON-NEXT:          "inner": [6877// JSON-NEXT:           {6878// JSON-NEXT:            "id": "0x{{.*}}",6879// JSON-NEXT:            "kind": "MemberPointerType",6880// JSON-NEXT:            "type": {6881// JSON-NEXT:             "qualType": "int U::*"6882// JSON-NEXT:            },6883// JSON-NEXT:            "isDependent": true,6884// JSON-NEXT:            "isInstantiationDependent": true,6885// JSON-NEXT:            "isData": true,6886// JSON-NEXT:            "inner": [6887// JSON-NEXT:             {6888// JSON-NEXT:              "id": "0x{{.*}}",6889// JSON-NEXT:              "kind": "TemplateTypeParmType",6890// JSON-NEXT:              "type": {6891// JSON-NEXT:               "qualType": "U"6892// JSON-NEXT:              },6893// JSON-NEXT:              "isDependent": true,6894// JSON-NEXT:              "isInstantiationDependent": true,6895// JSON-NEXT:              "depth": 0,6896// JSON-NEXT:              "index": 0,6897// JSON-NEXT:              "decl": {6898// JSON-NEXT:               "id": "0x{{.*}}",6899// JSON-NEXT:               "kind": "TemplateTypeParmDecl",6900// JSON-NEXT:               "name": "U"6901// JSON-NEXT:              }6902// JSON-NEXT:             },6903// JSON-NEXT:             {6904// JSON-NEXT:              "id": "0x{{.*}}",6905// JSON-NEXT:              "kind": "BuiltinType",6906// JSON-NEXT:              "type": {6907// JSON-NEXT:               "qualType": "int"6908// JSON-NEXT:              }6909// JSON-NEXT:             }6910// JSON-NEXT:            ]6911// JSON-NEXT:           }6912// JSON-NEXT:          ]6913// JSON-NEXT:         },6914// JSON-NEXT:         {6915// JSON-NEXT:          "id": "0x{{.*}}",6916// JSON-NEXT:          "kind": "TypeAliasDecl",6917// JSON-NEXT:          "loc": {6918// JSON-NEXT:           "offset": 5698,6919// JSON-NEXT:           "line": 167,6920// JSON-NEXT:           "col": 11,6921// JSON-NEXT:           "tokLen": 16922// JSON-NEXT:          },6923// JSON-NEXT:          "range": {6924// JSON-NEXT:           "begin": {6925// JSON-NEXT:            "offset": 5692,6926// JSON-NEXT:            "col": 5,6927// JSON-NEXT:            "tokLen": 56928// JSON-NEXT:           },6929// JSON-NEXT:           "end": {6930// JSON-NEXT:            "offset": 5715,6931// JSON-NEXT:            "col": 28,6932// JSON-NEXT:            "tokLen": 16933// JSON-NEXT:           }6934// JSON-NEXT:          },6935// JSON-NEXT:          "name": "Y",6936// JSON-NEXT:          "type": {6937// JSON-NEXT:           "qualType": "int U::test::*"6938// JSON-NEXT:          },6939// JSON-NEXT:          "inner": [6940// JSON-NEXT:           {6941// JSON-NEXT:            "id": "0x{{.*}}",6942// JSON-NEXT:            "kind": "MemberPointerType",6943// JSON-NEXT:            "type": {6944// JSON-NEXT:             "qualType": "int U::test::*"6945// JSON-NEXT:            },6946// JSON-NEXT:            "isDependent": true,6947// JSON-NEXT:            "isInstantiationDependent": true,6948// JSON-NEXT:            "isData": true,6949// JSON-NEXT:            "inner": [6950// JSON-NEXT:             {6951// JSON-NEXT:              "id": "0x{{.*}}",6952// JSON-NEXT:              "kind": "DependentNameType",6953// JSON-NEXT:              "type": {6954// JSON-NEXT:               "qualType": "U::test"6955// JSON-NEXT:              },6956// JSON-NEXT:              "isDependent": true,6957// JSON-NEXT:              "isInstantiationDependent": true6958// JSON-NEXT:             },6959// JSON-NEXT:             {6960// JSON-NEXT:              "id": "0x{{.*}}",6961// JSON-NEXT:              "kind": "BuiltinType",6962// JSON-NEXT:              "type": {6963// JSON-NEXT:               "qualType": "int"6964// JSON-NEXT:              }6965// JSON-NEXT:             }6966// JSON-NEXT:            ]6967// JSON-NEXT:           }6968// JSON-NEXT:          ]6969// JSON-NEXT:         },6970// JSON-NEXT:         {6971// JSON-NEXT:          "id": "0x{{.*}}",6972// JSON-NEXT:          "kind": "TypeAliasDecl",6973// JSON-NEXT:          "loc": {6974// JSON-NEXT:           "offset": 5728,6975// JSON-NEXT:           "line": 168,6976// JSON-NEXT:           "col": 11,6977// JSON-NEXT:           "tokLen": 16978// JSON-NEXT:          },6979// JSON-NEXT:          "range": {6980// JSON-NEXT:           "begin": {6981// JSON-NEXT:            "offset": 5722,6982// JSON-NEXT:            "col": 5,6983// JSON-NEXT:            "tokLen": 56984// JSON-NEXT:           },6985// JSON-NEXT:           "end": {6986// JSON-NEXT:            "offset": 5756,6987// JSON-NEXT:            "col": 39,6988// JSON-NEXT:            "tokLen": 16989// JSON-NEXT:           }6990// JSON-NEXT:          },6991// JSON-NEXT:          "name": "Z",6992// JSON-NEXT:          "type": {6993// JSON-NEXT:           "qualType": "int U::template V<int>::*"6994// JSON-NEXT:          },6995// JSON-NEXT:          "inner": [6996// JSON-NEXT:           {6997// JSON-NEXT:            "id": "0x{{.*}}",6998// JSON-NEXT:            "kind": "MemberPointerType",6999// JSON-NEXT:            "type": {7000// JSON-NEXT:             "qualType": "int U::template V<int>::*"7001// JSON-NEXT:            },7002// JSON-NEXT:            "isDependent": true,7003// JSON-NEXT:            "isInstantiationDependent": true,7004// JSON-NEXT:            "isData": true,7005// JSON-NEXT:            "inner": [7006// JSON-NEXT:             {7007// JSON-NEXT:              "id": "0x{{.*}}",7008// JSON-NEXT:              "kind": "TemplateSpecializationType",7009// JSON-NEXT:              "type": {7010// JSON-NEXT:               "qualType": "U::template V<int>"7011// JSON-NEXT:              },7012// JSON-NEXT:              "isDependent": true,7013// JSON-NEXT:              "isInstantiationDependent": true,7014// JSON-NEXT:              "templateName": "U::template V",7015// JSON-NEXT:              "inner": [7016// JSON-NEXT:               {7017// JSON-NEXT:                "kind": "TemplateArgument",7018// JSON-NEXT:                "type": {7019// JSON-NEXT:                 "qualType": "int"7020// JSON-NEXT:                },7021// JSON-NEXT:                "inner": [7022// JSON-NEXT:                 {7023// JSON-NEXT:                  "id": "0x{{.*}}",7024// JSON-NEXT:                  "kind": "BuiltinType",7025// JSON-NEXT:                  "type": {7026// JSON-NEXT:                   "qualType": "int"7027// JSON-NEXT:                  }7028// JSON-NEXT:                 }7029// JSON-NEXT:                ]7030// JSON-NEXT:               }7031// JSON-NEXT:              ]7032// JSON-NEXT:             },7033// JSON-NEXT:             {7034// JSON-NEXT:              "id": "0x{{.*}}",7035// JSON-NEXT:              "kind": "BuiltinType",7036// JSON-NEXT:              "type": {7037// JSON-NEXT:               "qualType": "int"7038// JSON-NEXT:              }7039// JSON-NEXT:             }7040// JSON-NEXT:            ]7041// JSON-NEXT:           }7042// JSON-NEXT:          ]7043// JSON-NEXT:         }7044// JSON-NEXT:        ]7045// JSON-NEXT:       }7046// JSON-NEXT:      ]7047// JSON-NEXT:     }7048// JSON-NEXT:    ]7049// JSON-NEXT:   },7050// JSON-NEXT:   {7051// JSON-NEXT:    "id": "0x{{.*}}",7052// JSON-NEXT:    "kind": "NamespaceDecl",7053// JSON-NEXT:    "loc": {7054// JSON-NEXT:     "offset": 6911,7055// JSON-NEXT:     "line": 189,7056// JSON-NEXT:     "col": 11,7057// JSON-NEXT:     "tokLen": 197058// JSON-NEXT:    },7059// JSON-NEXT:    "range": {7060// JSON-NEXT:     "begin": {7061// JSON-NEXT:      "offset": 6901,7062// JSON-NEXT:      "col": 1,7063// JSON-NEXT:      "tokLen": 97064// JSON-NEXT:     },7065// JSON-NEXT:     "end": {7066// JSON-NEXT:      "offset": 9769,7067// JSON-NEXT:      "line": 229,7068// JSON-NEXT:      "col": 1,7069// JSON-NEXT:      "tokLen": 17070// JSON-NEXT:     }7071// JSON-NEXT:    },7072// JSON-NEXT:    "name": "TestPartialSpecNTTP",7073// JSON-NEXT:    "inner": [7074// JSON-NEXT:     {7075// JSON-NEXT:      "id": "0x{{.*}}",7076// JSON-NEXT:      "kind": "ClassTemplateDecl",7077// JSON-NEXT:      "loc": {7078// JSON-NEXT:       "offset": 7034,7079// JSON-NEXT:       "line": 191,7080// JSON-NEXT:       "col": 41,7081// JSON-NEXT:       "tokLen": 97082// JSON-NEXT:      },7083// JSON-NEXT:      "range": {7084// JSON-NEXT:       "begin": {7085// JSON-NEXT:        "offset": 6996,7086// JSON-NEXT:        "col": 3,7087// JSON-NEXT:        "tokLen": 87088// JSON-NEXT:       },7089// JSON-NEXT:       "end": {7090// JSON-NEXT:        "offset": 7045,7091// JSON-NEXT:        "col": 52,7092// JSON-NEXT:        "tokLen": 17093// JSON-NEXT:       }7094// JSON-NEXT:      },7095// JSON-NEXT:      "name": "Template1",7096// JSON-NEXT:      "inner": [7097// JSON-NEXT:       {7098// JSON-NEXT:        "id": "0x{{.*}}",7099// JSON-NEXT:        "kind": "TemplateTypeParmDecl",7100// JSON-NEXT:        "loc": {7101// JSON-NEXT:         "offset": 7012,7102// JSON-NEXT:         "col": 19,7103// JSON-NEXT:         "tokLen": 37104// JSON-NEXT:        },7105// JSON-NEXT:        "range": {7106// JSON-NEXT:         "begin": {7107// JSON-NEXT:          "offset": 7006,7108// JSON-NEXT:          "col": 13,7109// JSON-NEXT:          "tokLen": 57110// JSON-NEXT:         },7111// JSON-NEXT:         "end": {7112// JSON-NEXT:          "offset": 7012,7113// JSON-NEXT:          "col": 19,7114// JSON-NEXT:          "tokLen": 37115// JSON-NEXT:         }7116// JSON-NEXT:        },7117// JSON-NEXT:        "name": "TA1",7118// JSON-NEXT:        "tagUsed": "class",7119// JSON-NEXT:        "depth": 0,7120// JSON-NEXT:        "index": 07121// JSON-NEXT:       },7122// JSON-NEXT:       {7123// JSON-NEXT:        "id": "0x{{.*}}",7124// JSON-NEXT:        "kind": "NonTypeTemplateParmDecl",7125// JSON-NEXT:        "loc": {7126// JSON-NEXT:         "offset": 7022,7127// JSON-NEXT:         "col": 29,7128// JSON-NEXT:         "tokLen": 37129// JSON-NEXT:        },7130// JSON-NEXT:        "range": {7131// JSON-NEXT:         "begin": {7132// JSON-NEXT:          "offset": 7017,7133// JSON-NEXT:          "col": 24,7134// JSON-NEXT:          "tokLen": 47135// JSON-NEXT:         },7136// JSON-NEXT:         "end": {7137// JSON-NEXT:          "offset": 7022,7138// JSON-NEXT:          "col": 29,7139// JSON-NEXT:          "tokLen": 37140// JSON-NEXT:         }7141// JSON-NEXT:        },7142// JSON-NEXT:        "name": "TA2",7143// JSON-NEXT:        "type": {7144// JSON-NEXT:         "qualType": "bool"7145// JSON-NEXT:        },7146// JSON-NEXT:        "depth": 0,7147// JSON-NEXT:        "index": 17148// JSON-NEXT:       },7149// JSON-NEXT:       {7150// JSON-NEXT:        "id": "0x{{.*}}",7151// JSON-NEXT:        "kind": "CXXRecordDecl",7152// JSON-NEXT:        "loc": {7153// JSON-NEXT:         "offset": 7034,7154// JSON-NEXT:         "col": 41,7155// JSON-NEXT:         "tokLen": 97156// JSON-NEXT:        },7157// JSON-NEXT:        "range": {7158// JSON-NEXT:         "begin": {7159// JSON-NEXT:          "offset": 7027,7160// JSON-NEXT:          "col": 34,7161// JSON-NEXT:          "tokLen": 67162// JSON-NEXT:         },7163// JSON-NEXT:         "end": {7164// JSON-NEXT:          "offset": 7045,7165// JSON-NEXT:          "col": 52,7166// JSON-NEXT:          "tokLen": 17167// JSON-NEXT:         }7168// JSON-NEXT:        },7169// JSON-NEXT:        "name": "Template1",7170// JSON-NEXT:        "tagUsed": "struct",7171// JSON-NEXT:        "completeDefinition": true,7172// JSON-NEXT:        "definitionData": {7173// JSON-NEXT:         "canConstDefaultInit": true,7174// JSON-NEXT:         "copyAssign": {7175// JSON-NEXT:          "hasConstParam": true,7176// JSON-NEXT:          "implicitHasConstParam": true,7177// JSON-NEXT:          "needsImplicit": true,7178// JSON-NEXT:          "simple": true,7179// JSON-NEXT:          "trivial": true7180// JSON-NEXT:         },7181// JSON-NEXT:         "copyCtor": {7182// JSON-NEXT:          "hasConstParam": true,7183// JSON-NEXT:          "implicitHasConstParam": true,7184// JSON-NEXT:          "needsImplicit": true,7185// JSON-NEXT:          "simple": true,7186// JSON-NEXT:          "trivial": true7187// JSON-NEXT:         },7188// JSON-NEXT:         "defaultCtor": {7189// JSON-NEXT:          "defaultedIsConstexpr": true,7190// JSON-NEXT:          "exists": true,7191// JSON-NEXT:          "isConstexpr": true,7192// JSON-NEXT:          "needsImplicit": true,7193// JSON-NEXT:          "trivial": true7194// JSON-NEXT:         },7195// JSON-NEXT:         "dtor": {7196// JSON-NEXT:          "irrelevant": true,7197// JSON-NEXT:          "needsImplicit": true,7198// JSON-NEXT:          "simple": true,7199// JSON-NEXT:          "trivial": true7200// JSON-NEXT:         },7201// JSON-NEXT:         "hasConstexprNonCopyMoveConstructor": true,7202// JSON-NEXT:         "isAggregate": true,7203// JSON-NEXT:         "isEmpty": true,7204// JSON-NEXT:         "isLiteral": true,7205// JSON-NEXT:         "isPOD": true,7206// JSON-NEXT:         "isStandardLayout": true,7207// JSON-NEXT:         "isTrivial": true,7208// JSON-NEXT:         "isTriviallyCopyable": true,7209// JSON-NEXT:         "moveAssign": {7210// JSON-NEXT:          "exists": true,7211// JSON-NEXT:          "needsImplicit": true,7212// JSON-NEXT:          "simple": true,7213// JSON-NEXT:          "trivial": true7214// JSON-NEXT:         },7215// JSON-NEXT:         "moveCtor": {7216// JSON-NEXT:          "exists": true,7217// JSON-NEXT:          "needsImplicit": true,7218// JSON-NEXT:          "simple": true,7219// JSON-NEXT:          "trivial": true7220// JSON-NEXT:         }7221// JSON-NEXT:        },7222// JSON-NEXT:        "inner": [7223// JSON-NEXT:         {7224// JSON-NEXT:          "id": "0x{{.*}}",7225// JSON-NEXT:          "kind": "CXXRecordDecl",7226// JSON-NEXT:          "loc": {7227// JSON-NEXT:           "offset": 7034,7228// JSON-NEXT:           "col": 41,7229// JSON-NEXT:           "tokLen": 97230// JSON-NEXT:          },7231// JSON-NEXT:          "range": {7232// JSON-NEXT:           "begin": {7233// JSON-NEXT:            "offset": 7027,7234// JSON-NEXT:            "col": 34,7235// JSON-NEXT:            "tokLen": 67236// JSON-NEXT:           },7237// JSON-NEXT:           "end": {7238// JSON-NEXT:            "offset": 7034,7239// JSON-NEXT:            "col": 41,7240// JSON-NEXT:            "tokLen": 97241// JSON-NEXT:           }7242// JSON-NEXT:          },7243// JSON-NEXT:          "isImplicit": true,7244// JSON-NEXT:          "name": "Template1",7245// JSON-NEXT:          "tagUsed": "struct"7246// JSON-NEXT:         }7247// JSON-NEXT:        ]7248// JSON-NEXT:       }7249// JSON-NEXT:      ]7250// JSON-NEXT:     },7251// JSON-NEXT:     {7252// JSON-NEXT:      "id": "0x{{.*}}",7253// JSON-NEXT:      "kind": "ClassTemplateDecl",7254// JSON-NEXT:      "loc": {7255// JSON-NEXT:       "offset": 7088,7256// JSON-NEXT:       "line": 192,7257// JSON-NEXT:       "col": 41,7258// JSON-NEXT:       "tokLen": 97259// JSON-NEXT:      },7260// JSON-NEXT:      "range": {7261// JSON-NEXT:       "begin": {7262// JSON-NEXT:        "offset": 7050,7263// JSON-NEXT:        "col": 3,7264// JSON-NEXT:        "tokLen": 87265// JSON-NEXT:       },7266// JSON-NEXT:       "end": {7267// JSON-NEXT:        "offset": 7099,7268// JSON-NEXT:        "col": 52,7269// JSON-NEXT:        "tokLen": 17270// JSON-NEXT:       }7271// JSON-NEXT:      },7272// JSON-NEXT:      "name": "Template2",7273// JSON-NEXT:      "inner": [7274// JSON-NEXT:       {7275// JSON-NEXT:        "id": "0x{{.*}}",7276// JSON-NEXT:        "kind": "TemplateTypeParmDecl",7277// JSON-NEXT:        "loc": {7278// JSON-NEXT:         "offset": 7066,7279// JSON-NEXT:         "col": 19,7280// JSON-NEXT:         "tokLen": 37281// JSON-NEXT:        },7282// JSON-NEXT:        "range": {7283// JSON-NEXT:         "begin": {7284// JSON-NEXT:          "offset": 7060,7285// JSON-NEXT:          "col": 13,7286// JSON-NEXT:          "tokLen": 57287// JSON-NEXT:         },7288// JSON-NEXT:         "end": {7289// JSON-NEXT:          "offset": 7066,7290// JSON-NEXT:          "col": 19,7291// JSON-NEXT:          "tokLen": 37292// JSON-NEXT:         }7293// JSON-NEXT:        },7294// JSON-NEXT:        "name": "TB1",7295// JSON-NEXT:        "tagUsed": "class",7296// JSON-NEXT:        "depth": 0,7297// JSON-NEXT:        "index": 07298// JSON-NEXT:       },7299// JSON-NEXT:       {7300// JSON-NEXT:        "id": "0x{{.*}}",7301// JSON-NEXT:        "kind": "NonTypeTemplateParmDecl",7302// JSON-NEXT:        "loc": {7303// JSON-NEXT:         "offset": 7076,7304// JSON-NEXT:         "col": 29,7305// JSON-NEXT:         "tokLen": 37306// JSON-NEXT:        },7307// JSON-NEXT:        "range": {7308// JSON-NEXT:         "begin": {7309// JSON-NEXT:          "offset": 7071,7310// JSON-NEXT:          "col": 24,7311// JSON-NEXT:          "tokLen": 47312// JSON-NEXT:         },7313// JSON-NEXT:         "end": {7314// JSON-NEXT:          "offset": 7076,7315// JSON-NEXT:          "col": 29,7316// JSON-NEXT:          "tokLen": 37317// JSON-NEXT:         }7318// JSON-NEXT:        },7319// JSON-NEXT:        "name": "TB2",7320// JSON-NEXT:        "type": {7321// JSON-NEXT:         "qualType": "bool"7322// JSON-NEXT:        },7323// JSON-NEXT:        "depth": 0,7324// JSON-NEXT:        "index": 17325// JSON-NEXT:       },7326// JSON-NEXT:       {7327// JSON-NEXT:        "id": "0x{{.*}}",7328// JSON-NEXT:        "kind": "CXXRecordDecl",7329// JSON-NEXT:        "loc": {7330// JSON-NEXT:         "offset": 7088,7331// JSON-NEXT:         "col": 41,7332// JSON-NEXT:         "tokLen": 97333// JSON-NEXT:        },7334// JSON-NEXT:        "range": {7335// JSON-NEXT:         "begin": {7336// JSON-NEXT:          "offset": 7081,7337// JSON-NEXT:          "col": 34,7338// JSON-NEXT:          "tokLen": 67339// JSON-NEXT:         },7340// JSON-NEXT:         "end": {7341// JSON-NEXT:          "offset": 7099,7342// JSON-NEXT:          "col": 52,7343// JSON-NEXT:          "tokLen": 17344// JSON-NEXT:         }7345// JSON-NEXT:        },7346// JSON-NEXT:        "name": "Template2",7347// JSON-NEXT:        "tagUsed": "struct",7348// JSON-NEXT:        "completeDefinition": true,7349// JSON-NEXT:        "definitionData": {7350// JSON-NEXT:         "canConstDefaultInit": true,7351// JSON-NEXT:         "copyAssign": {7352// JSON-NEXT:          "hasConstParam": true,7353// JSON-NEXT:          "implicitHasConstParam": true,7354// JSON-NEXT:          "needsImplicit": true,7355// JSON-NEXT:          "simple": true,7356// JSON-NEXT:          "trivial": true7357// JSON-NEXT:         },7358// JSON-NEXT:         "copyCtor": {7359// JSON-NEXT:          "hasConstParam": true,7360// JSON-NEXT:          "implicitHasConstParam": true,7361// JSON-NEXT:          "needsImplicit": true,7362// JSON-NEXT:          "simple": true,7363// JSON-NEXT:          "trivial": true7364// JSON-NEXT:         },7365// JSON-NEXT:         "defaultCtor": {7366// JSON-NEXT:          "defaultedIsConstexpr": true,7367// JSON-NEXT:          "exists": true,7368// JSON-NEXT:          "isConstexpr": true,7369// JSON-NEXT:          "needsImplicit": true,7370// JSON-NEXT:          "trivial": true7371// JSON-NEXT:         },7372// JSON-NEXT:         "dtor": {7373// JSON-NEXT:          "irrelevant": true,7374// JSON-NEXT:          "needsImplicit": true,7375// JSON-NEXT:          "simple": true,7376// JSON-NEXT:          "trivial": true7377// JSON-NEXT:         },7378// JSON-NEXT:         "hasConstexprNonCopyMoveConstructor": true,7379// JSON-NEXT:         "isAggregate": true,7380// JSON-NEXT:         "isEmpty": true,7381// JSON-NEXT:         "isLiteral": true,7382// JSON-NEXT:         "isPOD": true,7383// JSON-NEXT:         "isStandardLayout": true,7384// JSON-NEXT:         "isTrivial": true,7385// JSON-NEXT:         "isTriviallyCopyable": true,7386// JSON-NEXT:         "moveAssign": {7387// JSON-NEXT:          "exists": true,7388// JSON-NEXT:          "needsImplicit": true,7389// JSON-NEXT:          "simple": true,7390// JSON-NEXT:          "trivial": true7391// JSON-NEXT:         },7392// JSON-NEXT:         "moveCtor": {7393// JSON-NEXT:          "exists": true,7394// JSON-NEXT:          "needsImplicit": true,7395// JSON-NEXT:          "simple": true,7396// JSON-NEXT:          "trivial": true7397// JSON-NEXT:         }7398// JSON-NEXT:        },7399// JSON-NEXT:        "inner": [7400// JSON-NEXT:         {7401// JSON-NEXT:          "id": "0x{{.*}}",7402// JSON-NEXT:          "kind": "CXXRecordDecl",7403// JSON-NEXT:          "loc": {7404// JSON-NEXT:           "offset": 7088,7405// JSON-NEXT:           "col": 41,7406// JSON-NEXT:           "tokLen": 97407// JSON-NEXT:          },7408// JSON-NEXT:          "range": {7409// JSON-NEXT:           "begin": {7410// JSON-NEXT:            "offset": 7081,7411// JSON-NEXT:            "col": 34,7412// JSON-NEXT:            "tokLen": 67413// JSON-NEXT:           },7414// JSON-NEXT:           "end": {7415// JSON-NEXT:            "offset": 7088,7416// JSON-NEXT:            "col": 41,7417// JSON-NEXT:            "tokLen": 97418// JSON-NEXT:           }7419// JSON-NEXT:          },7420// JSON-NEXT:          "isImplicit": true,7421// JSON-NEXT:          "name": "Template2",7422// JSON-NEXT:          "tagUsed": "struct"7423// JSON-NEXT:         }7424// JSON-NEXT:        ]7425// JSON-NEXT:       }7426// JSON-NEXT:      ]7427// JSON-NEXT:     },7428// JSON-NEXT:     {7429// JSON-NEXT:      "id": "0x{{.*}}",7430// JSON-NEXT:      "kind": "ClassTemplatePartialSpecializationDecl",7431// JSON-NEXT:      "loc": {7432// JSON-NEXT:       "offset": 7152,7433// JSON-NEXT:       "line": 195,7434// JSON-NEXT:       "col": 10,7435// JSON-NEXT:       "tokLen": 97436// JSON-NEXT:      },7437// JSON-NEXT:      "range": {7438// JSON-NEXT:       "begin": {7439// JSON-NEXT:        "offset": 7105,7440// JSON-NEXT:        "line": 194,7441// JSON-NEXT:        "col": 3,7442// JSON-NEXT:        "tokLen": 87443// JSON-NEXT:       },7444// JSON-NEXT:       "end": {7445// JSON-NEXT:        "offset": 7186,7446// JSON-NEXT:        "line": 195,7447// JSON-NEXT:        "col": 44,7448// JSON-NEXT:        "tokLen": 17449// JSON-NEXT:       }7450// JSON-NEXT:      },7451// JSON-NEXT:      "name": "Template2",7452// JSON-NEXT:      "tagUsed": "struct",7453// JSON-NEXT:      "completeDefinition": true,7454// JSON-NEXT:      "definitionData": {7455// JSON-NEXT:       "canConstDefaultInit": true,7456// JSON-NEXT:       "copyAssign": {7457// JSON-NEXT:        "hasConstParam": true,7458// JSON-NEXT:        "implicitHasConstParam": true,7459// JSON-NEXT:        "needsImplicit": true,7460// JSON-NEXT:        "simple": true,7461// JSON-NEXT:        "trivial": true7462// JSON-NEXT:       },7463// JSON-NEXT:       "copyCtor": {7464// JSON-NEXT:        "hasConstParam": true,7465// JSON-NEXT:        "implicitHasConstParam": true,7466// JSON-NEXT:        "needsImplicit": true,7467// JSON-NEXT:        "simple": true,7468// JSON-NEXT:        "trivial": true7469// JSON-NEXT:       },7470// JSON-NEXT:       "defaultCtor": {7471// JSON-NEXT:        "defaultedIsConstexpr": true,7472// JSON-NEXT:        "exists": true,7473// JSON-NEXT:        "isConstexpr": true,7474// JSON-NEXT:        "needsImplicit": true,7475// JSON-NEXT:        "trivial": true7476// JSON-NEXT:       },7477// JSON-NEXT:       "dtor": {7478// JSON-NEXT:        "irrelevant": true,7479// JSON-NEXT:        "needsImplicit": true,7480// JSON-NEXT:        "simple": true,7481// JSON-NEXT:        "trivial": true7482// JSON-NEXT:       },7483// JSON-NEXT:       "hasConstexprNonCopyMoveConstructor": true,7484// JSON-NEXT:       "isAggregate": true,7485// JSON-NEXT:       "isEmpty": true,7486// JSON-NEXT:       "isLiteral": true,7487// JSON-NEXT:       "isPOD": true,7488// JSON-NEXT:       "isStandardLayout": true,7489// JSON-NEXT:       "isTrivial": true,7490// JSON-NEXT:       "isTriviallyCopyable": true,7491// JSON-NEXT:       "moveAssign": {7492// JSON-NEXT:        "exists": true,7493// JSON-NEXT:        "needsImplicit": true,7494// JSON-NEXT:        "simple": true,7495// JSON-NEXT:        "trivial": true7496// JSON-NEXT:       },7497// JSON-NEXT:       "moveCtor": {7498// JSON-NEXT:        "exists": true,7499// JSON-NEXT:        "needsImplicit": true,7500// JSON-NEXT:        "simple": true,7501// JSON-NEXT:        "trivial": true7502// JSON-NEXT:       }7503// JSON-NEXT:      },7504// JSON-NEXT:      "inner": [7505// JSON-NEXT:       {7506// JSON-NEXT:        "kind": "TemplateArgument",7507// JSON-NEXT:        "type": {7508// JSON-NEXT:         "qualType": "TestPartialSpecNTTP::Template1<type-parameter-0-0, value-parameter-0-1>"7509// JSON-NEXT:        },7510// JSON-NEXT:        "inner": [7511// JSON-NEXT:         {7512// JSON-NEXT:          "id": "0x{{.*}}",7513// JSON-NEXT:          "kind": "TemplateSpecializationType",7514// JSON-NEXT:          "type": {7515// JSON-NEXT:           "qualType": "TestPartialSpecNTTP::Template1<type-parameter-0-0, value-parameter-0-1>"7516// JSON-NEXT:          },7517// JSON-NEXT:          "isDependent": true,7518// JSON-NEXT:          "isInstantiationDependent": true,7519// JSON-NEXT:          "templateName": "TestPartialSpecNTTP::Template1",7520// JSON-NEXT:          "inner": [7521// JSON-NEXT:           {7522// JSON-NEXT:            "kind": "TemplateArgument",7523// JSON-NEXT:            "type": {7524// JSON-NEXT:             "qualType": "type-parameter-0-0"7525// JSON-NEXT:            },7526// JSON-NEXT:            "inner": [7527// JSON-NEXT:             {7528// JSON-NEXT:              "id": "0x{{.*}}",7529// JSON-NEXT:              "kind": "TemplateTypeParmType",7530// JSON-NEXT:              "type": {7531// JSON-NEXT:               "qualType": "type-parameter-0-0"7532// JSON-NEXT:              },7533// JSON-NEXT:              "isDependent": true,7534// JSON-NEXT:              "isInstantiationDependent": true,7535// JSON-NEXT:              "depth": 0,7536// JSON-NEXT:              "index": 0,7537// JSON-NEXT:              "decl": {7538// JSON-NEXT:               "id": "0x0"7539// JSON-NEXT:              }7540// JSON-NEXT:             }7541// JSON-NEXT:            ]7542// JSON-NEXT:           },7543// JSON-NEXT:           {7544// JSON-NEXT:            "kind": "TemplateArgument",7545// JSON-NEXT:            "isExpr": true,7546// JSON-NEXT:            "isCanonical": true,7547// JSON-NEXT:            "inner": [7548// JSON-NEXT:             {7549// JSON-NEXT:              "id": "0x{{.*}}",7550// JSON-NEXT:              "kind": "DeclRefExpr",7551// JSON-NEXT:              "range": {7552// JSON-NEXT:               "begin": {7553// JSON-NEXT:                "offset": 7176,7554// JSON-NEXT:                "col": 34,7555// JSON-NEXT:                "tokLen": 27556// JSON-NEXT:               },7557// JSON-NEXT:               "end": {7558// JSON-NEXT:                "offset": 7176,7559// JSON-NEXT:                "col": 34,7560// JSON-NEXT:                "tokLen": 27561// JSON-NEXT:               }7562// JSON-NEXT:              },7563// JSON-NEXT:              "type": {7564// JSON-NEXT:               "qualType": "bool"7565// JSON-NEXT:              },7566// JSON-NEXT:              "valueCategory": "prvalue",7567// JSON-NEXT:              "referencedDecl": {7568// JSON-NEXT:               "id": "0x{{.*}}",7569// JSON-NEXT:               "kind": "NonTypeTemplateParmDecl",7570// JSON-NEXT:               "name": "U2",7571// JSON-NEXT:               "type": {7572// JSON-NEXT:                "qualType": "bool"7573// JSON-NEXT:               }7574// JSON-NEXT:              }7575// JSON-NEXT:             }7576// JSON-NEXT:            ]7577// JSON-NEXT:           }7578// JSON-NEXT:          ]7579// JSON-NEXT:         }7580// JSON-NEXT:        ]7581// JSON-NEXT:       },7582// JSON-NEXT:       {7583// JSON-NEXT:        "kind": "TemplateArgument",7584// JSON-NEXT:        "isExpr": true,7585// JSON-NEXT:        "isCanonical": true,7586// JSON-NEXT:        "inner": [7587// JSON-NEXT:         {7588// JSON-NEXT:          "id": "0x{{.*}}",7589// JSON-NEXT:          "kind": "DeclRefExpr",7590// JSON-NEXT:          "range": {7591// JSON-NEXT:           "begin": {7592// JSON-NEXT:            "offset": 7181,7593// JSON-NEXT:            "col": 39,7594// JSON-NEXT:            "tokLen": 27595// JSON-NEXT:           },7596// JSON-NEXT:           "end": {7597// JSON-NEXT:            "offset": 7181,7598// JSON-NEXT:            "col": 39,7599// JSON-NEXT:            "tokLen": 27600// JSON-NEXT:           }7601// JSON-NEXT:          },7602// JSON-NEXT:          "type": {7603// JSON-NEXT:           "qualType": "bool"7604// JSON-NEXT:          },7605// JSON-NEXT:          "valueCategory": "prvalue",7606// JSON-NEXT:          "referencedDecl": {7607// JSON-NEXT:           "id": "0x{{.*}}",7608// JSON-NEXT:           "kind": "NonTypeTemplateParmDecl",7609// JSON-NEXT:           "name": "U3",7610// JSON-NEXT:           "type": {7611// JSON-NEXT:            "qualType": "bool"7612// JSON-NEXT:           }7613// JSON-NEXT:          }7614// JSON-NEXT:         }7615// JSON-NEXT:        ]7616// JSON-NEXT:       },7617// JSON-NEXT:       {7618// JSON-NEXT:        "id": "0x{{.*}}",7619// JSON-NEXT:        "kind": "TemplateTypeParmDecl",7620// JSON-NEXT:        "loc": {7621// JSON-NEXT:         "offset": 7121,7622// JSON-NEXT:         "line": 194,7623// JSON-NEXT:         "col": 19,7624// JSON-NEXT:         "tokLen": 27625// JSON-NEXT:        },7626// JSON-NEXT:        "range": {7627// JSON-NEXT:         "begin": {7628// JSON-NEXT:          "offset": 7115,7629// JSON-NEXT:          "col": 13,7630// JSON-NEXT:          "tokLen": 57631// JSON-NEXT:         },7632// JSON-NEXT:         "end": {7633// JSON-NEXT:          "offset": 7121,7634// JSON-NEXT:          "col": 19,7635// JSON-NEXT:          "tokLen": 27636// JSON-NEXT:         }7637// JSON-NEXT:        },7638// JSON-NEXT:        "isReferenced": true,7639// JSON-NEXT:        "name": "U1",7640// JSON-NEXT:        "tagUsed": "class",7641// JSON-NEXT:        "depth": 0,7642// JSON-NEXT:        "index": 07643// JSON-NEXT:       },7644// JSON-NEXT:       {7645// JSON-NEXT:        "id": "0x{{.*}}",7646// JSON-NEXT:        "kind": "NonTypeTemplateParmDecl",7647// JSON-NEXT:        "loc": {7648// JSON-NEXT:         "offset": 7130,7649// JSON-NEXT:         "col": 28,7650// JSON-NEXT:         "tokLen": 27651// JSON-NEXT:        },7652// JSON-NEXT:        "range": {7653// JSON-NEXT:         "begin": {7654// JSON-NEXT:          "offset": 7125,7655// JSON-NEXT:          "col": 23,7656// JSON-NEXT:          "tokLen": 47657// JSON-NEXT:         },7658// JSON-NEXT:         "end": {7659// JSON-NEXT:          "offset": 7130,7660// JSON-NEXT:          "col": 28,7661// JSON-NEXT:          "tokLen": 27662// JSON-NEXT:         }7663// JSON-NEXT:        },7664// JSON-NEXT:        "isReferenced": true,7665// JSON-NEXT:        "name": "U2",7666// JSON-NEXT:        "type": {7667// JSON-NEXT:         "qualType": "bool"7668// JSON-NEXT:        },7669// JSON-NEXT:        "depth": 0,7670// JSON-NEXT:        "index": 17671// JSON-NEXT:       },7672// JSON-NEXT:       {7673// JSON-NEXT:        "id": "0x{{.*}}",7674// JSON-NEXT:        "kind": "NonTypeTemplateParmDecl",7675// JSON-NEXT:        "loc": {7676// JSON-NEXT:         "offset": 7139,7677// JSON-NEXT:         "col": 37,7678// JSON-NEXT:         "tokLen": 27679// JSON-NEXT:        },7680// JSON-NEXT:        "range": {7681// JSON-NEXT:         "begin": {7682// JSON-NEXT:          "offset": 7134,7683// JSON-NEXT:          "col": 32,7684// JSON-NEXT:          "tokLen": 47685// JSON-NEXT:         },7686// JSON-NEXT:         "end": {7687// JSON-NEXT:          "offset": 7139,7688// JSON-NEXT:          "col": 37,7689// JSON-NEXT:          "tokLen": 27690// JSON-NEXT:         }7691// JSON-NEXT:        },7692// JSON-NEXT:        "isReferenced": true,7693// JSON-NEXT:        "name": "U3",7694// JSON-NEXT:        "type": {7695// JSON-NEXT:         "qualType": "bool"7696// JSON-NEXT:        },7697// JSON-NEXT:        "depth": 0,7698// JSON-NEXT:        "index": 27699// JSON-NEXT:       },7700// JSON-NEXT:       {7701// JSON-NEXT:        "id": "0x{{.*}}",7702// JSON-NEXT:        "kind": "CXXRecordDecl",7703// JSON-NEXT:        "loc": {7704// JSON-NEXT:         "offset": 7152,7705// JSON-NEXT:         "line": 195,7706// JSON-NEXT:         "col": 10,7707// JSON-NEXT:         "tokLen": 97708// JSON-NEXT:        },7709// JSON-NEXT:        "range": {7710// JSON-NEXT:         "begin": {7711// JSON-NEXT:          "offset": 7145,7712// JSON-NEXT:          "col": 3,7713// JSON-NEXT:          "tokLen": 67714// JSON-NEXT:         },7715// JSON-NEXT:         "end": {7716// JSON-NEXT:          "offset": 7152,7717// JSON-NEXT:          "col": 10,7718// JSON-NEXT:          "tokLen": 97719// JSON-NEXT:         }7720// JSON-NEXT:        },7721// JSON-NEXT:        "isImplicit": true,7722// JSON-NEXT:        "name": "Template2",7723// JSON-NEXT:        "tagUsed": "struct"7724// JSON-NEXT:       }7725// JSON-NEXT:      ]7726// JSON-NEXT:     },7727// JSON-NEXT:     {7728// JSON-NEXT:      "id": "0x{{.*}}",7729// JSON-NEXT:      "kind": "ClassTemplatePartialSpecializationDecl",7730// JSON-NEXT:      "loc": {7731// JSON-NEXT:       "offset": 8468,7732// JSON-NEXT:       "line": 213,7733// JSON-NEXT:       "col": 10,7734// JSON-NEXT:       "tokLen": 97735// JSON-NEXT:      },7736// JSON-NEXT:      "range": {7737// JSON-NEXT:       "begin": {7738// JSON-NEXT:        "offset": 8418,7739// JSON-NEXT:        "line": 212,7740// JSON-NEXT:        "col": 3,7741// JSON-NEXT:        "tokLen": 87742// JSON-NEXT:       },7743// JSON-NEXT:       "end": {7744// JSON-NEXT:        "offset": 8502,7745// JSON-NEXT:        "line": 213,7746// JSON-NEXT:        "col": 44,7747// JSON-NEXT:        "tokLen": 17748// JSON-NEXT:       }7749// JSON-NEXT:      },7750// JSON-NEXT:      "name": "Template2",7751// JSON-NEXT:      "tagUsed": "struct",7752// JSON-NEXT:      "completeDefinition": true,7753// JSON-NEXT:      "definitionData": {7754// JSON-NEXT:       "canConstDefaultInit": true,7755// JSON-NEXT:       "copyAssign": {7756// JSON-NEXT:        "hasConstParam": true,7757// JSON-NEXT:        "implicitHasConstParam": true,7758// JSON-NEXT:        "needsImplicit": true,7759// JSON-NEXT:        "simple": true,7760// JSON-NEXT:        "trivial": true7761// JSON-NEXT:       },7762// JSON-NEXT:       "copyCtor": {7763// JSON-NEXT:        "hasConstParam": true,7764// JSON-NEXT:        "implicitHasConstParam": true,7765// JSON-NEXT:        "needsImplicit": true,7766// JSON-NEXT:        "simple": true,7767// JSON-NEXT:        "trivial": true7768// JSON-NEXT:       },7769// JSON-NEXT:       "defaultCtor": {7770// JSON-NEXT:        "defaultedIsConstexpr": true,7771// JSON-NEXT:        "exists": true,7772// JSON-NEXT:        "isConstexpr": true,7773// JSON-NEXT:        "needsImplicit": true,7774// JSON-NEXT:        "trivial": true7775// JSON-NEXT:       },7776// JSON-NEXT:       "dtor": {7777// JSON-NEXT:        "irrelevant": true,7778// JSON-NEXT:        "needsImplicit": true,7779// JSON-NEXT:        "simple": true,7780// JSON-NEXT:        "trivial": true7781// JSON-NEXT:       },7782// JSON-NEXT:       "hasConstexprNonCopyMoveConstructor": true,7783// JSON-NEXT:       "isAggregate": true,7784// JSON-NEXT:       "isEmpty": true,7785// JSON-NEXT:       "isLiteral": true,7786// JSON-NEXT:       "isPOD": true,7787// JSON-NEXT:       "isStandardLayout": true,7788// JSON-NEXT:       "isTrivial": true,7789// JSON-NEXT:       "isTriviallyCopyable": true,7790// JSON-NEXT:       "moveAssign": {7791// JSON-NEXT:        "exists": true,7792// JSON-NEXT:        "needsImplicit": true,7793// JSON-NEXT:        "simple": true,7794// JSON-NEXT:        "trivial": true7795// JSON-NEXT:       },7796// JSON-NEXT:       "moveCtor": {7797// JSON-NEXT:        "exists": true,7798// JSON-NEXT:        "needsImplicit": true,7799// JSON-NEXT:        "simple": true,7800// JSON-NEXT:        "trivial": true7801// JSON-NEXT:       }7802// JSON-NEXT:      },7803// JSON-NEXT:      "inner": [7804// JSON-NEXT:       {7805// JSON-NEXT:        "kind": "TemplateArgument",7806// JSON-NEXT:        "type": {7807// JSON-NEXT:         "qualType": "TestPartialSpecNTTP::Template1<type-parameter-0-0, value-parameter-0-2>"7808// JSON-NEXT:        },7809// JSON-NEXT:        "inner": [7810// JSON-NEXT:         {7811// JSON-NEXT:          "id": "0x{{.*}}",7812// JSON-NEXT:          "kind": "TemplateSpecializationType",7813// JSON-NEXT:          "type": {7814// JSON-NEXT:           "qualType": "TestPartialSpecNTTP::Template1<type-parameter-0-0, value-parameter-0-2>"7815// JSON-NEXT:          },7816// JSON-NEXT:          "isDependent": true,7817// JSON-NEXT:          "isInstantiationDependent": true,7818// JSON-NEXT:          "templateName": "TestPartialSpecNTTP::Template1",7819// JSON-NEXT:          "inner": [7820// JSON-NEXT:           {7821// JSON-NEXT:            "kind": "TemplateArgument",7822// JSON-NEXT:            "type": {7823// JSON-NEXT:             "qualType": "type-parameter-0-0"7824// JSON-NEXT:            },7825// JSON-NEXT:            "inner": [7826// JSON-NEXT:             {7827// JSON-NEXT:              "id": "0x{{.*}}",7828// JSON-NEXT:              "kind": "TemplateTypeParmType",7829// JSON-NEXT:              "type": {7830// JSON-NEXT:               "qualType": "type-parameter-0-0"7831// JSON-NEXT:              },7832// JSON-NEXT:              "isDependent": true,7833// JSON-NEXT:              "isInstantiationDependent": true,7834// JSON-NEXT:              "depth": 0,7835// JSON-NEXT:              "index": 0,7836// JSON-NEXT:              "decl": {7837// JSON-NEXT:               "id": "0x0"7838// JSON-NEXT:              }7839// JSON-NEXT:             }7840// JSON-NEXT:            ]7841// JSON-NEXT:           },7842// JSON-NEXT:           {7843// JSON-NEXT:            "kind": "TemplateArgument",7844// JSON-NEXT:            "isExpr": true,7845// JSON-NEXT:            "isCanonical": true,7846// JSON-NEXT:            "inner": [7847// JSON-NEXT:             {7848// JSON-NEXT:              "id": "0x{{.*}}",7849// JSON-NEXT:              "kind": "DeclRefExpr",7850// JSON-NEXT:              "range": {7851// JSON-NEXT:               "begin": {7852// JSON-NEXT:                "offset": 8492,7853// JSON-NEXT:                "col": 34,7854// JSON-NEXT:                "tokLen": 27855// JSON-NEXT:               },7856// JSON-NEXT:               "end": {7857// JSON-NEXT:                "offset": 8492,7858// JSON-NEXT:                "col": 34,7859// JSON-NEXT:                "tokLen": 27860// JSON-NEXT:               }7861// JSON-NEXT:              },7862// JSON-NEXT:              "type": {7863// JSON-NEXT:               "qualType": "bool"7864// JSON-NEXT:              },7865// JSON-NEXT:              "valueCategory": "prvalue",7866// JSON-NEXT:              "referencedDecl": {7867// JSON-NEXT:               "id": "0x{{.*}}",7868// JSON-NEXT:               "kind": "NonTypeTemplateParmDecl",7869// JSON-NEXT:               "name": "U2",7870// JSON-NEXT:               "type": {7871// JSON-NEXT:                "qualType": "bool"7872// JSON-NEXT:               }7873// JSON-NEXT:              }7874// JSON-NEXT:             }7875// JSON-NEXT:            ]7876// JSON-NEXT:           }7877// JSON-NEXT:          ]7878// JSON-NEXT:         }7879// JSON-NEXT:        ]7880// JSON-NEXT:       },7881// JSON-NEXT:       {7882// JSON-NEXT:        "kind": "TemplateArgument",7883// JSON-NEXT:        "isExpr": true,7884// JSON-NEXT:        "isCanonical": true,7885// JSON-NEXT:        "inner": [7886// JSON-NEXT:         {7887// JSON-NEXT:          "id": "0x{{.*}}",7888// JSON-NEXT:          "kind": "DeclRefExpr",7889// JSON-NEXT:          "range": {7890// JSON-NEXT:           "begin": {7891// JSON-NEXT:            "offset": 8497,7892// JSON-NEXT:            "col": 39,7893// JSON-NEXT:            "tokLen": 27894// JSON-NEXT:           },7895// JSON-NEXT:           "end": {7896// JSON-NEXT:            "offset": 8497,7897// JSON-NEXT:            "col": 39,7898// JSON-NEXT:            "tokLen": 27899// JSON-NEXT:           }7900// JSON-NEXT:          },7901// JSON-NEXT:          "type": {7902// JSON-NEXT:           "qualType": "bool"7903// JSON-NEXT:          },7904// JSON-NEXT:          "valueCategory": "prvalue",7905// JSON-NEXT:          "referencedDecl": {7906// JSON-NEXT:           "id": "0x{{.*}}",7907// JSON-NEXT:           "kind": "NonTypeTemplateParmDecl",7908// JSON-NEXT:           "name": "U3",7909// JSON-NEXT:           "type": {7910// JSON-NEXT:            "qualType": "bool"7911// JSON-NEXT:           }7912// JSON-NEXT:          }7913// JSON-NEXT:         }7914// JSON-NEXT:        ]7915// JSON-NEXT:       },7916// JSON-NEXT:       {7917// JSON-NEXT:        "id": "0x{{.*}}",7918// JSON-NEXT:        "kind": "TemplateTypeParmDecl",7919// JSON-NEXT:        "loc": {7920// JSON-NEXT:         "offset": 8437,7921// JSON-NEXT:         "line": 212,7922// JSON-NEXT:         "col": 22,7923// JSON-NEXT:         "tokLen": 27924// JSON-NEXT:        },7925// JSON-NEXT:        "range": {7926// JSON-NEXT:         "begin": {7927// JSON-NEXT:          "offset": 8428,7928// JSON-NEXT:          "col": 13,7929// JSON-NEXT:          "tokLen": 87930// JSON-NEXT:         },7931// JSON-NEXT:         "end": {7932// JSON-NEXT:          "offset": 8437,7933// JSON-NEXT:          "col": 22,7934// JSON-NEXT:          "tokLen": 27935// JSON-NEXT:         }7936// JSON-NEXT:        },7937// JSON-NEXT:        "isReferenced": true,7938// JSON-NEXT:        "name": "U1",7939// JSON-NEXT:        "tagUsed": "typename",7940// JSON-NEXT:        "depth": 0,7941// JSON-NEXT:        "index": 07942// JSON-NEXT:       },7943// JSON-NEXT:       {7944// JSON-NEXT:        "id": "0x{{.*}}",7945// JSON-NEXT:        "kind": "NonTypeTemplateParmDecl",7946// JSON-NEXT:        "loc": {7947// JSON-NEXT:         "offset": 8446,7948// JSON-NEXT:         "col": 31,7949// JSON-NEXT:         "tokLen": 27950// JSON-NEXT:        },7951// JSON-NEXT:        "range": {7952// JSON-NEXT:         "begin": {7953// JSON-NEXT:          "offset": 8441,7954// JSON-NEXT:          "col": 26,7955// JSON-NEXT:          "tokLen": 47956// JSON-NEXT:         },7957// JSON-NEXT:         "end": {7958// JSON-NEXT:          "offset": 8446,7959// JSON-NEXT:          "col": 31,7960// JSON-NEXT:          "tokLen": 27961// JSON-NEXT:         }7962// JSON-NEXT:        },7963// JSON-NEXT:        "isReferenced": true,7964// JSON-NEXT:        "name": "U3",7965// JSON-NEXT:        "type": {7966// JSON-NEXT:         "qualType": "bool"7967// JSON-NEXT:        },7968// JSON-NEXT:        "depth": 0,7969// JSON-NEXT:        "index": 17970// JSON-NEXT:       },7971// JSON-NEXT:       {7972// JSON-NEXT:        "id": "0x{{.*}}",7973// JSON-NEXT:        "kind": "NonTypeTemplateParmDecl",7974// JSON-NEXT:        "loc": {7975// JSON-NEXT:         "offset": 8455,7976// JSON-NEXT:         "col": 40,7977// JSON-NEXT:         "tokLen": 27978// JSON-NEXT:        },7979// JSON-NEXT:        "range": {7980// JSON-NEXT:         "begin": {7981// JSON-NEXT:          "offset": 8450,7982// JSON-NEXT:          "col": 35,7983// JSON-NEXT:          "tokLen": 47984// JSON-NEXT:         },7985// JSON-NEXT:         "end": {7986// JSON-NEXT:          "offset": 8455,7987// JSON-NEXT:          "col": 40,7988// JSON-NEXT:          "tokLen": 27989// JSON-NEXT:         }7990// JSON-NEXT:        },7991// JSON-NEXT:        "isReferenced": true,7992// JSON-NEXT:        "name": "U2",7993// JSON-NEXT:        "type": {7994// JSON-NEXT:         "qualType": "bool"7995// JSON-NEXT:        },7996// JSON-NEXT:        "depth": 0,7997// JSON-NEXT:        "index": 27998// JSON-NEXT:       },7999// JSON-NEXT:       {8000// JSON-NEXT:        "id": "0x{{.*}}",8001// JSON-NEXT:        "kind": "CXXRecordDecl",8002// JSON-NEXT:        "loc": {8003// JSON-NEXT:         "offset": 8468,8004// JSON-NEXT:         "line": 213,8005// JSON-NEXT:         "col": 10,8006// JSON-NEXT:         "tokLen": 98007// JSON-NEXT:        },8008// JSON-NEXT:        "range": {8009// JSON-NEXT:         "begin": {8010// JSON-NEXT:          "offset": 8461,8011// JSON-NEXT:          "col": 3,8012// JSON-NEXT:          "tokLen": 68013// JSON-NEXT:         },8014// JSON-NEXT:         "end": {8015// JSON-NEXT:          "offset": 8468,8016// JSON-NEXT:          "col": 10,8017// JSON-NEXT:          "tokLen": 98018// JSON-NEXT:         }8019// JSON-NEXT:        },8020// JSON-NEXT:        "isImplicit": true,8021// JSON-NEXT:        "name": "Template2",8022// JSON-NEXT:        "tagUsed": "struct"8023// JSON-NEXT:       }8024// JSON-NEXT:      ]8025// JSON-NEXT:     }8026// JSON-NEXT:    ]8027// JSON-NEXT:   },8028// JSON-NEXT:   {8029// JSON-NEXT:    "id": "0x{{.*}}",8030// JSON-NEXT:    "kind": "NamespaceDecl",8031// JSON-NEXT:    "loc": {8032// JSON-NEXT:     "offset": 9815,8033// JSON-NEXT:     "line": 231,8034// JSON-NEXT:     "col": 11,8035// JSON-NEXT:     "tokLen": 88036// JSON-NEXT:    },8037// JSON-NEXT:    "range": {8038// JSON-NEXT:     "begin": {8039// JSON-NEXT:      "offset": 9805,8040// JSON-NEXT:      "col": 1,8041// JSON-NEXT:      "tokLen": 98042// JSON-NEXT:     },8043// JSON-NEXT:     "end": {8044// JSON-NEXT:      "offset": 10224,8045// JSON-NEXT:      "line": 245,8046// JSON-NEXT:      "col": 1,8047// JSON-NEXT:      "tokLen": 18048// JSON-NEXT:     }8049// JSON-NEXT:    },8050// JSON-NEXT:    "name": "GH153540",8051// JSON-NEXT:    "inner": [8052// JSON-NEXT:     {8053// JSON-NEXT:      "id": "0x{{.*}}",8054// JSON-NEXT:      "kind": "NamespaceDecl",8055// JSON-NEXT:      "loc": {8056// JSON-NEXT:       "offset": 9889,8057// JSON-NEXT:       "line": 234,8058// JSON-NEXT:       "col": 13,8059// JSON-NEXT:       "tokLen": 18060// JSON-NEXT:      },8061// JSON-NEXT:      "range": {8062// JSON-NEXT:       "begin": {8063// JSON-NEXT:        "offset": 9879,8064// JSON-NEXT:        "col": 3,8065// JSON-NEXT:        "tokLen": 98066// JSON-NEXT:       },8067// JSON-NEXT:       "end": {8068// JSON-NEXT:        "offset": 9940,8069// JSON-NEXT:        "line": 236,8070// JSON-NEXT:        "col": 3,8071// JSON-NEXT:        "tokLen": 18072// JSON-NEXT:       }8073// JSON-NEXT:      },8074// JSON-NEXT:      "name": "N",8075// JSON-NEXT:      "inner": [8076// JSON-NEXT:       {8077// JSON-NEXT:        "id": "0x{{.*}}",8078// JSON-NEXT:        "kind": "ClassTemplateDecl",8079// JSON-NEXT:        "loc": {8080// JSON-NEXT:         "offset": 9925,8081// JSON-NEXT:         "line": 235,8082// JSON-NEXT:         "col": 33,8083// JSON-NEXT:         "tokLen": 18084// JSON-NEXT:        },8085// JSON-NEXT:        "range": {8086// JSON-NEXT:         "begin": {8087// JSON-NEXT:          "offset": 9897,8088// JSON-NEXT:          "col": 5,8089// JSON-NEXT:          "tokLen": 88090// JSON-NEXT:         },8091// JSON-NEXT:         "end": {8092// JSON-NEXT:          "offset": 9935,8093// JSON-NEXT:          "col": 43,8094// JSON-NEXT:          "tokLen": 18095// JSON-NEXT:         }8096// JSON-NEXT:        },8097// JSON-NEXT:        "name": "S",8098// JSON-NEXT:        "inner": [8099// JSON-NEXT:         {8100// JSON-NEXT:          "id": "0x{{.*}}",8101// JSON-NEXT:          "kind": "TemplateTypeParmDecl",8102// JSON-NEXT:          "loc": {8103// JSON-NEXT:           "offset": 9915,8104// JSON-NEXT:           "col": 23,8105// JSON-NEXT:           "tokLen": 18106// JSON-NEXT:          },8107// JSON-NEXT:          "range": {8108// JSON-NEXT:           "begin": {8109// JSON-NEXT:            "offset": 9906,8110// JSON-NEXT:            "col": 14,8111// JSON-NEXT:            "tokLen": 88112// JSON-NEXT:           },8113// JSON-NEXT:           "end": {8114// JSON-NEXT:            "offset": 9915,8115// JSON-NEXT:            "col": 23,8116// JSON-NEXT:            "tokLen": 18117// JSON-NEXT:           }8118// JSON-NEXT:          },8119// JSON-NEXT:          "isReferenced": true,8120// JSON-NEXT:          "name": "T",8121// JSON-NEXT:          "tagUsed": "typename",8122// JSON-NEXT:          "depth": 0,8123// JSON-NEXT:          "index": 08124// JSON-NEXT:         },8125// JSON-NEXT:         {8126// JSON-NEXT:          "id": "0x{{.*}}",8127// JSON-NEXT:          "kind": "CXXRecordDecl",8128// JSON-NEXT:          "loc": {8129// JSON-NEXT:           "offset": 9925,8130// JSON-NEXT:           "col": 33,8131// JSON-NEXT:           "tokLen": 18132// JSON-NEXT:          },8133// JSON-NEXT:          "range": {8134// JSON-NEXT:           "begin": {8135// JSON-NEXT:            "offset": 9918,8136// JSON-NEXT:            "col": 26,8137// JSON-NEXT:            "tokLen": 68138// JSON-NEXT:           },8139// JSON-NEXT:           "end": {8140// JSON-NEXT:            "offset": 9935,8141// JSON-NEXT:            "col": 43,8142// JSON-NEXT:            "tokLen": 18143// JSON-NEXT:           }8144// JSON-NEXT:          },8145// JSON-NEXT:          "name": "S",8146// JSON-NEXT:          "tagUsed": "struct",8147// JSON-NEXT:          "completeDefinition": true,8148// JSON-NEXT:          "definitionData": {8149// JSON-NEXT:           "canConstDefaultInit": true,8150// JSON-NEXT:           "copyAssign": {8151// JSON-NEXT:            "hasConstParam": true,8152// JSON-NEXT:            "implicitHasConstParam": true,8153// JSON-NEXT:            "needsImplicit": true,8154// JSON-NEXT:            "simple": true,8155// JSON-NEXT:            "trivial": true8156// JSON-NEXT:           },8157// JSON-NEXT:           "copyCtor": {8158// JSON-NEXT:            "hasConstParam": true,8159// JSON-NEXT:            "implicitHasConstParam": true,8160// JSON-NEXT:            "needsImplicit": true,8161// JSON-NEXT:            "simple": true,8162// JSON-NEXT:            "trivial": true8163// JSON-NEXT:           },8164// JSON-NEXT:           "defaultCtor": {8165// JSON-NEXT:            "defaultedIsConstexpr": true8166// JSON-NEXT:           },8167// JSON-NEXT:           "dtor": {8168// JSON-NEXT:            "irrelevant": true,8169// JSON-NEXT:            "needsImplicit": true,8170// JSON-NEXT:            "simple": true,8171// JSON-NEXT:            "trivial": true8172// JSON-NEXT:           },8173// JSON-NEXT:           "hasUserDeclaredConstructor": true,8174// JSON-NEXT:           "isEmpty": true,8175// JSON-NEXT:           "isStandardLayout": true,8176// JSON-NEXT:           "isTriviallyCopyable": true,8177// JSON-NEXT:           "moveAssign": {8178// JSON-NEXT:            "exists": true,8179// JSON-NEXT:            "needsImplicit": true,8180// JSON-NEXT:            "simple": true,8181// JSON-NEXT:            "trivial": true8182// JSON-NEXT:           },8183// JSON-NEXT:           "moveCtor": {8184// JSON-NEXT:            "exists": true,8185// JSON-NEXT:            "needsImplicit": true,8186// JSON-NEXT:            "simple": true,8187// JSON-NEXT:            "trivial": true8188// JSON-NEXT:           }8189// JSON-NEXT:          },8190// JSON-NEXT:          "inner": [8191// JSON-NEXT:           {8192// JSON-NEXT:            "id": "0x{{.*}}",8193// JSON-NEXT:            "kind": "CXXRecordDecl",8194// JSON-NEXT:            "loc": {8195// JSON-NEXT:             "offset": 9925,8196// JSON-NEXT:             "col": 33,8197// JSON-NEXT:             "tokLen": 18198// JSON-NEXT:            },8199// JSON-NEXT:            "range": {8200// JSON-NEXT:             "begin": {8201// JSON-NEXT:              "offset": 9918,8202// JSON-NEXT:              "col": 26,8203// JSON-NEXT:              "tokLen": 68204// JSON-NEXT:             },8205// JSON-NEXT:             "end": {8206// JSON-NEXT:              "offset": 9925,8207// JSON-NEXT:              "col": 33,8208// JSON-NEXT:              "tokLen": 18209// JSON-NEXT:             }8210// JSON-NEXT:            },8211// JSON-NEXT:            "isImplicit": true,8212// JSON-NEXT:            "name": "S",8213// JSON-NEXT:            "tagUsed": "struct"8214// JSON-NEXT:           },8215// JSON-NEXT:           {8216// JSON-NEXT:            "id": "0x{{.*}}",8217// JSON-NEXT:            "kind": "CXXConstructorDecl",8218// JSON-NEXT:            "loc": {8219// JSON-NEXT:             "offset": 9929,8220// JSON-NEXT:             "col": 37,8221// JSON-NEXT:             "tokLen": 18222// JSON-NEXT:            },8223// JSON-NEXT:            "range": {8224// JSON-NEXT:             "begin": {8225// JSON-NEXT:              "offset": 9929,8226// JSON-NEXT:              "col": 37,8227// JSON-NEXT:              "tokLen": 18228// JSON-NEXT:             },8229// JSON-NEXT:             "end": {8230// JSON-NEXT:              "offset": 9932,8231// JSON-NEXT:              "col": 40,8232// JSON-NEXT:              "tokLen": 18233// JSON-NEXT:             }8234// JSON-NEXT:            },8235// JSON-NEXT:            "name": "S<T>",8236// JSON-NEXT:            "type": {8237// JSON-NEXT:             "qualType": "void (T)"8238// JSON-NEXT:            },8239// JSON-NEXT:            "inner": [8240// JSON-NEXT:             {8241// JSON-NEXT:              "id": "0x{{.*}}",8242// JSON-NEXT:              "kind": "ParmVarDecl",8243// JSON-NEXT:              "loc": {8244// JSON-NEXT:               "offset": 9932,8245// JSON-NEXT:               "col": 40,8246// JSON-NEXT:               "tokLen": 18247// JSON-NEXT:              },8248// JSON-NEXT:              "range": {8249// JSON-NEXT:               "begin": {8250// JSON-NEXT:                "offset": 9931,8251// JSON-NEXT:                "col": 39,8252// JSON-NEXT:                "tokLen": 18253// JSON-NEXT:               },8254// JSON-NEXT:               "end": {8255// JSON-NEXT:                "offset": 9931,8256// JSON-NEXT:                "col": 39,8257// JSON-NEXT:                "tokLen": 18258// JSON-NEXT:               }8259// JSON-NEXT:              },8260// JSON-NEXT:              "type": {8261// JSON-NEXT:               "qualType": "T"8262// JSON-NEXT:              }8263// JSON-NEXT:             }8264// JSON-NEXT:            ]8265// JSON-NEXT:           }8266// JSON-NEXT:          ]8267// JSON-NEXT:         },8268// JSON-NEXT:         {8269// JSON-NEXT:          "id": "0x{{.*}}",8270// JSON-NEXT:          "kind": "ClassTemplateSpecializationDecl",8271// JSON-NEXT:          "loc": {8272// JSON-NEXT:           "offset": 9925,8273// JSON-NEXT:           "col": 33,8274// JSON-NEXT:           "tokLen": 18275// JSON-NEXT:          },8276// JSON-NEXT:          "range": {8277// JSON-NEXT:           "begin": {8278// JSON-NEXT:            "offset": 9897,8279// JSON-NEXT:            "col": 5,8280// JSON-NEXT:            "tokLen": 88281// JSON-NEXT:           },8282// JSON-NEXT:           "end": {8283// JSON-NEXT:            "offset": 9935,8284// JSON-NEXT:            "col": 43,8285// JSON-NEXT:            "tokLen": 18286// JSON-NEXT:           }8287// JSON-NEXT:          },8288// JSON-NEXT:          "name": "S",8289// JSON-NEXT:          "tagUsed": "struct",8290// JSON-NEXT:          "completeDefinition": true,8291// JSON-NEXT:          "TemplateInstantiationPattern": "0x{{.*}}",8292// JSON-NEXT:          "definitionData": {8293// JSON-NEXT:           "canConstDefaultInit": true,8294// JSON-NEXT:           "canPassInRegisters": true,8295// JSON-NEXT:           "copyAssign": {8296// JSON-NEXT:            "hasConstParam": true,8297// JSON-NEXT:            "implicitHasConstParam": true,8298// JSON-NEXT:            "needsImplicit": true,8299// JSON-NEXT:            "simple": true,8300// JSON-NEXT:            "trivial": true8301// JSON-NEXT:           },8302// JSON-NEXT:           "copyCtor": {8303// JSON-NEXT:            "hasConstParam": true,8304// JSON-NEXT:            "implicitHasConstParam": true,8305// JSON-NEXT:            "simple": true,8306// JSON-NEXT:            "trivial": true8307// JSON-NEXT:           },8308// JSON-NEXT:           "defaultCtor": {8309// JSON-NEXT:            "defaultedIsConstexpr": true8310// JSON-NEXT:           },8311// JSON-NEXT:           "dtor": {8312// JSON-NEXT:            "irrelevant": true,8313// JSON-NEXT:            "simple": true,8314// JSON-NEXT:            "trivial": true8315// JSON-NEXT:           },8316// JSON-NEXT:           "hasUserDeclaredConstructor": true,8317// JSON-NEXT:           "isEmpty": true,8318// JSON-NEXT:           "isStandardLayout": true,8319// JSON-NEXT:           "isTriviallyCopyable": true,8320// JSON-NEXT:           "moveAssign": {8321// JSON-NEXT:            "exists": true,8322// JSON-NEXT:            "needsImplicit": true,8323// JSON-NEXT:            "simple": true,8324// JSON-NEXT:            "trivial": true8325// JSON-NEXT:           },8326// JSON-NEXT:           "moveCtor": {8327// JSON-NEXT:            "exists": true,8328// JSON-NEXT:            "simple": true,8329// JSON-NEXT:            "trivial": true8330// JSON-NEXT:           }8331// JSON-NEXT:          },8332// JSON-NEXT:          "inner": [8333// JSON-NEXT:           {8334// JSON-NEXT:            "kind": "TemplateArgument",8335// JSON-NEXT:            "type": {8336// JSON-NEXT:             "qualType": "int"8337// JSON-NEXT:            },8338// JSON-NEXT:            "inner": [8339// JSON-NEXT:             {8340// JSON-NEXT:              "id": "0x{{.*}}",8341// JSON-NEXT:              "kind": "BuiltinType",8342// JSON-NEXT:              "type": {8343// JSON-NEXT:               "qualType": "int"8344// JSON-NEXT:              }8345// JSON-NEXT:             }8346// JSON-NEXT:            ]8347// JSON-NEXT:           },8348// JSON-NEXT:           {8349// JSON-NEXT:            "id": "0x{{.*}}",8350// JSON-NEXT:            "kind": "CXXRecordDecl",8351// JSON-NEXT:            "loc": {8352// JSON-NEXT:             "offset": 9925,8353// JSON-NEXT:             "col": 33,8354// JSON-NEXT:             "tokLen": 18355// JSON-NEXT:            },8356// JSON-NEXT:            "range": {8357// JSON-NEXT:             "begin": {8358// JSON-NEXT:              "offset": 9918,8359// JSON-NEXT:              "col": 26,8360// JSON-NEXT:              "tokLen": 68361// JSON-NEXT:             },8362// JSON-NEXT:             "end": {8363// JSON-NEXT:              "offset": 9925,8364// JSON-NEXT:              "col": 33,8365// JSON-NEXT:              "tokLen": 18366// JSON-NEXT:             }8367// JSON-NEXT:            },8368// JSON-NEXT:            "isImplicit": true,8369// JSON-NEXT:            "name": "S",8370// JSON-NEXT:            "tagUsed": "struct"8371// JSON-NEXT:           },8372// JSON-NEXT:           {8373// JSON-NEXT:            "id": "0x{{.*}}",8374// JSON-NEXT:            "kind": "CXXConstructorDecl",8375// JSON-NEXT:            "loc": {8376// JSON-NEXT:             "offset": 9929,8377// JSON-NEXT:             "col": 37,8378// JSON-NEXT:             "tokLen": 18379// JSON-NEXT:            },8380// JSON-NEXT:            "range": {8381// JSON-NEXT:             "begin": {8382// JSON-NEXT:              "offset": 9929,8383// JSON-NEXT:              "col": 37,8384// JSON-NEXT:              "tokLen": 18385// JSON-NEXT:             },8386// JSON-NEXT:             "end": {8387// JSON-NEXT:              "offset": 9932,8388// JSON-NEXT:              "col": 40,8389// JSON-NEXT:              "tokLen": 18390// JSON-NEXT:             }8391// JSON-NEXT:            },8392// JSON-NEXT:            "isUsed": true,8393// JSON-NEXT:            "name": "S",8394// JSON-NEXT:            "mangledName": "_ZN8GH1535401N1SIiEC1Ei",8395// JSON-NEXT:            "type": {8396// JSON-NEXT:             "qualType": "void (int)"8397// JSON-NEXT:            },8398// JSON-NEXT:            "TemplateInstantiationPattern": "0x{{.*}}",8399// JSON-NEXT:            "inner": [8400// JSON-NEXT:             {8401// JSON-NEXT:              "id": "0x{{.*}}",8402// JSON-NEXT:              "kind": "ParmVarDecl",8403// JSON-NEXT:              "loc": {8404// JSON-NEXT:               "offset": 9932,8405// JSON-NEXT:               "col": 40,8406// JSON-NEXT:               "tokLen": 18407// JSON-NEXT:              },8408// JSON-NEXT:              "range": {8409// JSON-NEXT:               "begin": {8410// JSON-NEXT:                "offset": 9931,8411// JSON-NEXT:                "col": 39,8412// JSON-NEXT:                "tokLen": 18413// JSON-NEXT:               },8414// JSON-NEXT:               "end": {8415// JSON-NEXT:                "offset": 9931,8416// JSON-NEXT:                "col": 39,8417// JSON-NEXT:                "tokLen": 18418// JSON-NEXT:               }8419// JSON-NEXT:              },8420// JSON-NEXT:              "type": {8421// JSON-NEXT:               "qualType": "int"8422// JSON-NEXT:              }8423// JSON-NEXT:             }8424// JSON-NEXT:            ]8425// JSON-NEXT:           },8426// JSON-NEXT:           {8427// JSON-NEXT:            "id": "0x{{.*}}",8428// JSON-NEXT:            "kind": "CXXConstructorDecl",8429// JSON-NEXT:            "loc": {8430// JSON-NEXT:             "offset": 9925,8431// JSON-NEXT:             "col": 33,8432// JSON-NEXT:             "tokLen": 18433// JSON-NEXT:            },8434// JSON-NEXT:            "range": {8435// JSON-NEXT:             "begin": {8436// JSON-NEXT:              "offset": 9925,8437// JSON-NEXT:              "col": 33,8438// JSON-NEXT:              "tokLen": 18439// JSON-NEXT:             },8440// JSON-NEXT:             "end": {8441// JSON-NEXT:              "offset": 9925,8442// JSON-NEXT:              "col": 33,8443// JSON-NEXT:              "tokLen": 18444// JSON-NEXT:             }8445// JSON-NEXT:            },8446// JSON-NEXT:            "isImplicit": true,8447// JSON-NEXT:            "name": "S",8448// JSON-NEXT:            "mangledName": "_ZN8GH1535401N1SIiEC1ERKS2_",8449// JSON-NEXT:            "type": {8450// JSON-NEXT:             "qualType": "void (const S<int> &)"8451// JSON-NEXT:            },8452// JSON-NEXT:            "inline": true,8453// JSON-NEXT:            "constexpr": true,8454// JSON-NEXT:            "explicitlyDefaulted": "default",8455// JSON-NEXT:            "inner": [8456// JSON-NEXT:             {8457// JSON-NEXT:              "id": "0x{{.*}}",8458// JSON-NEXT:              "kind": "ParmVarDecl",8459// JSON-NEXT:              "loc": {8460// JSON-NEXT:               "offset": 9925,8461// JSON-NEXT:               "col": 33,8462// JSON-NEXT:               "tokLen": 18463// JSON-NEXT:              },8464// JSON-NEXT:              "range": {8465// JSON-NEXT:               "begin": {8466// JSON-NEXT:                "offset": 9925,8467// JSON-NEXT:                "col": 33,8468// JSON-NEXT:                "tokLen": 18469// JSON-NEXT:               },8470// JSON-NEXT:               "end": {8471// JSON-NEXT:                "offset": 9925,8472// JSON-NEXT:                "col": 33,8473// JSON-NEXT:                "tokLen": 18474// JSON-NEXT:               }8475// JSON-NEXT:              },8476// JSON-NEXT:              "type": {8477// JSON-NEXT:               "qualType": "const S<int> &"8478// JSON-NEXT:              }8479// JSON-NEXT:             }8480// JSON-NEXT:            ]8481// JSON-NEXT:           },8482// JSON-NEXT:           {8483// JSON-NEXT:            "id": "0x{{.*}}",8484// JSON-NEXT:            "kind": "CXXConstructorDecl",8485// JSON-NEXT:            "loc": {8486// JSON-NEXT:             "offset": 9925,8487// JSON-NEXT:             "col": 33,8488// JSON-NEXT:             "tokLen": 18489// JSON-NEXT:            },8490// JSON-NEXT:            "range": {8491// JSON-NEXT:             "begin": {8492// JSON-NEXT:              "offset": 9925,8493// JSON-NEXT:              "col": 33,8494// JSON-NEXT:              "tokLen": 18495// JSON-NEXT:             },8496// JSON-NEXT:             "end": {8497// JSON-NEXT:              "offset": 9925,8498// JSON-NEXT:              "col": 33,8499// JSON-NEXT:              "tokLen": 18500// JSON-NEXT:             }8501// JSON-NEXT:            },8502// JSON-NEXT:            "isImplicit": true,8503// JSON-NEXT:            "name": "S",8504// JSON-NEXT:            "mangledName": "_ZN8GH1535401N1SIiEC1EOS2_",8505// JSON-NEXT:            "type": {8506// JSON-NEXT:             "qualType": "void (S<int> &&)"8507// JSON-NEXT:            },8508// JSON-NEXT:            "inline": true,8509// JSON-NEXT:            "constexpr": true,8510// JSON-NEXT:            "explicitlyDefaulted": "default",8511// JSON-NEXT:            "inner": [8512// JSON-NEXT:             {8513// JSON-NEXT:              "id": "0x{{.*}}",8514// JSON-NEXT:              "kind": "ParmVarDecl",8515// JSON-NEXT:              "loc": {8516// JSON-NEXT:               "offset": 9925,8517// JSON-NEXT:               "col": 33,8518// JSON-NEXT:               "tokLen": 18519// JSON-NEXT:              },8520// JSON-NEXT:              "range": {8521// JSON-NEXT:               "begin": {8522// JSON-NEXT:                "offset": 9925,8523// JSON-NEXT:                "col": 33,8524// JSON-NEXT:                "tokLen": 18525// JSON-NEXT:               },8526// JSON-NEXT:               "end": {8527// JSON-NEXT:                "offset": 9925,8528// JSON-NEXT:                "col": 33,8529// JSON-NEXT:                "tokLen": 18530// JSON-NEXT:               }8531// JSON-NEXT:              },8532// JSON-NEXT:              "type": {8533// JSON-NEXT:               "qualType": "S<int> &&"8534// JSON-NEXT:              }8535// JSON-NEXT:             }8536// JSON-NEXT:            ]8537// JSON-NEXT:           },8538// JSON-NEXT:           {8539// JSON-NEXT:            "id": "0x{{.*}}",8540// JSON-NEXT:            "kind": "CXXDestructorDecl",8541// JSON-NEXT:            "loc": {8542// JSON-NEXT:             "offset": 9925,8543// JSON-NEXT:             "col": 33,8544// JSON-NEXT:             "tokLen": 18545// JSON-NEXT:            },8546// JSON-NEXT:            "range": {8547// JSON-NEXT:             "begin": {8548// JSON-NEXT:              "offset": 9925,8549// JSON-NEXT:              "col": 33,8550// JSON-NEXT:              "tokLen": 18551// JSON-NEXT:             },8552// JSON-NEXT:             "end": {8553// JSON-NEXT:              "offset": 9925,8554// JSON-NEXT:              "col": 33,8555// JSON-NEXT:              "tokLen": 18556// JSON-NEXT:             }8557// JSON-NEXT:            },8558// JSON-NEXT:            "isImplicit": true,8559// JSON-NEXT:            "isReferenced": true,8560// JSON-NEXT:            "name": "~S",8561// JSON-NEXT:            "mangledName": "_ZN8GH1535401N1SIiED1Ev",8562// JSON-NEXT:            "type": {8563// JSON-NEXT:             "qualType": "void () noexcept"8564// JSON-NEXT:            },8565// JSON-NEXT:            "inline": true,8566// JSON-NEXT:            "constexpr": true,8567// JSON-NEXT:            "explicitlyDefaulted": "default"8568// JSON-NEXT:           }8569// JSON-NEXT:          ]8570// JSON-NEXT:         }8571// JSON-NEXT:        ]8572// JSON-NEXT:       },8573// JSON-NEXT:       {8574// JSON-NEXT:        "id": "0x{{.*}}",8575// JSON-NEXT:        "kind": "FunctionTemplateDecl",8576// JSON-NEXT:        "loc": {8577// JSON-NEXT:         "offset": 9929,8578// JSON-NEXT:         "col": 37,8579// JSON-NEXT:         "tokLen": 18580// JSON-NEXT:        },8581// JSON-NEXT:        "range": {8582// JSON-NEXT:         "begin": {8583// JSON-NEXT:          "offset": 9897,8584// JSON-NEXT:          "col": 5,8585// JSON-NEXT:          "tokLen": 88586// JSON-NEXT:         },8587// JSON-NEXT:         "end": {8588// JSON-NEXT:          "offset": 9932,8589// JSON-NEXT:          "col": 40,8590// JSON-NEXT:          "tokLen": 18591// JSON-NEXT:         }8592// JSON-NEXT:        },8593// JSON-NEXT:        "isImplicit": true,8594// JSON-NEXT:        "name": "<deduction guide for S>",8595// JSON-NEXT:        "inner": [8596// JSON-NEXT:         {8597// JSON-NEXT:          "id": "0x{{.*}}",8598// JSON-NEXT:          "kind": "TemplateTypeParmDecl",8599// JSON-NEXT:          "loc": {8600// JSON-NEXT:           "offset": 9915,8601// JSON-NEXT:           "col": 23,8602// JSON-NEXT:           "tokLen": 18603// JSON-NEXT:          },8604// JSON-NEXT:          "range": {8605// JSON-NEXT:           "begin": {8606// JSON-NEXT:            "offset": 9906,8607// JSON-NEXT:            "col": 14,8608// JSON-NEXT:            "tokLen": 88609// JSON-NEXT:           },8610// JSON-NEXT:           "end": {8611// JSON-NEXT:            "offset": 9915,8612// JSON-NEXT:            "col": 23,8613// JSON-NEXT:            "tokLen": 18614// JSON-NEXT:           }8615// JSON-NEXT:          },8616// JSON-NEXT:          "isReferenced": true,8617// JSON-NEXT:          "name": "T",8618// JSON-NEXT:          "tagUsed": "typename",8619// JSON-NEXT:          "depth": 0,8620// JSON-NEXT:          "index": 08621// JSON-NEXT:         },8622// JSON-NEXT:         {8623// JSON-NEXT:          "id": "0x{{.*}}",8624// JSON-NEXT:          "kind": "CXXDeductionGuideDecl",8625// JSON-NEXT:          "loc": {8626// JSON-NEXT:           "offset": 9929,8627// JSON-NEXT:           "col": 37,8628// JSON-NEXT:           "tokLen": 18629// JSON-NEXT:          },8630// JSON-NEXT:          "range": {8631// JSON-NEXT:           "begin": {8632// JSON-NEXT:            "offset": 9929,8633// JSON-NEXT:            "col": 37,8634// JSON-NEXT:            "tokLen": 18635// JSON-NEXT:           },8636// JSON-NEXT:           "end": {8637// JSON-NEXT:            "offset": 9932,8638// JSON-NEXT:            "col": 40,8639// JSON-NEXT:            "tokLen": 18640// JSON-NEXT:           }8641// JSON-NEXT:          },8642// JSON-NEXT:          "isImplicit": true,8643// JSON-NEXT:          "name": "<deduction guide for S>",8644// JSON-NEXT:          "type": {8645// JSON-NEXT:           "qualType": "auto (T) -> GH153540::N::S<T>"8646// JSON-NEXT:          },8647// JSON-NEXT:          "inner": [8648// JSON-NEXT:           {8649// JSON-NEXT:            "id": "0x{{.*}}",8650// JSON-NEXT:            "kind": "ParmVarDecl",8651// JSON-NEXT:            "loc": {8652// JSON-NEXT:             "offset": 9932,8653// JSON-NEXT:             "col": 40,8654// JSON-NEXT:             "tokLen": 18655// JSON-NEXT:            },8656// JSON-NEXT:            "range": {8657// JSON-NEXT:             "begin": {8658// JSON-NEXT:              "offset": 9931,8659// JSON-NEXT:              "col": 39,8660// JSON-NEXT:              "tokLen": 18661// JSON-NEXT:             },8662// JSON-NEXT:             "end": {8663// JSON-NEXT:              "offset": 9931,8664// JSON-NEXT:              "col": 39,8665// JSON-NEXT:              "tokLen": 18666// JSON-NEXT:             }8667// JSON-NEXT:            },8668// JSON-NEXT:            "type": {8669// JSON-NEXT:             "qualType": "T"8670// JSON-NEXT:            }8671// JSON-NEXT:           }8672// JSON-NEXT:          ]8673// JSON-NEXT:         },8674// JSON-NEXT:         {8675// JSON-NEXT:          "id": "0x{{.*}}",8676// JSON-NEXT:          "kind": "CXXDeductionGuideDecl",8677// JSON-NEXT:          "loc": {8678// JSON-NEXT:           "offset": 9929,8679// JSON-NEXT:           "col": 37,8680// JSON-NEXT:           "tokLen": 18681// JSON-NEXT:          },8682// JSON-NEXT:          "range": {8683// JSON-NEXT:           "begin": {8684// JSON-NEXT:            "offset": 9929,8685// JSON-NEXT:            "col": 37,8686// JSON-NEXT:            "tokLen": 18687// JSON-NEXT:           },8688// JSON-NEXT:           "end": {8689// JSON-NEXT:            "offset": 9932,8690// JSON-NEXT:            "col": 40,8691// JSON-NEXT:            "tokLen": 18692// JSON-NEXT:           }8693// JSON-NEXT:          },8694// JSON-NEXT:          "isImplicit": true,8695// JSON-NEXT:          "isUsed": true,8696// JSON-NEXT:          "name": "<deduction guide for S>",8697// JSON-NEXT:          "type": {8698// JSON-NEXT:           "qualType": "auto (int) -> GH153540::N::S<int>"8699// JSON-NEXT:          },8700// JSON-NEXT:          "TemplateInstantiationPattern": "0x{{.*}}",8701// JSON-NEXT:          "inner": [8702// JSON-NEXT:           {8703// JSON-NEXT:            "kind": "TemplateArgument",8704// JSON-NEXT:            "type": {8705// JSON-NEXT:             "qualType": "int"8706// JSON-NEXT:            },8707// JSON-NEXT:            "inner": [8708// JSON-NEXT:             {8709// JSON-NEXT:              "id": "0x{{.*}}",8710// JSON-NEXT:              "kind": "BuiltinType",8711// JSON-NEXT:              "type": {8712// JSON-NEXT:               "qualType": "int"8713// JSON-NEXT:              }8714// JSON-NEXT:             }8715// JSON-NEXT:            ]8716// JSON-NEXT:           },8717// JSON-NEXT:           {8718// JSON-NEXT:            "id": "0x{{.*}}",8719// JSON-NEXT:            "kind": "ParmVarDecl",8720// JSON-NEXT:            "loc": {8721// JSON-NEXT:             "offset": 9932,8722// JSON-NEXT:             "col": 40,8723// JSON-NEXT:             "tokLen": 18724// JSON-NEXT:            },8725// JSON-NEXT:            "range": {8726// JSON-NEXT:             "begin": {8727// JSON-NEXT:              "offset": 9931,8728// JSON-NEXT:              "col": 39,8729// JSON-NEXT:              "tokLen": 18730// JSON-NEXT:             },8731// JSON-NEXT:             "end": {8732// JSON-NEXT:              "offset": 9931,8733// JSON-NEXT:              "col": 39,8734// JSON-NEXT:              "tokLen": 18735// JSON-NEXT:             }8736// JSON-NEXT:            },8737// JSON-NEXT:            "type": {8738// JSON-NEXT:             "qualType": "int"8739// JSON-NEXT:            }8740// JSON-NEXT:           }8741// JSON-NEXT:          ]8742// JSON-NEXT:         }8743// JSON-NEXT:        ]8744// JSON-NEXT:       },8745// JSON-NEXT:       {8746// JSON-NEXT:        "id": "0x{{.*}}",8747// JSON-NEXT:        "kind": "FunctionTemplateDecl",8748// JSON-NEXT:        "loc": {8749// JSON-NEXT:         "offset": 9925,8750// JSON-NEXT:         "col": 33,8751// JSON-NEXT:         "tokLen": 18752// JSON-NEXT:        },8753// JSON-NEXT:        "range": {8754// JSON-NEXT:         "begin": {8755// JSON-NEXT:          "offset": 9897,8756// JSON-NEXT:          "col": 5,8757// JSON-NEXT:          "tokLen": 88758// JSON-NEXT:         },8759// JSON-NEXT:         "end": {8760// JSON-NEXT:          "offset": 9925,8761// JSON-NEXT:          "col": 33,8762// JSON-NEXT:          "tokLen": 18763// JSON-NEXT:         }8764// JSON-NEXT:        },8765// JSON-NEXT:        "isImplicit": true,8766// JSON-NEXT:        "name": "<deduction guide for S>",8767// JSON-NEXT:        "inner": [8768// JSON-NEXT:         {8769// JSON-NEXT:          "id": "0x{{.*}}",8770// JSON-NEXT:          "kind": "TemplateTypeParmDecl",8771// JSON-NEXT:          "loc": {8772// JSON-NEXT:           "offset": 9915,8773// JSON-NEXT:           "col": 23,8774// JSON-NEXT:           "tokLen": 18775// JSON-NEXT:          },8776// JSON-NEXT:          "range": {8777// JSON-NEXT:           "begin": {8778// JSON-NEXT:            "offset": 9906,8779// JSON-NEXT:            "col": 14,8780// JSON-NEXT:            "tokLen": 88781// JSON-NEXT:           },8782// JSON-NEXT:           "end": {8783// JSON-NEXT:            "offset": 9915,8784// JSON-NEXT:            "col": 23,8785// JSON-NEXT:            "tokLen": 18786// JSON-NEXT:           }8787// JSON-NEXT:          },8788// JSON-NEXT:          "isReferenced": true,8789// JSON-NEXT:          "name": "T",8790// JSON-NEXT:          "tagUsed": "typename",8791// JSON-NEXT:          "depth": 0,8792// JSON-NEXT:          "index": 08793// JSON-NEXT:         },8794// JSON-NEXT:         {8795// JSON-NEXT:          "id": "0x{{.*}}",8796// JSON-NEXT:          "kind": "CXXDeductionGuideDecl",8797// JSON-NEXT:          "loc": {8798// JSON-NEXT:           "offset": 9925,8799// JSON-NEXT:           "col": 33,8800// JSON-NEXT:           "tokLen": 18801// JSON-NEXT:          },8802// JSON-NEXT:          "range": {8803// JSON-NEXT:           "begin": {8804// JSON-NEXT:            "offset": 9925,8805// JSON-NEXT:            "col": 33,8806// JSON-NEXT:            "tokLen": 18807// JSON-NEXT:           },8808// JSON-NEXT:           "end": {8809// JSON-NEXT:            "offset": 9925,8810// JSON-NEXT:            "col": 33,8811// JSON-NEXT:            "tokLen": 18812// JSON-NEXT:           }8813// JSON-NEXT:          },8814// JSON-NEXT:          "isImplicit": true,8815// JSON-NEXT:          "name": "<deduction guide for S>",8816// JSON-NEXT:          "type": {8817// JSON-NEXT:           "qualType": "auto (GH153540::N::S<T>) -> GH153540::N::S<T>"8818// JSON-NEXT:          },8819// JSON-NEXT:          "inner": [8820// JSON-NEXT:           {8821// JSON-NEXT:            "id": "0x{{.*}}",8822// JSON-NEXT:            "kind": "ParmVarDecl",8823// JSON-NEXT:            "loc": {8824// JSON-NEXT:             "offset": 9925,8825// JSON-NEXT:             "col": 33,8826// JSON-NEXT:             "tokLen": 18827// JSON-NEXT:            },8828// JSON-NEXT:            "range": {8829// JSON-NEXT:             "begin": {8830// JSON-NEXT:              "offset": 9925,8831// JSON-NEXT:              "col": 33,8832// JSON-NEXT:              "tokLen": 18833// JSON-NEXT:             },8834// JSON-NEXT:             "end": {8835// JSON-NEXT:              "offset": 9925,8836// JSON-NEXT:              "col": 33,8837// JSON-NEXT:              "tokLen": 18838// JSON-NEXT:             }8839// JSON-NEXT:            },8840// JSON-NEXT:            "type": {8841// JSON-NEXT:             "qualType": "GH153540::N::S<T>"8842// JSON-NEXT:            }8843// JSON-NEXT:           }8844// JSON-NEXT:          ]8845// JSON-NEXT:         }8846// JSON-NEXT:        ]8847// JSON-NEXT:       }8848// JSON-NEXT:      ]8849// JSON-NEXT:     },8850// JSON-NEXT:     {8851// JSON-NEXT:      "id": "0x{{.*}}",8852// JSON-NEXT:      "kind": "FunctionDecl",8853// JSON-NEXT:      "loc": {8854// JSON-NEXT:       "offset": 9949,8855// JSON-NEXT:       "line": 237,8856// JSON-NEXT:       "col": 8,8857// JSON-NEXT:       "tokLen": 18858// JSON-NEXT:      },8859// JSON-NEXT:      "range": {8860// JSON-NEXT:       "begin": {8861// JSON-NEXT:        "offset": 9944,8862// JSON-NEXT:        "col": 3,8863// JSON-NEXT:        "tokLen": 48864// JSON-NEXT:       },8865// JSON-NEXT:       "end": {8866// JSON-NEXT:        "offset": 9970,8867// JSON-NEXT:        "line": 239,8868// JSON-NEXT:        "col": 3,8869// JSON-NEXT:        "tokLen": 18870// JSON-NEXT:       }8871// JSON-NEXT:      },8872// JSON-NEXT:      "name": "f",8873// JSON-NEXT:      "mangledName": "_ZN8GH1535401fEv",8874// JSON-NEXT:      "type": {8875// JSON-NEXT:       "qualType": "void ()"8876// JSON-NEXT:      },8877// JSON-NEXT:      "inner": [8878// JSON-NEXT:       {8879// JSON-NEXT:        "id": "0x{{.*}}",8880// JSON-NEXT:        "kind": "CompoundStmt",8881// JSON-NEXT:        "range": {8882// JSON-NEXT:         "begin": {8883// JSON-NEXT:          "offset": 9953,8884// JSON-NEXT:          "line": 237,8885// JSON-NEXT:          "col": 12,8886// JSON-NEXT:          "tokLen": 18887// JSON-NEXT:         },8888// JSON-NEXT:         "end": {8889// JSON-NEXT:          "offset": 9970,8890// JSON-NEXT:          "line": 239,8891// JSON-NEXT:          "col": 3,8892// JSON-NEXT:          "tokLen": 18893// JSON-NEXT:         }8894// JSON-NEXT:        },8895// JSON-NEXT:        "inner": [8896// JSON-NEXT:         {8897// JSON-NEXT:          "id": "0x{{.*}}",8898// JSON-NEXT:          "kind": "CXXFunctionalCastExpr",8899// JSON-NEXT:          "range": {8900// JSON-NEXT:           "begin": {8901// JSON-NEXT:            "offset": 9959,8902// JSON-NEXT:            "line": 238,8903// JSON-NEXT:            "col": 5,8904// JSON-NEXT:            "tokLen": 18905// JSON-NEXT:           },8906// JSON-NEXT:           "end": {8907// JSON-NEXT:            "offset": 9965,8908// JSON-NEXT:            "col": 11,8909// JSON-NEXT:            "tokLen": 18910// JSON-NEXT:           }8911// JSON-NEXT:          },8912// JSON-NEXT:          "type": {8913// JSON-NEXT:           "desugaredQualType": "GH153540::N::S<int>",8914// JSON-NEXT:           "qualType": "N::S<int>"8915// JSON-NEXT:          },8916// JSON-NEXT:          "valueCategory": "prvalue",8917// JSON-NEXT:          "castKind": "ConstructorConversion",8918// JSON-NEXT:          "conversionFunc": {8919// JSON-NEXT:           "id": "0x{{.*}}",8920// JSON-NEXT:           "kind": "CXXConstructorDecl",8921// JSON-NEXT:           "name": "S",8922// JSON-NEXT:           "type": {8923// JSON-NEXT:            "qualType": "void (int)"8924// JSON-NEXT:           }8925// JSON-NEXT:          },8926// JSON-NEXT:          "inner": [8927// JSON-NEXT:           {8928// JSON-NEXT:            "id": "0x{{.*}}",8929// JSON-NEXT:            "kind": "CXXConstructExpr",8930// JSON-NEXT:            "range": {8931// JSON-NEXT:             "begin": {8932// JSON-NEXT:              "offset": 9959,8933// JSON-NEXT:              "col": 5,8934// JSON-NEXT:              "tokLen": 18935// JSON-NEXT:             },8936// JSON-NEXT:             "end": {8937// JSON-NEXT:              "offset": 9965,8938// JSON-NEXT:              "col": 11,8939// JSON-NEXT:              "tokLen": 18940// JSON-NEXT:             }8941// JSON-NEXT:            },8942// JSON-NEXT:            "type": {8943// JSON-NEXT:             "desugaredQualType": "GH153540::N::S<int>",8944// JSON-NEXT:             "qualType": "N::S<int>"8945// JSON-NEXT:            },8946// JSON-NEXT:            "valueCategory": "prvalue",8947// JSON-NEXT:            "ctorType": {8948// JSON-NEXT:             "qualType": "void (int)"8949// JSON-NEXT:            },8950// JSON-NEXT:            "hadMultipleCandidates": true,8951// JSON-NEXT:            "constructionKind": "complete",8952// JSON-NEXT:            "inner": [8953// JSON-NEXT:             {8954// JSON-NEXT:              "id": "0x{{.*}}",8955// JSON-NEXT:              "kind": "IntegerLiteral",8956// JSON-NEXT:              "range": {8957// JSON-NEXT:               "begin": {8958// JSON-NEXT:                "offset": 9964,8959// JSON-NEXT:                "col": 10,8960// JSON-NEXT:                "tokLen": 18961// JSON-NEXT:               },8962// JSON-NEXT:               "end": {8963// JSON-NEXT:                "offset": 9964,8964// JSON-NEXT:                "col": 10,8965// JSON-NEXT:                "tokLen": 18966// JSON-NEXT:               }8967// JSON-NEXT:              },8968// JSON-NEXT:              "type": {8969// JSON-NEXT:               "qualType": "int"8970// JSON-NEXT:              },8971// JSON-NEXT:              "valueCategory": "prvalue",8972// JSON-NEXT:              "value": "0"8973// JSON-NEXT:             }8974// JSON-NEXT:            ]8975// JSON-NEXT:           }8976// JSON-NEXT:          ]8977// JSON-NEXT:         }8978// JSON-NEXT:        ]8979// JSON-NEXT:       }8980// JSON-NEXT:      ]8981// JSON-NEXT:     }8982// JSON-NEXT:    ]8983// JSON-NEXT:   },8984// JSON-NEXT:   {8985// JSON-NEXT:    "id": "0x{{.*}}",8986// JSON-NEXT:    "kind": "NamespaceDecl",8987// JSON-NEXT:    "loc": {8988// JSON-NEXT:     "offset": 10259,8989// JSON-NEXT:     "line": 247,8990// JSON-NEXT:     "col": 11,8991// JSON-NEXT:     "tokLen": 408992// JSON-NEXT:    },8993// JSON-NEXT:    "range": {8994// JSON-NEXT:     "begin": {8995// JSON-NEXT:      "offset": 10249,8996// JSON-NEXT:      "col": 1,8997// JSON-NEXT:      "tokLen": 98998// JSON-NEXT:     },8999// JSON-NEXT:     "end": {9000// JSON-NEXT:      "offset": 11531,9001// JSON-NEXT:      "line": 267,9002// JSON-NEXT:      "col": 1,9003// JSON-NEXT:      "tokLen": 19004// JSON-NEXT:     }9005// JSON-NEXT:    },9006// JSON-NEXT:    "name": "AliasDependentTemplateSpecializationType",9007// JSON-NEXT:    "inner": [9008// JSON-NEXT:     {9009// JSON-NEXT:      "id": "0x{{.*}}",9010// JSON-NEXT:      "kind": "TypeAliasTemplateDecl",9011// JSON-NEXT:      "loc": {9012// JSON-NEXT:       "offset": 10424,9013// JSON-NEXT:       "line": 250,9014// JSON-NEXT:       "col": 38,9015// JSON-NEXT:       "tokLen": 59016// JSON-NEXT:      },9017// JSON-NEXT:      "range": {9018// JSON-NEXT:       "begin": {9019// JSON-NEXT:        "offset": 10389,9020// JSON-NEXT:        "col": 3,9021// JSON-NEXT:        "tokLen": 89022// JSON-NEXT:       },9023// JSON-NEXT:       "end": {9024// JSON-NEXT:        "offset": 10441,9025// JSON-NEXT:        "col": 55,9026// JSON-NEXT:        "tokLen": 19027// JSON-NEXT:       }9028// JSON-NEXT:      },9029// JSON-NEXT:      "name": "T1",9030// JSON-NEXT:      "inner": [9031// JSON-NEXT:       {9032// JSON-NEXT:        "id": "0x{{.*}}",9033// JSON-NEXT:        "kind": "TemplateTemplateParmDecl",9034// JSON-NEXT:        "loc": {9035// JSON-NEXT:         "offset": 10420,9036// JSON-NEXT:         "col": 34,9037// JSON-NEXT:         "tokLen": 29038// JSON-NEXT:        },9039// JSON-NEXT:        "range": {9040// JSON-NEXT:         "begin": {9041// JSON-NEXT:          "offset": 10398,9042// JSON-NEXT:          "col": 12,9043// JSON-NEXT:          "tokLen": 89044// JSON-NEXT:         },9045// JSON-NEXT:         "end": {9046// JSON-NEXT:          "offset": 10420,9047// JSON-NEXT:          "col": 34,9048// JSON-NEXT:          "tokLen": 29049// JSON-NEXT:         }9050// JSON-NEXT:        },9051// JSON-NEXT:        "name": "TT",9052// JSON-NEXT:        "depth": 0,9053// JSON-NEXT:        "index": 0,9054// JSON-NEXT:        "inner": [9055// JSON-NEXT:         {9056// JSON-NEXT:          "id": "0x{{.*}}",9057// JSON-NEXT:          "kind": "TemplateTypeParmDecl",9058// JSON-NEXT:          "loc": {9059// JSON-NEXT:           "offset": 10412,9060// JSON-NEXT:           "col": 26,9061// JSON-NEXT:           "tokLen": 19062// JSON-NEXT:          },9063// JSON-NEXT:          "range": {9064// JSON-NEXT:           "begin": {9065// JSON-NEXT:            "offset": 10407,9066// JSON-NEXT:            "col": 21,9067// JSON-NEXT:            "tokLen": 59068// JSON-NEXT:           },9069// JSON-NEXT:           "end": {9070// JSON-NEXT:            "offset": 10407,9071// JSON-NEXT:            "col": 21,9072// JSON-NEXT:            "tokLen": 59073// JSON-NEXT:           }9074// JSON-NEXT:          },9075// JSON-NEXT:          "tagUsed": "class",9076// JSON-NEXT:          "depth": 1,9077// JSON-NEXT:          "index": 09078// JSON-NEXT:         }9079// JSON-NEXT:        ]9080// JSON-NEXT:       },9081// JSON-NEXT:       {9082// JSON-NEXT:        "id": "0x{{.*}}",9083// JSON-NEXT:        "kind": "TypeAliasDecl",9084// JSON-NEXT:        "loc": {9085// JSON-NEXT:         "offset": 10430,9086// JSON-NEXT:         "col": 44,9087// JSON-NEXT:         "tokLen": 29088// JSON-NEXT:        },9089// JSON-NEXT:        "range": {9090// JSON-NEXT:         "begin": {9091// JSON-NEXT:          "offset": 10424,9092// JSON-NEXT:          "col": 38,9093// JSON-NEXT:          "tokLen": 59094// JSON-NEXT:         },9095// JSON-NEXT:         "end": {9096// JSON-NEXT:          "offset": 10441,9097// JSON-NEXT:          "col": 55,9098// JSON-NEXT:          "tokLen": 19099// JSON-NEXT:         }9100// JSON-NEXT:        },9101// JSON-NEXT:        "name": "T1",9102// JSON-NEXT:        "type": {9103// JSON-NEXT:         "qualType": "TT<int>"9104// JSON-NEXT:        },9105// JSON-NEXT:        "inner": [9106// JSON-NEXT:         {9107// JSON-NEXT:          "id": "0x{{.*}}",9108// JSON-NEXT:          "kind": "TemplateSpecializationType",9109// JSON-NEXT:          "type": {9110// JSON-NEXT:           "qualType": "TT<int>"9111// JSON-NEXT:          },9112// JSON-NEXT:          "isDependent": true,9113// JSON-NEXT:          "isInstantiationDependent": true,9114// JSON-NEXT:          "templateName": "TT",9115// JSON-NEXT:          "inner": [9116// JSON-NEXT:           {9117// JSON-NEXT:            "kind": "TemplateArgument",9118// JSON-NEXT:            "type": {9119// JSON-NEXT:             "qualType": "int"9120// JSON-NEXT:            },9121// JSON-NEXT:            "inner": [9122// JSON-NEXT:             {9123// JSON-NEXT:              "id": "0x{{.*}}",9124// JSON-NEXT:              "kind": "BuiltinType",9125// JSON-NEXT:              "type": {9126// JSON-NEXT:               "qualType": "int"9127// JSON-NEXT:              }9128// JSON-NEXT:             }9129// JSON-NEXT:            ]9130// JSON-NEXT:           }9131// JSON-NEXT:          ]9132// JSON-NEXT:         }9133// JSON-NEXT:        ]9134// JSON-NEXT:       }9135// JSON-NEXT:      ]9136// JSON-NEXT:     },9137// JSON-NEXT:     {9138// JSON-NEXT:      "id": "0x{{.*}}",9139// JSON-NEXT:      "kind": "TypeAliasTemplateDecl",9140// JSON-NEXT:      "loc": {9141// JSON-NEXT:       "offset": 10464,9142// JSON-NEXT:       "line": 251,9143// JSON-NEXT:       "col": 21,9144// JSON-NEXT:       "tokLen": 59145// JSON-NEXT:      },9146// JSON-NEXT:      "range": {9147// JSON-NEXT:       "begin": {9148// JSON-NEXT:        "offset": 10446,9149// JSON-NEXT:        "col": 3,9150// JSON-NEXT:        "tokLen": 89151// JSON-NEXT:       },9152// JSON-NEXT:       "end": {9153// JSON-NEXT:        "offset": 10491,9154// JSON-NEXT:        "col": 48,9155// JSON-NEXT:        "tokLen": 19156// JSON-NEXT:       }9157// JSON-NEXT:      },9158// JSON-NEXT:      "name": "T2",9159// JSON-NEXT:      "inner": [9160// JSON-NEXT:       {9161// JSON-NEXT:        "id": "0x{{.*}}",9162// JSON-NEXT:        "kind": "TemplateTypeParmDecl",9163// JSON-NEXT:        "loc": {9164// JSON-NEXT:         "offset": 10461,9165// JSON-NEXT:         "col": 18,9166// JSON-NEXT:         "tokLen": 19167// JSON-NEXT:        },9168// JSON-NEXT:        "range": {9169// JSON-NEXT:         "begin": {9170// JSON-NEXT:          "offset": 10455,9171// JSON-NEXT:          "col": 12,9172// JSON-NEXT:          "tokLen": 59173// JSON-NEXT:         },9174// JSON-NEXT:         "end": {9175// JSON-NEXT:          "offset": 10461,9176// JSON-NEXT:          "col": 18,9177// JSON-NEXT:          "tokLen": 19178// JSON-NEXT:         }9179// JSON-NEXT:        },9180// JSON-NEXT:        "name": "T",9181// JSON-NEXT:        "tagUsed": "class",9182// JSON-NEXT:        "depth": 0,9183// JSON-NEXT:        "index": 09184// JSON-NEXT:       },9185// JSON-NEXT:       {9186// JSON-NEXT:        "id": "0x{{.*}}",9187// JSON-NEXT:        "kind": "TypeAliasDecl",9188// JSON-NEXT:        "loc": {9189// JSON-NEXT:         "offset": 10470,9190// JSON-NEXT:         "col": 27,9191// JSON-NEXT:         "tokLen": 29192// JSON-NEXT:        },9193// JSON-NEXT:        "range": {9194// JSON-NEXT:         "begin": {9195// JSON-NEXT:          "offset": 10464,9196// JSON-NEXT:          "col": 21,9197// JSON-NEXT:          "tokLen": 59198// JSON-NEXT:         },9199// JSON-NEXT:         "end": {9200// JSON-NEXT:          "offset": 10491,9201// JSON-NEXT:          "col": 48,9202// JSON-NEXT:          "tokLen": 19203// JSON-NEXT:         }9204// JSON-NEXT:        },9205// JSON-NEXT:        "name": "T2",9206// JSON-NEXT:        "type": {9207// JSON-NEXT:         "desugaredQualType": "T::template X<int>",9208// JSON-NEXT:         "qualType": "T1<T::template X>"9209// JSON-NEXT:        },9210// JSON-NEXT:        "inner": [9211// JSON-NEXT:         {9212// JSON-NEXT:          "id": "0x{{.*}}",9213// JSON-NEXT:          "kind": "TemplateSpecializationType",9214// JSON-NEXT:          "type": {9215// JSON-NEXT:           "qualType": "T1<T::template X>"9216// JSON-NEXT:          },9217// JSON-NEXT:          "isDependent": true,9218// JSON-NEXT:          "isInstantiationDependent": true,9219// JSON-NEXT:          "isAlias": true,9220// JSON-NEXT:          "templateName": "T1",9221// JSON-NEXT:          "inner": [9222// JSON-NEXT:           {9223// JSON-NEXT:            "kind": "TemplateArgument"9224// JSON-NEXT:           },9225// JSON-NEXT:           {9226// JSON-NEXT:            "id": "0x{{.*}}",9227// JSON-NEXT:            "kind": "TemplateSpecializationType",9228// JSON-NEXT:            "type": {9229// JSON-NEXT:             "qualType": "T::template X<int>"9230// JSON-NEXT:            },9231// JSON-NEXT:            "isDependent": true,9232// JSON-NEXT:            "isInstantiationDependent": true,9233// JSON-NEXT:            "templateName": "T::template X",9234// JSON-NEXT:            "inner": [9235// JSON-NEXT:             {9236// JSON-NEXT:              "kind": "TemplateArgument",9237// JSON-NEXT:              "type": {9238// JSON-NEXT:               "qualType": "int"9239// JSON-NEXT:              },9240// JSON-NEXT:              "inner": [9241// JSON-NEXT:               {9242// JSON-NEXT:                "id": "0x{{.*}}",9243// JSON-NEXT:                "kind": "BuiltinType",9244// JSON-NEXT:                "type": {9245// JSON-NEXT:                 "qualType": "int"9246// JSON-NEXT:                }9247// JSON-NEXT:               }9248// JSON-NEXT:              ]9249// JSON-NEXT:             }9250// JSON-NEXT:            ]9251// JSON-NEXT:           }9252// JSON-NEXT:          ]9253// JSON-NEXT:         }9254// JSON-NEXT:        ]9255// JSON-NEXT:       }9256// JSON-NEXT:      ]9257// JSON-NEXT:     }9258// JSON-NEXT:    ]9259// JSON-NEXT:   }9260// JSON-NEXT:  ]9261// JSON-NEXT: }9262