diff --git a/clang/include/clang/AST/DeclTemplate.h b/clang/include/clang/AST/DeclTemplate.h index 03c43765206b1..9ecff2c898acd 100644 --- a/clang/include/clang/AST/DeclTemplate.h +++ b/clang/include/clang/AST/DeclTemplate.h @@ -1841,23 +1841,15 @@ class ClassTemplateSpecializationDecl : public CXXRecordDecl, LLVM_PREFERRED_TYPE(TemplateSpecializationKind) unsigned SpecializationKind : 3; - /// Indicate that we have matched a parameter pack with a non pack - /// argument, when the opposite match is also allowed (strict pack match). - /// This needs to be cached as deduction is performed during declaration, - /// and we need the information to be preserved so that it is consistent - /// during instantiation. - bool MatchedPackOnParmToNonPackOnArg : 1; - protected: ClassTemplateSpecializationDecl(ASTContext &Context, Kind DK, TagKind TK, DeclContext *DC, SourceLocation StartLoc, SourceLocation IdLoc, ClassTemplateDecl *SpecializedTemplate, ArrayRef Args, - bool MatchedPackOnParmToNonPackOnArg, ClassTemplateSpecializationDecl *PrevDecl); - ClassTemplateSpecializationDecl(ASTContext &C, Kind DK); + explicit ClassTemplateSpecializationDecl(ASTContext &C, Kind DK); public: friend class ASTDeclReader; @@ -1867,7 +1859,7 @@ class ClassTemplateSpecializationDecl : public CXXRecordDecl, Create(ASTContext &Context, TagKind TK, DeclContext *DC, SourceLocation StartLoc, SourceLocation IdLoc, ClassTemplateDecl *SpecializedTemplate, - ArrayRef Args, bool MatchedPackOnParmToNonPackOnArg, + ArrayRef Args, ClassTemplateSpecializationDecl *PrevDecl); static ClassTemplateSpecializationDecl *CreateDeserialized(ASTContext &C, GlobalDeclID ID); @@ -1938,10 +1930,6 @@ class ClassTemplateSpecializationDecl : public CXXRecordDecl, SpecializationKind = TSK; } - bool hasMatchedPackOnParmToNonPackOnArg() const { - return MatchedPackOnParmToNonPackOnArg; - } - /// Get the point of instantiation (if any), or null if none. SourceLocation getPointOfInstantiation() const { return PointOfInstantiation; diff --git a/clang/include/clang/Sema/Sema.h b/clang/include/clang/Sema/Sema.h index 4573a7ab336d4..59e29262e3504 100644 --- a/clang/include/clang/Sema/Sema.h +++ b/clang/include/clang/Sema/Sema.h @@ -13499,8 +13499,8 @@ class Sema final : public SemaBase { bool InstantiateClassTemplateSpecialization( SourceLocation PointOfInstantiation, ClassTemplateSpecializationDecl *ClassTemplateSpec, - TemplateSpecializationKind TSK, bool Complain, - bool PrimaryHasMatchedPackOnParmToNonPackOnArg); + TemplateSpecializationKind TSK, bool Complain = true, + bool PrimaryHasMatchedPackOnParmToNonPackOnArg = false); /// Instantiates the definitions of all of the member /// of the given class, which is an instantiation of a class template diff --git a/clang/lib/AST/ASTImporter.cpp b/clang/lib/AST/ASTImporter.cpp index 1057f09deda07..c9f2f905d2134 100644 --- a/clang/lib/AST/ASTImporter.cpp +++ b/clang/lib/AST/ASTImporter.cpp @@ -6321,9 +6321,9 @@ ExpectedDecl ASTNodeImporter::VisitClassTemplateSpecializationDecl( updateLookupTableForTemplateParameters(*ToTPList); } else { // Not a partial specialization. if (GetImportedOrCreateDecl( - D2, D, Importer.getToContext(), D->getTagKind(), DC, *BeginLocOrErr, - *IdLocOrErr, ClassTemplate, TemplateArgs, - D->hasMatchedPackOnParmToNonPackOnArg(), PrevDecl)) + D2, D, Importer.getToContext(), D->getTagKind(), DC, + *BeginLocOrErr, *IdLocOrErr, ClassTemplate, TemplateArgs, + PrevDecl)) return D2; // Update InsertPos, because preceding import calls may have invalidated diff --git a/clang/lib/AST/DeclTemplate.cpp b/clang/lib/AST/DeclTemplate.cpp index fe8734d262a96..2e1ed9e10713a 100644 --- a/clang/lib/AST/DeclTemplate.cpp +++ b/clang/lib/AST/DeclTemplate.cpp @@ -957,20 +957,18 @@ FunctionTemplateSpecializationInfo *FunctionTemplateSpecializationInfo::Create( // ClassTemplateSpecializationDecl Implementation //===----------------------------------------------------------------------===// -ClassTemplateSpecializationDecl::ClassTemplateSpecializationDecl( - ASTContext &Context, Kind DK, TagKind TK, DeclContext *DC, - SourceLocation StartLoc, SourceLocation IdLoc, - ClassTemplateDecl *SpecializedTemplate, ArrayRef Args, - bool MatchedPackOnParmToNonPackOnArg, - ClassTemplateSpecializationDecl *PrevDecl) +ClassTemplateSpecializationDecl:: +ClassTemplateSpecializationDecl(ASTContext &Context, Kind DK, TagKind TK, + DeclContext *DC, SourceLocation StartLoc, + SourceLocation IdLoc, + ClassTemplateDecl *SpecializedTemplate, + ArrayRef Args, + ClassTemplateSpecializationDecl *PrevDecl) : CXXRecordDecl(DK, TK, Context, DC, StartLoc, IdLoc, SpecializedTemplate->getIdentifier(), PrevDecl), - SpecializedTemplate(SpecializedTemplate), - TemplateArgs(TemplateArgumentList::CreateCopy(Context, Args)), - SpecializationKind(TSK_Undeclared), - MatchedPackOnParmToNonPackOnArg(MatchedPackOnParmToNonPackOnArg) { - assert(DK == Kind::ClassTemplateSpecialization || - MatchedPackOnParmToNonPackOnArg == false); + SpecializedTemplate(SpecializedTemplate), + TemplateArgs(TemplateArgumentList::CreateCopy(Context, Args)), + SpecializationKind(TSK_Undeclared) { } ClassTemplateSpecializationDecl::ClassTemplateSpecializationDecl(ASTContext &C, @@ -979,14 +977,18 @@ ClassTemplateSpecializationDecl::ClassTemplateSpecializationDecl(ASTContext &C, SourceLocation(), nullptr, nullptr), SpecializationKind(TSK_Undeclared) {} -ClassTemplateSpecializationDecl *ClassTemplateSpecializationDecl::Create( - ASTContext &Context, TagKind TK, DeclContext *DC, SourceLocation StartLoc, - SourceLocation IdLoc, ClassTemplateDecl *SpecializedTemplate, - ArrayRef Args, bool MatchedPackOnParmToNonPackOnArg, - ClassTemplateSpecializationDecl *PrevDecl) { - auto *Result = new (Context, DC) ClassTemplateSpecializationDecl( - Context, ClassTemplateSpecialization, TK, DC, StartLoc, IdLoc, - SpecializedTemplate, Args, MatchedPackOnParmToNonPackOnArg, PrevDecl); +ClassTemplateSpecializationDecl * +ClassTemplateSpecializationDecl::Create(ASTContext &Context, TagKind TK, + DeclContext *DC, + SourceLocation StartLoc, + SourceLocation IdLoc, + ClassTemplateDecl *SpecializedTemplate, + ArrayRef Args, + ClassTemplateSpecializationDecl *PrevDecl) { + auto *Result = + new (Context, DC) ClassTemplateSpecializationDecl( + Context, ClassTemplateSpecialization, TK, DC, StartLoc, IdLoc, + SpecializedTemplate, Args, PrevDecl); Result->setMayHaveOutOfDateDef(false); // If the template decl is incomplete, copy the external lexical storage from @@ -1173,10 +1175,7 @@ ClassTemplatePartialSpecializationDecl::ClassTemplatePartialSpecializationDecl( ClassTemplatePartialSpecializationDecl *PrevDecl) : ClassTemplateSpecializationDecl( Context, ClassTemplatePartialSpecialization, TK, DC, StartLoc, IdLoc, - // Tracking MatchedPackOnParmToNonPackOnArg for Partial - // Specializations is not needed. - SpecializedTemplate, Args, /*MatchedPackOnParmToNonPackOnArg=*/false, - PrevDecl), + SpecializedTemplate, Args, PrevDecl), TemplateParams(Params), InstantiatedFromMember(nullptr, false) { if (AdoptTemplateParameterList(Params, this)) setInvalidDecl(); diff --git a/clang/lib/AST/JSONNodeDumper.cpp b/clang/lib/AST/JSONNodeDumper.cpp index 4ab0e7cb5815b..36ef1fc8c79db 100644 --- a/clang/lib/AST/JSONNodeDumper.cpp +++ b/clang/lib/AST/JSONNodeDumper.cpp @@ -1003,11 +1003,6 @@ void JSONNodeDumper::VisitRecordDecl(const RecordDecl *RD) { void JSONNodeDumper::VisitCXXRecordDecl(const CXXRecordDecl *RD) { VisitRecordDecl(RD); - if (const auto *CTSD = dyn_cast(RD)) { - if (CTSD->hasMatchedPackOnParmToNonPackOnArg()) - JOS.attribute("strict-pack-match", true); - } - // All other information requires a complete definition. if (!RD->isCompleteDefinition()) return; diff --git a/clang/lib/AST/TextNodeDumper.cpp b/clang/lib/AST/TextNodeDumper.cpp index 320ff803a659c..10d7e4c0c7387 100644 --- a/clang/lib/AST/TextNodeDumper.cpp +++ b/clang/lib/AST/TextNodeDumper.cpp @@ -2525,11 +2525,8 @@ void TextNodeDumper::VisitCXXRecordDecl(const CXXRecordDecl *D) { OS << " instantiated_from"; dumpPointer(Instance); } - if (const auto *CTSD = dyn_cast(D)) { + if (const auto *CTSD = dyn_cast(D)) dumpTemplateSpecializationKind(CTSD->getSpecializationKind()); - if (CTSD->hasMatchedPackOnParmToNonPackOnArg()) - OS << " strict-pack-match"; - } dumpNestedNameSpecifier(D->getQualifier()); diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp index f180be2c1a5e1..35ece88c603dd 100644 --- a/clang/lib/Sema/SemaTemplate.cpp +++ b/clang/lib/Sema/SemaTemplate.cpp @@ -3651,7 +3651,7 @@ QualType Sema::CheckTemplateIdType(TemplateName Name, ClassTemplate->getDeclContext(), ClassTemplate->getTemplatedDecl()->getBeginLoc(), ClassTemplate->getLocation(), ClassTemplate, CTAI.CanonicalConverted, - CTAI.MatchedPackOnParmToNonPackOnArg, nullptr); + nullptr); ClassTemplate->AddSpecialization(Decl, InsertPos); if (ClassTemplate->isOutOfLine()) Decl->setLexicalDeclContext(ClassTemplate->getLexicalDeclContext()); @@ -8526,8 +8526,7 @@ DeclResult Sema::ActOnClassTemplateSpecialization( // this explicit specialization or friend declaration. Specialization = ClassTemplateSpecializationDecl::Create( Context, Kind, DC, KWLoc, TemplateNameLoc, ClassTemplate, - CTAI.CanonicalConverted, CTAI.MatchedPackOnParmToNonPackOnArg, - PrevDecl); + CTAI.CanonicalConverted, PrevDecl); Specialization->setTemplateArgsAsWritten(TemplateArgs); SetNestedNameSpecifier(*this, Specialization, SS); if (TemplateParameterLists.size() > 0) { @@ -9870,8 +9869,7 @@ DeclResult Sema::ActOnExplicitInstantiation( // this explicit specialization. Specialization = ClassTemplateSpecializationDecl::Create( Context, Kind, ClassTemplate->getDeclContext(), KWLoc, TemplateNameLoc, - ClassTemplate, CTAI.CanonicalConverted, - CTAI.MatchedPackOnParmToNonPackOnArg, PrevDecl); + ClassTemplate, CTAI.CanonicalConverted, PrevDecl); SetNestedNameSpecifier(*this, Specialization, SS); // A MSInheritanceAttr attached to the previous declaration must be diff --git a/clang/lib/Sema/SemaTemplateDeduction.cpp b/clang/lib/Sema/SemaTemplateDeduction.cpp index 425c41f0f6236..137942f0c30bf 100644 --- a/clang/lib/Sema/SemaTemplateDeduction.cpp +++ b/clang/lib/Sema/SemaTemplateDeduction.cpp @@ -3341,6 +3341,8 @@ FinishTemplateArgumentDeduction( return ConstraintsNotSatisfied ? TemplateDeductionResult::ConstraintsNotSatisfied : TemplateDeductionResult::SubstitutionFailure; + if (InstCTAI.MatchedPackOnParmToNonPackOnArg) + Info.setMatchedPackOnParmToNonPackOnArg(); TemplateParameterList *TemplateParams = Template->getTemplateParameters(); for (unsigned I = 0, E = TemplateParams->size(); I != E; ++I) { diff --git a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp index 31611695eba7e..4855e8a23689c 100644 --- a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp @@ -4038,7 +4038,7 @@ TemplateDeclInstantiator::VisitClassTemplateSpecializationDecl( ClassTemplateSpecializationDecl::Create( SemaRef.Context, D->getTagKind(), Owner, D->getBeginLoc(), D->getLocation(), InstClassTemplate, CTAI.CanonicalConverted, - CTAI.MatchedPackOnParmToNonPackOnArg, PrevDecl); + PrevDecl); InstD->setTemplateArgsAsWritten(InstTemplateArgs); // Add this partial specialization to the set of class template partial diff --git a/clang/lib/Sema/SemaType.cpp b/clang/lib/Sema/SemaType.cpp index 77b52b832d771..1fa5239a597c8 100644 --- a/clang/lib/Sema/SemaType.cpp +++ b/clang/lib/Sema/SemaType.cpp @@ -9399,8 +9399,7 @@ bool Sema::RequireCompleteTypeImpl(SourceLocation Loc, QualType T, runWithSufficientStackSpace(Loc, [&] { Diagnosed = InstantiateClassTemplateSpecialization( Loc, ClassTemplateSpec, TSK_ImplicitInstantiation, - /*Complain=*/Diagnoser, - ClassTemplateSpec->hasMatchedPackOnParmToNonPackOnArg()); + /*Complain=*/Diagnoser); }); Instantiated = true; } diff --git a/clang/lib/Serialization/ASTReaderDecl.cpp b/clang/lib/Serialization/ASTReaderDecl.cpp index 963122160ff4d..8210eb2143acf 100644 --- a/clang/lib/Serialization/ASTReaderDecl.cpp +++ b/clang/lib/Serialization/ASTReaderDecl.cpp @@ -2532,7 +2532,6 @@ RedeclarableResult ASTDeclReader::VisitClassTemplateSpecializationDeclImpl( D->TemplateArgs = TemplateArgumentList::CreateCopy(C, TemplArgs); D->PointOfInstantiation = readSourceLocation(); D->SpecializationKind = (TemplateSpecializationKind)Record.readInt(); - D->MatchedPackOnParmToNonPackOnArg = Record.readBool(); bool writtenAsCanonicalDecl = Record.readInt(); if (writtenAsCanonicalDecl) { diff --git a/clang/lib/Serialization/ASTWriterDecl.cpp b/clang/lib/Serialization/ASTWriterDecl.cpp index 3505db441e829..fa2294da95de8 100644 --- a/clang/lib/Serialization/ASTWriterDecl.cpp +++ b/clang/lib/Serialization/ASTWriterDecl.cpp @@ -1843,7 +1843,6 @@ void ASTDeclWriter::VisitClassTemplateSpecializationDecl( Record.AddTemplateArgumentList(&D->getTemplateArgs()); Record.AddSourceLocation(D->getPointOfInstantiation()); Record.push_back(D->getSpecializationKind()); - Record.push_back(D->hasMatchedPackOnParmToNonPackOnArg()); Record.push_back(D->isCanonicalDecl()); if (D->isCanonicalDecl()) { diff --git a/clang/test/AST/ast-dump-templates.cpp b/clang/test/AST/ast-dump-templates.cpp index 86af8c50f3174..9fcafbcbcc46b 100644 --- a/clang/test/AST/ast-dump-templates.cpp +++ b/clang/test/AST/ast-dump-templates.cpp @@ -1,15 +1,7 @@ -// RUN: %clang_cc1 -triple x86_64-unknown-unknown -std=c++17 -ast-dump=json %s | FileCheck --check-prefix=JSON %s -// RUN: %clang_cc1 -triple x86_64-unknown-unknown -std=c++17 -ast-print %s > %t +// RUN: %clang_cc1 -std=c++1z -ast-print %s > %t // RUN: FileCheck < %t %s -check-prefix=CHECK1 // RUN: FileCheck < %t %s -check-prefix=CHECK2 -// RUN: %clang_cc1 -triple x86_64-unknown-unknown -std=c++17 -ast-dump %s | FileCheck --check-prefix=DUMP %s - -// Test with serialization: -// RUN: %clang_cc1 -triple x86_64-unknown-unknown -std=c++17 -emit-pch -o %t %s -// RUN: %clang_cc1 -triple x86_64-unknown-unknown -x c++ -std=c++17 -include-pch %t \ -// RUN: -ast-dump-all /dev/null \ -// RUN: | sed -e "s/ //" -e "s/ imported//" \ -// RUN: | FileCheck --strict-whitespace --check-prefix=DUMP %s +// RUN: %clang_cc1 -std=c++1z -ast-dump %s | FileCheck --check-prefix=DUMP %s template struct foo { @@ -126,6038 +118,3 @@ void func() { // DUMP-NEXT: `-TemplateTypeParm {{.*}} 'Key' } } - -namespace test7 { - template class TT> struct A {}; - template class B {}; - template struct A; -// DUMP-LABEL: NamespaceDecl {{.*}} test7{{$}} -// DUMP: ClassTemplateSpecializationDecl {{.*}} struct A definition explicit_instantiation_definition strict-pack-match{{$}} -} // namespce test7 - -// 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: "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: "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: "isReferenced": 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", -// 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: "name": "foo", -// JSON-NEXT: "tagUsed": "struct", -// JSON-NEXT: "completeDefinition": true, -// 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: "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: "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: "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: "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: "name": "foo", -// JSON-NEXT: "tagUsed": "struct", -// JSON-NEXT: "completeDefinition": true, -// 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: "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: "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: "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: "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: "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": "" -// 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": "" -// 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: "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" -// 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": "" -// 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": "" -// 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: "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: "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": "", -// 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": "", -// JSON-NEXT: "type": { -// JSON-NEXT: "qualType": "auto () -> A" -// 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": "", -// 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": "", -// JSON-NEXT: "type": { -// JSON-NEXT: "qualType": "auto (A) -> A" -// 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": "A" -// 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": "", -// 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": "", -// JSON-NEXT: "type": { -// JSON-NEXT: "qualType": "auto (T) -> A" -// 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: "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: "name": "foo", -// JSON-NEXT: "tagUsed": "struct", -// JSON-NEXT: "completeDefinition": true, -// 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: } -// 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: "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: } -// JSON-NEXT: ] -// JSON-NEXT: } -// JSON-NEXT: ] -// JSON-NEXT: }, -// JSON-NEXT: { -// JSON-NEXT: "id": "0x{{.*}}", -// JSON-NEXT: "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: "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: "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: "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": "" -// 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": 4308, -// JSON-NEXT: "line": 136, -// 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: "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: } -// JSON-NEXT: ] -// JSON-NEXT: } diff --git a/clang/test/AST/gen_ast_dump_json_test.py b/clang/test/AST/gen_ast_dump_json_test.py index 39b8eaadbad32..301d60e479dbf 100644 --- a/clang/test/AST/gen_ast_dump_json_test.py +++ b/clang/test/AST/gen_ast_dump_json_test.py @@ -83,12 +83,6 @@ def main(): action="store", default="", ) - parser.add_argument( - "--prefix", - help="The FileCheck prefix", - action="store", - default="CHECK", - ) update_or_generate_group = parser.add_mutually_exclusive_group() update_or_generate_group.add_argument( "--update", help="Update the file in-place", action="store_true" @@ -119,18 +113,11 @@ def main(): cmdline_opts=args.opts, do_update=args.update, force_update=args.update_manual, - prefix=args.prefix, ) def process_file( - source_file, - clang_binary, - cmdline_filters, - cmdline_opts, - do_update, - force_update, - prefix, + source_file, clang_binary, cmdline_filters, cmdline_opts, do_update, force_update ): note_firstline = ( "// NOTE: CHECK lines have been autogenerated by " "gen_ast_dump_json_test.py" @@ -240,14 +227,14 @@ def process_file( for out_ast in out_asts: append_str = json.dumps(out_ast, indent=1, ensure_ascii=False) out_str = "\n\n" - out_str += f"// {prefix}-NOT: {{{{^}}}}Dumping\n" + out_str += "// CHECK-NOT: {{^}}Dumping\n" index = 0 for append_line in append_str.splitlines()[2:]: if index == 0: - out_str += f"// {prefix}: %s\n" % (append_line.rstrip()) + out_str += "// CHECK: %s\n" % (append_line.rstrip()) index += 1 else: - out_str += f"// {prefix}-NEXT: %s\n" % (append_line.rstrip()) + out_str += "// CHECK-NEXT: %s\n" % (append_line.rstrip()) f.write(out_str) f.flush() diff --git a/clang/test/SemaTemplate/cwg2398.cpp b/clang/test/SemaTemplate/cwg2398.cpp index 51d98d4b3b202..1728f90af287b 100644 --- a/clang/test/SemaTemplate/cwg2398.cpp +++ b/clang/test/SemaTemplate/cwg2398.cpp @@ -585,23 +585,6 @@ namespace regression2 { template struct Matrix; template struct D>; } // namespace regression2 -namespace regression3 { - struct None {}; - template struct Node { using type = T; }; - - template class TT, class T> - struct A { - static_assert(!__is_same(T, None)); - using type2 = typename A::type2; - }; - - template class TT> struct A { - using type2 = void; - }; - - template class B {}; - template struct A>; -} // namespace regression3 namespace nttp_auto { namespace t1 {