From 058e59f64a6a623a21028b7a4760c799472d5bd0 Mon Sep 17 00:00:00 2001 From: Aaron Ballman Date: Fri, 21 Jun 2019 13:22:35 +0000 Subject: Print information about various type nodes when dumping the AST to JSON. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364043 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/AST/JSONNodeDumper.h | 14 + lib/AST/JSONNodeDumper.cpp | 119 + test/AST/ast-dump-record-definition-data-json.cpp | 11 +- test/AST/ast-dump-records-json.cpp | 4486 +++++++++++---------- test/AST/ast-dump-stmt-json.cpp | 18 +- test/AST/ast-dump-template-decls-json.cpp | 13 +- 6 files changed, 2418 insertions(+), 2243 deletions(-) diff --git a/include/clang/AST/JSONNodeDumper.h b/include/clang/AST/JSONNodeDumper.h index 0bf4b46c6d..b8a34aaa29 100644 --- a/include/clang/AST/JSONNodeDumper.h +++ b/include/clang/AST/JSONNodeDumper.h @@ -197,6 +197,20 @@ public: void VisitTypedefType(const TypedefType *TT); void VisitFunctionType(const FunctionType *T); void VisitFunctionProtoType(const FunctionProtoType *T); + void VisitRValueReferenceType(const ReferenceType *RT); + void VisitArrayType(const ArrayType *AT); + void VisitConstantArrayType(const ConstantArrayType *CAT); + void VisitDependentSizedExtVectorType(const DependentSizedExtVectorType *VT); + void VisitVectorType(const VectorType *VT); + void VisitUnresolvedUsingType(const UnresolvedUsingType *UUT); + void VisitUnaryTransformType(const UnaryTransformType *UTT); + void VisitTagType(const TagType *TT); + void VisitTemplateTypeParmType(const TemplateTypeParmType *TTPT); + void VisitAutoType(const AutoType *AT); + void VisitTemplateSpecializationType(const TemplateSpecializationType *TST); + void VisitInjectedClassNameType(const InjectedClassNameType *ICNT); + void VisitObjCInterfaceType(const ObjCInterfaceType *OIT); + void VisitPackExpansionType(const PackExpansionType *PET); void VisitNamedDecl(const NamedDecl *ND); void VisitTypedefDecl(const TypedefDecl *TD); diff --git a/lib/AST/JSONNodeDumper.cpp b/lib/AST/JSONNodeDumper.cpp index f73a37a981..fd8569658a 100644 --- a/lib/AST/JSONNodeDumper.cpp +++ b/lib/AST/JSONNodeDumper.cpp @@ -492,6 +492,125 @@ void JSONNodeDumper::VisitFunctionProtoType(const FunctionProtoType *T) { VisitFunctionType(T); } +void JSONNodeDumper::VisitRValueReferenceType(const ReferenceType *RT) { + attributeOnlyIfTrue("spelledAsLValue", RT->isSpelledAsLValue()); +} + +void JSONNodeDumper::VisitArrayType(const ArrayType *AT) { + switch (AT->getSizeModifier()) { + case ArrayType::Star: + JOS.attribute("sizeModifier", "*"); + break; + case ArrayType::Static: + JOS.attribute("sizeModifier", "static"); + break; + case ArrayType::Normal: + break; + } + + std::string Str = AT->getIndexTypeQualifiers().getAsString(); + if (!Str.empty()) + JOS.attribute("indexTypeQualifiers", Str); +} + +void JSONNodeDumper::VisitConstantArrayType(const ConstantArrayType *CAT) { + // FIXME: this should use ZExt instead of SExt, but JSON doesn't allow a + // narrowing conversion to int64_t so it cannot be expressed. + JOS.attribute("size", CAT->getSize().getSExtValue()); + VisitArrayType(CAT); +} + +void JSONNodeDumper::VisitDependentSizedExtVectorType( + const DependentSizedExtVectorType *VT) { + JOS.attribute("attrLoc", createSourceLocation(VT->getAttributeLoc())); +} + +void JSONNodeDumper::VisitVectorType(const VectorType *VT) { + JOS.attribute("numElements", VT->getNumElements()); + switch (VT->getVectorKind()) { + case VectorType::GenericVector: + break; + case VectorType::AltiVecVector: + JOS.attribute("vectorKind", "altivec"); + break; + case VectorType::AltiVecPixel: + JOS.attribute("vectorKind", "altivec pixel"); + break; + case VectorType::AltiVecBool: + JOS.attribute("vectorKind", "altivec bool"); + break; + case VectorType::NeonVector: + JOS.attribute("vectorKind", "neon"); + break; + case VectorType::NeonPolyVector: + JOS.attribute("vectorKind", "neon poly"); + break; + } +} + +void JSONNodeDumper::VisitUnresolvedUsingType(const UnresolvedUsingType *UUT) { + JOS.attribute("decl", createBareDeclRef(UUT->getDecl())); +} + +void JSONNodeDumper::VisitUnaryTransformType(const UnaryTransformType *UTT) { + switch (UTT->getUTTKind()) { + case UnaryTransformType::EnumUnderlyingType: + JOS.attribute("transformKind", "underlying_type"); + break; + } +} + +void JSONNodeDumper::VisitTagType(const TagType *TT) { + JOS.attribute("decl", createBareDeclRef(TT->getDecl())); +} + +void JSONNodeDumper::VisitTemplateTypeParmType( + const TemplateTypeParmType *TTPT) { + JOS.attribute("depth", TTPT->getDepth()); + JOS.attribute("index", TTPT->getIndex()); + attributeOnlyIfTrue("isPack", TTPT->isParameterPack()); + JOS.attribute("decl", createBareDeclRef(TTPT->getDecl())); +} + +void JSONNodeDumper::VisitAutoType(const AutoType *AT) { + JOS.attribute("undeduced", !AT->isDeduced()); + switch (AT->getKeyword()) { + case AutoTypeKeyword::Auto: + JOS.attribute("typeKeyword", "auto"); + break; + case AutoTypeKeyword::DecltypeAuto: + JOS.attribute("typeKeyword", "decltype(auto)"); + break; + case AutoTypeKeyword::GNUAutoType: + JOS.attribute("typeKeyword", "__auto_type"); + break; + } +} + +void JSONNodeDumper::VisitTemplateSpecializationType( + const TemplateSpecializationType *TST) { + attributeOnlyIfTrue("isAlias", TST->isTypeAlias()); + + std::string Str; + llvm::raw_string_ostream OS(Str); + TST->getTemplateName().print(OS, PrintPolicy); + JOS.attribute("templateName", OS.str()); +} + +void JSONNodeDumper::VisitInjectedClassNameType( + const InjectedClassNameType *ICNT) { + JOS.attribute("decl", createBareDeclRef(ICNT->getDecl())); +} + +void JSONNodeDumper::VisitObjCInterfaceType(const ObjCInterfaceType *OIT) { + JOS.attribute("decl", createBareDeclRef(OIT->getDecl())); +} + +void JSONNodeDumper::VisitPackExpansionType(const PackExpansionType *PET) { + if (llvm::Optional N = PET->getNumExpansions()) + JOS.attribute("numExpansions", *N); +} + void JSONNodeDumper::VisitNamedDecl(const NamedDecl *ND) { if (ND && ND->getDeclName()) JOS.attribute("name", ND->getNameAsString()); diff --git a/test/AST/ast-dump-record-definition-data-json.cpp b/test/AST/ast-dump-record-definition-data-json.cpp index 5fb12cbaf4..11c44f9829 100644 --- a/test/AST/ast-dump-record-definition-data-json.cpp +++ b/test/AST/ast-dump-record-definition-data-json.cpp @@ -125,6 +125,16 @@ struct DoesNotAllowConstDefaultInit { }; +// CHECK: "kind": "CXXRecordDecl", +// CHECK-NEXT: "name": "__NSConstantString_tag" +// CHECK-NEXT: } + + +// CHECK: "kind": "CXXRecordDecl", +// CHECK-NEXT: "name": "__va_list_tag" +// CHECK-NEXT: } + + // CHECK: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "col": 29, @@ -5193,4 +5203,3 @@ struct DoesNotAllowConstDefaultInit { // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } - diff --git a/test/AST/ast-dump-records-json.cpp b/test/AST/ast-dump-records-json.cpp index 3515bec3fc..05f1f9218c 100644 --- a/test/AST/ast-dump-records-json.cpp +++ b/test/AST/ast-dump-records-json.cpp @@ -85,456 +85,466 @@ struct Derived6 : virtual public Bases... { }; -// CHECK: "kind": "CXXRecordDecl", +// CHECK: "kind": "CXXRecordDecl", +// CHECK-NEXT: "name": "__NSConstantString_tag" +// CHECK-NEXT: } + + +// CHECK: "kind": "CXXRecordDecl", +// CHECK-NEXT: "name": "__va_list_tag" +// CHECK-NEXT: } + + +// CHECK: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 3 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 3 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 3 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "A", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "A", // CHECK-NEXT: "tagUsed": "struct" // CHECK-NEXT: } -// CHECK: "kind": "CXXRecordDecl", +// CHECK: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 4 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 4 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 4 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isReferenced": true, -// CHECK-NEXT: "name": "B", +// CHECK-NEXT: }, +// CHECK-NEXT: "isReferenced": true, +// CHECK-NEXT: "name": "B", // CHECK-NEXT: "tagUsed": "struct" // CHECK-NEXT: } -// CHECK: "kind": "CXXRecordDecl", +// CHECK: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 6 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 6 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 13 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "previousDecl": "0x{{.*}}", -// CHECK-NEXT: "name": "A", -// CHECK-NEXT: "tagUsed": "struct", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "previousDecl": "0x{{.*}}", +// CHECK-NEXT: "name": "A", +// CHECK-NEXT: "tagUsed": "struct", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canPassInRegisters": true, +// CHECK-NEXT: "canPassInRegisters": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, -// CHECK-NEXT: "isAggregate": true, -// CHECK-NEXT: "isLiteral": true, -// CHECK-NEXT: "isPOD": true, -// CHECK-NEXT: "isStandardLayout": true, -// CHECK-NEXT: "isTrivial": true, -// CHECK-NEXT: "isTriviallyCopyable": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isAggregate": true, +// CHECK-NEXT: "isLiteral": true, +// CHECK-NEXT: "isPOD": true, +// CHECK-NEXT: "isStandardLayout": true, +// CHECK-NEXT: "isTrivial": true, +// CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 6 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 6 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 6 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "A", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "A", // CHECK-NEXT: "tagUsed": "struct" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 7 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 7 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 7 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "a", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "a", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 8 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 8 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 8 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "b", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "b", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 10, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 10, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 8 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 8 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 10, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 10, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 8 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "c", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "c", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 9 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 9 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 9 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "d", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "d", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" -// CHECK-NEXT: }, -// CHECK-NEXT: "isBitfield": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isBitfield": true, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "ConstantExpr", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "ConstantExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 9 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 9 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" -// CHECK-NEXT: }, -// CHECK-NEXT: "valueCategory": "rvalue", +// CHECK-NEXT: }, +// CHECK-NEXT: "valueCategory": "rvalue", // CHECK-NEXT: "value": "12", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "IntegerLiteral", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "IntegerLiteral", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 9 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 9 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" -// CHECK-NEXT: }, -// CHECK-NEXT: "valueCategory": "rvalue", +// CHECK-NEXT: }, +// CHECK-NEXT: "valueCategory": "rvalue", // CHECK-NEXT: "value": "12" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 10 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 10 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 10 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" -// CHECK-NEXT: }, -// CHECK-NEXT: "isBitfield": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isBitfield": true, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "ConstantExpr", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "ConstantExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 10 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 10 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" -// CHECK-NEXT: }, -// CHECK-NEXT: "valueCategory": "rvalue", +// CHECK-NEXT: }, +// CHECK-NEXT: "valueCategory": "rvalue", // CHECK-NEXT: "value": "0", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "IntegerLiteral", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "IntegerLiteral", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 10 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 10 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" -// CHECK-NEXT: }, -// CHECK-NEXT: "valueCategory": "rvalue", +// CHECK-NEXT: }, +// CHECK-NEXT: "valueCategory": "rvalue", // CHECK-NEXT: "value": "0" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 11 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 11 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 11 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "e", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "e", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" -// CHECK-NEXT: }, -// CHECK-NEXT: "isBitfield": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isBitfield": true, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "ConstantExpr", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "ConstantExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 11 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 11 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" -// CHECK-NEXT: }, -// CHECK-NEXT: "valueCategory": "rvalue", +// CHECK-NEXT: }, +// CHECK-NEXT: "valueCategory": "rvalue", // CHECK-NEXT: "value": "10", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "IntegerLiteral", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "IntegerLiteral", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 11 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 11 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" -// CHECK-NEXT: }, -// CHECK-NEXT: "valueCategory": "rvalue", +// CHECK-NEXT: }, +// CHECK-NEXT: "valueCategory": "rvalue", // CHECK-NEXT: "value": "10" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 6, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 6, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 12 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 12 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 6, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 6, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 12 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "f", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "f", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "B *" // CHECK-NEXT: } @@ -543,768 +553,768 @@ struct Derived6 : virtual public Bases... { // CHECK-NEXT: } -// CHECK: "kind": "CXXRecordDecl", +// CHECK: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 15 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 15 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 28 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "C", -// CHECK-NEXT: "tagUsed": "struct", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "C", +// CHECK-NEXT: "tagUsed": "struct", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canPassInRegisters": true, +// CHECK-NEXT: "canPassInRegisters": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, -// CHECK-NEXT: "hasVariantMembers": true, -// CHECK-NEXT: "isAggregate": true, -// CHECK-NEXT: "isLiteral": true, -// CHECK-NEXT: "isPOD": true, -// CHECK-NEXT: "isStandardLayout": true, -// CHECK-NEXT: "isTrivial": true, -// CHECK-NEXT: "isTriviallyCopyable": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "hasVariantMembers": true, +// CHECK-NEXT: "isAggregate": true, +// CHECK-NEXT: "isLiteral": true, +// CHECK-NEXT: "isPOD": true, +// CHECK-NEXT: "isStandardLayout": true, +// CHECK-NEXT: "isTrivial": true, +// CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 15 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 15 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 15 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "C", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "C", // CHECK-NEXT: "tagUsed": "struct" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 16 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 16 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 18 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "tagUsed": "struct", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "tagUsed": "struct", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canPassInRegisters": true, +// CHECK-NEXT: "canPassInRegisters": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, -// CHECK-NEXT: "isAggregate": true, -// CHECK-NEXT: "isLiteral": true, -// CHECK-NEXT: "isPOD": true, -// CHECK-NEXT: "isStandardLayout": true, -// CHECK-NEXT: "isTrivial": true, -// CHECK-NEXT: "isTriviallyCopyable": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isAggregate": true, +// CHECK-NEXT: "isLiteral": true, +// CHECK-NEXT: "isPOD": true, +// CHECK-NEXT: "isStandardLayout": true, +// CHECK-NEXT: "isTrivial": true, +// CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 17 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 5, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 5, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 17 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 17 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "a", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "a", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 5, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 5, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 18 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 16 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 5, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 5, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 18 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "b", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "b", // CHECK-NEXT: "type": { -// CHECK-NEXT: "desugaredQualType": "C::(anonymous struct at {{.*}}:16:3)", +// CHECK-NEXT: "desugaredQualType": "C::(anonymous struct at {{.*}}:16:3)", // CHECK-NEXT: "qualType": "struct (anonymous struct at {{.*}}:16:3)" // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 20 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 20 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 23 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "tagUsed": "union", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "tagUsed": "union", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canPassInRegisters": true, +// CHECK-NEXT: "canPassInRegisters": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, -// CHECK-NEXT: "hasVariantMembers": true, -// CHECK-NEXT: "isAggregate": true, -// CHECK-NEXT: "isLiteral": true, -// CHECK-NEXT: "isPOD": true, -// CHECK-NEXT: "isStandardLayout": true, -// CHECK-NEXT: "isTrivial": true, -// CHECK-NEXT: "isTriviallyCopyable": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "hasVariantMembers": true, +// CHECK-NEXT: "isAggregate": true, +// CHECK-NEXT: "isLiteral": true, +// CHECK-NEXT: "isPOD": true, +// CHECK-NEXT: "isStandardLayout": true, +// CHECK-NEXT: "isTrivial": true, +// CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 21 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 5, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 5, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 21 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 21 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "c", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "c", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 22 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 5, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 5, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 22 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 22 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "d", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "d", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "float" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 20 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 20 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 20 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "C::(anonymous union at {{.*}}:20:3)" // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "IndirectFieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "IndirectFieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 21 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 21 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 21 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "name": "c" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "IndirectFieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "IndirectFieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 22 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 22 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 22 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "name": "d" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 25 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 25 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 27 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "tagUsed": "struct", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "tagUsed": "struct", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canPassInRegisters": true, +// CHECK-NEXT: "canPassInRegisters": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, -// CHECK-NEXT: "isAggregate": true, -// CHECK-NEXT: "isLiteral": true, -// CHECK-NEXT: "isPOD": true, -// CHECK-NEXT: "isStandardLayout": true, -// CHECK-NEXT: "isTrivial": true, -// CHECK-NEXT: "isTriviallyCopyable": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isAggregate": true, +// CHECK-NEXT: "isLiteral": true, +// CHECK-NEXT: "isPOD": true, +// CHECK-NEXT: "isStandardLayout": true, +// CHECK-NEXT: "isTrivial": true, +// CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 26 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 5, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 5, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 26 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 26 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "e", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "e", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 12, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 12, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 26 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 5, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 5, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 26 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 12, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 12, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 26 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "f", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "f", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 25 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 25 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 25 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "C::(anonymous struct at {{.*}}:25:3)" // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "IndirectFieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "IndirectFieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 26 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 26 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 26 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "name": "e" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "IndirectFieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "IndirectFieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 12, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 12, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 26 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 12, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 12, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 26 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 12, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 12, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 26 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "name": "f" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } -// CHECK: "kind": "CXXRecordDecl", +// CHECK: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 30 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 30 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 34 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "D", -// CHECK-NEXT: "tagUsed": "struct", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "D", +// CHECK-NEXT: "tagUsed": "struct", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canPassInRegisters": true, +// CHECK-NEXT: "canPassInRegisters": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, -// CHECK-NEXT: "isAggregate": true, -// CHECK-NEXT: "isLiteral": true, -// CHECK-NEXT: "isPOD": true, -// CHECK-NEXT: "isStandardLayout": true, -// CHECK-NEXT: "isTrivial": true, -// CHECK-NEXT: "isTriviallyCopyable": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isAggregate": true, +// CHECK-NEXT: "isLiteral": true, +// CHECK-NEXT: "isPOD": true, +// CHECK-NEXT: "isStandardLayout": true, +// CHECK-NEXT: "isTrivial": true, +// CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 30 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 30 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 30 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "D", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "D", // CHECK-NEXT: "tagUsed": "struct" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 31 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 31 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 31 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "a", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "a", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 32 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 32 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 32 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "b", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "b", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int [10]" // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 33 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 33 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 33 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "c", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "c", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int []" // CHECK-NEXT: } @@ -1313,456 +1323,456 @@ struct Derived6 : virtual public Bases... { // CHECK-NEXT: } -// CHECK: "kind": "CXXRecordDecl", +// CHECK: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 36 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 36 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 36 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "E", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "E", // CHECK-NEXT: "tagUsed": "union" // CHECK-NEXT: } -// CHECK: "kind": "CXXRecordDecl", +// CHECK: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 38 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 38 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 38 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "F", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "F", // CHECK-NEXT: "tagUsed": "union" // CHECK-NEXT: } -// CHECK: "kind": "CXXRecordDecl", +// CHECK: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 40 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 40 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 47 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "previousDecl": "0x{{.*}}", -// CHECK-NEXT: "name": "E", -// CHECK-NEXT: "tagUsed": "union", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "previousDecl": "0x{{.*}}", +// CHECK-NEXT: "name": "E", +// CHECK-NEXT: "tagUsed": "union", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canPassInRegisters": true, +// CHECK-NEXT: "canPassInRegisters": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, -// CHECK-NEXT: "hasVariantMembers": true, -// CHECK-NEXT: "isAggregate": true, -// CHECK-NEXT: "isLiteral": true, -// CHECK-NEXT: "isPOD": true, -// CHECK-NEXT: "isStandardLayout": true, -// CHECK-NEXT: "isTrivial": true, -// CHECK-NEXT: "isTriviallyCopyable": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "hasVariantMembers": true, +// CHECK-NEXT: "isAggregate": true, +// CHECK-NEXT: "isLiteral": true, +// CHECK-NEXT: "isPOD": true, +// CHECK-NEXT: "isStandardLayout": true, +// CHECK-NEXT: "isTrivial": true, +// CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 40 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 40 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 40 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "E", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "E", // CHECK-NEXT: "tagUsed": "union" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 41 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 41 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 41 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "a", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "a", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 42 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 42 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 42 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "b", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "b", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 10, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 10, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 42 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 42 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 10, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 10, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 42 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "c", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "c", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 43 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 43 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 43 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "d", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "d", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" -// CHECK-NEXT: }, -// CHECK-NEXT: "isBitfield": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isBitfield": true, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "ConstantExpr", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "ConstantExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 43 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 43 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" -// CHECK-NEXT: }, -// CHECK-NEXT: "valueCategory": "rvalue", +// CHECK-NEXT: }, +// CHECK-NEXT: "valueCategory": "rvalue", // CHECK-NEXT: "value": "12", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "IntegerLiteral", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "IntegerLiteral", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 43 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 43 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" -// CHECK-NEXT: }, -// CHECK-NEXT: "valueCategory": "rvalue", +// CHECK-NEXT: }, +// CHECK-NEXT: "valueCategory": "rvalue", // CHECK-NEXT: "value": "12" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 44 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 44 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 44 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" -// CHECK-NEXT: }, -// CHECK-NEXT: "isBitfield": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isBitfield": true, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "ConstantExpr", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "ConstantExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 44 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 44 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" -// CHECK-NEXT: }, -// CHECK-NEXT: "valueCategory": "rvalue", +// CHECK-NEXT: }, +// CHECK-NEXT: "valueCategory": "rvalue", // CHECK-NEXT: "value": "0", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "IntegerLiteral", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "IntegerLiteral", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 44 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 44 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" -// CHECK-NEXT: }, -// CHECK-NEXT: "valueCategory": "rvalue", +// CHECK-NEXT: }, +// CHECK-NEXT: "valueCategory": "rvalue", // CHECK-NEXT: "value": "0" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 45 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 45 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 45 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "e", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "e", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" -// CHECK-NEXT: }, -// CHECK-NEXT: "isBitfield": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isBitfield": true, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "ConstantExpr", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "ConstantExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 45 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 45 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" -// CHECK-NEXT: }, -// CHECK-NEXT: "valueCategory": "rvalue", +// CHECK-NEXT: }, +// CHECK-NEXT: "valueCategory": "rvalue", // CHECK-NEXT: "value": "10", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "IntegerLiteral", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "IntegerLiteral", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 45 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 45 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" -// CHECK-NEXT: }, -// CHECK-NEXT: "valueCategory": "rvalue", +// CHECK-NEXT: }, +// CHECK-NEXT: "valueCategory": "rvalue", // CHECK-NEXT: "value": "10" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 6, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 6, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 46 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 46 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 6, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 6, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 46 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "f", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "f", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "B *" // CHECK-NEXT: } @@ -1771,2342 +1781,2342 @@ struct Derived6 : virtual public Bases... { // CHECK-NEXT: } -// CHECK: "kind": "CXXRecordDecl", +// CHECK: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 49 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 49 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 62 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "G", -// CHECK-NEXT: "tagUsed": "union", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "G", +// CHECK-NEXT: "tagUsed": "union", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canPassInRegisters": true, +// CHECK-NEXT: "canPassInRegisters": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, -// CHECK-NEXT: "hasVariantMembers": true, -// CHECK-NEXT: "isAggregate": true, -// CHECK-NEXT: "isLiteral": true, -// CHECK-NEXT: "isPOD": true, -// CHECK-NEXT: "isStandardLayout": true, -// CHECK-NEXT: "isTrivial": true, -// CHECK-NEXT: "isTriviallyCopyable": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "hasVariantMembers": true, +// CHECK-NEXT: "isAggregate": true, +// CHECK-NEXT: "isLiteral": true, +// CHECK-NEXT: "isPOD": true, +// CHECK-NEXT: "isStandardLayout": true, +// CHECK-NEXT: "isTrivial": true, +// CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 49 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 49 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 7, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 7, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 49 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "G", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "G", // CHECK-NEXT: "tagUsed": "union" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 50 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 50 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 52 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "tagUsed": "struct", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "tagUsed": "struct", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canPassInRegisters": true, +// CHECK-NEXT: "canPassInRegisters": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, -// CHECK-NEXT: "isAggregate": true, -// CHECK-NEXT: "isLiteral": true, -// CHECK-NEXT: "isPOD": true, -// CHECK-NEXT: "isStandardLayout": true, -// CHECK-NEXT: "isTrivial": true, -// CHECK-NEXT: "isTriviallyCopyable": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isAggregate": true, +// CHECK-NEXT: "isLiteral": true, +// CHECK-NEXT: "isPOD": true, +// CHECK-NEXT: "isStandardLayout": true, +// CHECK-NEXT: "isTrivial": true, +// CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 51 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 5, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 5, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 51 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 51 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "a", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "a", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 5, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 5, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 52 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 50 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 5, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 5, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 52 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "b", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "b", // CHECK-NEXT: "type": { -// CHECK-NEXT: "desugaredQualType": "G::(anonymous struct at {{.*}}:50:3)", +// CHECK-NEXT: "desugaredQualType": "G::(anonymous struct at {{.*}}:50:3)", // CHECK-NEXT: "qualType": "struct (anonymous struct at {{.*}}:50:3)" // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 54 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 54 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 57 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "tagUsed": "union", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "tagUsed": "union", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canPassInRegisters": true, +// CHECK-NEXT: "canPassInRegisters": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, -// CHECK-NEXT: "hasVariantMembers": true, -// CHECK-NEXT: "isAggregate": true, -// CHECK-NEXT: "isLiteral": true, -// CHECK-NEXT: "isPOD": true, -// CHECK-NEXT: "isStandardLayout": true, -// CHECK-NEXT: "isTrivial": true, -// CHECK-NEXT: "isTriviallyCopyable": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "hasVariantMembers": true, +// CHECK-NEXT: "isAggregate": true, +// CHECK-NEXT: "isLiteral": true, +// CHECK-NEXT: "isPOD": true, +// CHECK-NEXT: "isStandardLayout": true, +// CHECK-NEXT: "isTrivial": true, +// CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 55 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 5, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 5, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 55 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 55 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "c", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "c", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 56 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 5, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 5, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 56 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 56 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "d", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "d", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "float" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 54 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 54 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 54 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "G::(anonymous union at {{.*}}:54:3)" // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "IndirectFieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "IndirectFieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 55 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 55 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 55 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "name": "c" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "IndirectFieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "IndirectFieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 56 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 56 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 11, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 11, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 56 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "name": "d" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 59 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 59 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 61 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "tagUsed": "struct", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "tagUsed": "struct", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canPassInRegisters": true, +// CHECK-NEXT: "canPassInRegisters": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, -// CHECK-NEXT: "isAggregate": true, -// CHECK-NEXT: "isLiteral": true, -// CHECK-NEXT: "isPOD": true, -// CHECK-NEXT: "isStandardLayout": true, -// CHECK-NEXT: "isTrivial": true, -// CHECK-NEXT: "isTriviallyCopyable": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isAggregate": true, +// CHECK-NEXT: "isLiteral": true, +// CHECK-NEXT: "isPOD": true, +// CHECK-NEXT: "isStandardLayout": true, +// CHECK-NEXT: "isTrivial": true, +// CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 60 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 5, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 5, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 60 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 60 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "e", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "e", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 12, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 12, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 60 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 5, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 5, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 60 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 12, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 12, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 60 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "f", +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "f", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "FieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "FieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 59 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 59 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 3, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 3, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 59 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "G::(anonymous struct at {{.*}}:59:3)" // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "IndirectFieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "IndirectFieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 60 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 60 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 9, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 9, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 60 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "name": "e" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "IndirectFieldDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "IndirectFieldDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 12, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 12, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 60 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 12, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 12, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 60 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 12, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 12, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 60 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "name": "f" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } -// CHECK: "kind": "CXXRecordDecl", +// CHECK: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 15, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 15, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isReferenced": true, -// CHECK-NEXT: "name": "Base1", -// CHECK-NEXT: "tagUsed": "struct", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isReferenced": true, +// CHECK-NEXT: "name": "Base1", +// CHECK-NEXT: "tagUsed": "struct", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canConstDefaultInit": true, -// CHECK-NEXT: "canPassInRegisters": true, +// CHECK-NEXT: "canConstDefaultInit": true, +// CHECK-NEXT: "canPassInRegisters": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "defaultedIsConstexpr": true, -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "isConstexpr": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "defaultedIsConstexpr": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "isConstexpr": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, -// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, -// CHECK-NEXT: "isAggregate": true, -// CHECK-NEXT: "isEmpty": true, -// CHECK-NEXT: "isLiteral": true, -// CHECK-NEXT: "isPOD": true, -// CHECK-NEXT: "isStandardLayout": true, -// CHECK-NEXT: "isTrivial": true, -// CHECK-NEXT: "isTriviallyCopyable": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, +// CHECK-NEXT: "isAggregate": true, +// CHECK-NEXT: "isEmpty": true, +// CHECK-NEXT: "isLiteral": true, +// CHECK-NEXT: "isPOD": true, +// CHECK-NEXT: "isStandardLayout": true, +// CHECK-NEXT: "isTrivial": true, +// CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "Base1", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "Base1", // CHECK-NEXT: "tagUsed": "struct" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXMethodDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXMethodDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "operator=", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "operator=", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Base1 &(const Base1 &)" -// CHECK-NEXT: }, -// CHECK-NEXT: "inline": true, -// CHECK-NEXT: "constexpr": true, -// CHECK-NEXT: "explicitlyDefaulted": "default", +// CHECK-NEXT: }, +// CHECK-NEXT: "inline": true, +// CHECK-NEXT: "constexpr": true, +// CHECK-NEXT: "explicitlyDefaulted": "default", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "ParmVarDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "ParmVarDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const Base1 &" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXMethodDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXMethodDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "operator=", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "operator=", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Base1 &(Base1 &&)" -// CHECK-NEXT: }, -// CHECK-NEXT: "inline": true, -// CHECK-NEXT: "constexpr": true, -// CHECK-NEXT: "explicitlyDefaulted": "default", +// CHECK-NEXT: }, +// CHECK-NEXT: "inline": true, +// CHECK-NEXT: "constexpr": true, +// CHECK-NEXT: "explicitlyDefaulted": "default", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "ParmVarDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "ParmVarDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Base1 &&" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXDestructorDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXDestructorDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 64 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "~Base1", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "~Base1", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "void ()" -// CHECK-NEXT: }, -// CHECK-NEXT: "inline": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "inline": true, // CHECK-NEXT: "explicitlyDefaulted": "default" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } -// CHECK: "kind": "CXXRecordDecl", +// CHECK: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 15, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 15, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isReferenced": true, -// CHECK-NEXT: "name": "Base2", -// CHECK-NEXT: "tagUsed": "struct", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isReferenced": true, +// CHECK-NEXT: "name": "Base2", +// CHECK-NEXT: "tagUsed": "struct", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canConstDefaultInit": true, -// CHECK-NEXT: "canPassInRegisters": true, +// CHECK-NEXT: "canConstDefaultInit": true, +// CHECK-NEXT: "canPassInRegisters": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "defaultedIsConstexpr": true, -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "isConstexpr": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "defaultedIsConstexpr": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "isConstexpr": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, -// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, -// CHECK-NEXT: "isAggregate": true, -// CHECK-NEXT: "isEmpty": true, -// CHECK-NEXT: "isLiteral": true, -// CHECK-NEXT: "isPOD": true, -// CHECK-NEXT: "isStandardLayout": true, -// CHECK-NEXT: "isTrivial": true, -// CHECK-NEXT: "isTriviallyCopyable": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, +// CHECK-NEXT: "isAggregate": true, +// CHECK-NEXT: "isEmpty": true, +// CHECK-NEXT: "isLiteral": true, +// CHECK-NEXT: "isPOD": true, +// CHECK-NEXT: "isStandardLayout": true, +// CHECK-NEXT: "isTrivial": true, +// CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "Base2", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "Base2", // CHECK-NEXT: "tagUsed": "struct" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXMethodDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXMethodDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "operator=", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "operator=", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Base2 &(const Base2 &)" -// CHECK-NEXT: }, -// CHECK-NEXT: "inline": true, -// CHECK-NEXT: "constexpr": true, -// CHECK-NEXT: "explicitlyDefaulted": "default", +// CHECK-NEXT: }, +// CHECK-NEXT: "inline": true, +// CHECK-NEXT: "constexpr": true, +// CHECK-NEXT: "explicitlyDefaulted": "default", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "ParmVarDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "ParmVarDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const Base2 &" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXMethodDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXMethodDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "operator=", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "operator=", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Base2 &(Base2 &&)" -// CHECK-NEXT: }, -// CHECK-NEXT: "inline": true, -// CHECK-NEXT: "constexpr": true, -// CHECK-NEXT: "explicitlyDefaulted": "default", +// CHECK-NEXT: }, +// CHECK-NEXT: "inline": true, +// CHECK-NEXT: "constexpr": true, +// CHECK-NEXT: "explicitlyDefaulted": "default", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "ParmVarDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "ParmVarDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Base2 &&" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXDestructorDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXDestructorDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 65 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "~Base2", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "~Base2", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "void ()" -// CHECK-NEXT: }, -// CHECK-NEXT: "inline": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "inline": true, // CHECK-NEXT: "explicitlyDefaulted": "default" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } -// CHECK: "kind": "CXXRecordDecl", +// CHECK: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 15, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 15, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isReferenced": true, -// CHECK-NEXT: "name": "Base3", -// CHECK-NEXT: "tagUsed": "struct", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "isReferenced": true, +// CHECK-NEXT: "name": "Base3", +// CHECK-NEXT: "tagUsed": "struct", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canConstDefaultInit": true, -// CHECK-NEXT: "canPassInRegisters": true, +// CHECK-NEXT: "canConstDefaultInit": true, +// CHECK-NEXT: "canPassInRegisters": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "defaultedIsConstexpr": true, -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "isConstexpr": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "defaultedIsConstexpr": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "isConstexpr": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, -// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, -// CHECK-NEXT: "isAggregate": true, -// CHECK-NEXT: "isEmpty": true, -// CHECK-NEXT: "isLiteral": true, -// CHECK-NEXT: "isPOD": true, -// CHECK-NEXT: "isStandardLayout": true, -// CHECK-NEXT: "isTrivial": true, -// CHECK-NEXT: "isTriviallyCopyable": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, +// CHECK-NEXT: "isAggregate": true, +// CHECK-NEXT: "isEmpty": true, +// CHECK-NEXT: "isLiteral": true, +// CHECK-NEXT: "isPOD": true, +// CHECK-NEXT: "isStandardLayout": true, +// CHECK-NEXT: "isTrivial": true, +// CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "Base3", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "Base3", // CHECK-NEXT: "tagUsed": "struct" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXMethodDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXMethodDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "operator=", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "operator=", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Base3 &(const Base3 &)" -// CHECK-NEXT: }, -// CHECK-NEXT: "inline": true, -// CHECK-NEXT: "constexpr": true, -// CHECK-NEXT: "explicitlyDefaulted": "default", +// CHECK-NEXT: }, +// CHECK-NEXT: "inline": true, +// CHECK-NEXT: "constexpr": true, +// CHECK-NEXT: "explicitlyDefaulted": "default", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "ParmVarDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "ParmVarDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const Base3 &" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXMethodDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXMethodDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "operator=", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "operator=", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Base3 &(Base3 &&)" -// CHECK-NEXT: }, -// CHECK-NEXT: "inline": true, -// CHECK-NEXT: "constexpr": true, -// CHECK-NEXT: "explicitlyDefaulted": "default", +// CHECK-NEXT: }, +// CHECK-NEXT: "inline": true, +// CHECK-NEXT: "constexpr": true, +// CHECK-NEXT: "explicitlyDefaulted": "default", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "ParmVarDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "ParmVarDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Base3 &&" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXDestructorDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXDestructorDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 66 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "~Base3", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "~Base3", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "void ()" -// CHECK-NEXT: }, -// CHECK-NEXT: "inline": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "inline": true, // CHECK-NEXT: "explicitlyDefaulted": "default" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } -// CHECK: "kind": "CXXRecordDecl", +// CHECK: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 68 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 68 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 69 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "Derived1", -// CHECK-NEXT: "tagUsed": "struct", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "Derived1", +// CHECK-NEXT: "tagUsed": "struct", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canConstDefaultInit": true, -// CHECK-NEXT: "canPassInRegisters": true, +// CHECK-NEXT: "canConstDefaultInit": true, +// CHECK-NEXT: "canPassInRegisters": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "defaultedIsConstexpr": true, -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "isConstexpr": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "defaultedIsConstexpr": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "isConstexpr": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, -// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, -// CHECK-NEXT: "isAggregate": true, -// CHECK-NEXT: "isEmpty": true, -// CHECK-NEXT: "isLiteral": true, -// CHECK-NEXT: "isStandardLayout": true, -// CHECK-NEXT: "isTrivial": true, -// CHECK-NEXT: "isTriviallyCopyable": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, +// CHECK-NEXT: "isAggregate": true, +// CHECK-NEXT: "isEmpty": true, +// CHECK-NEXT: "isLiteral": true, +// CHECK-NEXT: "isStandardLayout": true, +// CHECK-NEXT: "isTrivial": true, +// CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "bases": [ // CHECK-NEXT: { -// CHECK-NEXT: "access": "public", +// CHECK-NEXT: "access": "public", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Base1" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "writtenAccess": "none" // CHECK-NEXT: } -// CHECK-NEXT: ], +// CHECK-NEXT: ], // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 68 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 68 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 68 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "Derived1", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "Derived1", // CHECK-NEXT: "tagUsed": "struct" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } -// CHECK: "kind": "CXXRecordDecl", +// CHECK: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 71 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 71 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 72 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "Derived2", -// CHECK-NEXT: "tagUsed": "struct", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "Derived2", +// CHECK-NEXT: "tagUsed": "struct", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canConstDefaultInit": true, -// CHECK-NEXT: "canPassInRegisters": true, +// CHECK-NEXT: "canConstDefaultInit": true, +// CHECK-NEXT: "canPassInRegisters": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "defaultedIsConstexpr": true, -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "isConstexpr": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "defaultedIsConstexpr": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "isConstexpr": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, -// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, -// CHECK-NEXT: "isEmpty": true, -// CHECK-NEXT: "isLiteral": true, -// CHECK-NEXT: "isStandardLayout": true, -// CHECK-NEXT: "isTrivial": true, -// CHECK-NEXT: "isTriviallyCopyable": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, +// CHECK-NEXT: "isEmpty": true, +// CHECK-NEXT: "isLiteral": true, +// CHECK-NEXT: "isStandardLayout": true, +// CHECK-NEXT: "isTrivial": true, +// CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "bases": [ // CHECK-NEXT: { -// CHECK-NEXT: "access": "private", +// CHECK-NEXT: "access": "private", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Base1" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "writtenAccess": "private" // CHECK-NEXT: } -// CHECK-NEXT: ], +// CHECK-NEXT: ], // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 71 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 71 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 71 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "Derived2", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "Derived2", // CHECK-NEXT: "tagUsed": "struct" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } -// CHECK: "kind": "CXXRecordDecl", +// CHECK: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 75 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "Derived3", -// CHECK-NEXT: "tagUsed": "struct", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "Derived3", +// CHECK-NEXT: "tagUsed": "struct", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canConstDefaultInit": true, +// CHECK-NEXT: "canConstDefaultInit": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, // CHECK-NEXT: "nonTrivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "nonTrivial": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "nonTrivial": true, // CHECK-NEXT: "simple": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "nonTrivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "nonTrivial": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "nonTrivial": true, // CHECK-NEXT: "simple": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "nonTrivial": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "nonTrivial": true, // CHECK-NEXT: "simple": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "bases": [ // CHECK-NEXT: { -// CHECK-NEXT: "access": "public", -// CHECK-NEXT: "isVirtual": true, +// CHECK-NEXT: "access": "public", +// CHECK-NEXT: "isVirtual": true, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Base1" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "writtenAccess": "none" // CHECK-NEXT: } -// CHECK-NEXT: ], +// CHECK-NEXT: ], // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "Derived3", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "Derived3", // CHECK-NEXT: "tagUsed": "struct" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXMethodDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXMethodDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "operator=", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "operator=", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Derived3 &(const Derived3 &)" -// CHECK-NEXT: }, -// CHECK-NEXT: "inline": true, -// CHECK-NEXT: "explicitlyDefaulted": "default", +// CHECK-NEXT: }, +// CHECK-NEXT: "inline": true, +// CHECK-NEXT: "explicitlyDefaulted": "default", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "ParmVarDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "ParmVarDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const Derived3 &" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXMethodDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXMethodDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "operator=", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "operator=", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Derived3 &(Derived3 &&)" -// CHECK-NEXT: }, -// CHECK-NEXT: "inline": true, -// CHECK-NEXT: "explicitlyDefaulted": "default", +// CHECK-NEXT: }, +// CHECK-NEXT: "inline": true, +// CHECK-NEXT: "explicitlyDefaulted": "default", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "ParmVarDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "ParmVarDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Derived3 &&" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXDestructorDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXDestructorDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 74 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "~Derived3", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "~Derived3", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "void ()" -// CHECK-NEXT: }, -// CHECK-NEXT: "inline": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "inline": true, // CHECK-NEXT: "explicitlyDefaulted": "default" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } -// CHECK: "kind": "CXXRecordDecl", +// CHECK: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 78 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "Derived4", -// CHECK-NEXT: "tagUsed": "struct", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "Derived4", +// CHECK-NEXT: "tagUsed": "struct", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canConstDefaultInit": true, +// CHECK-NEXT: "canConstDefaultInit": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, // CHECK-NEXT: "nonTrivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "nonTrivial": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "nonTrivial": true, // CHECK-NEXT: "simple": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "nonTrivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "nonTrivial": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "nonTrivial": true, // CHECK-NEXT: "simple": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "nonTrivial": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "nonTrivial": true, // CHECK-NEXT: "simple": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "bases": [ // CHECK-NEXT: { -// CHECK-NEXT: "access": "public", +// CHECK-NEXT: "access": "public", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Base1" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "writtenAccess": "none" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "access": "public", -// CHECK-NEXT: "isVirtual": true, +// CHECK-NEXT: "access": "public", +// CHECK-NEXT: "isVirtual": true, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Base2" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "writtenAccess": "none" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "access": "protected", +// CHECK-NEXT: "access": "protected", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Base3" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "writtenAccess": "protected" // CHECK-NEXT: } -// CHECK-NEXT: ], +// CHECK-NEXT: ], // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "Derived4", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "Derived4", // CHECK-NEXT: "tagUsed": "struct" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXMethodDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXMethodDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "operator=", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "operator=", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Derived4 &(const Derived4 &)" -// CHECK-NEXT: }, -// CHECK-NEXT: "inline": true, -// CHECK-NEXT: "explicitlyDefaulted": "default", +// CHECK-NEXT: }, +// CHECK-NEXT: "inline": true, +// CHECK-NEXT: "explicitlyDefaulted": "default", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "ParmVarDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "ParmVarDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const Derived4 &" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXMethodDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXMethodDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "operator=", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "operator=", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Derived4 &(Derived4 &&)" -// CHECK-NEXT: }, -// CHECK-NEXT: "inline": true, -// CHECK-NEXT: "explicitlyDefaulted": "default", +// CHECK-NEXT: }, +// CHECK-NEXT: "inline": true, +// CHECK-NEXT: "explicitlyDefaulted": "default", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "ParmVarDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "ParmVarDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Derived4 &&" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXDestructorDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXDestructorDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 77 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "~Derived4", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "~Derived4", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "void ()" -// CHECK-NEXT: }, -// CHECK-NEXT: "inline": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "inline": true, // CHECK-NEXT: "explicitlyDefaulted": "default" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } -// CHECK: "kind": "CXXRecordDecl", +// CHECK: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 81 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "Derived5", -// CHECK-NEXT: "tagUsed": "struct", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "Derived5", +// CHECK-NEXT: "tagUsed": "struct", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canConstDefaultInit": true, +// CHECK-NEXT: "canConstDefaultInit": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, // CHECK-NEXT: "nonTrivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "nonTrivial": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "nonTrivial": true, // CHECK-NEXT: "simple": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "nonTrivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "nonTrivial": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "nonTrivial": true, // CHECK-NEXT: "simple": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "nonTrivial": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "nonTrivial": true, // CHECK-NEXT: "simple": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "bases": [ // CHECK-NEXT: { -// CHECK-NEXT: "access": "protected", -// CHECK-NEXT: "isVirtual": true, +// CHECK-NEXT: "access": "protected", +// CHECK-NEXT: "isVirtual": true, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Base1" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "writtenAccess": "protected" // CHECK-NEXT: } -// CHECK-NEXT: ], +// CHECK-NEXT: ], // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "Derived5", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "Derived5", // CHECK-NEXT: "tagUsed": "struct" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXMethodDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXMethodDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "operator=", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "operator=", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Derived5 &(const Derived5 &)" -// CHECK-NEXT: }, -// CHECK-NEXT: "inline": true, -// CHECK-NEXT: "explicitlyDefaulted": "default", +// CHECK-NEXT: }, +// CHECK-NEXT: "inline": true, +// CHECK-NEXT: "explicitlyDefaulted": "default", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "ParmVarDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "ParmVarDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const Derived5 &" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXMethodDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXMethodDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "operator=", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "operator=", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Derived5 &(Derived5 &&)" -// CHECK-NEXT: }, -// CHECK-NEXT: "inline": true, -// CHECK-NEXT: "explicitlyDefaulted": "default", +// CHECK-NEXT: }, +// CHECK-NEXT: "inline": true, +// CHECK-NEXT: "explicitlyDefaulted": "default", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "ParmVarDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "ParmVarDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Derived5 &&" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXDestructorDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXDestructorDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 80 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "~Derived5", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "~Derived5", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "void ()" -// CHECK-NEXT: }, -// CHECK-NEXT: "inline": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "inline": true, // CHECK-NEXT: "explicitlyDefaulted": "default" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } -// CHECK: "kind": "CXXRecordDecl", +// CHECK: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 84 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 84 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 85 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "name": "Derived6", -// CHECK-NEXT: "tagUsed": "struct", -// CHECK-NEXT: "completeDefinition": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "name": "Derived6", +// CHECK-NEXT: "tagUsed": "struct", +// CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { -// CHECK-NEXT: "canConstDefaultInit": true, +// CHECK-NEXT: "canConstDefaultInit": true, // CHECK-NEXT: "copyAssign": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { -// CHECK-NEXT: "hasConstParam": true, -// CHECK-NEXT: "implicitHasConstParam": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "hasConstParam": true, +// CHECK-NEXT: "implicitHasConstParam": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { -// CHECK-NEXT: "defaultedIsConstexpr": true, -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "isConstexpr": true, -// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "defaultedIsConstexpr": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "isConstexpr": true, +// CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "dtor": { -// CHECK-NEXT: "irrelevant": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "irrelevant": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, -// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, -// CHECK-NEXT: "isAggregate": true, -// CHECK-NEXT: "isEmpty": true, -// CHECK-NEXT: "isLiteral": true, -// CHECK-NEXT: "isStandardLayout": true, -// CHECK-NEXT: "isTrivial": true, -// CHECK-NEXT: "isTriviallyCopyable": true, +// CHECK-NEXT: }, +// CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, +// CHECK-NEXT: "isAggregate": true, +// CHECK-NEXT: "isEmpty": true, +// CHECK-NEXT: "isLiteral": true, +// CHECK-NEXT: "isStandardLayout": true, +// CHECK-NEXT: "isTrivial": true, +// CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { -// CHECK-NEXT: "exists": true, -// CHECK-NEXT: "needsImplicit": true, -// CHECK-NEXT: "simple": true, +// CHECK-NEXT: "exists": true, +// CHECK-NEXT: "needsImplicit": true, +// CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "bases": [ // CHECK-NEXT: { -// CHECK-NEXT: "access": "public", -// CHECK-NEXT: "isPackExpansion": true, -// CHECK-NEXT: "isVirtual": true, +// CHECK-NEXT: "access": "public", +// CHECK-NEXT: "isPackExpansion": true, +// CHECK-NEXT: "isVirtual": true, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "Bases" -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "writtenAccess": "public" // CHECK-NEXT: } -// CHECK-NEXT: ], +// CHECK-NEXT: ], // CHECK-NEXT: "inner": [ // CHECK-NEXT: { -// CHECK-NEXT: "id": "0x{{.*}}", -// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 84 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { -// CHECK-NEXT: "col": 1, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 1, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 84 -// CHECK-NEXT: }, +// CHECK-NEXT: }, // CHECK-NEXT: "end": { -// CHECK-NEXT: "col": 8, -// CHECK-NEXT: "file": "{{.*}}", +// CHECK-NEXT: "col": 8, +// CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 84 // CHECK-NEXT: } -// CHECK-NEXT: }, -// CHECK-NEXT: "isImplicit": true, -// CHECK-NEXT: "name": "Derived6", +// CHECK-NEXT: }, +// CHECK-NEXT: "isImplicit": true, +// CHECK-NEXT: "name": "Derived6", // CHECK-NEXT: "tagUsed": "struct" // CHECK-NEXT: } // CHECK-NEXT: ] diff --git a/test/AST/ast-dump-stmt-json.cpp b/test/AST/ast-dump-stmt-json.cpp index 643765ca9c..5ca3cecfcd 100644 --- a/test/AST/ast-dump-stmt-json.cpp +++ b/test/AST/ast-dump-stmt-json.cpp @@ -6565,7 +6565,14 @@ void TestDependentGenericSelectionExpr(Ty T) { // CHECK-NEXT: "qualType": "Ty" // CHECK-NEXT: }, // CHECK-NEXT: "isDependent": true, -// CHECK-NEXT: "isInstantiationDependent": true +// CHECK-NEXT: "isInstantiationDependent": true, +// CHECK-NEXT: "depth": 0, +// CHECK-NEXT: "index": 0, +// CHECK-NEXT: "decl": { +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "TemplateTypeParmDecl", +// CHECK-NEXT: "name": "Ty" +// CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "associationKind": "case", @@ -6685,7 +6692,14 @@ void TestDependentGenericSelectionExpr(Ty T) { // CHECK-NEXT: "qualType": "Ty" // CHECK-NEXT: }, // CHECK-NEXT: "isDependent": true, -// CHECK-NEXT: "isInstantiationDependent": true +// CHECK-NEXT: "isInstantiationDependent": true, +// CHECK-NEXT: "depth": 0, +// CHECK-NEXT: "index": 0, +// CHECK-NEXT: "decl": { +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "TemplateTypeParmDecl", +// CHECK-NEXT: "name": "Ty" +// CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "associationKind": "default", diff --git a/test/AST/ast-dump-template-decls-json.cpp b/test/AST/ast-dump-template-decls-json.cpp index f201f13dbd..31f400f15e 100644 --- a/test/AST/ast-dump-template-decls-json.cpp +++ b/test/AST/ast-dump-template-decls-json.cpp @@ -56,7 +56,6 @@ template void V::f() {} - // CHECK: "kind": "TranslationUnitDecl", // CHECK-NEXT: "loc": {}, // CHECK-NEXT: "range": { @@ -129,6 +128,11 @@ void V::f() {} // CHECK-NEXT: "kind": "RecordType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "__NSConstantString_tag" +// CHECK-NEXT: }, +// CHECK-NEXT: "decl": { +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "name": "__NSConstantString_tag" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] @@ -185,12 +189,18 @@ void V::f() {} // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "__va_list_tag [1]" // CHECK-NEXT: }, +// CHECK-NEXT: "size": 1, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "RecordType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "__va_list_tag" +// CHECK-NEXT: }, +// CHECK-NEXT: "decl": { +// CHECK-NEXT: "id": "0x{{.*}}", +// CHECK-NEXT: "kind": "CXXRecordDecl", +// CHECK-NEXT: "name": "__va_list_tag" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] @@ -2399,4 +2409,3 @@ void V::f() {} // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } - -- cgit v1.2.1