// 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: "mangledName": "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: "mangledName": "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: "mangledName": "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: "mangledName": "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: "mangledName": "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: "mangledName": "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: "mangledName": "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: "mangledName": "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: "mangledName": "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: "mangledName": "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: "mangledName": "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: "mangledName": "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: "mangledName": "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: "mangledName": "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: "mangledName": "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: "mangledName": "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: "mangledName": "TestParmVarDecl", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" // CHECK-NEXT: } // CHECK-NEXT: }