Without this patch, clang will not wrap in an ElaboratedType node types written
without a keyword and nested name qualifier, which goes against the intent that
we should produce an AST which retains enough details to recover how things are
written.
The lack of this sugar is incompatible with the intent of the type printer
default policy, which is to print types as written, but to fall back and print
them fully qualified when they are desugared.
An ElaboratedTypeLoc without keyword / NNS uses no storage by itself, but still
requires pointer alignment due to pre-existing bug in the TypeLoc buffer
handling.
---
Troubleshooting list to deal with any breakage seen with this patch:
1) The most likely effect one would see by this patch is a change in how
a type is printed. The type printer will, by design and default,
print types as written. There are customization options there, but
not that many, and they mainly apply to how to print a type that we
somehow failed to track how it was written. This patch fixes a
problem where we failed to distinguish between a type
that was written without any elaborated-type qualifiers,
such as a 'struct'/'class' tags and name spacifiers such as 'std::',
and one that has been stripped of any 'metadata' that identifies such,
the so called canonical types.
Example:
```
namespace foo {
struct A {};
A a;
};
```
If one were to print the type of `foo::a`, prior to this patch, this
would result in `foo::A`. This is how the type printer would have,
by default, printed the canonical type of A as well.
As soon as you add any name qualifiers to A, the type printer would
suddenly start accurately printing the type as written. This patch
will make it print it accurately even when written without
qualifiers, so we will just print `A` for the initial example, as
the user did not really write that `foo::` namespace qualifier.
2) This patch could expose a bug in some AST matcher. Matching types
is harder to get right when there is sugar involved. For example,
if you want to match a type against being a pointer to some type A,
then you have to account for getting a type that is sugar for a
pointer to A, or being a pointer to sugar to A, or both! Usually
you would get the second part wrong, and this would work for a
very simple test where you don't use any name qualifiers, but
you would discover is broken when you do. The usual fix is to
either use the matcher which strips sugar, which is annoying
to use as for example if you match an N level pointer, you have
to put N+1 such matchers in there, beginning to end and between
all those levels. But in a lot of cases, if the property you want
to match is present in the canonical type, it's easier and faster
to just match on that... This goes with what is said in 1), if
you want to match against the name of a type, and you want
the name string to be something stable, perhaps matching on
the name of the canonical type is the better choice.
3) This patch could expose a bug in how you get the source range of some
TypeLoc. For some reason, a lot of code is using getLocalSourceRange(),
which only looks at the given TypeLoc node. This patch introduces a new,
and more common TypeLoc node which contains no source locations on itself.
This is not an inovation here, and some other, more rare TypeLoc nodes could
also have this property, but if you use getLocalSourceRange on them, it's not
going to return any valid locations, because it doesn't have any. The right fix
here is to always use getSourceRange() or getBeginLoc/getEndLoc which will dive
into the inner TypeLoc to get the source range if it doesn't find it on the
top level one. You can use getLocalSourceRange if you are really into
micro-optimizations and you have some outside knowledge that the TypeLocs you are
dealing with will always include some source location.
4) Exposed a bug somewhere in the use of the normal clang type class API, where you
have some type, you want to see if that type is some particular kind, you try a
`dyn_cast` such as `dyn_cast<TypedefType>` and that fails because now you have an
ElaboratedType which has a TypeDefType inside of it, which is what you wanted to match.
Again, like 2), this would usually have been tested poorly with some simple tests with
no qualifications, and would have been broken had there been any other kind of type sugar,
be it an ElaboratedType or a TemplateSpecializationType or a SubstTemplateParmType.
The usual fix here is to use `getAs` instead of `dyn_cast`, which will look deeper
into the type. Or use `getAsAdjusted` when dealing with TypeLocs.
For some reason the API is inconsistent there and on TypeLocs getAs behaves like a dyn_cast.
5) It could be a bug in this patch perhaps.
Let me know if you need any help!
Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Differential Revision: https://reviews.llvm.org/D112374
4264 lines
130 KiB
C++
4264 lines
130 KiB
C++
// RUN: %clang_cc1 -triple x86_64-unknown-unknown -std=c++17 -ast-dump=json %s | FileCheck %s
|
|
|
|
struct A;
|
|
struct B;
|
|
|
|
struct A {
|
|
int a;
|
|
int b, c;
|
|
int d : 12;
|
|
int : 0;
|
|
int e : 10;
|
|
B *f;
|
|
};
|
|
|
|
struct C {
|
|
struct {
|
|
int a;
|
|
} b;
|
|
|
|
union {
|
|
int c;
|
|
float d;
|
|
};
|
|
|
|
struct {
|
|
int e, f;
|
|
};
|
|
};
|
|
|
|
struct D {
|
|
int a;
|
|
int b[10];
|
|
int c[];
|
|
};
|
|
|
|
union E;
|
|
|
|
union F;
|
|
|
|
union E {
|
|
int a;
|
|
int b, c;
|
|
int d : 12;
|
|
int : 0;
|
|
int e : 10;
|
|
B *f;
|
|
};
|
|
|
|
union G {
|
|
struct {
|
|
int a;
|
|
} b;
|
|
|
|
union {
|
|
int c;
|
|
float d;
|
|
};
|
|
|
|
struct {
|
|
int e, f;
|
|
};
|
|
};
|
|
|
|
struct Base1 {};
|
|
struct Base2 {};
|
|
struct Base3 {};
|
|
|
|
struct Derived1 : Base1 {
|
|
};
|
|
|
|
struct Derived2 : private Base1 {
|
|
};
|
|
|
|
struct Derived3 : virtual Base1 {
|
|
};
|
|
|
|
struct Derived4 : Base1, virtual Base2, protected Base3 {
|
|
};
|
|
|
|
struct Derived5 : protected virtual Base1 {
|
|
};
|
|
|
|
template <typename... Bases>
|
|
struct Derived6 : virtual public Bases... {
|
|
};
|
|
|
|
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
|
|
// using --filters=CXXRecordDecl
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "name": "__NSConstantString_tag"
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "name": "__va_list_tag"
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "file": "{{.*}}",
|
|
// CHECK-NEXT: "line": 3,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "A",
|
|
// CHECK-NEXT: "tagUsed": "struct"
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 4,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isReferenced": true,
|
|
// CHECK-NEXT: "name": "B",
|
|
// CHECK-NEXT: "tagUsed": "struct"
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 6,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 13,
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// 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: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// 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: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 6,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "A",
|
|
// CHECK-NEXT: "tagUsed": "struct"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 7,
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "a",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 8,
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "b",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 10,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 10,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "c",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 9,
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "d",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isBitfield": true,
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "ConstantExpr",
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "valueCategory": "prvalue",
|
|
// CHECK-NEXT: "value": "12",
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "IntegerLiteral",
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "valueCategory": "prvalue",
|
|
// CHECK-NEXT: "value": "12"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 10,
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isBitfield": true,
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "ConstantExpr",
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "valueCategory": "prvalue",
|
|
// CHECK-NEXT: "value": "0",
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "IntegerLiteral",
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "valueCategory": "prvalue",
|
|
// CHECK-NEXT: "value": "0"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 11,
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "e",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isBitfield": true,
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "ConstantExpr",
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "valueCategory": "prvalue",
|
|
// CHECK-NEXT: "value": "10",
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "IntegerLiteral",
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "valueCategory": "prvalue",
|
|
// CHECK-NEXT: "value": "10"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 12,
|
|
// CHECK-NEXT: "col": 6,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 6,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "f",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "B *"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 15,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 28,
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "C",
|
|
// CHECK-NEXT: "tagUsed": "struct",
|
|
// CHECK-NEXT: "completeDefinition": true,
|
|
// CHECK-NEXT: "definitionData": {
|
|
// CHECK-NEXT: "canPassInRegisters": true,
|
|
// CHECK-NEXT: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// 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: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 15,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "C",
|
|
// CHECK-NEXT: "tagUsed": "struct"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 16,
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 18,
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "tagUsed": "struct",
|
|
// CHECK-NEXT: "completeDefinition": true,
|
|
// CHECK-NEXT: "definitionData": {
|
|
// CHECK-NEXT: "canPassInRegisters": true,
|
|
// CHECK-NEXT: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// 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: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 17,
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 5,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// 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: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 18,
|
|
// CHECK-NEXT: "col": 5,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 16,
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 18,
|
|
// CHECK-NEXT: "col": 5,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "b",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "desugaredQualType": "C::(unnamed struct at {{.*}}:16:3)",
|
|
// CHECK-NEXT: "qualType": "struct (unnamed struct at {{.*}}:16:3)"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 20,
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 23,
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "tagUsed": "union",
|
|
// CHECK-NEXT: "completeDefinition": true,
|
|
// CHECK-NEXT: "definitionData": {
|
|
// CHECK-NEXT: "canPassInRegisters": true,
|
|
// CHECK-NEXT: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// 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: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 21,
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 5,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "c",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 22,
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 5,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// 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: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 20,
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// 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: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "IndirectFieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 21,
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "c"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "IndirectFieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 22,
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "d"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 25,
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 27,
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "tagUsed": "struct",
|
|
// CHECK-NEXT: "completeDefinition": true,
|
|
// CHECK-NEXT: "definitionData": {
|
|
// CHECK-NEXT: "canPassInRegisters": true,
|
|
// CHECK-NEXT: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// 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: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 26,
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 5,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "e",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 12,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 5,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 12,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// 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: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 25,
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: }
|
|
// 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: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "IndirectFieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 26,
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "e"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "IndirectFieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 12,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 12,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 12,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "f"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 30,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 34,
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "D",
|
|
// CHECK-NEXT: "tagUsed": "struct",
|
|
// CHECK-NEXT: "completeDefinition": true,
|
|
// CHECK-NEXT: "definitionData": {
|
|
// CHECK-NEXT: "canPassInRegisters": true,
|
|
// CHECK-NEXT: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// 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: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 30,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "D",
|
|
// CHECK-NEXT: "tagUsed": "struct"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 31,
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "a",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 32,
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "b",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int[10]"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 33,
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "c",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int[]"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 36,
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "E",
|
|
// CHECK-NEXT: "tagUsed": "union"
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 38,
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "F",
|
|
// CHECK-NEXT: "tagUsed": "union"
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 40,
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 47,
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// 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: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// 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: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 40,
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "E",
|
|
// CHECK-NEXT: "tagUsed": "union"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 41,
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "a",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 42,
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "b",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 10,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 10,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "c",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 43,
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "d",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isBitfield": true,
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "ConstantExpr",
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "valueCategory": "prvalue",
|
|
// CHECK-NEXT: "value": "12",
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "IntegerLiteral",
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "valueCategory": "prvalue",
|
|
// CHECK-NEXT: "value": "12"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 44,
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isBitfield": true,
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "ConstantExpr",
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "valueCategory": "prvalue",
|
|
// CHECK-NEXT: "value": "0",
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "IntegerLiteral",
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "valueCategory": "prvalue",
|
|
// CHECK-NEXT: "value": "0"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 45,
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "e",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isBitfield": true,
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "ConstantExpr",
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "valueCategory": "prvalue",
|
|
// CHECK-NEXT: "value": "10",
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "IntegerLiteral",
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 2
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "valueCategory": "prvalue",
|
|
// CHECK-NEXT: "value": "10"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 46,
|
|
// CHECK-NEXT: "col": 6,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 6,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "f",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "B *"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 49,
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 62,
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "G",
|
|
// CHECK-NEXT: "tagUsed": "union",
|
|
// CHECK-NEXT: "completeDefinition": true,
|
|
// CHECK-NEXT: "definitionData": {
|
|
// CHECK-NEXT: "canPassInRegisters": true,
|
|
// CHECK-NEXT: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// 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: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 49,
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 7,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "G",
|
|
// CHECK-NEXT: "tagUsed": "union"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 50,
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 52,
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "tagUsed": "struct",
|
|
// CHECK-NEXT: "completeDefinition": true,
|
|
// CHECK-NEXT: "definitionData": {
|
|
// CHECK-NEXT: "canPassInRegisters": true,
|
|
// CHECK-NEXT: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// 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: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 51,
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 5,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// 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: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 52,
|
|
// CHECK-NEXT: "col": 5,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 50,
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 52,
|
|
// CHECK-NEXT: "col": 5,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "b",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "desugaredQualType": "G::(unnamed struct at {{.*}}:50:3)",
|
|
// CHECK-NEXT: "qualType": "struct (unnamed struct at {{.*}}:50:3)"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 54,
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 57,
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "tagUsed": "union",
|
|
// CHECK-NEXT: "completeDefinition": true,
|
|
// CHECK-NEXT: "definitionData": {
|
|
// CHECK-NEXT: "canPassInRegisters": true,
|
|
// CHECK-NEXT: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// 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: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 55,
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 5,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "c",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 56,
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 5,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// 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: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 54,
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// 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: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "IndirectFieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 55,
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "c"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "IndirectFieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 56,
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 11,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "d"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 59,
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 61,
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "tagUsed": "struct",
|
|
// CHECK-NEXT: "completeDefinition": true,
|
|
// CHECK-NEXT: "definitionData": {
|
|
// CHECK-NEXT: "canPassInRegisters": true,
|
|
// CHECK-NEXT: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// 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: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 60,
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 5,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "e",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "int"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 12,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 5,
|
|
// CHECK-NEXT: "tokLen": 3
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 12,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// 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: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "FieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 59,
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 3,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: }
|
|
// 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: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "IndirectFieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 60,
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 9,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "e"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "IndirectFieldDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 12,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 12,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 12,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "f"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 64,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 15,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// 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: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "defaultedIsConstexpr": true,
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "isConstexpr": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// 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: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "Base1",
|
|
// CHECK-NEXT: "tagUsed": "struct"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXMethodDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "operator=",
|
|
// CHECK-NEXT: "mangledName": "_ZN5Base1aSERKS_",
|
|
// 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: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "ParmVarDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "const Base1 &"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXMethodDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "operator=",
|
|
// CHECK-NEXT: "mangledName": "_ZN5Base1aSEOS_",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "Base1 &(Base1 &&)"
|
|
// 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: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "Base1 &&"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXDestructorDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "~Base1",
|
|
// CHECK-NEXT: "mangledName": "_ZN5Base1D1Ev",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "void ()"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inline": true,
|
|
// CHECK-NEXT: "explicitlyDefaulted": "default"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 65,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 15,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// 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: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "defaultedIsConstexpr": true,
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "isConstexpr": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// 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: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "Base2",
|
|
// CHECK-NEXT: "tagUsed": "struct"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXMethodDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "operator=",
|
|
// CHECK-NEXT: "mangledName": "_ZN5Base2aSERKS_",
|
|
// 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: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "ParmVarDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "const Base2 &"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXMethodDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "operator=",
|
|
// CHECK-NEXT: "mangledName": "_ZN5Base2aSEOS_",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "Base2 &(Base2 &&)"
|
|
// 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: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "Base2 &&"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXDestructorDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "~Base2",
|
|
// CHECK-NEXT: "mangledName": "_ZN5Base2D1Ev",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "void ()"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inline": true,
|
|
// CHECK-NEXT: "explicitlyDefaulted": "default"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 66,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 15,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// 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: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "defaultedIsConstexpr": true,
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "isConstexpr": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// 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: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "Base3",
|
|
// CHECK-NEXT: "tagUsed": "struct"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXMethodDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "operator=",
|
|
// CHECK-NEXT: "mangledName": "_ZN5Base3aSERKS_",
|
|
// 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: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "ParmVarDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "const Base3 &"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXMethodDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "operator=",
|
|
// CHECK-NEXT: "mangledName": "_ZN5Base3aSEOS_",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "Base3 &(Base3 &&)"
|
|
// 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: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "Base3 &&"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXDestructorDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 5
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "~Base3",
|
|
// CHECK-NEXT: "mangledName": "_ZN5Base3D1Ev",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "void ()"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inline": true,
|
|
// CHECK-NEXT: "explicitlyDefaulted": "default"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 68,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 69,
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// 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: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "defaultedIsConstexpr": true,
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "isConstexpr": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// 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: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "bases": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "access": "public",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "desugaredQualType": "Base1",
|
|
// CHECK-NEXT: "qualType": "Base1"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "writtenAccess": "none"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ],
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 68,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "Derived1",
|
|
// CHECK-NEXT: "tagUsed": "struct"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 71,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 72,
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// 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: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "defaultedIsConstexpr": true,
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "isConstexpr": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// 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: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "bases": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "access": "private",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "desugaredQualType": "Base1",
|
|
// CHECK-NEXT: "qualType": "Base1"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "writtenAccess": "private"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ],
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 71,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "Derived2",
|
|
// CHECK-NEXT: "tagUsed": "struct"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 74,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 75,
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "Derived3",
|
|
// CHECK-NEXT: "tagUsed": "struct",
|
|
// CHECK-NEXT: "completeDefinition": true,
|
|
// CHECK-NEXT: "definitionData": {
|
|
// CHECK-NEXT: "canConstDefaultInit": true,
|
|
// CHECK-NEXT: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "nonTrivial": true,
|
|
// CHECK-NEXT: "simple": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "nonTrivial": true,
|
|
// CHECK-NEXT: "simple": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "nonTrivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// CHECK-NEXT: "irrelevant": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "nonTrivial": true,
|
|
// CHECK-NEXT: "simple": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "nonTrivial": true,
|
|
// CHECK-NEXT: "simple": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "bases": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "access": "public",
|
|
// CHECK-NEXT: "isVirtual": true,
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "desugaredQualType": "Base1",
|
|
// CHECK-NEXT: "qualType": "Base1"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "writtenAccess": "none"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ],
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 74,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "Derived3",
|
|
// CHECK-NEXT: "tagUsed": "struct"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXMethodDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "operator=",
|
|
// CHECK-NEXT: "mangledName": "_ZN8Derived3aSERKS_",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "Derived3 &(const Derived3 &)"
|
|
// 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: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "const Derived3 &"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXMethodDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "operator=",
|
|
// CHECK-NEXT: "mangledName": "_ZN8Derived3aSEOS_",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "Derived3 &(Derived3 &&)"
|
|
// 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: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "Derived3 &&"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXDestructorDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "~Derived3",
|
|
// CHECK-NEXT: "mangledName": "_ZN8Derived3D1Ev",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "void ()"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inline": true,
|
|
// CHECK-NEXT: "explicitlyDefaulted": "default"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 77,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 78,
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "Derived4",
|
|
// CHECK-NEXT: "tagUsed": "struct",
|
|
// CHECK-NEXT: "completeDefinition": true,
|
|
// CHECK-NEXT: "definitionData": {
|
|
// CHECK-NEXT: "canConstDefaultInit": true,
|
|
// CHECK-NEXT: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "nonTrivial": true,
|
|
// CHECK-NEXT: "simple": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "nonTrivial": true,
|
|
// CHECK-NEXT: "simple": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "nonTrivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// CHECK-NEXT: "irrelevant": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "nonTrivial": true,
|
|
// CHECK-NEXT: "simple": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "nonTrivial": true,
|
|
// CHECK-NEXT: "simple": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "bases": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "access": "public",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "desugaredQualType": "Base1",
|
|
// CHECK-NEXT: "qualType": "Base1"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "writtenAccess": "none"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "access": "public",
|
|
// CHECK-NEXT: "isVirtual": true,
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "desugaredQualType": "Base2",
|
|
// CHECK-NEXT: "qualType": "Base2"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "writtenAccess": "none"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "access": "protected",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "desugaredQualType": "Base3",
|
|
// CHECK-NEXT: "qualType": "Base3"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "writtenAccess": "protected"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ],
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 77,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "Derived4",
|
|
// CHECK-NEXT: "tagUsed": "struct"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXMethodDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "operator=",
|
|
// CHECK-NEXT: "mangledName": "_ZN8Derived4aSERKS_",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "Derived4 &(const Derived4 &)"
|
|
// 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: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "const Derived4 &"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXMethodDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "operator=",
|
|
// CHECK-NEXT: "mangledName": "_ZN8Derived4aSEOS_",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "Derived4 &(Derived4 &&)"
|
|
// 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: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "Derived4 &&"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXDestructorDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "~Derived4",
|
|
// CHECK-NEXT: "mangledName": "_ZN8Derived4D1Ev",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "void ()"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inline": true,
|
|
// CHECK-NEXT: "explicitlyDefaulted": "default"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 80,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 81,
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "Derived5",
|
|
// CHECK-NEXT: "tagUsed": "struct",
|
|
// CHECK-NEXT: "completeDefinition": true,
|
|
// CHECK-NEXT: "definitionData": {
|
|
// CHECK-NEXT: "canConstDefaultInit": true,
|
|
// CHECK-NEXT: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "nonTrivial": true,
|
|
// CHECK-NEXT: "simple": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "nonTrivial": true,
|
|
// CHECK-NEXT: "simple": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "nonTrivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// CHECK-NEXT: "irrelevant": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "nonTrivial": true,
|
|
// CHECK-NEXT: "simple": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "nonTrivial": true,
|
|
// CHECK-NEXT: "simple": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "bases": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "access": "protected",
|
|
// CHECK-NEXT: "isVirtual": true,
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "desugaredQualType": "Base1",
|
|
// CHECK-NEXT: "qualType": "Base1"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "writtenAccess": "protected"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ],
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 80,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "Derived5",
|
|
// CHECK-NEXT: "tagUsed": "struct"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXMethodDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "operator=",
|
|
// CHECK-NEXT: "mangledName": "_ZN8Derived5aSERKS_",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "Derived5 &(const Derived5 &)"
|
|
// 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: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "const Derived5 &"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXMethodDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "operator=",
|
|
// CHECK-NEXT: "mangledName": "_ZN8Derived5aSEOS_",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "Derived5 &(Derived5 &&)"
|
|
// 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: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "Derived5 &&"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXDestructorDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "~Derived5",
|
|
// CHECK-NEXT: "mangledName": "_ZN8Derived5D1Ev",
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "void ()"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "inline": true,
|
|
// CHECK-NEXT: "explicitlyDefaulted": "default"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK-NOT: {{^}}Dumping
|
|
// CHECK: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 84,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 85,
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "name": "Derived6",
|
|
// CHECK-NEXT: "tagUsed": "struct",
|
|
// CHECK-NEXT: "completeDefinition": true,
|
|
// CHECK-NEXT: "definitionData": {
|
|
// CHECK-NEXT: "canConstDefaultInit": true,
|
|
// CHECK-NEXT: "copyAssign": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "copyCtor": {
|
|
// CHECK-NEXT: "hasConstParam": true,
|
|
// CHECK-NEXT: "implicitHasConstParam": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "defaultCtor": {
|
|
// CHECK-NEXT: "defaultedIsConstexpr": true,
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "isConstexpr": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "dtor": {
|
|
// 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: "moveAssign": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "moveCtor": {
|
|
// CHECK-NEXT: "exists": true,
|
|
// CHECK-NEXT: "needsImplicit": true,
|
|
// CHECK-NEXT: "simple": true,
|
|
// CHECK-NEXT: "trivial": true
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "bases": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "access": "public",
|
|
// CHECK-NEXT: "isPackExpansion": true,
|
|
// CHECK-NEXT: "isVirtual": true,
|
|
// CHECK-NEXT: "type": {
|
|
// CHECK-NEXT: "qualType": "Bases"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "writtenAccess": "public"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ],
|
|
// CHECK-NEXT: "inner": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "id": "0x{{.*}}",
|
|
// CHECK-NEXT: "kind": "CXXRecordDecl",
|
|
// CHECK-NEXT: "loc": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "line": 84,
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "range": {
|
|
// CHECK-NEXT: "begin": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 1,
|
|
// CHECK-NEXT: "tokLen": 6
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "end": {
|
|
// CHECK-NEXT: "offset": {{[0-9]+}},
|
|
// CHECK-NEXT: "col": 8,
|
|
// CHECK-NEXT: "tokLen": 8
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "isImplicit": true,
|
|
// CHECK-NEXT: "name": "Derived6",
|
|
// CHECK-NEXT: "tagUsed": "struct"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: }
|