[clang] [clang] Reduce one of JSON dump tests (PR #195026)
Vlad Serebrennikov via cfe-commits
cfe-commits at lists.llvm.org
Thu Apr 30 00:30:16 PDT 2026
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/195026
#125791 introduced `strict-pack-match` flag for `ClassTemplateSpecializationDecl`, and covered it with AST dump tests in `ast-dump-template.cpp`, in both textual and JSON formats. However, JSON test was generated by a script, which made it overspecified. This PR extracts the relevant part of ≈9200 lines of FileCheck directives.
>From 88c2a03870a2479e51c158a6a7473aede6ab557c Mon Sep 17 00:00:00 2001
From: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: Thu, 30 Apr 2026 10:19:26 +0300
Subject: [PATCH] [clang] Reduce one of JSON dump tests
---
clang/test/AST/ast-dump-templates.cpp | 9352 +------------------------
1 file changed, 13 insertions(+), 9339 deletions(-)
diff --git a/clang/test/AST/ast-dump-templates.cpp b/clang/test/AST/ast-dump-templates.cpp
index bd89d3a75486a..f00ec4dba7e21 100644
--- a/clang/test/AST/ast-dump-templates.cpp
+++ b/clang/test/AST/ast-dump-templates.cpp
@@ -128,15 +128,23 @@ void func() {
}
namespace test7 {
- template <template<class> class TT> struct A {};
+ template <template<class> class TT> struct AA {};
template <class...> class B {};
- template struct A<B>;
+ template struct AA<B>;
// DUMP-LABEL: NamespaceDecl {{.*}} test7{{$}}
-// DUMP: ClassTemplateDecl 0x{{.+}} A{{$}}
+// DUMP: ClassTemplateDecl 0x{{.+}} AA{{$}}
// DUMP-NEXT: |-TemplateTemplateParmDecl
// DUMP-NEXT: | `-TemplateTypeParmDecl
-// DUMP-NEXT: |-CXXRecordDecl 0x[[TEST7_PAT:[^ ]+]] {{.+}} struct A definition
-// DUMP: ClassTemplateSpecializationDecl {{.*}} struct A definition instantiated_from 0x[[TEST7_PAT]] explicit_instantiation_definition strict-pack-match{{$}}
+// DUMP-NEXT: |-CXXRecordDecl 0x[[TEST7_PAT:[^ ]+]] {{.+}} struct AA definition
+// DUMP: ClassTemplateSpecializationDecl {{.*}} struct AA definition instantiated_from 0x[[TEST7_PAT]] explicit_instantiation_definition strict-pack-match{{$}}
+
+// JSON: "name": "test7",
+// JSON: "kind": "ClassTemplateSpecializationDecl",
+// JSON: "name": "AA",
+// JSON-NEXT: "tagUsed": "struct",
+// JSON-NEXT: "completeDefinition": true,
+// JSON-NEXT: "strict-pack-match": true,
+// JSON: "name": "test8",
} // namespce test7
namespace test8 {
@@ -276,9337 +284,3 @@ namespace TestAbbreviatedTemplateDecls {
// DUMP: FunctionTemplateDecl {{.*}} <line:[[@LINE-4]]:3, line:[[@LINE-3]]:21> col:8 mixed
} // namespace TestAbbreviatedTemplateDecls
-
-// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
-
-
-// JSON-NOT: {{^}}Dumping
-// JSON: "kind": "TranslationUnitDecl",
-// JSON-NEXT: "loc": {},
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {},
-// JSON-NEXT: "end": {}
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TypedefDecl",
-// JSON-NEXT: "loc": {},
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {},
-// JSON-NEXT: "end": {}
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "__int128_t",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "__int128"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "BuiltinType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "__int128"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TypedefDecl",
-// JSON-NEXT: "loc": {},
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {},
-// JSON-NEXT: "end": {}
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "__uint128_t",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "unsigned __int128"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "BuiltinType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "unsigned __int128"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TypedefDecl",
-// JSON-NEXT: "loc": {},
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {},
-// JSON-NEXT: "end": {}
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "__NSConstantString",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "__NSConstantString_tag"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "RecordType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "__NSConstantString_tag"
-// JSON-NEXT: },
-// JSON-NEXT: "decl": {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "name": "__NSConstantString_tag"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TypedefDecl",
-// JSON-NEXT: "loc": {},
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {},
-// JSON-NEXT: "end": {}
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "__builtin_ms_va_list",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "char *"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "PointerType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "char *"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "BuiltinType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "char"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TypedefDecl",
-// JSON-NEXT: "loc": {},
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {},
-// JSON-NEXT: "end": {}
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "__builtin_va_list",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "__va_list_tag[1]"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ConstantArrayType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "__va_list_tag[1]"
-// JSON-NEXT: },
-// JSON-NEXT: "size": 1,
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "RecordType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "__va_list_tag"
-// JSON-NEXT: },
-// JSON-NEXT: "decl": {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "name": "__va_list_tag"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "file": "{{.*}}",
-// JSON-NEXT: "line": 15,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 765,
-// JSON-NEXT: "line": 14,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 879,
-// JSON-NEXT: "line": 19,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 779,
-// JSON-NEXT: "line": 14,
-// JSON-NEXT: "col": 15,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 775,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 779,
-// JSON-NEXT: "col": 15,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "X",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 791,
-// JSON-NEXT: "col": 27,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 782,
-// JSON-NEXT: "col": 18,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 791,
-// JSON-NEXT: "col": 27,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "Y",
-// JSON-NEXT: "tagUsed": "typename",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 1
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 798,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 794,
-// JSON-NEXT: "col": 30,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 802,
-// JSON-NEXT: "col": 38,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "Z",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 2,
-// JSON-NEXT: "defaultArg": {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "isExpr": true
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 802,
-// JSON-NEXT: "col": 38,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 802,
-// JSON-NEXT: "col": 38,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isExpr": true,
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "IntegerLiteral",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 802,
-// JSON-NEXT: "col": 38,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 802,
-// JSON-NEXT: "col": 38,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "value": "5"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "line": 15,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 805,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 879,
-// JSON-NEXT: "line": 19,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "completeDefinition": true,
-// JSON-NEXT: "definitionData": {
-// JSON-NEXT: "canConstDefaultInit": true,
-// JSON-NEXT: "copyAssign": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "copyCtor": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "defaultCtor": {
-// JSON-NEXT: "defaultedIsConstexpr": true,
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "nonTrivial": true,
-// JSON-NEXT: "userProvided": true
-// JSON-NEXT: },
-// JSON-NEXT: "dtor": {
-// JSON-NEXT: "irrelevant": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "hasUserDeclaredConstructor": true,
-// JSON-NEXT: "isStandardLayout": true,
-// JSON-NEXT: "isTriviallyCopyable": true,
-// JSON-NEXT: "moveAssign": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "moveCtor": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "line": 15,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 805,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FieldDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 824,
-// JSON-NEXT: "line": 16,
-// JSON-NEXT: "col": 7,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 820,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 824,
-// JSON-NEXT: "col": 7,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "constant",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXConstructorDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 836,
-// JSON-NEXT: "line": 17,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 836,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 843,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "foo<X, Y, Z>",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CompoundStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 842,
-// JSON-NEXT: "col": 9,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 843,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXMethodDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 849,
-// JSON-NEXT: "line": 18,
-// JSON-NEXT: "col": 5,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 847,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 877,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "getSum",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "Y ()"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CompoundStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 858,
-// JSON-NEXT: "col": 14,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 877,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ReturnStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 860,
-// JSON-NEXT: "col": 16,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 874,
-// JSON-NEXT: "col": 30,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXUnresolvedConstructExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 867,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 874,
-// JSON-NEXT: "col": 30,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "Y"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "BinaryOperator",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 869,
-// JSON-NEXT: "col": 25,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 873,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "opcode": "+",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "DeclRefExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 869,
-// JSON-NEXT: "col": 25,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 869,
-// JSON-NEXT: "col": 25,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "referencedDecl": {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "name": "X",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "DeclRefExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 873,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 873,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "referencedDecl": {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "name": "Z",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateSpecializationDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "line": 15,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 765,
-// JSON-NEXT: "line": 14,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 879,
-// JSON-NEXT: "line": 19,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "completeDefinition": true,
-// JSON-NEXT: "TemplateInstantiationPattern": "0x{{.*}}",
-// JSON-NEXT: "definitionData": {
-// JSON-NEXT: "canConstDefaultInit": true,
-// JSON-NEXT: "canPassInRegisters": true,
-// JSON-NEXT: "copyAssign": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "copyCtor": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "defaultCtor": {
-// JSON-NEXT: "defaultedIsConstexpr": true,
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "nonTrivial": true,
-// JSON-NEXT: "userProvided": true
-// JSON-NEXT: },
-// JSON-NEXT: "dtor": {
-// JSON-NEXT: "irrelevant": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "hasUserDeclaredConstructor": true,
-// JSON-NEXT: "isStandardLayout": true,
-// JSON-NEXT: "isTriviallyCopyable": true,
-// JSON-NEXT: "moveAssign": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "moveCtor": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "value": 5
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "BuiltinType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "value": 5
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "line": 15,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 805,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FieldDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 824,
-// JSON-NEXT: "line": 16,
-// JSON-NEXT: "col": 7,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 820,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 824,
-// JSON-NEXT: "col": 7,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "constant",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXConstructorDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 836,
-// JSON-NEXT: "line": 17,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 836,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 843,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isUsed": true,
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "mangledName": "_ZN3fooILi5EiLi5EEC1Ev",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "TemplateInstantiationPattern": "0x{{.*}}",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CompoundStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 842,
-// JSON-NEXT: "col": 9,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 843,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXMethodDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 849,
-// JSON-NEXT: "line": 18,
-// JSON-NEXT: "col": 5,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 847,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 877,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isUsed": true,
-// JSON-NEXT: "name": "getSum",
-// JSON-NEXT: "mangledName": "_ZN3fooILi5EiLi5EE6getSumEv",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int ()"
-// JSON-NEXT: },
-// JSON-NEXT: "TemplateInstantiationPattern": "0x{{.*}}",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CompoundStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 858,
-// JSON-NEXT: "col": 14,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 877,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ReturnStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 860,
-// JSON-NEXT: "col": 16,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 874,
-// JSON-NEXT: "col": 30,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXFunctionalCastExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 867,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 874,
-// JSON-NEXT: "col": 30,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "castKind": "NoOp",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "BinaryOperator",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 869,
-// JSON-NEXT: "col": 25,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 873,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "opcode": "+",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "SubstNonTypeTemplateParmExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 869,
-// JSON-NEXT: "col": 25,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 869,
-// JSON-NEXT: "col": 25,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 779,
-// JSON-NEXT: "line": 14,
-// JSON-NEXT: "col": 15,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 775,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 779,
-// JSON-NEXT: "col": 15,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "X",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "IntegerLiteral",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 869,
-// JSON-NEXT: "line": 18,
-// JSON-NEXT: "col": 25,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 869,
-// JSON-NEXT: "col": 25,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "value": "5"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "SubstNonTypeTemplateParmExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 873,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 873,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 798,
-// JSON-NEXT: "line": 14,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 794,
-// JSON-NEXT: "col": 30,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 802,
-// JSON-NEXT: "col": 38,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "Z",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 2,
-// JSON-NEXT: "defaultArg": {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "isExpr": true
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 802,
-// JSON-NEXT: "col": 38,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 802,
-// JSON-NEXT: "col": 38,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isExpr": true,
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "IntegerLiteral",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 802,
-// JSON-NEXT: "col": 38,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 802,
-// JSON-NEXT: "col": 38,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "value": "5"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "IntegerLiteral",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 873,
-// JSON-NEXT: "line": 18,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 873,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "value": "5"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXConstructorDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "line": 15,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "mangledName": "_ZN3fooILi5EiLi5EEC1ERKS0_",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (const foo<5, int> &)"
-// JSON-NEXT: },
-// JSON-NEXT: "inline": true,
-// JSON-NEXT: "constexpr": true,
-// JSON-NEXT: "explicitlyDefaulted": "default",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ParmVarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "const foo<5, int> &"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXConstructorDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "mangledName": "_ZN3fooILi5EiLi5EEC1EOS0_",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (foo<5, int> &&)"
-// JSON-NEXT: },
-// JSON-NEXT: "inline": true,
-// JSON-NEXT: "constexpr": true,
-// JSON-NEXT: "explicitlyDefaulted": "default",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ParmVarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "foo<5, int> &&"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXDestructorDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "~foo",
-// JSON-NEXT: "mangledName": "_ZN3fooILi5EiLi5EED1Ev",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void () noexcept"
-// JSON-NEXT: },
-// JSON-NEXT: "inline": true,
-// JSON-NEXT: "constexpr": true,
-// JSON-NEXT: "explicitlyDefaulted": "default"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateSpecializationDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 765,
-// JSON-NEXT: "line": 14,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 879,
-// JSON-NEXT: "line": 19,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "completeDefinition": true,
-// JSON-NEXT: "TemplateInstantiationPattern": "0x{{.*}}",
-// JSON-NEXT: "definitionData": {
-// JSON-NEXT: "canConstDefaultInit": true,
-// JSON-NEXT: "canPassInRegisters": true,
-// JSON-NEXT: "copyAssign": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "copyCtor": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "defaultCtor": {
-// JSON-NEXT: "defaultedIsConstexpr": true,
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "nonTrivial": true,
-// JSON-NEXT: "userProvided": true
-// JSON-NEXT: },
-// JSON-NEXT: "dtor": {
-// JSON-NEXT: "irrelevant": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "hasUserDeclaredConstructor": true,
-// JSON-NEXT: "isStandardLayout": true,
-// JSON-NEXT: "isTriviallyCopyable": true,
-// JSON-NEXT: "moveAssign": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "moveCtor": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "value": 2
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "double"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "BuiltinType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "double"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "value": 3
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "line": 15,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 805,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FieldDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 824,
-// JSON-NEXT: "line": 16,
-// JSON-NEXT: "col": 7,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 820,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 824,
-// JSON-NEXT: "col": 7,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "constant",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXConstructorDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 836,
-// JSON-NEXT: "line": 17,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 836,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 843,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isUsed": true,
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "mangledName": "_ZN3fooILi2EdLi3EEC1Ev",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "TemplateInstantiationPattern": "0x{{.*}}",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CompoundStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 842,
-// JSON-NEXT: "col": 9,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 843,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXMethodDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 849,
-// JSON-NEXT: "line": 18,
-// JSON-NEXT: "col": 5,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 847,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 877,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isUsed": true,
-// JSON-NEXT: "name": "getSum",
-// JSON-NEXT: "mangledName": "_ZN3fooILi2EdLi3EE6getSumEv",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "double ()"
-// JSON-NEXT: },
-// JSON-NEXT: "TemplateInstantiationPattern": "0x{{.*}}",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CompoundStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 858,
-// JSON-NEXT: "col": 14,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 877,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ReturnStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 860,
-// JSON-NEXT: "col": 16,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 874,
-// JSON-NEXT: "col": 30,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXFunctionalCastExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 867,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 874,
-// JSON-NEXT: "col": 30,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "double"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "castKind": "NoOp",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ImplicitCastExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 869,
-// JSON-NEXT: "col": 25,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 873,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "double"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "castKind": "IntegralToFloating",
-// JSON-NEXT: "isPartOfExplicitCast": true,
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "BinaryOperator",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 869,
-// JSON-NEXT: "col": 25,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 873,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "opcode": "+",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "SubstNonTypeTemplateParmExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 869,
-// JSON-NEXT: "col": 25,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 869,
-// JSON-NEXT: "col": 25,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 779,
-// JSON-NEXT: "line": 14,
-// JSON-NEXT: "col": 15,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 775,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 779,
-// JSON-NEXT: "col": 15,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "X",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "IntegerLiteral",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 869,
-// JSON-NEXT: "line": 18,
-// JSON-NEXT: "col": 25,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 869,
-// JSON-NEXT: "col": 25,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "value": "2"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "SubstNonTypeTemplateParmExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 873,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 873,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 798,
-// JSON-NEXT: "line": 14,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 794,
-// JSON-NEXT: "col": 30,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 802,
-// JSON-NEXT: "col": 38,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "Z",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 2,
-// JSON-NEXT: "defaultArg": {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "isExpr": true
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 802,
-// JSON-NEXT: "col": 38,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 802,
-// JSON-NEXT: "col": 38,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isExpr": true,
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "IntegerLiteral",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 802,
-// JSON-NEXT: "col": 38,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 802,
-// JSON-NEXT: "col": 38,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "value": "5"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "IntegerLiteral",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 873,
-// JSON-NEXT: "line": 18,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 873,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "value": "3"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXConstructorDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "line": 15,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "mangledName": "_ZN3fooILi2EdLi3EEC1ERKS0_",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (const foo<2, double, 3> &)"
-// JSON-NEXT: },
-// JSON-NEXT: "inline": true,
-// JSON-NEXT: "constexpr": true,
-// JSON-NEXT: "explicitlyDefaulted": "default",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ParmVarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "const foo<2, double, 3> &"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXConstructorDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "mangledName": "_ZN3fooILi2EdLi3EEC1EOS0_",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (foo<2, double, 3> &&)"
-// JSON-NEXT: },
-// JSON-NEXT: "inline": true,
-// JSON-NEXT: "constexpr": true,
-// JSON-NEXT: "explicitlyDefaulted": "default",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ParmVarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "foo<2, double, 3> &&"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXDestructorDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 812,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "~foo",
-// JSON-NEXT: "mangledName": "_ZN3fooILi2EdLi3EED1Ev",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void () noexcept"
-// JSON-NEXT: },
-// JSON-NEXT: "inline": true,
-// JSON-NEXT: "constexpr": true,
-// JSON-NEXT: "explicitlyDefaulted": "default"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 914,
-// JSON-NEXT: "line": 22,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 883,
-// JSON-NEXT: "line": 21,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 937,
-// JSON-NEXT: "line": 24,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "bar",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 897,
-// JSON-NEXT: "line": 21,
-// JSON-NEXT: "col": 15,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 893,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 897,
-// JSON-NEXT: "col": 15,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 909,
-// JSON-NEXT: "col": 27,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 900,
-// JSON-NEXT: "col": 18,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 909,
-// JSON-NEXT: "col": 27,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "B",
-// JSON-NEXT: "tagUsed": "typename",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 1
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 914,
-// JSON-NEXT: "line": 22,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 912,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 937,
-// JSON-NEXT: "line": 24,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "bar",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "B ()"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CompoundStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 920,
-// JSON-NEXT: "line": 22,
-// JSON-NEXT: "col": 9,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 937,
-// JSON-NEXT: "line": 24,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ReturnStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 924,
-// JSON-NEXT: "line": 23,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 934,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXUnresolvedConstructExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 931,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 934,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "B"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "DeclRefExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 933,
-// JSON-NEXT: "col": 12,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 933,
-// JSON-NEXT: "col": 12,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "referencedDecl": {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 914,
-// JSON-NEXT: "line": 22,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 912,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 937,
-// JSON-NEXT: "line": 24,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isUsed": true,
-// JSON-NEXT: "name": "bar",
-// JSON-NEXT: "mangledName": "_Z3barILi5EiET0_v",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int ()"
-// JSON-NEXT: },
-// JSON-NEXT: "TemplateInstantiationPattern": "0x{{.*}}",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "value": 5
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "BuiltinType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CompoundStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 920,
-// JSON-NEXT: "line": 22,
-// JSON-NEXT: "col": 9,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 937,
-// JSON-NEXT: "line": 24,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ReturnStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 924,
-// JSON-NEXT: "line": 23,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 934,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXFunctionalCastExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 931,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 934,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "castKind": "NoOp",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "SubstNonTypeTemplateParmExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 933,
-// JSON-NEXT: "col": 12,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 933,
-// JSON-NEXT: "col": 12,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 897,
-// JSON-NEXT: "line": 21,
-// JSON-NEXT: "col": 15,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 893,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 897,
-// JSON-NEXT: "col": 15,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "IntegerLiteral",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 933,
-// JSON-NEXT: "line": 23,
-// JSON-NEXT: "col": 12,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 933,
-// JSON-NEXT: "col": 12,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "value": "5"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 945,
-// JSON-NEXT: "line": 26,
-// JSON-NEXT: "col": 6,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 940,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1055,
-// JSON-NEXT: "line": 30,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "baz",
-// JSON-NEXT: "mangledName": "_Z3bazv",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CompoundStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 951,
-// JSON-NEXT: "line": 26,
-// JSON-NEXT: "col": 12,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1055,
-// JSON-NEXT: "line": 30,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "DeclStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 955,
-// JSON-NEXT: "line": 27,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 976,
-// JSON-NEXT: "col": 24,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "VarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 959,
-// JSON-NEXT: "col": 7,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 955,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 975,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "x",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "init": "c",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CallExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 963,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 975,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ImplicitCastExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 963,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 973,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int (*)()"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "castKind": "FunctionToPointerDecay",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "DeclRefExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 963,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 973,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int ()"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "lvalue",
-// JSON-NEXT: "referencedDecl": {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "name": "bar",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int ()"
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "foundReferencedDecl": {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionTemplateDecl",
-// JSON-NEXT: "name": "bar"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "DeclStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 980,
-// JSON-NEXT: "line": 28,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1010,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "VarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 984,
-// JSON-NEXT: "col": 7,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 980,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1009,
-// JSON-NEXT: "col": 32,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "y",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "init": "c",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ExprWithCleanups",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 988,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1009,
-// JSON-NEXT: "col": 32,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXMemberCallExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 988,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1009,
-// JSON-NEXT: "col": 32,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "MemberExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 988,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1002,
-// JSON-NEXT: "col": 25,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "<bound member function type>"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "name": "getSum",
-// JSON-NEXT: "isArrow": false,
-// JSON-NEXT: "referencedMemberDecl": "0x{{.*}}",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "MaterializeTemporaryExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 988,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1000,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "foo<5, int>"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "xvalue",
-// JSON-NEXT: "storageDuration": "full expression",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXTemporaryObjectExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 988,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1000,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "foo<5, int>"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "ctorType": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "hadMultipleCandidates": true,
-// JSON-NEXT: "constructionKind": "complete"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "DeclStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 1014,
-// JSON-NEXT: "line": 29,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1053,
-// JSON-NEXT: "col": 42,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "VarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 1021,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 1014,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1052,
-// JSON-NEXT: "col": 41,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "z",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "double"
-// JSON-NEXT: },
-// JSON-NEXT: "init": "c",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ExprWithCleanups",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 1025,
-// JSON-NEXT: "col": 14,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1052,
-// JSON-NEXT: "col": 41,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "double"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXMemberCallExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 1025,
-// JSON-NEXT: "col": 14,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1052,
-// JSON-NEXT: "col": 41,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "double"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "MemberExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 1025,
-// JSON-NEXT: "col": 14,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1045,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "<bound member function type>"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "name": "getSum",
-// JSON-NEXT: "isArrow": false,
-// JSON-NEXT: "referencedMemberDecl": "0x{{.*}}",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "MaterializeTemporaryExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 1025,
-// JSON-NEXT: "col": 14,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1043,
-// JSON-NEXT: "col": 32,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "foo<2, double, 3>"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "xvalue",
-// JSON-NEXT: "storageDuration": "full expression",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXTemporaryObjectExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 1025,
-// JSON-NEXT: "col": 14,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1043,
-// JSON-NEXT: "col": 32,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "foo<2, double, 3>"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "ctorType": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "hadMultipleCandidates": true,
-// JSON-NEXT: "constructionKind": "complete"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 1856,
-// JSON-NEXT: "line": 52,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 1824,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1896,
-// JSON-NEXT: "line": 54,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 1846,
-// JSON-NEXT: "line": 52,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 1834,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1846,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "T",
-// JSON-NEXT: "tagUsed": "typename",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0,
-// JSON-NEXT: "isParameterPack": true
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 1856,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 1849,
-// JSON-NEXT: "col": 26,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1896,
-// JSON-NEXT: "line": 54,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "completeDefinition": true,
-// JSON-NEXT: "definitionData": {
-// JSON-NEXT: "canConstDefaultInit": true,
-// JSON-NEXT: "copyAssign": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "copyCtor": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "defaultCtor": {
-// JSON-NEXT: "defaultedIsConstexpr": true,
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "isConstexpr": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "dtor": {
-// JSON-NEXT: "irrelevant": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "hasConstexprNonCopyMoveConstructor": true,
-// JSON-NEXT: "isAggregate": true,
-// JSON-NEXT: "isEmpty": true,
-// JSON-NEXT: "isLiteral": true,
-// JSON-NEXT: "isPOD": true,
-// JSON-NEXT: "isStandardLayout": true,
-// JSON-NEXT: "isTrivial": true,
-// JSON-NEXT: "isTriviallyCopyable": true,
-// JSON-NEXT: "moveAssign": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "moveCtor": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 1856,
-// JSON-NEXT: "line": 52,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 1849,
-// JSON-NEXT: "col": 26,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1856,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 1890,
-// JSON-NEXT: "line": 53,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 1862,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1893,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "B",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 1877,
-// JSON-NEXT: "col": 18,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 1872,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1880,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "x",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "T[3]..."
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 1,
-// JSON-NEXT: "index": 0,
-// JSON-NEXT: "isParameterPack": true
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 1890,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 1883,
-// JSON-NEXT: "col": 24,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1893,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "B",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "completeDefinition": true,
-// JSON-NEXT: "definitionData": {
-// JSON-NEXT: "canConstDefaultInit": true,
-// JSON-NEXT: "copyAssign": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "copyCtor": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "defaultCtor": {
-// JSON-NEXT: "defaultedIsConstexpr": true,
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "isConstexpr": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "dtor": {
-// JSON-NEXT: "irrelevant": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "hasConstexprNonCopyMoveConstructor": true,
-// JSON-NEXT: "isAggregate": true,
-// JSON-NEXT: "isEmpty": true,
-// JSON-NEXT: "isLiteral": true,
-// JSON-NEXT: "isPOD": true,
-// JSON-NEXT: "isStandardLayout": true,
-// JSON-NEXT: "isTrivial": true,
-// JSON-NEXT: "isTriviallyCopyable": true,
-// JSON-NEXT: "moveAssign": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "moveCtor": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 1890,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 1883,
-// JSON-NEXT: "col": 24,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 1890,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "B",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2016,
-// JSON-NEXT: "line": 58,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 1986,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2038,
-// JSON-NEXT: "line": 60,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "f",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2008,
-// JSON-NEXT: "line": 58,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 1996,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2008,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "T",
-// JSON-NEXT: "tagUsed": "typename",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0,
-// JSON-NEXT: "isParameterPack": true
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2016,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2011,
-// JSON-NEXT: "col": 26,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2038,
-// JSON-NEXT: "line": 60,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "f",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CompoundStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2020,
-// JSON-NEXT: "line": 58,
-// JSON-NEXT: "col": 35,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2038,
-// JSON-NEXT: "line": 60,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "DeclStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2024,
-// JSON-NEXT: "line": 59,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2036,
-// JSON-NEXT: "col": 15,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "VarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2035,
-// JSON-NEXT: "col": 14,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2024,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2035,
-// JSON-NEXT: "col": 14,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "a",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "A<T[3]...>"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NamespaceDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2051,
-// JSON-NEXT: "line": 62,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2041,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2240,
-// JSON-NEXT: "line": 71,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "test2",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2064,
-// JSON-NEXT: "line": 63,
-// JSON-NEXT: "col": 6,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2059,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2072,
-// JSON-NEXT: "col": 14,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "func",
-// JSON-NEXT: "mangledName": "_ZN5test24funcEi",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (int)"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ParmVarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2072,
-// JSON-NEXT: "col": 14,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2069,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2069,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2080,
-// JSON-NEXT: "line": 64,
-// JSON-NEXT: "col": 6,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2075,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2090,
-// JSON-NEXT: "col": 16,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "func",
-// JSON-NEXT: "mangledName": "_ZN5test24funcEf",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (float)"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ParmVarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2090,
-// JSON-NEXT: "col": 16,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2085,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2085,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "float"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2119,
-// JSON-NEXT: "line": 66,
-// JSON-NEXT: "col": 6,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2093,
-// JSON-NEXT: "line": 65,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2141,
-// JSON-NEXT: "line": 68,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "tmpl",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2111,
-// JSON-NEXT: "line": 65,
-// JSON-NEXT: "col": 19,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2102,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2111,
-// JSON-NEXT: "col": 19,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "T",
-// JSON-NEXT: "tagUsed": "typename",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2119,
-// JSON-NEXT: "line": 66,
-// JSON-NEXT: "col": 6,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2114,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2141,
-// JSON-NEXT: "line": 68,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "tmpl",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CompoundStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2126,
-// JSON-NEXT: "line": 66,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2141,
-// JSON-NEXT: "line": 68,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CallExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2130,
-// JSON-NEXT: "line": 67,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2138,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "<dependent type>"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "UnresolvedLookupExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2130,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2130,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "<overloaded function type>"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "lvalue",
-// JSON-NEXT: "usesADL": true,
-// JSON-NEXT: "name": "func",
-// JSON-NEXT: "lookups": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "name": "func",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (float)"
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "name": "func",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (int)"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXUnresolvedConstructExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2135,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2137,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "T"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NamespaceDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2253,
-// JSON-NEXT: "line": 73,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2243,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2387,
-// JSON-NEXT: "line": 77,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "test3",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2291,
-// JSON-NEXT: "line": 74,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2263,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2294,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2281,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2272,
-// JSON-NEXT: "col": 12,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2281,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "T",
-// JSON-NEXT: "tagUsed": "typename",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2291,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2284,
-// JSON-NEXT: "col": 24,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2294,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "completeDefinition": true,
-// JSON-NEXT: "definitionData": {
-// JSON-NEXT: "canConstDefaultInit": true,
-// JSON-NEXT: "copyAssign": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "copyCtor": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "defaultCtor": {
-// JSON-NEXT: "defaultedIsConstexpr": true,
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "isConstexpr": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "dtor": {
-// JSON-NEXT: "irrelevant": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "hasConstexprNonCopyMoveConstructor": true,
-// JSON-NEXT: "isAggregate": true,
-// JSON-NEXT: "isEmpty": true,
-// JSON-NEXT: "isLiteral": true,
-// JSON-NEXT: "isPOD": true,
-// JSON-NEXT: "isStandardLayout": true,
-// JSON-NEXT: "isTrivial": true,
-// JSON-NEXT: "isTriviallyCopyable": true,
-// JSON-NEXT: "moveAssign": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "moveCtor": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2291,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2284,
-// JSON-NEXT: "col": 24,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2291,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateSpecializationDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2291,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2263,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2294,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "BuiltinType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2291,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2263,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2291,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "<deduction guide for A>",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2281,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2272,
-// JSON-NEXT: "col": 12,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2281,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "T",
-// JSON-NEXT: "tagUsed": "typename",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXDeductionGuideDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2291,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2291,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2291,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "<deduction guide for A>",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "auto () -> test3::A<T>"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2291,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2263,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2291,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "<deduction guide for A>",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2281,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2272,
-// JSON-NEXT: "col": 12,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2281,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "T",
-// JSON-NEXT: "tagUsed": "typename",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXDeductionGuideDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2291,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2291,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2291,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "<deduction guide for A>",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "auto (test3::A<T>) -> test3::A<T>"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ParmVarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2291,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2291,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2291,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "test3::A<T>"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2320,
-// JSON-NEXT: "line": 75,
-// JSON-NEXT: "col": 24,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2299,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2333,
-// JSON-NEXT: "col": 37,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "<deduction guide for A>",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2317,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2308,
-// JSON-NEXT: "col": 12,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2317,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "T",
-// JSON-NEXT: "tagUsed": "typename",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXDeductionGuideDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2320,
-// JSON-NEXT: "col": 24,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2320,
-// JSON-NEXT: "col": 24,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2333,
-// JSON-NEXT: "col": 37,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "<deduction guide for A>",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "auto (T) -> A<int>"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ParmVarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2323,
-// JSON-NEXT: "col": 27,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2322,
-// JSON-NEXT: "col": 26,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2322,
-// JSON-NEXT: "col": 26,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "T"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NamespaceDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2400,
-// JSON-NEXT: "line": 79,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2390,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3297,
-// JSON-NEXT: "line": 103,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "test4",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2445,
-// JSON-NEXT: "line": 81,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2408,
-// JSON-NEXT: "line": 80,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2471,
-// JSON-NEXT: "line": 83,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2427,
-// JSON-NEXT: "line": 80,
-// JSON-NEXT: "col": 20,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2418,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2427,
-// JSON-NEXT: "col": 20,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "X",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "unsigned int"
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2435,
-// JSON-NEXT: "col": 28,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2430,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2435,
-// JSON-NEXT: "col": 28,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "auto"
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 1
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2445,
-// JSON-NEXT: "line": 81,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2438,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2471,
-// JSON-NEXT: "line": 83,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "completeDefinition": true,
-// JSON-NEXT: "definitionData": {
-// JSON-NEXT: "canConstDefaultInit": true,
-// JSON-NEXT: "copyAssign": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "copyCtor": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "defaultCtor": {
-// JSON-NEXT: "defaultedIsConstexpr": true,
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "isConstexpr": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "dtor": {
-// JSON-NEXT: "irrelevant": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "hasConstexprNonCopyMoveConstructor": true,
-// JSON-NEXT: "isAggregate": true,
-// JSON-NEXT: "isEmpty": true,
-// JSON-NEXT: "isLiteral": true,
-// JSON-NEXT: "isPOD": true,
-// JSON-NEXT: "isStandardLayout": true,
-// JSON-NEXT: "isTrivial": true,
-// JSON-NEXT: "isTriviallyCopyable": true,
-// JSON-NEXT: "moveAssign": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "moveCtor": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2445,
-// JSON-NEXT: "line": 81,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2438,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2445,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXMethodDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2465,
-// JSON-NEXT: "line": 82,
-// JSON-NEXT: "col": 15,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2453,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2468,
-// JSON-NEXT: "col": 18,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "fn",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "storageClass": "static"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateSpecializationDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2445,
-// JSON-NEXT: "line": 81,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2408,
-// JSON-NEXT: "line": 80,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2471,
-// JSON-NEXT: "line": 83,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "completeDefinition": true,
-// JSON-NEXT: "TemplateInstantiationPattern": "0x{{.*}}",
-// JSON-NEXT: "definitionData": {
-// JSON-NEXT: "canConstDefaultInit": true,
-// JSON-NEXT: "canPassInRegisters": true,
-// JSON-NEXT: "copyAssign": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "copyCtor": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "defaultCtor": {
-// JSON-NEXT: "defaultedIsConstexpr": true,
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "isConstexpr": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "dtor": {
-// JSON-NEXT: "irrelevant": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "hasConstexprNonCopyMoveConstructor": true,
-// JSON-NEXT: "isAggregate": true,
-// JSON-NEXT: "isEmpty": true,
-// JSON-NEXT: "isLiteral": true,
-// JSON-NEXT: "isPOD": true,
-// JSON-NEXT: "isStandardLayout": true,
-// JSON-NEXT: "isTrivial": true,
-// JSON-NEXT: "isTriviallyCopyable": true,
-// JSON-NEXT: "moveAssign": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "moveCtor": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "value": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "value": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2445,
-// JSON-NEXT: "line": 81,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2438,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2445,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXMethodDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2465,
-// JSON-NEXT: "line": 82,
-// JSON-NEXT: "col": 15,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2453,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2468,
-// JSON-NEXT: "col": 18,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isUsed": true,
-// JSON-NEXT: "name": "fn",
-// JSON-NEXT: "mangledName": "_ZN5test43fooILj0ELl0EE2fnEv",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "storageClass": "static",
-// JSON-NEXT: "TemplateInstantiationPattern": "0x{{.*}}"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateSpecializationDecl",
-// JSON-NEXT: "name": "foo"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2846,
-// JSON-NEXT: "line": 92,
-// JSON-NEXT: "col": 6,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2841,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2879,
-// JSON-NEXT: "line": 94,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "test",
-// JSON-NEXT: "mangledName": "_ZN5test44testEv",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CompoundStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2853,
-// JSON-NEXT: "line": 92,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2879,
-// JSON-NEXT: "line": 94,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CallExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2857,
-// JSON-NEXT: "line": 93,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2876,
-// JSON-NEXT: "col": 22,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ImplicitCastExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2857,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2873,
-// JSON-NEXT: "col": 19,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (*)()"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "castKind": "FunctionToPointerDecay",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "DeclRefExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2857,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2873,
-// JSON-NEXT: "col": 19,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "lvalue",
-// JSON-NEXT: "referencedDecl": {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXMethodDecl",
-// JSON-NEXT: "name": "fn",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateSpecializationDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 3281,
-// JSON-NEXT: "line": 102,
-// JSON-NEXT: "col": 17,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3265,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3294,
-// JSON-NEXT: "col": 30,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "completeDefinition": true,
-// JSON-NEXT: "TemplateInstantiationPattern": "0x{{.*}}",
-// JSON-NEXT: "definitionData": {
-// JSON-NEXT: "canConstDefaultInit": true,
-// JSON-NEXT: "canPassInRegisters": true,
-// JSON-NEXT: "copyAssign": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "copyCtor": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "defaultCtor": {
-// JSON-NEXT: "defaultedIsConstexpr": true,
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "isConstexpr": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "dtor": {
-// JSON-NEXT: "irrelevant": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "hasConstexprNonCopyMoveConstructor": true,
-// JSON-NEXT: "isAggregate": true,
-// JSON-NEXT: "isEmpty": true,
-// JSON-NEXT: "isLiteral": true,
-// JSON-NEXT: "isPOD": true,
-// JSON-NEXT: "isStandardLayout": true,
-// JSON-NEXT: "isTrivial": true,
-// JSON-NEXT: "isTriviallyCopyable": true,
-// JSON-NEXT: "moveAssign": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "moveCtor": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "value": 1
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "value": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2445,
-// JSON-NEXT: "line": 81,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2438,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2445,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "foo",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXMethodDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 2465,
-// JSON-NEXT: "line": 82,
-// JSON-NEXT: "col": 15,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 2453,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 2468,
-// JSON-NEXT: "col": 18,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "fn",
-// JSON-NEXT: "mangledName": "_ZN5test43fooILj1ELl0EE2fnEv",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "storageClass": "static",
-// JSON-NEXT: "TemplateInstantiationPattern": "0x{{.*}}"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ExplicitInstantiationDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": {{[0-9]+}},
-// JSON-NEXT: "line": 102,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": {{[0-9]+}},
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": {{[0-9]+}},
-// JSON-NEXT: "col": 30,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "specializationDeclId": "0x{{.*}}",
-// JSON-NEXT: "templateSpecializationKind": "explicit_instantiation_definition",
-// JSON: "kind": "NamespaceDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 3310,
-// JSON-NEXT: "line": 105,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3300,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3632,
-// JSON-NEXT: "line": 114,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "test5",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 3338,
-// JSON-NEXT: "line": 106,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3318,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3343,
-// JSON-NEXT: "col": 26,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "f",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 3331,
-// JSON-NEXT: "col": 14,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3327,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3327,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "long"
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 3338,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3333,
-// JSON-NEXT: "col": 16,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3343,
-// JSON-NEXT: "col": 26,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "f",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CompoundStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3342,
-// JSON-NEXT: "col": 25,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3343,
-// JSON-NEXT: "col": 26,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 3338,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3333,
-// JSON-NEXT: "col": 16,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3343,
-// JSON-NEXT: "col": 26,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isUsed": true,
-// JSON-NEXT: "name": "f",
-// JSON-NEXT: "mangledName": "_ZN5test51fILl0EEEvv",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "TemplateInstantiationPattern": "0x{{.*}}",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "value": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CompoundStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3342,
-// JSON-NEXT: "col": 25,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3343,
-// JSON-NEXT: "col": 26,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "VarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 3352,
-// JSON-NEXT: "line": 107,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3345,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3362,
-// JSON-NEXT: "col": 18,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "p",
-// JSON-NEXT: "mangledName": "_ZN5test51pE",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (*)()"
-// JSON-NEXT: },
-// JSON-NEXT: "init": "c",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ImplicitCastExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3359,
-// JSON-NEXT: "col": 15,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3362,
-// JSON-NEXT: "col": 18,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (*)()"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "castKind": "FunctionToPointerDecay",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "DeclRefExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3359,
-// JSON-NEXT: "col": 15,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3362,
-// JSON-NEXT: "col": 18,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "lvalue",
-// JSON-NEXT: "referencedDecl": {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "name": "f",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "foundReferencedDecl": {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionTemplateDecl",
-// JSON-NEXT: "name": "f"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 3393,
-// JSON-NEXT: "line": 108,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3365,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3398,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "f",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 3383,
-// JSON-NEXT: "col": 19,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3374,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3385,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "unsigned int"
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0,
-// JSON-NEXT: "defaultArg": {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "isExpr": true
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3385,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3385,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isExpr": true,
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "IntegerLiteral",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3385,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3385,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "value": "0"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 3393,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3388,
-// JSON-NEXT: "col": 24,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3398,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "f",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CompoundStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3397,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3398,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 3393,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3388,
-// JSON-NEXT: "col": 24,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3398,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isUsed": true,
-// JSON-NEXT: "name": "f",
-// JSON-NEXT: "mangledName": "_ZN5test51fILj0EEEvv",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "TemplateInstantiationPattern": "0x{{.*}}",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "value": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CompoundStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3397,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3398,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "VarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 3407,
-// JSON-NEXT: "line": 109,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3400,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3416,
-// JSON-NEXT: "col": 17,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "q",
-// JSON-NEXT: "mangledName": "_ZN5test51qE",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (*)()"
-// JSON-NEXT: },
-// JSON-NEXT: "init": "c",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ImplicitCastExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3414,
-// JSON-NEXT: "col": 15,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3416,
-// JSON-NEXT: "col": 17,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (*)()"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "castKind": "FunctionToPointerDecay",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "DeclRefExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3414,
-// JSON-NEXT: "col": 15,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3416,
-// JSON-NEXT: "col": 17,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "lvalue",
-// JSON-NEXT: "referencedDecl": {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "name": "f",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "foundReferencedDecl": {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionTemplateDecl",
-// JSON-NEXT: "name": "f"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NamespaceDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 3645,
-// JSON-NEXT: "line": 116,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3635,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4000,
-// JSON-NEXT: "line": 128,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "test6",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "VarTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 3687,
-// JSON-NEXT: "line": 118,
-// JSON-NEXT: "col": 16,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3653,
-// JSON-NEXT: "line": 117,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3691,
-// JSON-NEXT: "line": 118,
-// JSON-NEXT: "col": 20,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "C",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 3669,
-// JSON-NEXT: "line": 117,
-// JSON-NEXT: "col": 17,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3663,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3669,
-// JSON-NEXT: "col": 17,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "D",
-// JSON-NEXT: "tagUsed": "class",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "VarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 3687,
-// JSON-NEXT: "line": 118,
-// JSON-NEXT: "col": 16,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3672,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3691,
-// JSON-NEXT: "col": 20,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "C",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "const bool"
-// JSON-NEXT: },
-// JSON-NEXT: "constexpr": true,
-// JSON-NEXT: "init": "c",
-// JSON-NEXT: "TemplateInstantiationPattern": "0x{{.*}}",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXBoolLiteralExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3691,
-// JSON-NEXT: "col": 20,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3691,
-// JSON-NEXT: "col": 20,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "bool"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "value": true
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 3724,
-// JSON-NEXT: "line": 121,
-// JSON-NEXT: "col": 6,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3698,
-// JSON-NEXT: "line": 120,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3998,
-// JSON-NEXT: "line": 127,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "func",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 3714,
-// JSON-NEXT: "line": 120,
-// JSON-NEXT: "col": 17,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3708,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3714,
-// JSON-NEXT: "col": 17,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "Key",
-// JSON-NEXT: "tagUsed": "class",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 3724,
-// JSON-NEXT: "line": 121,
-// JSON-NEXT: "col": 6,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3719,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3998,
-// JSON-NEXT: "line": 127,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "func",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CompoundStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3731,
-// JSON-NEXT: "line": 121,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3998,
-// JSON-NEXT: "line": 127,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "UnresolvedLookupExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 3735,
-// JSON-NEXT: "line": 122,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 3740,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "<dependent type>"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "lvalue",
-// JSON-NEXT: "usesADL": false,
-// JSON-NEXT: "name": "C",
-// JSON-NEXT: "lookups": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "VarTemplateDecl",
-// JSON-NEXT: "name": "C"
-// JSON-NEXT: }
-// JSON-NEXT: ],
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "Key"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "Key"
-// JSON-NEXT: },
-// JSON-NEXT: "isDependent": true,
-// JSON-NEXT: "isInstantiationDependent": true,
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0,
-// JSON-NEXT: "decl": {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "name": "Key"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NamespaceDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4013,
-// JSON-NEXT: "line": 130,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4003,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4553,
-// JSON-NEXT: "line": 140,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "test7",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4066,
-// JSON-NEXT: "line": 131,
-// JSON-NEXT: "col": 46,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4023,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4069,
-// JSON-NEXT: "col": 49,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4055,
-// JSON-NEXT: "col": 35,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4033,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4055,
-// JSON-NEXT: "col": 35,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "TT",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0,
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4047,
-// JSON-NEXT: "col": 27,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4042,
-// JSON-NEXT: "col": 22,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4042,
-// JSON-NEXT: "col": 22,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "tagUsed": "class",
-// JSON-NEXT: "depth": 1,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4066,
-// JSON-NEXT: "col": 46,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4059,
-// JSON-NEXT: "col": 39,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4069,
-// JSON-NEXT: "col": 49,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "completeDefinition": true,
-// JSON-NEXT: "definitionData": {
-// JSON-NEXT: "canConstDefaultInit": true,
-// JSON-NEXT: "copyAssign": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "copyCtor": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "defaultCtor": {
-// JSON-NEXT: "defaultedIsConstexpr": true,
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "isConstexpr": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "dtor": {
-// JSON-NEXT: "irrelevant": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "hasConstexprNonCopyMoveConstructor": true,
-// JSON-NEXT: "isAggregate": true,
-// JSON-NEXT: "isEmpty": true,
-// JSON-NEXT: "isLiteral": true,
-// JSON-NEXT: "isPOD": true,
-// JSON-NEXT: "isStandardLayout": true,
-// JSON-NEXT: "isTrivial": true,
-// JSON-NEXT: "isTriviallyCopyable": true,
-// JSON-NEXT: "moveAssign": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "moveCtor": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4066,
-// JSON-NEXT: "col": 46,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4059,
-// JSON-NEXT: "col": 39,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4066,
-// JSON-NEXT: "col": 46,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateSpecializationDecl",
-// JSON-NEXT: "name": "A"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4100,
-// JSON-NEXT: "line": 132,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4074,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4103,
-// JSON-NEXT: "col": 32,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "B",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4092,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4084,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4084,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "tagUsed": "class",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0,
-// JSON-NEXT: "isParameterPack": true
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4100,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4094,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4103,
-// JSON-NEXT: "col": 32,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "B",
-// JSON-NEXT: "tagUsed": "class",
-// JSON-NEXT: "completeDefinition": true,
-// JSON-NEXT: "definitionData": {
-// JSON-NEXT: "canConstDefaultInit": true,
-// JSON-NEXT: "copyAssign": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "copyCtor": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "defaultCtor": {
-// JSON-NEXT: "defaultedIsConstexpr": true,
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "isConstexpr": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "dtor": {
-// JSON-NEXT: "irrelevant": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "hasConstexprNonCopyMoveConstructor": true,
-// JSON-NEXT: "isAggregate": true,
-// JSON-NEXT: "isEmpty": true,
-// JSON-NEXT: "isLiteral": true,
-// JSON-NEXT: "isPOD": true,
-// JSON-NEXT: "isStandardLayout": true,
-// JSON-NEXT: "isTrivial": true,
-// JSON-NEXT: "isTriviallyCopyable": true,
-// JSON-NEXT: "moveAssign": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "moveCtor": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4100,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4094,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4100,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "B",
-// JSON-NEXT: "tagUsed": "class"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateSpecializationDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4124,
-// JSON-NEXT: "line": 133,
-// JSON-NEXT: "col": 19,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4108,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4127,
-// JSON-NEXT: "col": 22,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "completeDefinition": true,
-// JSON-NEXT: "strict-pack-match": true,
-// JSON-NEXT: "TemplateInstantiationPattern": "0x{{.*}}",
-// JSON-NEXT: "definitionData": {
-// JSON-NEXT: "canConstDefaultInit": true,
-// JSON-NEXT: "canPassInRegisters": true,
-// JSON-NEXT: "copyAssign": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "copyCtor": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "defaultCtor": {
-// JSON-NEXT: "defaultedIsConstexpr": true,
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "isConstexpr": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "dtor": {
-// JSON-NEXT: "irrelevant": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "hasConstexprNonCopyMoveConstructor": true,
-// JSON-NEXT: "isAggregate": true,
-// JSON-NEXT: "isEmpty": true,
-// JSON-NEXT: "isLiteral": true,
-// JSON-NEXT: "isPOD": true,
-// JSON-NEXT: "isStandardLayout": true,
-// JSON-NEXT: "isTrivial": true,
-// JSON-NEXT: "isTriviallyCopyable": true,
-// JSON-NEXT: "moveAssign": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "moveCtor": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument"
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4066,
-// JSON-NEXT: "line": 131,
-// JSON-NEXT: "col": 46,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4059,
-// JSON-NEXT: "col": 39,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4066,
-// JSON-NEXT: "col": 46,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ExplicitInstantiationDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": {{[0-9]+}},
-// JSON-NEXT: "line": 133,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": {{[0-9]+}},
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": {{[0-9]+}},
-// JSON-NEXT: "col": 22,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "specializationDeclId": "0x{{.*}}",
-// JSON-NEXT: "templateSpecializationKind": "explicit_instantiation_definition",
-// JSON: "kind": "NamespaceDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4584,
-// JSON-NEXT: "line": 142,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4574,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4893,
-// JSON-NEXT: "line": 151,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "test8",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4624,
-// JSON-NEXT: "line": 144,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4592,
-// JSON-NEXT: "line": 143,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4624,
-// JSON-NEXT: "line": 144,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "pr126341",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4614,
-// JSON-NEXT: "line": 143,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4601,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4614,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "x",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "_Complex int"
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4624,
-// JSON-NEXT: "line": 144,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4617,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4624,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "pr126341",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateSpecializationDecl",
-// JSON-NEXT: "name": "pr126341"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateSpecializationDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4652,
-// JSON-NEXT: "line": 146,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4634,
-// JSON-NEXT: "line": 145,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4667,
-// JSON-NEXT: "line": 146,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "pr126341",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "value": "1+2i"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NamespaceDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4925,
-// JSON-NEXT: "line": 153,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 28
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4915,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 5548,
-// JSON-NEXT: "line": 162,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "TestMemberPointerPartialSpec",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4982,
-// JSON-NEXT: "line": 154,
-// JSON-NEXT: "col": 27,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4958,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4982,
-// JSON-NEXT: "col": 27,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4973,
-// JSON-NEXT: "col": 18,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4968,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4968,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "tagUsed": "class",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 4982,
-// JSON-NEXT: "col": 27,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4975,
-// JSON-NEXT: "col": 20,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 4982,
-// JSON-NEXT: "col": 27,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplatePartialSpecializationDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 5024,
-// JSON-NEXT: "line": 155,
-// JSON-NEXT: "col": 40,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4987,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 5034,
-// JSON-NEXT: "col": 50,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "type-parameter-0-0 type-parameter-0-1::*"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "MemberPointerType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "type-parameter-0-0 type-parameter-0-1::*"
-// JSON-NEXT: },
-// JSON-NEXT: "isDependent": true,
-// JSON-NEXT: "isInstantiationDependent": true,
-// JSON-NEXT: "isData": true,
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "type-parameter-0-1"
-// JSON-NEXT: },
-// JSON-NEXT: "isDependent": true,
-// JSON-NEXT: "isInstantiationDependent": true,
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 1,
-// JSON-NEXT: "decl": {
-// JSON-NEXT: "id": "0x0"
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "type-parameter-0-0"
-// JSON-NEXT: },
-// JSON-NEXT: "isDependent": true,
-// JSON-NEXT: "isInstantiationDependent": true,
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0,
-// JSON-NEXT: "decl": {
-// JSON-NEXT: "id": "0x0"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 5003,
-// JSON-NEXT: "col": 19,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 4997,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 5003,
-// JSON-NEXT: "col": 19,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "T1",
-// JSON-NEXT: "tagUsed": "class",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 5013,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 5007,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 5013,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "T2",
-// JSON-NEXT: "tagUsed": "class",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 1
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NamespaceDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 5603,
-// JSON-NEXT: "line": 164,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 26
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 5593,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 6858,
-// JSON-NEXT: "line": 187,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "TestDependentMemberPointer",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 5660,
-// JSON-NEXT: "line": 165,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 5634,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 5761,
-// JSON-NEXT: "line": 169,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 5650,
-// JSON-NEXT: "line": 165,
-// JSON-NEXT: "col": 19,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 5644,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 5650,
-// JSON-NEXT: "col": 19,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "U",
-// JSON-NEXT: "tagUsed": "class",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 5660,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 5653,
-// JSON-NEXT: "col": 22,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 5761,
-// JSON-NEXT: "line": 169,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "completeDefinition": true,
-// JSON-NEXT: "definitionData": {
-// JSON-NEXT: "canConstDefaultInit": true,
-// JSON-NEXT: "copyAssign": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "copyCtor": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "defaultCtor": {
-// JSON-NEXT: "defaultedIsConstexpr": true,
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "isConstexpr": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "dtor": {
-// JSON-NEXT: "irrelevant": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "hasConstexprNonCopyMoveConstructor": true,
-// JSON-NEXT: "isAggregate": true,
-// JSON-NEXT: "isEmpty": true,
-// JSON-NEXT: "isLiteral": true,
-// JSON-NEXT: "isPOD": true,
-// JSON-NEXT: "isStandardLayout": true,
-// JSON-NEXT: "isTrivial": true,
-// JSON-NEXT: "isTriviallyCopyable": true,
-// JSON-NEXT: "moveAssign": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "moveCtor": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 5660,
-// JSON-NEXT: "line": 165,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 5653,
-// JSON-NEXT: "col": 22,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 5660,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "A",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TypeAliasDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 5674,
-// JSON-NEXT: "line": 166,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 5668,
-// JSON-NEXT: "col": 5,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 5685,
-// JSON-NEXT: "col": 22,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "X",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int U::*"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "MemberPointerType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int U::*"
-// JSON-NEXT: },
-// JSON-NEXT: "isDependent": true,
-// JSON-NEXT: "isInstantiationDependent": true,
-// JSON-NEXT: "isData": true,
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "U"
-// JSON-NEXT: },
-// JSON-NEXT: "isDependent": true,
-// JSON-NEXT: "isInstantiationDependent": true,
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0,
-// JSON-NEXT: "decl": {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "name": "U"
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "BuiltinType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TypeAliasDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 5698,
-// JSON-NEXT: "line": 167,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 5692,
-// JSON-NEXT: "col": 5,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 5715,
-// JSON-NEXT: "col": 28,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "Y",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int U::test::*"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "MemberPointerType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int U::test::*"
-// JSON-NEXT: },
-// JSON-NEXT: "isDependent": true,
-// JSON-NEXT: "isInstantiationDependent": true,
-// JSON-NEXT: "isData": true,
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "DependentNameType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "U::test"
-// JSON-NEXT: },
-// JSON-NEXT: "isDependent": true,
-// JSON-NEXT: "isInstantiationDependent": true
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "BuiltinType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TypeAliasDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 5728,
-// JSON-NEXT: "line": 168,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 5722,
-// JSON-NEXT: "col": 5,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 5756,
-// JSON-NEXT: "col": 39,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "Z",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int U::template V<int>::*"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "MemberPointerType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int U::template V<int>::*"
-// JSON-NEXT: },
-// JSON-NEXT: "isDependent": true,
-// JSON-NEXT: "isInstantiationDependent": true,
-// JSON-NEXT: "isData": true,
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateSpecializationType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "U::template V<int>"
-// JSON-NEXT: },
-// JSON-NEXT: "isDependent": true,
-// JSON-NEXT: "isInstantiationDependent": true,
-// JSON-NEXT: "templateName": "U::template V",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "BuiltinType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "BuiltinType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NamespaceDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 6911,
-// JSON-NEXT: "line": 189,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 19
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 6901,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9769,
-// JSON-NEXT: "line": 229,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "TestPartialSpecNTTP",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 7034,
-// JSON-NEXT: "line": 191,
-// JSON-NEXT: "col": 41,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 6996,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 7045,
-// JSON-NEXT: "col": 52,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "Template1",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 7012,
-// JSON-NEXT: "col": 19,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 7006,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 7012,
-// JSON-NEXT: "col": 19,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "TA1",
-// JSON-NEXT: "tagUsed": "class",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 7022,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 7017,
-// JSON-NEXT: "col": 24,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 7022,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "TA2",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "bool"
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 1
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 7034,
-// JSON-NEXT: "col": 41,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 7027,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 7045,
-// JSON-NEXT: "col": 52,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "Template1",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "completeDefinition": true,
-// JSON-NEXT: "definitionData": {
-// JSON-NEXT: "canConstDefaultInit": true,
-// JSON-NEXT: "copyAssign": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "copyCtor": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "defaultCtor": {
-// JSON-NEXT: "defaultedIsConstexpr": true,
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "isConstexpr": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "dtor": {
-// JSON-NEXT: "irrelevant": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "hasConstexprNonCopyMoveConstructor": true,
-// JSON-NEXT: "isAggregate": true,
-// JSON-NEXT: "isEmpty": true,
-// JSON-NEXT: "isLiteral": true,
-// JSON-NEXT: "isPOD": true,
-// JSON-NEXT: "isStandardLayout": true,
-// JSON-NEXT: "isTrivial": true,
-// JSON-NEXT: "isTriviallyCopyable": true,
-// JSON-NEXT: "moveAssign": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "moveCtor": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 7034,
-// JSON-NEXT: "col": 41,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 7027,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 7034,
-// JSON-NEXT: "col": 41,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "Template1",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 7088,
-// JSON-NEXT: "line": 192,
-// JSON-NEXT: "col": 41,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 7050,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 7099,
-// JSON-NEXT: "col": 52,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "Template2",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 7066,
-// JSON-NEXT: "col": 19,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 7060,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 7066,
-// JSON-NEXT: "col": 19,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "TB1",
-// JSON-NEXT: "tagUsed": "class",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 7076,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 7071,
-// JSON-NEXT: "col": 24,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 7076,
-// JSON-NEXT: "col": 29,
-// JSON-NEXT: "tokLen": 3
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "TB2",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "bool"
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 1
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 7088,
-// JSON-NEXT: "col": 41,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 7081,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 7099,
-// JSON-NEXT: "col": 52,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "Template2",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "completeDefinition": true,
-// JSON-NEXT: "definitionData": {
-// JSON-NEXT: "canConstDefaultInit": true,
-// JSON-NEXT: "copyAssign": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "copyCtor": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "defaultCtor": {
-// JSON-NEXT: "defaultedIsConstexpr": true,
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "isConstexpr": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "dtor": {
-// JSON-NEXT: "irrelevant": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "hasConstexprNonCopyMoveConstructor": true,
-// JSON-NEXT: "isAggregate": true,
-// JSON-NEXT: "isEmpty": true,
-// JSON-NEXT: "isLiteral": true,
-// JSON-NEXT: "isPOD": true,
-// JSON-NEXT: "isStandardLayout": true,
-// JSON-NEXT: "isTrivial": true,
-// JSON-NEXT: "isTriviallyCopyable": true,
-// JSON-NEXT: "moveAssign": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "moveCtor": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 7088,
-// JSON-NEXT: "col": 41,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 7081,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 7088,
-// JSON-NEXT: "col": 41,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "Template2",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplatePartialSpecializationDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 7152,
-// JSON-NEXT: "line": 195,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 7105,
-// JSON-NEXT: "line": 194,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 7186,
-// JSON-NEXT: "line": 195,
-// JSON-NEXT: "col": 44,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "Template2",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "completeDefinition": true,
-// JSON-NEXT: "definitionData": {
-// JSON-NEXT: "canConstDefaultInit": true,
-// JSON-NEXT: "copyAssign": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "copyCtor": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "defaultCtor": {
-// JSON-NEXT: "defaultedIsConstexpr": true,
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "isConstexpr": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "dtor": {
-// JSON-NEXT: "irrelevant": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "hasConstexprNonCopyMoveConstructor": true,
-// JSON-NEXT: "isAggregate": true,
-// JSON-NEXT: "isEmpty": true,
-// JSON-NEXT: "isLiteral": true,
-// JSON-NEXT: "isPOD": true,
-// JSON-NEXT: "isStandardLayout": true,
-// JSON-NEXT: "isTrivial": true,
-// JSON-NEXT: "isTriviallyCopyable": true,
-// JSON-NEXT: "moveAssign": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "moveCtor": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "TestPartialSpecNTTP::Template1<type-parameter-0-0, value-parameter-0-1>"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateSpecializationType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "TestPartialSpecNTTP::Template1<type-parameter-0-0, value-parameter-0-1>"
-// JSON-NEXT: },
-// JSON-NEXT: "isDependent": true,
-// JSON-NEXT: "isInstantiationDependent": true,
-// JSON-NEXT: "templateName": "TestPartialSpecNTTP::Template1",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "type-parameter-0-0"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "type-parameter-0-0"
-// JSON-NEXT: },
-// JSON-NEXT: "isDependent": true,
-// JSON-NEXT: "isInstantiationDependent": true,
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0,
-// JSON-NEXT: "decl": {
-// JSON-NEXT: "id": "0x0"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "isExpr": true,
-// JSON-NEXT: "isCanonical": true,
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "DeclRefExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 7176,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 7176,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "bool"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "referencedDecl": {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "name": "U2",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "bool"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "isExpr": true,
-// JSON-NEXT: "isCanonical": true,
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "DeclRefExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 7181,
-// JSON-NEXT: "col": 39,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 7181,
-// JSON-NEXT: "col": 39,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "bool"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "referencedDecl": {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "name": "U3",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "bool"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 7121,
-// JSON-NEXT: "line": 194,
-// JSON-NEXT: "col": 19,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 7115,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 7121,
-// JSON-NEXT: "col": 19,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "U1",
-// JSON-NEXT: "tagUsed": "class",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 7130,
-// JSON-NEXT: "col": 28,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 7125,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 7130,
-// JSON-NEXT: "col": 28,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "U2",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "bool"
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 1
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 7139,
-// JSON-NEXT: "col": 37,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 7134,
-// JSON-NEXT: "col": 32,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 7139,
-// JSON-NEXT: "col": 37,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "U3",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "bool"
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 2
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 7152,
-// JSON-NEXT: "line": 195,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 7145,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 7152,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "Template2",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplatePartialSpecializationDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 8468,
-// JSON-NEXT: "line": 213,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 8418,
-// JSON-NEXT: "line": 212,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 8502,
-// JSON-NEXT: "line": 213,
-// JSON-NEXT: "col": 44,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "Template2",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "completeDefinition": true,
-// JSON-NEXT: "definitionData": {
-// JSON-NEXT: "canConstDefaultInit": true,
-// JSON-NEXT: "copyAssign": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "copyCtor": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "defaultCtor": {
-// JSON-NEXT: "defaultedIsConstexpr": true,
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "isConstexpr": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "dtor": {
-// JSON-NEXT: "irrelevant": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "hasConstexprNonCopyMoveConstructor": true,
-// JSON-NEXT: "isAggregate": true,
-// JSON-NEXT: "isEmpty": true,
-// JSON-NEXT: "isLiteral": true,
-// JSON-NEXT: "isPOD": true,
-// JSON-NEXT: "isStandardLayout": true,
-// JSON-NEXT: "isTrivial": true,
-// JSON-NEXT: "isTriviallyCopyable": true,
-// JSON-NEXT: "moveAssign": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "moveCtor": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "TestPartialSpecNTTP::Template1<type-parameter-0-0, value-parameter-0-2>"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateSpecializationType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "TestPartialSpecNTTP::Template1<type-parameter-0-0, value-parameter-0-2>"
-// JSON-NEXT: },
-// JSON-NEXT: "isDependent": true,
-// JSON-NEXT: "isInstantiationDependent": true,
-// JSON-NEXT: "templateName": "TestPartialSpecNTTP::Template1",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "type-parameter-0-0"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "type-parameter-0-0"
-// JSON-NEXT: },
-// JSON-NEXT: "isDependent": true,
-// JSON-NEXT: "isInstantiationDependent": true,
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0,
-// JSON-NEXT: "decl": {
-// JSON-NEXT: "id": "0x0"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "isExpr": true,
-// JSON-NEXT: "isCanonical": true,
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "DeclRefExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 8492,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 8492,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "bool"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "referencedDecl": {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "name": "U2",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "bool"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "isExpr": true,
-// JSON-NEXT: "isCanonical": true,
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "DeclRefExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 8497,
-// JSON-NEXT: "col": 39,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 8497,
-// JSON-NEXT: "col": 39,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "bool"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "referencedDecl": {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "name": "U3",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "bool"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 8437,
-// JSON-NEXT: "line": 212,
-// JSON-NEXT: "col": 22,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 8428,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 8437,
-// JSON-NEXT: "col": 22,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "U1",
-// JSON-NEXT: "tagUsed": "typename",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 8446,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 8441,
-// JSON-NEXT: "col": 26,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 8446,
-// JSON-NEXT: "col": 31,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "U3",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "bool"
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 1
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NonTypeTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 8455,
-// JSON-NEXT: "col": 40,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 8450,
-// JSON-NEXT: "col": 35,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 8455,
-// JSON-NEXT: "col": 40,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "U2",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "bool"
-// JSON-NEXT: },
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 2
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 8468,
-// JSON-NEXT: "line": 213,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 8461,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 8468,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "Template2",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NamespaceDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9815,
-// JSON-NEXT: "line": 231,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9805,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 10224,
-// JSON-NEXT: "line": 245,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "GH153540",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NamespaceDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9889,
-// JSON-NEXT: "line": 234,
-// JSON-NEXT: "col": 13,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9879,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9940,
-// JSON-NEXT: "line": 236,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "N",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "line": 235,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9897,
-// JSON-NEXT: "col": 5,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9935,
-// JSON-NEXT: "col": 43,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "S",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9915,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9906,
-// JSON-NEXT: "col": 14,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9915,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "T",
-// JSON-NEXT: "tagUsed": "typename",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9918,
-// JSON-NEXT: "col": 26,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9935,
-// JSON-NEXT: "col": 43,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "S",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "completeDefinition": true,
-// JSON-NEXT: "definitionData": {
-// JSON-NEXT: "canConstDefaultInit": true,
-// JSON-NEXT: "copyAssign": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "copyCtor": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "defaultCtor": {
-// JSON-NEXT: "defaultedIsConstexpr": true
-// JSON-NEXT: },
-// JSON-NEXT: "dtor": {
-// JSON-NEXT: "irrelevant": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "hasUserDeclaredConstructor": true,
-// JSON-NEXT: "isEmpty": true,
-// JSON-NEXT: "isStandardLayout": true,
-// JSON-NEXT: "isTriviallyCopyable": true,
-// JSON-NEXT: "moveAssign": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "moveCtor": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9918,
-// JSON-NEXT: "col": 26,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "S",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXConstructorDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9929,
-// JSON-NEXT: "col": 37,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9929,
-// JSON-NEXT: "col": 37,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9932,
-// JSON-NEXT: "col": 40,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "S<T>",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (T)"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ParmVarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9932,
-// JSON-NEXT: "col": 40,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9931,
-// JSON-NEXT: "col": 39,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9931,
-// JSON-NEXT: "col": 39,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "T"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ClassTemplateSpecializationDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9897,
-// JSON-NEXT: "col": 5,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9935,
-// JSON-NEXT: "col": 43,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "S",
-// JSON-NEXT: "tagUsed": "struct",
-// JSON-NEXT: "completeDefinition": true,
-// JSON-NEXT: "TemplateInstantiationPattern": "0x{{.*}}",
-// JSON-NEXT: "definitionData": {
-// JSON-NEXT: "canConstDefaultInit": true,
-// JSON-NEXT: "canPassInRegisters": true,
-// JSON-NEXT: "copyAssign": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "copyCtor": {
-// JSON-NEXT: "hasConstParam": true,
-// JSON-NEXT: "implicitHasConstParam": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "defaultCtor": {
-// JSON-NEXT: "defaultedIsConstexpr": true
-// JSON-NEXT: },
-// JSON-NEXT: "dtor": {
-// JSON-NEXT: "irrelevant": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "hasUserDeclaredConstructor": true,
-// JSON-NEXT: "isEmpty": true,
-// JSON-NEXT: "isStandardLayout": true,
-// JSON-NEXT: "isTriviallyCopyable": true,
-// JSON-NEXT: "moveAssign": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "needsImplicit": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: },
-// JSON-NEXT: "moveCtor": {
-// JSON-NEXT: "exists": true,
-// JSON-NEXT: "simple": true,
-// JSON-NEXT: "trivial": true
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "BuiltinType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXRecordDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9918,
-// JSON-NEXT: "col": 26,
-// JSON-NEXT: "tokLen": 6
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "S",
-// JSON-NEXT: "tagUsed": "struct"
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXConstructorDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9929,
-// JSON-NEXT: "col": 37,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9929,
-// JSON-NEXT: "col": 37,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9932,
-// JSON-NEXT: "col": 40,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isUsed": true,
-// JSON-NEXT: "name": "S",
-// JSON-NEXT: "mangledName": "_ZN8GH1535401N1SIiEC1Ei",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (int)"
-// JSON-NEXT: },
-// JSON-NEXT: "TemplateInstantiationPattern": "0x{{.*}}",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ParmVarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9932,
-// JSON-NEXT: "col": 40,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9931,
-// JSON-NEXT: "col": 39,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9931,
-// JSON-NEXT: "col": 39,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXConstructorDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "S",
-// JSON-NEXT: "mangledName": "_ZN8GH1535401N1SIiEC1ERKS2_",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (const S<int> &)"
-// JSON-NEXT: },
-// JSON-NEXT: "inline": true,
-// JSON-NEXT: "constexpr": true,
-// JSON-NEXT: "explicitlyDefaulted": "default",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ParmVarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "const S<int> &"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXConstructorDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "S",
-// JSON-NEXT: "mangledName": "_ZN8GH1535401N1SIiEC1EOS2_",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (S<int> &&)"
-// JSON-NEXT: },
-// JSON-NEXT: "inline": true,
-// JSON-NEXT: "constexpr": true,
-// JSON-NEXT: "explicitlyDefaulted": "default",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ParmVarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "S<int> &&"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXDestructorDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "~S",
-// JSON-NEXT: "mangledName": "_ZN8GH1535401N1SIiED1Ev",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void () noexcept"
-// JSON-NEXT: },
-// JSON-NEXT: "inline": true,
-// JSON-NEXT: "constexpr": true,
-// JSON-NEXT: "explicitlyDefaulted": "default"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9929,
-// JSON-NEXT: "col": 37,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9897,
-// JSON-NEXT: "col": 5,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9932,
-// JSON-NEXT: "col": 40,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "<deduction guide for S>",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9915,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9906,
-// JSON-NEXT: "col": 14,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9915,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "T",
-// JSON-NEXT: "tagUsed": "typename",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXDeductionGuideDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9929,
-// JSON-NEXT: "col": 37,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9929,
-// JSON-NEXT: "col": 37,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9932,
-// JSON-NEXT: "col": 40,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "<deduction guide for S>",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "auto (T) -> GH153540::N::S<T>"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ParmVarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9932,
-// JSON-NEXT: "col": 40,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9931,
-// JSON-NEXT: "col": 39,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9931,
-// JSON-NEXT: "col": 39,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "T"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXDeductionGuideDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9929,
-// JSON-NEXT: "col": 37,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9929,
-// JSON-NEXT: "col": 37,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9932,
-// JSON-NEXT: "col": 40,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "isUsed": true,
-// JSON-NEXT: "name": "<deduction guide for S>",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "auto (int) -> GH153540::N::S<int>"
-// JSON-NEXT: },
-// JSON-NEXT: "TemplateInstantiationPattern": "0x{{.*}}",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "BuiltinType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ParmVarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9932,
-// JSON-NEXT: "col": 40,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9931,
-// JSON-NEXT: "col": 39,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9931,
-// JSON-NEXT: "col": 39,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9897,
-// JSON-NEXT: "col": 5,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "<deduction guide for S>",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9915,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9906,
-// JSON-NEXT: "col": 14,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9915,
-// JSON-NEXT: "col": 23,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "T",
-// JSON-NEXT: "tagUsed": "typename",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXDeductionGuideDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "<deduction guide for S>",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "auto (GH153540::N::S<T>) -> GH153540::N::S<T>"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ParmVarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9925,
-// JSON-NEXT: "col": 33,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "GH153540::N::S<T>"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 9949,
-// JSON-NEXT: "line": 237,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9944,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9970,
-// JSON-NEXT: "line": 239,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "f",
-// JSON-NEXT: "mangledName": "_ZN8GH1535401fEv",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void ()"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CompoundStmt",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9953,
-// JSON-NEXT: "line": 237,
-// JSON-NEXT: "col": 12,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9970,
-// JSON-NEXT: "line": 239,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXFunctionalCastExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9959,
-// JSON-NEXT: "line": 238,
-// JSON-NEXT: "col": 5,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9965,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "desugaredQualType": "GH153540::N::S<int>",
-// JSON-NEXT: "qualType": "N::S<int>"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "castKind": "ConstructorConversion",
-// JSON-NEXT: "conversionFunc": {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXConstructorDecl",
-// JSON-NEXT: "name": "S",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (int)"
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "CXXConstructExpr",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9959,
-// JSON-NEXT: "col": 5,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9965,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "desugaredQualType": "GH153540::N::S<int>",
-// JSON-NEXT: "qualType": "N::S<int>"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "ctorType": {
-// JSON-NEXT: "qualType": "void (int)"
-// JSON-NEXT: },
-// JSON-NEXT: "hadMultipleCandidates": true,
-// JSON-NEXT: "constructionKind": "complete",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "IntegerLiteral",
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 9964,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 9964,
-// JSON-NEXT: "col": 10,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "valueCategory": "prvalue",
-// JSON-NEXT: "value": "0"
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NamespaceDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 10259,
-// JSON-NEXT: "line": 247,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 40
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 10249,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 11531,
-// JSON-NEXT: "line": 267,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "AliasDependentTemplateSpecializationType",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TypeAliasTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 10424,
-// JSON-NEXT: "line": 250,
-// JSON-NEXT: "col": 38,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 10389,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 10441,
-// JSON-NEXT: "col": 55,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "T1",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTemplateParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 10420,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 10398,
-// JSON-NEXT: "col": 12,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 10420,
-// JSON-NEXT: "col": 34,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "TT",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0,
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 10412,
-// JSON-NEXT: "col": 26,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 10407,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 10407,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "tagUsed": "class",
-// JSON-NEXT: "depth": 1,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TypeAliasDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 10430,
-// JSON-NEXT: "col": 44,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 10424,
-// JSON-NEXT: "col": 38,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 10441,
-// JSON-NEXT: "col": 55,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "T1",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "TT<int>"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateSpecializationType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "TT<int>"
-// JSON-NEXT: },
-// JSON-NEXT: "isDependent": true,
-// JSON-NEXT: "isInstantiationDependent": true,
-// JSON-NEXT: "templateName": "TT",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "BuiltinType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TypeAliasTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 10464,
-// JSON-NEXT: "line": 251,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 10446,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 10491,
-// JSON-NEXT: "col": 48,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "T2",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 10461,
-// JSON-NEXT: "col": 18,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 10455,
-// JSON-NEXT: "col": 12,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 10461,
-// JSON-NEXT: "col": 18,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "T",
-// JSON-NEXT: "tagUsed": "class",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TypeAliasDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 10470,
-// JSON-NEXT: "col": 27,
-// JSON-NEXT: "tokLen": 2
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 10464,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 10491,
-// JSON-NEXT: "col": 48,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "T2",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "desugaredQualType": "T::template X<int>",
-// JSON-NEXT: "qualType": "T1<T::template X>"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateSpecializationType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "T1<T::template X>"
-// JSON-NEXT: },
-// JSON-NEXT: "isDependent": true,
-// JSON-NEXT: "isInstantiationDependent": true,
-// JSON-NEXT: "isAlias": true,
-// JSON-NEXT: "templateName": "T1",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument"
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateSpecializationType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "T::template X<int>"
-// JSON-NEXT: },
-// JSON-NEXT: "isDependent": true,
-// JSON-NEXT: "isInstantiationDependent": true,
-// JSON-NEXT: "templateName": "T::template X",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "kind": "TemplateArgument",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "BuiltinType",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "int"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "NamespaceDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 11557,
-// JSON-NEXT: "line": 269,
-// JSON-NEXT: "col": 11,
-// JSON-NEXT: "tokLen": 28
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 11547,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 9
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 11906,
-// JSON-NEXT: "line": 278,
-// JSON-NEXT: "col": 1,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "TestAbbreviatedTemplateDecls",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 11667,
-// JSON-NEXT: "line": 271,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 11
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 11662,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 11683,
-// JSON-NEXT: "col": 24,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "abbreviated",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 11683,
-// JSON-NEXT: "col": 24,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 11679,
-// JSON-NEXT: "col": 20,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 11683,
-// JSON-NEXT: "col": 24,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "auto:1",
-// JSON-NEXT: "tagUsed": "class",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 11667,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 11
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 11662,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 11683,
-// JSON-NEXT: "col": 24,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "abbreviated",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (auto)"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ParmVarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 11683,
-// JSON-NEXT: "col": 24,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 11679,
-// JSON-NEXT: "col": 20,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 11679,
-// JSON-NEXT: "col": 20,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "auto"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionTemplateDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 11713,
-// JSON-NEXT: "line": 273,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 11688,
-// JSON-NEXT: "line": 272,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 8
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 11726,
-// JSON-NEXT: "line": 273,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "mixed",
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 11703,
-// JSON-NEXT: "line": 272,
-// JSON-NEXT: "col": 18,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 11697,
-// JSON-NEXT: "col": 12,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 11703,
-// JSON-NEXT: "col": 18,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isReferenced": true,
-// JSON-NEXT: "name": "T",
-// JSON-NEXT: "tagUsed": "class",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 0
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "TemplateTypeParmDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 11726,
-// JSON-NEXT: "line": 273,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 11722,
-// JSON-NEXT: "col": 17,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 11726,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "isImplicit": true,
-// JSON-NEXT: "name": "auto:2",
-// JSON-NEXT: "tagUsed": "class",
-// JSON-NEXT: "depth": 0,
-// JSON-NEXT: "index": 1
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "FunctionDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 11713,
-// JSON-NEXT: "col": 8,
-// JSON-NEXT: "tokLen": 5
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 11708,
-// JSON-NEXT: "col": 3,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 11726,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "name": "mixed",
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "void (T, auto)"
-// JSON-NEXT: },
-// JSON-NEXT: "inner": [
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ParmVarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 11720,
-// JSON-NEXT: "col": 15,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 11719,
-// JSON-NEXT: "col": 14,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 11719,
-// JSON-NEXT: "col": 14,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "T"
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: {
-// JSON-NEXT: "id": "0x{{.*}}",
-// JSON-NEXT: "kind": "ParmVarDecl",
-// JSON-NEXT: "loc": {
-// JSON-NEXT: "offset": 11726,
-// JSON-NEXT: "col": 21,
-// JSON-NEXT: "tokLen": 1
-// JSON-NEXT: },
-// JSON-NEXT: "range": {
-// JSON-NEXT: "begin": {
-// JSON-NEXT: "offset": 11722,
-// JSON-NEXT: "col": 17,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: },
-// JSON-NEXT: "end": {
-// JSON-NEXT: "offset": 11722,
-// JSON-NEXT: "col": 17,
-// JSON-NEXT: "tokLen": 4
-// JSON-NEXT: }
-// JSON-NEXT: },
-// JSON-NEXT: "type": {
-// JSON-NEXT: "qualType": "auto"
-// JSON-NEXT: }
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
-// JSON-NEXT: ]
-// JSON-NEXT: }
More information about the cfe-commits
mailing list