summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Ballman <aaron@aaronballman.com>2019-06-21 13:22:35 +0000
committerAaron Ballman <aaron@aaronballman.com>2019-06-21 13:22:35 +0000
commit058e59f64a6a623a21028b7a4760c799472d5bd0 (patch)
treeba1fcd7262799b523e04a4f9b95dacaa0b6be401
parent3f50d5f2541529610c45f0d74323caf43e686100 (diff)
downloadclang-058e59f64a6a623a21028b7a4760c799472d5bd0.tar.gz
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
-rw-r--r--include/clang/AST/JSONNodeDumper.h14
-rw-r--r--lib/AST/JSONNodeDumper.cpp119
-rw-r--r--test/AST/ast-dump-record-definition-data-json.cpp11
-rw-r--r--test/AST/ast-dump-records-json.cpp4486
-rw-r--r--test/AST/ast-dump-stmt-json.cpp18
-rw-r--r--test/AST/ast-dump-template-decls-json.cpp13
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<unsigned> 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
@@ -126,6 +126,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,
// CHECK-NEXT: "file": "{{.*}}",
@@ -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 <typename Uy>
void V<Ty>::f() {}
-
// CHECK: "kind": "TranslationUnitDecl",
// CHECK-NEXT: "loc": {},
// CHECK-NEXT: "range": {
@@ -129,6 +128,11 @@ void V<Ty>::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<Ty>::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<Ty>::f() {}
// CHECK-NEXT: }
// CHECK-NEXT: ]
// CHECK-NEXT: }
-