| // RUN: %clang_cc1 -triple x86_64-unknown-unknown -ast-dump=json -ast-dump-filter Test %s | FileCheck %s | |
| #include "Inputs/json-dump-include.h" | |
| int TestLocation; | |
| TestTypedefFromInclude TestLocationFromInclude; | |
| struct TestIndent { | |
| int x; | |
| }; | |
| struct TestChildren { | |
| int x; | |
| struct y { | |
| int z; | |
| }; | |
| }; | |
| void testLabelDecl() { | |
| __label__ TestLabelDecl; | |
| TestLabelDecl: goto TestLabelDecl; | |
| } | |
| typedef int TestTypedefDecl; | |
| enum TestEnumDecl { | |
| testEnumDecl | |
| }; | |
| struct TestEnumDeclAnon { | |
| enum { | |
| testEnumDeclAnon | |
| } e; | |
| }; | |
| enum TestEnumDeclForward; | |
| struct TestRecordDecl { | |
| int i; | |
| }; | |
| struct TestRecordDeclEmpty { | |
| }; | |
| struct TestRecordDeclAnon1 { | |
| struct { | |
| } testRecordDeclAnon1; | |
| }; | |
| struct TestRecordDeclAnon2 { | |
| struct { | |
| }; | |
| }; | |
| struct TestRecordDeclForward; | |
| enum testEnumConstantDecl { | |
| TestEnumConstantDecl, | |
| TestEnumConstantDeclInit = 1 | |
| }; | |
| struct TestIndirectFieldDecl { | |
| struct { | |
| int Field; | |
| }; | |
| }; | |
| // FIXME: It would be nice to dump the enum and its enumerators. | |
| int TestFunctionDecl(int x, enum { e } y) { | |
| return x; | |
| } | |
| // FIXME: It would be nice to dump 'Enum' and 'e'. | |
| int TestFunctionDecl2(enum Enum { e } x) { return x; } | |
| int TestFunctionDeclProto(int x); | |
| void TestFunctionDeclNoProto(); | |
| extern int TestFunctionDeclSC(); | |
| inline int TestFunctionDeclInline(); | |
| struct testFieldDecl { | |
| int TestFieldDecl; | |
| int TestFieldDeclWidth : 1; | |
| }; | |
| int TestVarDecl; | |
| extern int TestVarDeclSC; | |
| __thread int TestVarDeclThread; | |
| int TestVarDeclInit = 0; | |
| void testParmVarDecl(int TestParmVarDecl); | |
| // NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py | |
| // CHECK: "kind": "TypedefDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 12, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 1, | |
| // CHECK-NEXT: "col": 13, | |
| // CHECK-NEXT: "tokLen": 22, | |
| // CHECK-NEXT: "includedFrom": { | |
| // CHECK-NEXT: "file": "{{.*}}" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 0, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 7, | |
| // CHECK-NEXT: "includedFrom": { | |
| // CHECK-NEXT: "file": "{{.*}}" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 12, | |
| // CHECK-NEXT: "col": 13, | |
| // CHECK-NEXT: "tokLen": 22, | |
| // CHECK-NEXT: "includedFrom": { | |
| // CHECK-NEXT: "file": "{{.*}}" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "isReferenced": true, | |
| // CHECK-NEXT: "name": "TestTypedefFromInclude", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "BuiltinType", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "VarDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 149, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 5, | |
| // CHECK-NEXT: "col": 5, | |
| // CHECK-NEXT: "tokLen": 12 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 145, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 3 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 149, | |
| // CHECK-NEXT: "col": 5, | |
| // CHECK-NEXT: "tokLen": 12 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestLocation", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "VarDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 186, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 6, | |
| // CHECK-NEXT: "col": 24, | |
| // CHECK-NEXT: "tokLen": 23 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 163, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 22 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 186, | |
| // CHECK-NEXT: "col": 24, | |
| // CHECK-NEXT: "tokLen": 23 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestLocationFromInclude", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "desugaredQualType": "int", | |
| // CHECK-NEXT: "qualType": "TestTypedefFromInclude", | |
| // CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "RecordDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 219, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 8, | |
| // CHECK-NEXT: "col": 8, | |
| // CHECK-NEXT: "tokLen": 10 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 212, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 241, | |
| // CHECK-NEXT: "line": 10, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestIndent", | |
| // CHECK-NEXT: "tagUsed": "struct", | |
| // CHECK-NEXT: "completeDefinition": true, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "FieldDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 238, | |
| // CHECK-NEXT: "line": 9, | |
| // CHECK-NEXT: "col": 7, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 234, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 3 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 238, | |
| // CHECK-NEXT: "col": 7, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "x", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "RecordDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 252, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 12, | |
| // CHECK-NEXT: "col": 8, | |
| // CHECK-NEXT: "tokLen": 12 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 245, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 305, | |
| // CHECK-NEXT: "line": 17, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestChildren", | |
| // CHECK-NEXT: "tagUsed": "struct", | |
| // CHECK-NEXT: "completeDefinition": true, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "FieldDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 273, | |
| // CHECK-NEXT: "line": 13, | |
| // CHECK-NEXT: "col": 7, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 269, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 3 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 273, | |
| // CHECK-NEXT: "col": 7, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "x", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "RecordDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 285, | |
| // CHECK-NEXT: "line": 14, | |
| // CHECK-NEXT: "col": 10, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 278, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 302, | |
| // CHECK-NEXT: "line": 16, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "parentDeclContextId": "0x{{.*}}", | |
| // CHECK-NEXT: "name": "y", | |
| // CHECK-NEXT: "tagUsed": "struct", | |
| // CHECK-NEXT: "completeDefinition": true, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "FieldDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 297, | |
| // CHECK-NEXT: "line": 15, | |
| // CHECK-NEXT: "col": 9, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 293, | |
| // CHECK-NEXT: "col": 5, | |
| // CHECK-NEXT: "tokLen": 3 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 297, | |
| // CHECK-NEXT: "col": 9, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "z", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "LabelDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 344, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 20, | |
| // CHECK-NEXT: "col": 13, | |
| // CHECK-NEXT: "tokLen": 13 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 334, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 9 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 344, | |
| // CHECK-NEXT: "col": 13, | |
| // CHECK-NEXT: "tokLen": 13 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "isUsed": true, | |
| // CHECK-NEXT: "name": "TestLabelDecl" | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "TypedefDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 411, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 24, | |
| // CHECK-NEXT: "col": 13, | |
| // CHECK-NEXT: "tokLen": 15 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 399, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 7 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 411, | |
| // CHECK-NEXT: "col": 13, | |
| // CHECK-NEXT: "tokLen": 15 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestTypedefDecl", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "BuiltinType", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "EnumDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 434, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 26, | |
| // CHECK-NEXT: "col": 6, | |
| // CHECK-NEXT: "tokLen": 12 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 429, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 4 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 464, | |
| // CHECK-NEXT: "line": 28, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestEnumDecl", | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "EnumConstantDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 451, | |
| // CHECK-NEXT: "line": 27, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 12 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 451, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 12 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 451, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 12 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "testEnumDecl", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "RecordDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 475, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 30, | |
| // CHECK-NEXT: "col": 8, | |
| // CHECK-NEXT: "tokLen": 16 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 468, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 531, | |
| // CHECK-NEXT: "line": 34, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestEnumDeclAnon", | |
| // CHECK-NEXT: "tagUsed": "struct", | |
| // CHECK-NEXT: "completeDefinition": true, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "EnumDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 496, | |
| // CHECK-NEXT: "line": 31, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 4 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 496, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 4 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 526, | |
| // CHECK-NEXT: "line": 33, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "EnumConstantDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 507, | |
| // CHECK-NEXT: "line": 32, | |
| // CHECK-NEXT: "col": 5, | |
| // CHECK-NEXT: "tokLen": 16 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 507, | |
| // CHECK-NEXT: "col": 5, | |
| // CHECK-NEXT: "tokLen": 16 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 507, | |
| // CHECK-NEXT: "col": 5, | |
| // CHECK-NEXT: "tokLen": 16 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "testEnumDeclAnon", | |
| // 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": 528, | |
| // CHECK-NEXT: "line": 33, | |
| // CHECK-NEXT: "col": 5, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 496, | |
| // CHECK-NEXT: "line": 31, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 4 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 528, | |
| // CHECK-NEXT: "line": 33, | |
| // CHECK-NEXT: "col": 5, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "e", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "desugaredQualType": "enum TestEnumDeclAnon::(anonymous at {{.*}}:31:3)", | |
| // CHECK-NEXT: "qualType": "enum (anonymous enum at {{.*}}:31:3)" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "EnumDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 540, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 36, | |
| // CHECK-NEXT: "col": 6, | |
| // CHECK-NEXT: "tokLen": 19 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 535, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 4 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 540, | |
| // CHECK-NEXT: "col": 6, | |
| // CHECK-NEXT: "tokLen": 19 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestEnumDeclForward" | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "RecordDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 569, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 38, | |
| // CHECK-NEXT: "col": 8, | |
| // CHECK-NEXT: "tokLen": 14 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 562, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 595, | |
| // CHECK-NEXT: "line": 40, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestRecordDecl", | |
| // CHECK-NEXT: "tagUsed": "struct", | |
| // CHECK-NEXT: "completeDefinition": true, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "FieldDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 592, | |
| // CHECK-NEXT: "line": 39, | |
| // CHECK-NEXT: "col": 7, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 588, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 3 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 592, | |
| // CHECK-NEXT: "col": 7, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "i", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "RecordDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 606, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 42, | |
| // CHECK-NEXT: "col": 8, | |
| // CHECK-NEXT: "tokLen": 19 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 599, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 628, | |
| // CHECK-NEXT: "line": 43, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestRecordDeclEmpty", | |
| // CHECK-NEXT: "tagUsed": "struct", | |
| // CHECK-NEXT: "completeDefinition": true | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "RecordDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 639, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 45, | |
| // CHECK-NEXT: "col": 8, | |
| // CHECK-NEXT: "tokLen": 19 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 632, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 697, | |
| // CHECK-NEXT: "line": 48, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestRecordDeclAnon1", | |
| // CHECK-NEXT: "tagUsed": "struct", | |
| // CHECK-NEXT: "completeDefinition": true, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "RecordDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 663, | |
| // CHECK-NEXT: "line": 46, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 663, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 674, | |
| // CHECK-NEXT: "line": 47, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "tagUsed": "struct", | |
| // CHECK-NEXT: "completeDefinition": true | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "FieldDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 676, | |
| // CHECK-NEXT: "col": 5, | |
| // CHECK-NEXT: "tokLen": 19 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 663, | |
| // CHECK-NEXT: "line": 46, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 676, | |
| // CHECK-NEXT: "line": 47, | |
| // CHECK-NEXT: "col": 5, | |
| // CHECK-NEXT: "tokLen": 19 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "testRecordDeclAnon1", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "desugaredQualType": "struct TestRecordDeclAnon1::(anonymous at {{.*}}:46:3)", | |
| // CHECK-NEXT: "qualType": "struct (anonymous struct at {{.*}}:46:3)" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "RecordDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 708, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 50, | |
| // CHECK-NEXT: "col": 8, | |
| // CHECK-NEXT: "tokLen": 19 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 701, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 746, | |
| // CHECK-NEXT: "line": 53, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestRecordDeclAnon2", | |
| // CHECK-NEXT: "tagUsed": "struct", | |
| // CHECK-NEXT: "completeDefinition": true, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "RecordDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 732, | |
| // CHECK-NEXT: "line": 51, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 732, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 743, | |
| // 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: }, | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "FieldDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 732, | |
| // CHECK-NEXT: "line": 51, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 732, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 732, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "isImplicit": true, | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "struct TestRecordDeclAnon2::(anonymous at {{.*}}:51:3)" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "RecordDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 757, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 55, | |
| // CHECK-NEXT: "col": 8, | |
| // CHECK-NEXT: "tokLen": 21 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 750, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 757, | |
| // CHECK-NEXT: "col": 8, | |
| // CHECK-NEXT: "tokLen": 21 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestRecordDeclForward", | |
| // CHECK-NEXT: "tagUsed": "struct" | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "EnumConstantDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 811, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 58, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 20 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 811, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 20 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 811, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 20 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestEnumConstantDecl", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "EnumConstantDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 835, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 59, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 24 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 835, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 24 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 862, | |
| // CHECK-NEXT: "col": 30, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestEnumConstantDeclInit", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "ConstantExpr", | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 862, | |
| // CHECK-NEXT: "col": 30, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 862, | |
| // CHECK-NEXT: "col": 30, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "valueCategory": "rvalue", | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "IntegerLiteral", | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 862, | |
| // CHECK-NEXT: "col": 30, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 862, | |
| // CHECK-NEXT: "col": 30, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "valueCategory": "rvalue", | |
| // CHECK-NEXT: "value": "1" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "RecordDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 875, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 62, | |
| // CHECK-NEXT: "col": 8, | |
| // CHECK-NEXT: "tokLen": 21 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 868, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 930, | |
| // CHECK-NEXT: "line": 66, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestIndirectFieldDecl", | |
| // CHECK-NEXT: "tagUsed": "struct", | |
| // CHECK-NEXT: "completeDefinition": true, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "RecordDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 901, | |
| // CHECK-NEXT: "line": 63, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 901, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 927, | |
| // CHECK-NEXT: "line": 65, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "tagUsed": "struct", | |
| // CHECK-NEXT: "completeDefinition": true, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "FieldDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 918, | |
| // CHECK-NEXT: "line": 64, | |
| // CHECK-NEXT: "col": 9, | |
| // CHECK-NEXT: "tokLen": 5 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 914, | |
| // CHECK-NEXT: "col": 5, | |
| // CHECK-NEXT: "tokLen": 3 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 918, | |
| // CHECK-NEXT: "col": 9, | |
| // CHECK-NEXT: "tokLen": 5 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "Field", | |
| // 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": 901, | |
| // CHECK-NEXT: "line": 63, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 901, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 901, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "isImplicit": true, | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "struct TestIndirectFieldDecl::(anonymous at {{.*}}:63:3)" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "IndirectFieldDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 918, | |
| // CHECK-NEXT: "line": 64, | |
| // CHECK-NEXT: "col": 9, | |
| // CHECK-NEXT: "tokLen": 5 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 918, | |
| // CHECK-NEXT: "col": 9, | |
| // CHECK-NEXT: "tokLen": 5 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 918, | |
| // CHECK-NEXT: "col": 9, | |
| // CHECK-NEXT: "tokLen": 5 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "isImplicit": true, | |
| // CHECK-NEXT: "name": "Field" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "FunctionDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 1003, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 69, | |
| // CHECK-NEXT: "col": 5, | |
| // CHECK-NEXT: "tokLen": 16 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 999, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 3 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1055, | |
| // CHECK-NEXT: "line": 71, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestFunctionDecl", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int (int, enum (anonymous enum at {{.*}}:69:29))" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "ParmVarDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 1024, | |
| // CHECK-NEXT: "line": 69, | |
| // CHECK-NEXT: "col": 26, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1020, | |
| // CHECK-NEXT: "col": 22, | |
| // CHECK-NEXT: "tokLen": 3 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1024, | |
| // CHECK-NEXT: "col": 26, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "isUsed": true, | |
| // CHECK-NEXT: "name": "x", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "ParmVarDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 1038, | |
| // CHECK-NEXT: "col": 40, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1027, | |
| // CHECK-NEXT: "col": 29, | |
| // CHECK-NEXT: "tokLen": 4 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1038, | |
| // CHECK-NEXT: "col": 40, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "y", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "desugaredQualType": "enum (anonymous at {{.*}}:69:29)", | |
| // CHECK-NEXT: "qualType": "enum (anonymous enum at {{.*}}:69:29)" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "CompoundStmt", | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1041, | |
| // CHECK-NEXT: "col": 43, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1055, | |
| // CHECK-NEXT: "line": 71, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "ReturnStmt", | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1045, | |
| // CHECK-NEXT: "line": 70, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1052, | |
| // CHECK-NEXT: "col": 10, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "ImplicitCastExpr", | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1052, | |
| // CHECK-NEXT: "col": 10, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1052, | |
| // CHECK-NEXT: "col": 10, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "valueCategory": "rvalue", | |
| // CHECK-NEXT: "castKind": "LValueToRValue", | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "DeclRefExpr", | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1052, | |
| // CHECK-NEXT: "col": 10, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1052, | |
| // CHECK-NEXT: "col": 10, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "valueCategory": "lvalue", | |
| // CHECK-NEXT: "referencedDecl": { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "ParmVarDecl", | |
| // CHECK-NEXT: "name": "x", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "FunctionDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 1113, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 74, | |
| // CHECK-NEXT: "col": 5, | |
| // CHECK-NEXT: "tokLen": 17 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1109, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 3 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1162, | |
| // CHECK-NEXT: "col": 54, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestFunctionDecl2", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int (enum Enum)" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "ParmVarDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 1147, | |
| // CHECK-NEXT: "col": 39, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1131, | |
| // CHECK-NEXT: "col": 23, | |
| // CHECK-NEXT: "tokLen": 4 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1147, | |
| // CHECK-NEXT: "col": 39, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "isUsed": true, | |
| // CHECK-NEXT: "name": "x", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "desugaredQualType": "enum Enum", | |
| // CHECK-NEXT: "qualType": "enum Enum" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "CompoundStmt", | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1150, | |
| // CHECK-NEXT: "col": 42, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1162, | |
| // CHECK-NEXT: "col": 54, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "ReturnStmt", | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1152, | |
| // CHECK-NEXT: "col": 44, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1159, | |
| // CHECK-NEXT: "col": 51, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "ImplicitCastExpr", | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1159, | |
| // CHECK-NEXT: "col": 51, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1159, | |
| // CHECK-NEXT: "col": 51, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "valueCategory": "rvalue", | |
| // CHECK-NEXT: "castKind": "IntegralCast", | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "ImplicitCastExpr", | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1159, | |
| // CHECK-NEXT: "col": 51, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1159, | |
| // CHECK-NEXT: "col": 51, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "desugaredQualType": "enum Enum", | |
| // CHECK-NEXT: "qualType": "enum Enum" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "valueCategory": "rvalue", | |
| // CHECK-NEXT: "castKind": "LValueToRValue", | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "DeclRefExpr", | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1159, | |
| // CHECK-NEXT: "col": 51, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1159, | |
| // CHECK-NEXT: "col": 51, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "desugaredQualType": "enum Enum", | |
| // CHECK-NEXT: "qualType": "enum Enum" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "valueCategory": "lvalue", | |
| // CHECK-NEXT: "referencedDecl": { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "ParmVarDecl", | |
| // CHECK-NEXT: "name": "x", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "desugaredQualType": "enum Enum", | |
| // CHECK-NEXT: "qualType": "enum Enum" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "FunctionDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 1168, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 75, | |
| // CHECK-NEXT: "col": 5, | |
| // CHECK-NEXT: "tokLen": 21 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1164, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 3 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1195, | |
| // CHECK-NEXT: "col": 32, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestFunctionDeclProto", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int (int)" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "ParmVarDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 1194, | |
| // CHECK-NEXT: "col": 31, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1190, | |
| // CHECK-NEXT: "col": 27, | |
| // CHECK-NEXT: "tokLen": 3 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1194, | |
| // CHECK-NEXT: "col": 31, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "x", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "FunctionDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 1203, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 76, | |
| // CHECK-NEXT: "col": 6, | |
| // CHECK-NEXT: "tokLen": 23 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1198, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 4 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1227, | |
| // CHECK-NEXT: "col": 30, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestFunctionDeclNoProto", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "void ()" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "FunctionDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 1241, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 77, | |
| // CHECK-NEXT: "col": 12, | |
| // CHECK-NEXT: "tokLen": 18 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1230, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1260, | |
| // CHECK-NEXT: "col": 31, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestFunctionDeclSC", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int ()" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "storageClass": "extern" | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "FunctionDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 1274, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 78, | |
| // CHECK-NEXT: "col": 12, | |
| // CHECK-NEXT: "tokLen": 22 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1263, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1297, | |
| // CHECK-NEXT: "col": 35, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestFunctionDeclInline", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int ()" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "inline": true | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "FieldDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 1330, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 81, | |
| // CHECK-NEXT: "col": 7, | |
| // CHECK-NEXT: "tokLen": 13 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1326, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 3 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1330, | |
| // CHECK-NEXT: "col": 7, | |
| // CHECK-NEXT: "tokLen": 13 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestFieldDecl", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "FieldDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 1351, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 82, | |
| // CHECK-NEXT: "col": 7, | |
| // CHECK-NEXT: "tokLen": 18 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1347, | |
| // CHECK-NEXT: "col": 3, | |
| // CHECK-NEXT: "tokLen": 3 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1372, | |
| // CHECK-NEXT: "col": 28, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestFieldDeclWidth", | |
| // 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": 1372, | |
| // CHECK-NEXT: "col": 28, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1372, | |
| // CHECK-NEXT: "col": 28, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "valueCategory": "rvalue", | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "IntegerLiteral", | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1372, | |
| // CHECK-NEXT: "col": 28, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1372, | |
| // CHECK-NEXT: "col": 28, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "valueCategory": "rvalue", | |
| // CHECK-NEXT: "value": "1" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "VarDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 1383, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 85, | |
| // CHECK-NEXT: "col": 5, | |
| // CHECK-NEXT: "tokLen": 11 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1379, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 3 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1383, | |
| // CHECK-NEXT: "col": 5, | |
| // CHECK-NEXT: "tokLen": 11 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestVarDecl", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "VarDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 1407, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 86, | |
| // CHECK-NEXT: "col": 12, | |
| // CHECK-NEXT: "tokLen": 13 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1396, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 6 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1407, | |
| // CHECK-NEXT: "col": 12, | |
| // CHECK-NEXT: "tokLen": 13 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestVarDeclSC", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "storageClass": "extern" | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "VarDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 1435, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 87, | |
| // CHECK-NEXT: "col": 14, | |
| // CHECK-NEXT: "tokLen": 17 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1422, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 8 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1435, | |
| // CHECK-NEXT: "col": 14, | |
| // CHECK-NEXT: "tokLen": 17 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestVarDeclThread", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "tls": "static" | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "VarDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 1458, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 88, | |
| // CHECK-NEXT: "col": 5, | |
| // CHECK-NEXT: "tokLen": 15 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1454, | |
| // CHECK-NEXT: "col": 1, | |
| // CHECK-NEXT: "tokLen": 3 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1476, | |
| // CHECK-NEXT: "col": 23, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestVarDeclInit", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "init": "c", | |
| // CHECK-NEXT: "inner": [ | |
| // CHECK-NEXT: { | |
| // CHECK-NEXT: "id": "0x{{.*}}", | |
| // CHECK-NEXT: "kind": "IntegerLiteral", | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1476, | |
| // CHECK-NEXT: "col": 23, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1476, | |
| // CHECK-NEXT: "col": 23, | |
| // CHECK-NEXT: "tokLen": 1 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "valueCategory": "rvalue", | |
| // CHECK-NEXT: "value": "0" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: ] | |
| // CHECK-NEXT: } | |
| // CHECK: "kind": "ParmVarDecl", | |
| // CHECK-NEXT: "loc": { | |
| // CHECK-NEXT: "offset": 1505, | |
| // CHECK-NEXT: "file": "{{.*}}", | |
| // CHECK-NEXT: "line": 90, | |
| // CHECK-NEXT: "col": 26, | |
| // CHECK-NEXT: "tokLen": 15 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "range": { | |
| // CHECK-NEXT: "begin": { | |
| // CHECK-NEXT: "offset": 1501, | |
| // CHECK-NEXT: "col": 22, | |
| // CHECK-NEXT: "tokLen": 3 | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "end": { | |
| // CHECK-NEXT: "offset": 1505, | |
| // CHECK-NEXT: "col": 26, | |
| // CHECK-NEXT: "tokLen": 15 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: }, | |
| // CHECK-NEXT: "name": "TestParmVarDecl", | |
| // CHECK-NEXT: "type": { | |
| // CHECK-NEXT: "qualType": "int" | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } |