1986d0dbaSyronglin // RUN: %clang_cc1 -triple x86_64-linux-gnu -fsyntax-only -ast-dump=json %s | FileCheck %s 2986d0dbaSyronglin 3986d0dbaSyronglin struct A { 4986d0dbaSyronglin int arr[1]; 5986d0dbaSyronglin }; 6986d0dbaSyronglin 7986d0dbaSyronglin struct B { 8986d0dbaSyronglin const A &a = A{{0}}; 9986d0dbaSyronglin }; 10986d0dbaSyronglin 11986d0dbaSyronglin void test() { 12986d0dbaSyronglin B b{}; 13986d0dbaSyronglin } 14986d0dbaSyronglin 15986d0dbaSyronglin // NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py 16986d0dbaSyronglin 17986d0dbaSyronglin 18986d0dbaSyronglin // CHECK-NOT: {{^}}Dumping 19986d0dbaSyronglin // CHECK: "kind": "TranslationUnitDecl", 20986d0dbaSyronglin // CHECK-NEXT: "loc": {}, 21986d0dbaSyronglin // CHECK-NEXT: "range": { 22986d0dbaSyronglin // CHECK-NEXT: "begin": {}, 23986d0dbaSyronglin // CHECK-NEXT: "end": {} 24986d0dbaSyronglin // CHECK-NEXT: }, 25986d0dbaSyronglin // CHECK-NEXT: "inner": [ 26986d0dbaSyronglin // CHECK-NEXT: { 27986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 28986d0dbaSyronglin // CHECK-NEXT: "kind": "TypedefDecl", 29986d0dbaSyronglin // CHECK-NEXT: "loc": {}, 30986d0dbaSyronglin // CHECK-NEXT: "range": { 31986d0dbaSyronglin // CHECK-NEXT: "begin": {}, 32986d0dbaSyronglin // CHECK-NEXT: "end": {} 33986d0dbaSyronglin // CHECK-NEXT: }, 34986d0dbaSyronglin // CHECK-NEXT: "isImplicit": true, 35986d0dbaSyronglin // CHECK-NEXT: "name": "__int128_t", 36986d0dbaSyronglin // CHECK-NEXT: "type": { 37986d0dbaSyronglin // CHECK-NEXT: "qualType": "__int128" 38986d0dbaSyronglin // CHECK-NEXT: }, 39986d0dbaSyronglin // CHECK-NEXT: "inner": [ 40986d0dbaSyronglin // CHECK-NEXT: { 41986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 42986d0dbaSyronglin // CHECK-NEXT: "kind": "BuiltinType", 43986d0dbaSyronglin // CHECK-NEXT: "type": { 44986d0dbaSyronglin // CHECK-NEXT: "qualType": "__int128" 45986d0dbaSyronglin // CHECK-NEXT: } 46986d0dbaSyronglin // CHECK-NEXT: } 47986d0dbaSyronglin // CHECK-NEXT: ] 48986d0dbaSyronglin // CHECK-NEXT: }, 49986d0dbaSyronglin // CHECK-NEXT: { 50986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 51986d0dbaSyronglin // CHECK-NEXT: "kind": "TypedefDecl", 52986d0dbaSyronglin // CHECK-NEXT: "loc": {}, 53986d0dbaSyronglin // CHECK-NEXT: "range": { 54986d0dbaSyronglin // CHECK-NEXT: "begin": {}, 55986d0dbaSyronglin // CHECK-NEXT: "end": {} 56986d0dbaSyronglin // CHECK-NEXT: }, 57986d0dbaSyronglin // CHECK-NEXT: "isImplicit": true, 58986d0dbaSyronglin // CHECK-NEXT: "name": "__uint128_t", 59986d0dbaSyronglin // CHECK-NEXT: "type": { 60986d0dbaSyronglin // CHECK-NEXT: "qualType": "unsigned __int128" 61986d0dbaSyronglin // CHECK-NEXT: }, 62986d0dbaSyronglin // CHECK-NEXT: "inner": [ 63986d0dbaSyronglin // CHECK-NEXT: { 64986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 65986d0dbaSyronglin // CHECK-NEXT: "kind": "BuiltinType", 66986d0dbaSyronglin // CHECK-NEXT: "type": { 67986d0dbaSyronglin // CHECK-NEXT: "qualType": "unsigned __int128" 68986d0dbaSyronglin // CHECK-NEXT: } 69986d0dbaSyronglin // CHECK-NEXT: } 70986d0dbaSyronglin // CHECK-NEXT: ] 71986d0dbaSyronglin // CHECK-NEXT: }, 72986d0dbaSyronglin // CHECK-NEXT: { 73986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 74986d0dbaSyronglin // CHECK-NEXT: "kind": "TypedefDecl", 75986d0dbaSyronglin // CHECK-NEXT: "loc": {}, 76986d0dbaSyronglin // CHECK-NEXT: "range": { 77986d0dbaSyronglin // CHECK-NEXT: "begin": {}, 78986d0dbaSyronglin // CHECK-NEXT: "end": {} 79986d0dbaSyronglin // CHECK-NEXT: }, 80986d0dbaSyronglin // CHECK-NEXT: "isImplicit": true, 81986d0dbaSyronglin // CHECK-NEXT: "name": "__NSConstantString", 82986d0dbaSyronglin // CHECK-NEXT: "type": { 83986d0dbaSyronglin // CHECK-NEXT: "qualType": "__NSConstantString_tag" 84986d0dbaSyronglin // CHECK-NEXT: }, 85986d0dbaSyronglin // CHECK-NEXT: "inner": [ 86986d0dbaSyronglin // CHECK-NEXT: { 87986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 88986d0dbaSyronglin // CHECK-NEXT: "kind": "RecordType", 89986d0dbaSyronglin // CHECK-NEXT: "type": { 90986d0dbaSyronglin // CHECK-NEXT: "qualType": "__NSConstantString_tag" 91986d0dbaSyronglin // CHECK-NEXT: }, 92986d0dbaSyronglin // CHECK-NEXT: "decl": { 93986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 94986d0dbaSyronglin // CHECK-NEXT: "kind": "CXXRecordDecl", 95986d0dbaSyronglin // CHECK-NEXT: "name": "__NSConstantString_tag" 96986d0dbaSyronglin // CHECK-NEXT: } 97986d0dbaSyronglin // CHECK-NEXT: } 98986d0dbaSyronglin // CHECK-NEXT: ] 99986d0dbaSyronglin // CHECK-NEXT: }, 100986d0dbaSyronglin // CHECK-NEXT: { 101986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 102986d0dbaSyronglin // CHECK-NEXT: "kind": "TypedefDecl", 103986d0dbaSyronglin // CHECK-NEXT: "loc": {}, 104986d0dbaSyronglin // CHECK-NEXT: "range": { 105986d0dbaSyronglin // CHECK-NEXT: "begin": {}, 106986d0dbaSyronglin // CHECK-NEXT: "end": {} 107986d0dbaSyronglin // CHECK-NEXT: }, 108986d0dbaSyronglin // CHECK-NEXT: "isImplicit": true, 109986d0dbaSyronglin // CHECK-NEXT: "name": "__builtin_ms_va_list", 110986d0dbaSyronglin // CHECK-NEXT: "type": { 111986d0dbaSyronglin // CHECK-NEXT: "qualType": "char *" 112986d0dbaSyronglin // CHECK-NEXT: }, 113986d0dbaSyronglin // CHECK-NEXT: "inner": [ 114986d0dbaSyronglin // CHECK-NEXT: { 115986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 116986d0dbaSyronglin // CHECK-NEXT: "kind": "PointerType", 117986d0dbaSyronglin // CHECK-NEXT: "type": { 118986d0dbaSyronglin // CHECK-NEXT: "qualType": "char *" 119986d0dbaSyronglin // CHECK-NEXT: }, 120986d0dbaSyronglin // CHECK-NEXT: "inner": [ 121986d0dbaSyronglin // CHECK-NEXT: { 122986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 123986d0dbaSyronglin // CHECK-NEXT: "kind": "BuiltinType", 124986d0dbaSyronglin // CHECK-NEXT: "type": { 125986d0dbaSyronglin // CHECK-NEXT: "qualType": "char" 126986d0dbaSyronglin // CHECK-NEXT: } 127986d0dbaSyronglin // CHECK-NEXT: } 128986d0dbaSyronglin // CHECK-NEXT: ] 129986d0dbaSyronglin // CHECK-NEXT: } 130986d0dbaSyronglin // CHECK-NEXT: ] 131986d0dbaSyronglin // CHECK-NEXT: }, 132986d0dbaSyronglin // CHECK-NEXT: { 133986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 134986d0dbaSyronglin // CHECK-NEXT: "kind": "TypedefDecl", 135986d0dbaSyronglin // CHECK-NEXT: "loc": {}, 136986d0dbaSyronglin // CHECK-NEXT: "range": { 137986d0dbaSyronglin // CHECK-NEXT: "begin": {}, 138986d0dbaSyronglin // CHECK-NEXT: "end": {} 139986d0dbaSyronglin // CHECK-NEXT: }, 140986d0dbaSyronglin // CHECK-NEXT: "isImplicit": true, 141986d0dbaSyronglin // CHECK-NEXT: "name": "__builtin_va_list", 142986d0dbaSyronglin // CHECK-NEXT: "type": { 143986d0dbaSyronglin // CHECK-NEXT: "qualType": "__va_list_tag[1]" 144986d0dbaSyronglin // CHECK-NEXT: }, 145986d0dbaSyronglin // CHECK-NEXT: "inner": [ 146986d0dbaSyronglin // CHECK-NEXT: { 147986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 148986d0dbaSyronglin // CHECK-NEXT: "kind": "ConstantArrayType", 149986d0dbaSyronglin // CHECK-NEXT: "type": { 150986d0dbaSyronglin // CHECK-NEXT: "qualType": "__va_list_tag[1]" 151986d0dbaSyronglin // CHECK-NEXT: }, 152986d0dbaSyronglin // CHECK-NEXT: "size": 1, 153986d0dbaSyronglin // CHECK-NEXT: "inner": [ 154986d0dbaSyronglin // CHECK-NEXT: { 155986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 156986d0dbaSyronglin // CHECK-NEXT: "kind": "RecordType", 157986d0dbaSyronglin // CHECK-NEXT: "type": { 158986d0dbaSyronglin // CHECK-NEXT: "qualType": "__va_list_tag" 159986d0dbaSyronglin // CHECK-NEXT: }, 160986d0dbaSyronglin // CHECK-NEXT: "decl": { 161986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 162986d0dbaSyronglin // CHECK-NEXT: "kind": "CXXRecordDecl", 163986d0dbaSyronglin // CHECK-NEXT: "name": "__va_list_tag" 164986d0dbaSyronglin // CHECK-NEXT: } 165986d0dbaSyronglin // CHECK-NEXT: } 166986d0dbaSyronglin // CHECK-NEXT: ] 167986d0dbaSyronglin // CHECK-NEXT: } 168986d0dbaSyronglin // CHECK-NEXT: ] 169986d0dbaSyronglin // CHECK-NEXT: }, 170986d0dbaSyronglin // CHECK-NEXT: { 171986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 172986d0dbaSyronglin // CHECK-NEXT: "kind": "CXXRecordDecl", 173986d0dbaSyronglin // CHECK-NEXT: "loc": { 174986d0dbaSyronglin // CHECK-NEXT: "offset": 99, 175986d0dbaSyronglin // CHECK-NEXT: "file": "{{.*}}", 176986d0dbaSyronglin // CHECK-NEXT: "line": 3, 177986d0dbaSyronglin // CHECK-NEXT: "col": 8, 178986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 179986d0dbaSyronglin // CHECK-NEXT: }, 180986d0dbaSyronglin // CHECK-NEXT: "range": { 181986d0dbaSyronglin // CHECK-NEXT: "begin": { 182986d0dbaSyronglin // CHECK-NEXT: "offset": 92, 183986d0dbaSyronglin // CHECK-NEXT: "col": 1, 184986d0dbaSyronglin // CHECK-NEXT: "tokLen": 6 185986d0dbaSyronglin // CHECK-NEXT: }, 186986d0dbaSyronglin // CHECK-NEXT: "end": { 187986d0dbaSyronglin // CHECK-NEXT: "offset": 117, 188986d0dbaSyronglin // CHECK-NEXT: "line": 5, 189986d0dbaSyronglin // CHECK-NEXT: "col": 1, 190986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 191986d0dbaSyronglin // CHECK-NEXT: } 192986d0dbaSyronglin // CHECK-NEXT: }, 193986d0dbaSyronglin // CHECK-NEXT: "isReferenced": true, 194986d0dbaSyronglin // CHECK-NEXT: "name": "A", 195986d0dbaSyronglin // CHECK-NEXT: "tagUsed": "struct", 196986d0dbaSyronglin // CHECK-NEXT: "completeDefinition": true, 197986d0dbaSyronglin // CHECK-NEXT: "definitionData": { 198986d0dbaSyronglin // CHECK-NEXT: "canPassInRegisters": true, 199986d0dbaSyronglin // CHECK-NEXT: "copyAssign": { 200986d0dbaSyronglin // CHECK-NEXT: "hasConstParam": true, 201986d0dbaSyronglin // CHECK-NEXT: "implicitHasConstParam": true, 202986d0dbaSyronglin // CHECK-NEXT: "needsImplicit": true, 203986d0dbaSyronglin // CHECK-NEXT: "simple": true, 204986d0dbaSyronglin // CHECK-NEXT: "trivial": true 205986d0dbaSyronglin // CHECK-NEXT: }, 206986d0dbaSyronglin // CHECK-NEXT: "copyCtor": { 207986d0dbaSyronglin // CHECK-NEXT: "hasConstParam": true, 208986d0dbaSyronglin // CHECK-NEXT: "implicitHasConstParam": true, 209986d0dbaSyronglin // CHECK-NEXT: "needsImplicit": true, 210986d0dbaSyronglin // CHECK-NEXT: "simple": true, 211986d0dbaSyronglin // CHECK-NEXT: "trivial": true 212986d0dbaSyronglin // CHECK-NEXT: }, 213986d0dbaSyronglin // CHECK-NEXT: "defaultCtor": { 214986d0dbaSyronglin // CHECK-NEXT: "exists": true, 215986d0dbaSyronglin // CHECK-NEXT: "needsImplicit": true, 216986d0dbaSyronglin // CHECK-NEXT: "trivial": true 217986d0dbaSyronglin // CHECK-NEXT: }, 218986d0dbaSyronglin // CHECK-NEXT: "dtor": { 219986d0dbaSyronglin // CHECK-NEXT: "irrelevant": true, 220986d0dbaSyronglin // CHECK-NEXT: "simple": true, 221986d0dbaSyronglin // CHECK-NEXT: "trivial": true 222986d0dbaSyronglin // CHECK-NEXT: }, 223986d0dbaSyronglin // CHECK-NEXT: "isAggregate": true, 224986d0dbaSyronglin // CHECK-NEXT: "isLiteral": true, 225986d0dbaSyronglin // CHECK-NEXT: "isPOD": true, 226986d0dbaSyronglin // CHECK-NEXT: "isStandardLayout": true, 227986d0dbaSyronglin // CHECK-NEXT: "isTrivial": true, 228986d0dbaSyronglin // CHECK-NEXT: "isTriviallyCopyable": true, 229986d0dbaSyronglin // CHECK-NEXT: "moveAssign": { 230986d0dbaSyronglin // CHECK-NEXT: "exists": true, 231986d0dbaSyronglin // CHECK-NEXT: "needsImplicit": true, 232986d0dbaSyronglin // CHECK-NEXT: "simple": true, 233986d0dbaSyronglin // CHECK-NEXT: "trivial": true 234986d0dbaSyronglin // CHECK-NEXT: }, 235986d0dbaSyronglin // CHECK-NEXT: "moveCtor": { 236986d0dbaSyronglin // CHECK-NEXT: "exists": true, 237986d0dbaSyronglin // CHECK-NEXT: "needsImplicit": true, 238986d0dbaSyronglin // CHECK-NEXT: "simple": true, 239986d0dbaSyronglin // CHECK-NEXT: "trivial": true 240986d0dbaSyronglin // CHECK-NEXT: } 241986d0dbaSyronglin // CHECK-NEXT: }, 242986d0dbaSyronglin // CHECK-NEXT: "inner": [ 243986d0dbaSyronglin // CHECK-NEXT: { 244986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 245986d0dbaSyronglin // CHECK-NEXT: "kind": "CXXRecordDecl", 246986d0dbaSyronglin // CHECK-NEXT: "loc": { 247986d0dbaSyronglin // CHECK-NEXT: "offset": 99, 248986d0dbaSyronglin // CHECK-NEXT: "line": 3, 249986d0dbaSyronglin // CHECK-NEXT: "col": 8, 250986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 251986d0dbaSyronglin // CHECK-NEXT: }, 252986d0dbaSyronglin // CHECK-NEXT: "range": { 253986d0dbaSyronglin // CHECK-NEXT: "begin": { 254986d0dbaSyronglin // CHECK-NEXT: "offset": 92, 255986d0dbaSyronglin // CHECK-NEXT: "col": 1, 256986d0dbaSyronglin // CHECK-NEXT: "tokLen": 6 257986d0dbaSyronglin // CHECK-NEXT: }, 258986d0dbaSyronglin // CHECK-NEXT: "end": { 259986d0dbaSyronglin // CHECK-NEXT: "offset": 99, 260986d0dbaSyronglin // CHECK-NEXT: "col": 8, 261986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 262986d0dbaSyronglin // CHECK-NEXT: } 263986d0dbaSyronglin // CHECK-NEXT: }, 264986d0dbaSyronglin // CHECK-NEXT: "isImplicit": true, 265986d0dbaSyronglin // CHECK-NEXT: "name": "A", 266986d0dbaSyronglin // CHECK-NEXT: "tagUsed": "struct" 267986d0dbaSyronglin // CHECK-NEXT: }, 268986d0dbaSyronglin // CHECK-NEXT: { 269986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 270986d0dbaSyronglin // CHECK-NEXT: "kind": "FieldDecl", 271986d0dbaSyronglin // CHECK-NEXT: "loc": { 272986d0dbaSyronglin // CHECK-NEXT: "offset": 109, 273986d0dbaSyronglin // CHECK-NEXT: "line": 4, 274986d0dbaSyronglin // CHECK-NEXT: "col": 7, 275986d0dbaSyronglin // CHECK-NEXT: "tokLen": 3 276986d0dbaSyronglin // CHECK-NEXT: }, 277986d0dbaSyronglin // CHECK-NEXT: "range": { 278986d0dbaSyronglin // CHECK-NEXT: "begin": { 279986d0dbaSyronglin // CHECK-NEXT: "offset": 105, 280986d0dbaSyronglin // CHECK-NEXT: "col": 3, 281986d0dbaSyronglin // CHECK-NEXT: "tokLen": 3 282986d0dbaSyronglin // CHECK-NEXT: }, 283986d0dbaSyronglin // CHECK-NEXT: "end": { 284986d0dbaSyronglin // CHECK-NEXT: "offset": 114, 285986d0dbaSyronglin // CHECK-NEXT: "col": 12, 286986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 287986d0dbaSyronglin // CHECK-NEXT: } 288986d0dbaSyronglin // CHECK-NEXT: }, 289986d0dbaSyronglin // CHECK-NEXT: "name": "arr", 290986d0dbaSyronglin // CHECK-NEXT: "type": { 291986d0dbaSyronglin // CHECK-NEXT: "qualType": "int[1]" 292986d0dbaSyronglin // CHECK-NEXT: } 293986d0dbaSyronglin // CHECK-NEXT: }, 294986d0dbaSyronglin // CHECK-NEXT: { 295986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 296986d0dbaSyronglin // CHECK-NEXT: "kind": "CXXDestructorDecl", 297986d0dbaSyronglin // CHECK-NEXT: "loc": { 298986d0dbaSyronglin // CHECK-NEXT: "offset": 99, 299986d0dbaSyronglin // CHECK-NEXT: "line": 3, 300986d0dbaSyronglin // CHECK-NEXT: "col": 8, 301986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 302986d0dbaSyronglin // CHECK-NEXT: }, 303986d0dbaSyronglin // CHECK-NEXT: "range": { 304986d0dbaSyronglin // CHECK-NEXT: "begin": { 305986d0dbaSyronglin // CHECK-NEXT: "offset": 99, 306986d0dbaSyronglin // CHECK-NEXT: "col": 8, 307986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 308986d0dbaSyronglin // CHECK-NEXT: }, 309986d0dbaSyronglin // CHECK-NEXT: "end": { 310986d0dbaSyronglin // CHECK-NEXT: "offset": 99, 311986d0dbaSyronglin // CHECK-NEXT: "col": 8, 312986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 313986d0dbaSyronglin // CHECK-NEXT: } 314986d0dbaSyronglin // CHECK-NEXT: }, 315986d0dbaSyronglin // CHECK-NEXT: "isImplicit": true, 316986d0dbaSyronglin // CHECK-NEXT: "isReferenced": true, 317986d0dbaSyronglin // CHECK-NEXT: "name": "~A", 318986d0dbaSyronglin // CHECK-NEXT: "mangledName": "_ZN1AD1Ev", 319986d0dbaSyronglin // CHECK-NEXT: "type": { 320986d0dbaSyronglin // CHECK-NEXT: "qualType": "void () noexcept" 321986d0dbaSyronglin // CHECK-NEXT: }, 322986d0dbaSyronglin // CHECK-NEXT: "inline": true, 323986d0dbaSyronglin // CHECK-NEXT: "explicitlyDefaulted": "default" 324986d0dbaSyronglin // CHECK-NEXT: } 325986d0dbaSyronglin // CHECK-NEXT: ] 326986d0dbaSyronglin // CHECK-NEXT: }, 327986d0dbaSyronglin // CHECK-NEXT: { 328986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 329986d0dbaSyronglin // CHECK-NEXT: "kind": "CXXRecordDecl", 330986d0dbaSyronglin // CHECK-NEXT: "loc": { 331986d0dbaSyronglin // CHECK-NEXT: "offset": 128, 332986d0dbaSyronglin // CHECK-NEXT: "line": 7, 333986d0dbaSyronglin // CHECK-NEXT: "col": 8, 334986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 335986d0dbaSyronglin // CHECK-NEXT: }, 336986d0dbaSyronglin // CHECK-NEXT: "range": { 337986d0dbaSyronglin // CHECK-NEXT: "begin": { 338986d0dbaSyronglin // CHECK-NEXT: "offset": 121, 339986d0dbaSyronglin // CHECK-NEXT: "col": 1, 340986d0dbaSyronglin // CHECK-NEXT: "tokLen": 6 341986d0dbaSyronglin // CHECK-NEXT: }, 342986d0dbaSyronglin // CHECK-NEXT: "end": { 343986d0dbaSyronglin // CHECK-NEXT: "offset": 155, 344986d0dbaSyronglin // CHECK-NEXT: "line": 9, 345986d0dbaSyronglin // CHECK-NEXT: "col": 1, 346986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 347986d0dbaSyronglin // CHECK-NEXT: } 348986d0dbaSyronglin // CHECK-NEXT: }, 349986d0dbaSyronglin // CHECK-NEXT: "isReferenced": true, 350986d0dbaSyronglin // CHECK-NEXT: "name": "B", 351986d0dbaSyronglin // CHECK-NEXT: "tagUsed": "struct", 352986d0dbaSyronglin // CHECK-NEXT: "completeDefinition": true, 353986d0dbaSyronglin // CHECK-NEXT: "definitionData": { 354986d0dbaSyronglin // CHECK-NEXT: "canConstDefaultInit": true, 355986d0dbaSyronglin // CHECK-NEXT: "canPassInRegisters": true, 356986d0dbaSyronglin // CHECK-NEXT: "copyAssign": { 357986d0dbaSyronglin // CHECK-NEXT: "hasConstParam": true, 358986d0dbaSyronglin // CHECK-NEXT: "implicitHasConstParam": true, 359986d0dbaSyronglin // CHECK-NEXT: "needsImplicit": true, 360986d0dbaSyronglin // CHECK-NEXT: "trivial": true 361986d0dbaSyronglin // CHECK-NEXT: }, 362986d0dbaSyronglin // CHECK-NEXT: "copyCtor": { 363986d0dbaSyronglin // CHECK-NEXT: "hasConstParam": true, 364986d0dbaSyronglin // CHECK-NEXT: "implicitHasConstParam": true, 365986d0dbaSyronglin // CHECK-NEXT: "needsImplicit": true, 366986d0dbaSyronglin // CHECK-NEXT: "simple": true, 367986d0dbaSyronglin // CHECK-NEXT: "trivial": true 368986d0dbaSyronglin // CHECK-NEXT: }, 369986d0dbaSyronglin // CHECK-NEXT: "defaultCtor": { 370986d0dbaSyronglin // CHECK-NEXT: "defaultedIsConstexpr": true, 371986d0dbaSyronglin // CHECK-NEXT: "exists": true, 372986d0dbaSyronglin // CHECK-NEXT: "isConstexpr": true, 373986d0dbaSyronglin // CHECK-NEXT: "needsImplicit": true, 374986d0dbaSyronglin // CHECK-NEXT: "nonTrivial": true 375986d0dbaSyronglin // CHECK-NEXT: }, 376986d0dbaSyronglin // CHECK-NEXT: "dtor": { 377986d0dbaSyronglin // CHECK-NEXT: "irrelevant": true, 378986d0dbaSyronglin // CHECK-NEXT: "needsImplicit": true, 379986d0dbaSyronglin // CHECK-NEXT: "simple": true, 380986d0dbaSyronglin // CHECK-NEXT: "trivial": true 381986d0dbaSyronglin // CHECK-NEXT: }, 382986d0dbaSyronglin // CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, 383986d0dbaSyronglin // CHECK-NEXT: "isAggregate": true, 384986d0dbaSyronglin // CHECK-NEXT: "isLiteral": true, 385986d0dbaSyronglin // CHECK-NEXT: "isTriviallyCopyable": true, 386986d0dbaSyronglin // CHECK-NEXT: "moveAssign": { 387986d0dbaSyronglin // CHECK-NEXT: "exists": true, 388986d0dbaSyronglin // CHECK-NEXT: "needsImplicit": true, 389986d0dbaSyronglin // CHECK-NEXT: "trivial": true 390986d0dbaSyronglin // CHECK-NEXT: }, 391986d0dbaSyronglin // CHECK-NEXT: "moveCtor": { 392986d0dbaSyronglin // CHECK-NEXT: "exists": true, 393986d0dbaSyronglin // CHECK-NEXT: "needsImplicit": true, 394986d0dbaSyronglin // CHECK-NEXT: "simple": true, 395986d0dbaSyronglin // CHECK-NEXT: "trivial": true 396986d0dbaSyronglin // CHECK-NEXT: } 397986d0dbaSyronglin // CHECK-NEXT: }, 398986d0dbaSyronglin // CHECK-NEXT: "inner": [ 399986d0dbaSyronglin // CHECK-NEXT: { 400986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 401986d0dbaSyronglin // CHECK-NEXT: "kind": "CXXRecordDecl", 402986d0dbaSyronglin // CHECK-NEXT: "loc": { 403986d0dbaSyronglin // CHECK-NEXT: "offset": 128, 404986d0dbaSyronglin // CHECK-NEXT: "line": 7, 405986d0dbaSyronglin // CHECK-NEXT: "col": 8, 406986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 407986d0dbaSyronglin // CHECK-NEXT: }, 408986d0dbaSyronglin // CHECK-NEXT: "range": { 409986d0dbaSyronglin // CHECK-NEXT: "begin": { 410986d0dbaSyronglin // CHECK-NEXT: "offset": 121, 411986d0dbaSyronglin // CHECK-NEXT: "col": 1, 412986d0dbaSyronglin // CHECK-NEXT: "tokLen": 6 413986d0dbaSyronglin // CHECK-NEXT: }, 414986d0dbaSyronglin // CHECK-NEXT: "end": { 415986d0dbaSyronglin // CHECK-NEXT: "offset": 128, 416986d0dbaSyronglin // CHECK-NEXT: "col": 8, 417986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 418986d0dbaSyronglin // CHECK-NEXT: } 419986d0dbaSyronglin // CHECK-NEXT: }, 420986d0dbaSyronglin // CHECK-NEXT: "isImplicit": true, 421986d0dbaSyronglin // CHECK-NEXT: "name": "B", 422986d0dbaSyronglin // CHECK-NEXT: "tagUsed": "struct" 423986d0dbaSyronglin // CHECK-NEXT: }, 424986d0dbaSyronglin // CHECK-NEXT: { 425986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 426986d0dbaSyronglin // CHECK-NEXT: "kind": "FieldDecl", 427986d0dbaSyronglin // CHECK-NEXT: "loc": { 428986d0dbaSyronglin // CHECK-NEXT: "offset": 143, 429986d0dbaSyronglin // CHECK-NEXT: "line": 8, 430986d0dbaSyronglin // CHECK-NEXT: "col": 12, 431986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 432986d0dbaSyronglin // CHECK-NEXT: }, 433986d0dbaSyronglin // CHECK-NEXT: "range": { 434986d0dbaSyronglin // CHECK-NEXT: "begin": { 435986d0dbaSyronglin // CHECK-NEXT: "offset": 134, 436986d0dbaSyronglin // CHECK-NEXT: "col": 3, 437986d0dbaSyronglin // CHECK-NEXT: "tokLen": 5 438986d0dbaSyronglin // CHECK-NEXT: }, 439986d0dbaSyronglin // CHECK-NEXT: "end": { 440986d0dbaSyronglin // CHECK-NEXT: "offset": 152, 441986d0dbaSyronglin // CHECK-NEXT: "col": 21, 442986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 443986d0dbaSyronglin // CHECK-NEXT: } 444986d0dbaSyronglin // CHECK-NEXT: }, 445986d0dbaSyronglin // CHECK-NEXT: "name": "a", 446986d0dbaSyronglin // CHECK-NEXT: "type": { 447986d0dbaSyronglin // CHECK-NEXT: "qualType": "const A &" 448986d0dbaSyronglin // CHECK-NEXT: }, 449986d0dbaSyronglin // CHECK-NEXT: "hasInClassInitializer": true, 450986d0dbaSyronglin // CHECK-NEXT: "inner": [ 451986d0dbaSyronglin // CHECK-NEXT: { 452986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 453986d0dbaSyronglin // CHECK-NEXT: "kind": "ExprWithCleanups", 454986d0dbaSyronglin // CHECK-NEXT: "range": { 455986d0dbaSyronglin // CHECK-NEXT: "begin": { 456986d0dbaSyronglin // CHECK-NEXT: "offset": 147, 457986d0dbaSyronglin // CHECK-NEXT: "col": 16, 458986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 459986d0dbaSyronglin // CHECK-NEXT: }, 460986d0dbaSyronglin // CHECK-NEXT: "end": { 461986d0dbaSyronglin // CHECK-NEXT: "offset": 152, 462986d0dbaSyronglin // CHECK-NEXT: "col": 21, 463986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 464986d0dbaSyronglin // CHECK-NEXT: } 465986d0dbaSyronglin // CHECK-NEXT: }, 466986d0dbaSyronglin // CHECK-NEXT: "type": { 467986d0dbaSyronglin // CHECK-NEXT: "qualType": "const A" 468986d0dbaSyronglin // CHECK-NEXT: }, 469986d0dbaSyronglin // CHECK-NEXT: "valueCategory": "lvalue", 470986d0dbaSyronglin // CHECK-NEXT: "inner": [ 471986d0dbaSyronglin // CHECK-NEXT: { 472986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 473986d0dbaSyronglin // CHECK-NEXT: "kind": "MaterializeTemporaryExpr", 474986d0dbaSyronglin // CHECK-NEXT: "range": { 475986d0dbaSyronglin // CHECK-NEXT: "begin": { 476986d0dbaSyronglin // CHECK-NEXT: "offset": 147, 477986d0dbaSyronglin // CHECK-NEXT: "col": 16, 478986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 479986d0dbaSyronglin // CHECK-NEXT: }, 480986d0dbaSyronglin // CHECK-NEXT: "end": { 481986d0dbaSyronglin // CHECK-NEXT: "offset": 152, 482986d0dbaSyronglin // CHECK-NEXT: "col": 21, 483986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 484986d0dbaSyronglin // CHECK-NEXT: } 485986d0dbaSyronglin // CHECK-NEXT: }, 486986d0dbaSyronglin // CHECK-NEXT: "type": { 487986d0dbaSyronglin // CHECK-NEXT: "qualType": "const A" 488986d0dbaSyronglin // CHECK-NEXT: }, 489986d0dbaSyronglin // CHECK-NEXT: "valueCategory": "lvalue", 490986d0dbaSyronglin // CHECK-NEXT: "extendingDecl": { 491986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 492986d0dbaSyronglin // CHECK-NEXT: "kind": "FieldDecl", 493986d0dbaSyronglin // CHECK-NEXT: "name": "a", 494986d0dbaSyronglin // CHECK-NEXT: "type": { 495986d0dbaSyronglin // CHECK-NEXT: "qualType": "const A &" 496986d0dbaSyronglin // CHECK-NEXT: } 497986d0dbaSyronglin // CHECK-NEXT: }, 498986d0dbaSyronglin // CHECK-NEXT: "storageDuration": "automatic", 499986d0dbaSyronglin // CHECK-NEXT: "boundToLValueRef": true, 500986d0dbaSyronglin // CHECK-NEXT: "inner": [ 501986d0dbaSyronglin // CHECK-NEXT: { 502986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 503986d0dbaSyronglin // CHECK-NEXT: "kind": "ImplicitCastExpr", 504986d0dbaSyronglin // CHECK-NEXT: "range": { 505986d0dbaSyronglin // CHECK-NEXT: "begin": { 506986d0dbaSyronglin // CHECK-NEXT: "offset": 147, 507986d0dbaSyronglin // CHECK-NEXT: "col": 16, 508986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 509986d0dbaSyronglin // CHECK-NEXT: }, 510986d0dbaSyronglin // CHECK-NEXT: "end": { 511986d0dbaSyronglin // CHECK-NEXT: "offset": 152, 512986d0dbaSyronglin // CHECK-NEXT: "col": 21, 513986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 514986d0dbaSyronglin // CHECK-NEXT: } 515986d0dbaSyronglin // CHECK-NEXT: }, 516986d0dbaSyronglin // CHECK-NEXT: "type": { 517986d0dbaSyronglin // CHECK-NEXT: "qualType": "const A" 518986d0dbaSyronglin // CHECK-NEXT: }, 519986d0dbaSyronglin // CHECK-NEXT: "valueCategory": "prvalue", 520986d0dbaSyronglin // CHECK-NEXT: "castKind": "NoOp", 521986d0dbaSyronglin // CHECK-NEXT: "inner": [ 522986d0dbaSyronglin // CHECK-NEXT: { 523986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 524986d0dbaSyronglin // CHECK-NEXT: "kind": "CXXFunctionalCastExpr", 525986d0dbaSyronglin // CHECK-NEXT: "range": { 526986d0dbaSyronglin // CHECK-NEXT: "begin": { 527986d0dbaSyronglin // CHECK-NEXT: "offset": 147, 528986d0dbaSyronglin // CHECK-NEXT: "col": 16, 529986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 530986d0dbaSyronglin // CHECK-NEXT: }, 531986d0dbaSyronglin // CHECK-NEXT: "end": { 532986d0dbaSyronglin // CHECK-NEXT: "offset": 152, 533986d0dbaSyronglin // CHECK-NEXT: "col": 21, 534986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 535986d0dbaSyronglin // CHECK-NEXT: } 536986d0dbaSyronglin // CHECK-NEXT: }, 537986d0dbaSyronglin // CHECK-NEXT: "type": { 538986d0dbaSyronglin // CHECK-NEXT: "qualType": "A" 539986d0dbaSyronglin // CHECK-NEXT: }, 540986d0dbaSyronglin // CHECK-NEXT: "valueCategory": "prvalue", 541986d0dbaSyronglin // CHECK-NEXT: "castKind": "NoOp", 542986d0dbaSyronglin // CHECK-NEXT: "inner": [ 543986d0dbaSyronglin // CHECK-NEXT: { 544986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 545986d0dbaSyronglin // CHECK-NEXT: "kind": "InitListExpr", 546986d0dbaSyronglin // CHECK-NEXT: "range": { 547986d0dbaSyronglin // CHECK-NEXT: "begin": { 548986d0dbaSyronglin // CHECK-NEXT: "offset": 148, 549986d0dbaSyronglin // CHECK-NEXT: "col": 17, 550986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 551986d0dbaSyronglin // CHECK-NEXT: }, 552986d0dbaSyronglin // CHECK-NEXT: "end": { 553986d0dbaSyronglin // CHECK-NEXT: "offset": 152, 554986d0dbaSyronglin // CHECK-NEXT: "col": 21, 555986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 556986d0dbaSyronglin // CHECK-NEXT: } 557986d0dbaSyronglin // CHECK-NEXT: }, 558986d0dbaSyronglin // CHECK-NEXT: "type": { 559986d0dbaSyronglin // CHECK-NEXT: "qualType": "A" 560986d0dbaSyronglin // CHECK-NEXT: }, 561986d0dbaSyronglin // CHECK-NEXT: "valueCategory": "prvalue", 562986d0dbaSyronglin // CHECK-NEXT: "inner": [ 563986d0dbaSyronglin // CHECK-NEXT: { 564986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 565986d0dbaSyronglin // CHECK-NEXT: "kind": "InitListExpr", 566986d0dbaSyronglin // CHECK-NEXT: "range": { 567986d0dbaSyronglin // CHECK-NEXT: "begin": { 568986d0dbaSyronglin // CHECK-NEXT: "offset": 149, 569986d0dbaSyronglin // CHECK-NEXT: "col": 18, 570986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 571986d0dbaSyronglin // CHECK-NEXT: }, 572986d0dbaSyronglin // CHECK-NEXT: "end": { 573986d0dbaSyronglin // CHECK-NEXT: "offset": 151, 574986d0dbaSyronglin // CHECK-NEXT: "col": 20, 575986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 576986d0dbaSyronglin // CHECK-NEXT: } 577986d0dbaSyronglin // CHECK-NEXT: }, 578986d0dbaSyronglin // CHECK-NEXT: "type": { 579986d0dbaSyronglin // CHECK-NEXT: "qualType": "int[1]" 580986d0dbaSyronglin // CHECK-NEXT: }, 581986d0dbaSyronglin // CHECK-NEXT: "valueCategory": "prvalue", 582986d0dbaSyronglin // CHECK-NEXT: "inner": [ 583986d0dbaSyronglin // CHECK-NEXT: { 584986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 585986d0dbaSyronglin // CHECK-NEXT: "kind": "IntegerLiteral", 586986d0dbaSyronglin // CHECK-NEXT: "range": { 587986d0dbaSyronglin // CHECK-NEXT: "begin": { 588986d0dbaSyronglin // CHECK-NEXT: "offset": 150, 589986d0dbaSyronglin // CHECK-NEXT: "col": 19, 590986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 591986d0dbaSyronglin // CHECK-NEXT: }, 592986d0dbaSyronglin // CHECK-NEXT: "end": { 593986d0dbaSyronglin // CHECK-NEXT: "offset": 150, 594986d0dbaSyronglin // CHECK-NEXT: "col": 19, 595986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 596986d0dbaSyronglin // CHECK-NEXT: } 597986d0dbaSyronglin // CHECK-NEXT: }, 598986d0dbaSyronglin // CHECK-NEXT: "type": { 599986d0dbaSyronglin // CHECK-NEXT: "qualType": "int" 600986d0dbaSyronglin // CHECK-NEXT: }, 601986d0dbaSyronglin // CHECK-NEXT: "valueCategory": "prvalue", 602986d0dbaSyronglin // CHECK-NEXT: "value": "0" 603986d0dbaSyronglin // CHECK-NEXT: } 604986d0dbaSyronglin // CHECK-NEXT: ] 605986d0dbaSyronglin // CHECK-NEXT: } 606986d0dbaSyronglin // CHECK-NEXT: ] 607986d0dbaSyronglin // CHECK-NEXT: } 608986d0dbaSyronglin // CHECK-NEXT: ] 609986d0dbaSyronglin // CHECK-NEXT: } 610986d0dbaSyronglin // CHECK-NEXT: ] 611986d0dbaSyronglin // CHECK-NEXT: } 612986d0dbaSyronglin // CHECK-NEXT: ] 613986d0dbaSyronglin // CHECK-NEXT: } 614986d0dbaSyronglin // CHECK-NEXT: ] 615986d0dbaSyronglin // CHECK-NEXT: } 616986d0dbaSyronglin // CHECK-NEXT: ] 617986d0dbaSyronglin // CHECK-NEXT: } 618986d0dbaSyronglin // CHECK-NEXT: ] 619986d0dbaSyronglin // CHECK-NEXT: }, 620986d0dbaSyronglin // CHECK-NEXT: { 621986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 622986d0dbaSyronglin // CHECK-NEXT: "kind": "FunctionDecl", 623986d0dbaSyronglin // CHECK-NEXT: "loc": { 624986d0dbaSyronglin // CHECK-NEXT: "offset": 164, 625986d0dbaSyronglin // CHECK-NEXT: "line": 11, 626986d0dbaSyronglin // CHECK-NEXT: "col": 6, 627986d0dbaSyronglin // CHECK-NEXT: "tokLen": 4 628986d0dbaSyronglin // CHECK-NEXT: }, 629986d0dbaSyronglin // CHECK-NEXT: "range": { 630986d0dbaSyronglin // CHECK-NEXT: "begin": { 631986d0dbaSyronglin // CHECK-NEXT: "offset": 159, 632986d0dbaSyronglin // CHECK-NEXT: "col": 1, 633986d0dbaSyronglin // CHECK-NEXT: "tokLen": 4 634986d0dbaSyronglin // CHECK-NEXT: }, 635986d0dbaSyronglin // CHECK-NEXT: "end": { 636986d0dbaSyronglin // CHECK-NEXT: "offset": 182, 637986d0dbaSyronglin // CHECK-NEXT: "line": 13, 638986d0dbaSyronglin // CHECK-NEXT: "col": 1, 639986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 640986d0dbaSyronglin // CHECK-NEXT: } 641986d0dbaSyronglin // CHECK-NEXT: }, 642986d0dbaSyronglin // CHECK-NEXT: "name": "test", 643986d0dbaSyronglin // CHECK-NEXT: "mangledName": "_Z4testv", 644986d0dbaSyronglin // CHECK-NEXT: "type": { 645986d0dbaSyronglin // CHECK-NEXT: "qualType": "void ()" 646986d0dbaSyronglin // CHECK-NEXT: }, 647986d0dbaSyronglin // CHECK-NEXT: "inner": [ 648986d0dbaSyronglin // CHECK-NEXT: { 649986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 650986d0dbaSyronglin // CHECK-NEXT: "kind": "CompoundStmt", 651986d0dbaSyronglin // CHECK-NEXT: "range": { 652986d0dbaSyronglin // CHECK-NEXT: "begin": { 653986d0dbaSyronglin // CHECK-NEXT: "offset": 171, 654986d0dbaSyronglin // CHECK-NEXT: "line": 11, 655986d0dbaSyronglin // CHECK-NEXT: "col": 13, 656986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 657986d0dbaSyronglin // CHECK-NEXT: }, 658986d0dbaSyronglin // CHECK-NEXT: "end": { 659986d0dbaSyronglin // CHECK-NEXT: "offset": 182, 660986d0dbaSyronglin // CHECK-NEXT: "line": 13, 661986d0dbaSyronglin // CHECK-NEXT: "col": 1, 662986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 663986d0dbaSyronglin // CHECK-NEXT: } 664986d0dbaSyronglin // CHECK-NEXT: }, 665986d0dbaSyronglin // CHECK-NEXT: "inner": [ 666986d0dbaSyronglin // CHECK-NEXT: { 667986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 668986d0dbaSyronglin // CHECK-NEXT: "kind": "DeclStmt", 669986d0dbaSyronglin // CHECK-NEXT: "range": { 670986d0dbaSyronglin // CHECK-NEXT: "begin": { 671986d0dbaSyronglin // CHECK-NEXT: "offset": 175, 672986d0dbaSyronglin // CHECK-NEXT: "line": 12, 673986d0dbaSyronglin // CHECK-NEXT: "col": 3, 674986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 675986d0dbaSyronglin // CHECK-NEXT: }, 676986d0dbaSyronglin // CHECK-NEXT: "end": { 677986d0dbaSyronglin // CHECK-NEXT: "offset": 180, 678986d0dbaSyronglin // CHECK-NEXT: "col": 8, 679986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 680986d0dbaSyronglin // CHECK-NEXT: } 681986d0dbaSyronglin // CHECK-NEXT: }, 682986d0dbaSyronglin // CHECK-NEXT: "inner": [ 683986d0dbaSyronglin // CHECK-NEXT: { 684986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 685986d0dbaSyronglin // CHECK-NEXT: "kind": "VarDecl", 686986d0dbaSyronglin // CHECK-NEXT: "loc": { 687986d0dbaSyronglin // CHECK-NEXT: "offset": 177, 688986d0dbaSyronglin // CHECK-NEXT: "col": 5, 689986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 690986d0dbaSyronglin // CHECK-NEXT: }, 691986d0dbaSyronglin // CHECK-NEXT: "range": { 692986d0dbaSyronglin // CHECK-NEXT: "begin": { 693986d0dbaSyronglin // CHECK-NEXT: "offset": 175, 694986d0dbaSyronglin // CHECK-NEXT: "col": 3, 695986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 696986d0dbaSyronglin // CHECK-NEXT: }, 697986d0dbaSyronglin // CHECK-NEXT: "end": { 698986d0dbaSyronglin // CHECK-NEXT: "offset": 179, 699986d0dbaSyronglin // CHECK-NEXT: "col": 7, 700986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 701986d0dbaSyronglin // CHECK-NEXT: } 702986d0dbaSyronglin // CHECK-NEXT: }, 703986d0dbaSyronglin // CHECK-NEXT: "name": "b", 704986d0dbaSyronglin // CHECK-NEXT: "type": { 705986d0dbaSyronglin // CHECK-NEXT: "qualType": "B" 706986d0dbaSyronglin // CHECK-NEXT: }, 707986d0dbaSyronglin // CHECK-NEXT: "init": "list", 708986d0dbaSyronglin // CHECK-NEXT: "inner": [ 709986d0dbaSyronglin // CHECK-NEXT: { 710986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 711986d0dbaSyronglin // CHECK-NEXT: "kind": "InitListExpr", 712986d0dbaSyronglin // CHECK-NEXT: "range": { 713986d0dbaSyronglin // CHECK-NEXT: "begin": { 714986d0dbaSyronglin // CHECK-NEXT: "offset": 178, 715986d0dbaSyronglin // CHECK-NEXT: "col": 6, 716986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 717986d0dbaSyronglin // CHECK-NEXT: }, 718986d0dbaSyronglin // CHECK-NEXT: "end": { 719986d0dbaSyronglin // CHECK-NEXT: "offset": 179, 720986d0dbaSyronglin // CHECK-NEXT: "col": 7, 721986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 722986d0dbaSyronglin // CHECK-NEXT: } 723986d0dbaSyronglin // CHECK-NEXT: }, 724986d0dbaSyronglin // CHECK-NEXT: "type": { 725986d0dbaSyronglin // CHECK-NEXT: "qualType": "B" 726986d0dbaSyronglin // CHECK-NEXT: }, 727986d0dbaSyronglin // CHECK-NEXT: "valueCategory": "prvalue", 728986d0dbaSyronglin // CHECK-NEXT: "inner": [ 729986d0dbaSyronglin // CHECK-NEXT: { 730986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 731986d0dbaSyronglin // CHECK-NEXT: "kind": "CXXDefaultInitExpr", 732986d0dbaSyronglin // CHECK-NEXT: "range": { 733986d0dbaSyronglin // CHECK-NEXT: "begin": { 734986d0dbaSyronglin // CHECK-NEXT: "offset": 179, 735986d0dbaSyronglin // CHECK-NEXT: "col": 7, 736986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 737986d0dbaSyronglin // CHECK-NEXT: }, 738986d0dbaSyronglin // CHECK-NEXT: "end": { 739986d0dbaSyronglin // CHECK-NEXT: "offset": 179, 740986d0dbaSyronglin // CHECK-NEXT: "col": 7, 741986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 742986d0dbaSyronglin // CHECK-NEXT: } 743986d0dbaSyronglin // CHECK-NEXT: }, 744986d0dbaSyronglin // CHECK-NEXT: "type": { 745986d0dbaSyronglin // CHECK-NEXT: "qualType": "const A" 746986d0dbaSyronglin // CHECK-NEXT: }, 747986d0dbaSyronglin // CHECK-NEXT: "valueCategory": "lvalue", 748986d0dbaSyronglin // CHECK-NEXT: "hasRewrittenInit": true, 749986d0dbaSyronglin // CHECK-NEXT: "inner": [ 750986d0dbaSyronglin // CHECK-NEXT: { 751986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 752986d0dbaSyronglin // CHECK-NEXT: "kind": "ExprWithCleanups", 753986d0dbaSyronglin // CHECK-NEXT: "range": { 754986d0dbaSyronglin // CHECK-NEXT: "begin": { 755986d0dbaSyronglin // CHECK-NEXT: "offset": 147, 756986d0dbaSyronglin // CHECK-NEXT: "line": 8, 757986d0dbaSyronglin // CHECK-NEXT: "col": 16, 758986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 759986d0dbaSyronglin // CHECK-NEXT: }, 760986d0dbaSyronglin // CHECK-NEXT: "end": { 761986d0dbaSyronglin // CHECK-NEXT: "offset": 152, 762986d0dbaSyronglin // CHECK-NEXT: "col": 21, 763986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 764986d0dbaSyronglin // CHECK-NEXT: } 765986d0dbaSyronglin // CHECK-NEXT: }, 766986d0dbaSyronglin // CHECK-NEXT: "type": { 767986d0dbaSyronglin // CHECK-NEXT: "qualType": "const A" 768986d0dbaSyronglin // CHECK-NEXT: }, 769986d0dbaSyronglin // CHECK-NEXT: "valueCategory": "lvalue", 770986d0dbaSyronglin // CHECK-NEXT: "inner": [ 771986d0dbaSyronglin // CHECK-NEXT: { 772986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 773986d0dbaSyronglin // CHECK-NEXT: "kind": "MaterializeTemporaryExpr", 774986d0dbaSyronglin // CHECK-NEXT: "range": { 775986d0dbaSyronglin // CHECK-NEXT: "begin": { 776986d0dbaSyronglin // CHECK-NEXT: "offset": 147, 777986d0dbaSyronglin // CHECK-NEXT: "col": 16, 778986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 779986d0dbaSyronglin // CHECK-NEXT: }, 780986d0dbaSyronglin // CHECK-NEXT: "end": { 781986d0dbaSyronglin // CHECK-NEXT: "offset": 152, 782986d0dbaSyronglin // CHECK-NEXT: "col": 21, 783986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 784986d0dbaSyronglin // CHECK-NEXT: } 785986d0dbaSyronglin // CHECK-NEXT: }, 786986d0dbaSyronglin // CHECK-NEXT: "type": { 787986d0dbaSyronglin // CHECK-NEXT: "qualType": "const A" 788986d0dbaSyronglin // CHECK-NEXT: }, 789986d0dbaSyronglin // CHECK-NEXT: "valueCategory": "lvalue", 790986d0dbaSyronglin // CHECK-NEXT: "extendingDecl": { 791986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 792*06013703Syronglin // CHECK-NEXT: "kind": "VarDecl", 793*06013703Syronglin // CHECK-NEXT: "name": "b", 794986d0dbaSyronglin // CHECK-NEXT: "type": { 795*06013703Syronglin // CHECK-NEXT: "qualType": "B" 796986d0dbaSyronglin // CHECK-NEXT: } 797986d0dbaSyronglin // CHECK-NEXT: }, 798986d0dbaSyronglin // CHECK-NEXT: "storageDuration": "automatic", 799986d0dbaSyronglin // CHECK-NEXT: "boundToLValueRef": true, 800986d0dbaSyronglin // CHECK-NEXT: "inner": [ 801986d0dbaSyronglin // CHECK-NEXT: { 802986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 803986d0dbaSyronglin // CHECK-NEXT: "kind": "ImplicitCastExpr", 804986d0dbaSyronglin // CHECK-NEXT: "range": { 805986d0dbaSyronglin // CHECK-NEXT: "begin": { 806986d0dbaSyronglin // CHECK-NEXT: "offset": 147, 807986d0dbaSyronglin // CHECK-NEXT: "col": 16, 808986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 809986d0dbaSyronglin // CHECK-NEXT: }, 810986d0dbaSyronglin // CHECK-NEXT: "end": { 811986d0dbaSyronglin // CHECK-NEXT: "offset": 152, 812986d0dbaSyronglin // CHECK-NEXT: "col": 21, 813986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 814986d0dbaSyronglin // CHECK-NEXT: } 815986d0dbaSyronglin // CHECK-NEXT: }, 816986d0dbaSyronglin // CHECK-NEXT: "type": { 817986d0dbaSyronglin // CHECK-NEXT: "qualType": "const A" 818986d0dbaSyronglin // CHECK-NEXT: }, 819986d0dbaSyronglin // CHECK-NEXT: "valueCategory": "prvalue", 820986d0dbaSyronglin // CHECK-NEXT: "castKind": "NoOp", 821986d0dbaSyronglin // CHECK-NEXT: "inner": [ 822986d0dbaSyronglin // CHECK-NEXT: { 823986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 824986d0dbaSyronglin // CHECK-NEXT: "kind": "CXXFunctionalCastExpr", 825986d0dbaSyronglin // CHECK-NEXT: "range": { 826986d0dbaSyronglin // CHECK-NEXT: "begin": { 827986d0dbaSyronglin // CHECK-NEXT: "offset": 147, 828986d0dbaSyronglin // CHECK-NEXT: "col": 16, 829986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 830986d0dbaSyronglin // CHECK-NEXT: }, 831986d0dbaSyronglin // CHECK-NEXT: "end": { 832986d0dbaSyronglin // CHECK-NEXT: "offset": 152, 833986d0dbaSyronglin // CHECK-NEXT: "col": 21, 834986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 835986d0dbaSyronglin // CHECK-NEXT: } 836986d0dbaSyronglin // CHECK-NEXT: }, 837986d0dbaSyronglin // CHECK-NEXT: "type": { 838986d0dbaSyronglin // CHECK-NEXT: "qualType": "A" 839986d0dbaSyronglin // CHECK-NEXT: }, 840986d0dbaSyronglin // CHECK-NEXT: "valueCategory": "prvalue", 841986d0dbaSyronglin // CHECK-NEXT: "castKind": "NoOp", 842986d0dbaSyronglin // CHECK-NEXT: "inner": [ 843986d0dbaSyronglin // CHECK-NEXT: { 844986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 845986d0dbaSyronglin // CHECK-NEXT: "kind": "InitListExpr", 846986d0dbaSyronglin // CHECK-NEXT: "range": { 847986d0dbaSyronglin // CHECK-NEXT: "begin": { 848986d0dbaSyronglin // CHECK-NEXT: "offset": 148, 849986d0dbaSyronglin // CHECK-NEXT: "col": 17, 850986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 851986d0dbaSyronglin // CHECK-NEXT: }, 852986d0dbaSyronglin // CHECK-NEXT: "end": { 853986d0dbaSyronglin // CHECK-NEXT: "offset": 152, 854986d0dbaSyronglin // CHECK-NEXT: "col": 21, 855986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 856986d0dbaSyronglin // CHECK-NEXT: } 857986d0dbaSyronglin // CHECK-NEXT: }, 858986d0dbaSyronglin // CHECK-NEXT: "type": { 859986d0dbaSyronglin // CHECK-NEXT: "qualType": "A" 860986d0dbaSyronglin // CHECK-NEXT: }, 861986d0dbaSyronglin // CHECK-NEXT: "valueCategory": "prvalue", 862986d0dbaSyronglin // CHECK-NEXT: "inner": [ 863986d0dbaSyronglin // CHECK-NEXT: { 864986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 865986d0dbaSyronglin // CHECK-NEXT: "kind": "InitListExpr", 866986d0dbaSyronglin // CHECK-NEXT: "range": { 867986d0dbaSyronglin // CHECK-NEXT: "begin": { 868986d0dbaSyronglin // CHECK-NEXT: "offset": 149, 869986d0dbaSyronglin // CHECK-NEXT: "col": 18, 870986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 871986d0dbaSyronglin // CHECK-NEXT: }, 872986d0dbaSyronglin // CHECK-NEXT: "end": { 873986d0dbaSyronglin // CHECK-NEXT: "offset": 151, 874986d0dbaSyronglin // CHECK-NEXT: "col": 20, 875986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 876986d0dbaSyronglin // CHECK-NEXT: } 877986d0dbaSyronglin // CHECK-NEXT: }, 878986d0dbaSyronglin // CHECK-NEXT: "type": { 879986d0dbaSyronglin // CHECK-NEXT: "qualType": "int[1]" 880986d0dbaSyronglin // CHECK-NEXT: }, 881986d0dbaSyronglin // CHECK-NEXT: "valueCategory": "prvalue", 882986d0dbaSyronglin // CHECK-NEXT: "inner": [ 883986d0dbaSyronglin // CHECK-NEXT: { 884986d0dbaSyronglin // CHECK-NEXT: "id": "0x{{.*}}", 885986d0dbaSyronglin // CHECK-NEXT: "kind": "IntegerLiteral", 886986d0dbaSyronglin // CHECK-NEXT: "range": { 887986d0dbaSyronglin // CHECK-NEXT: "begin": { 888986d0dbaSyronglin // CHECK-NEXT: "offset": 150, 889986d0dbaSyronglin // CHECK-NEXT: "col": 19, 890986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 891986d0dbaSyronglin // CHECK-NEXT: }, 892986d0dbaSyronglin // CHECK-NEXT: "end": { 893986d0dbaSyronglin // CHECK-NEXT: "offset": 150, 894986d0dbaSyronglin // CHECK-NEXT: "col": 19, 895986d0dbaSyronglin // CHECK-NEXT: "tokLen": 1 896986d0dbaSyronglin // CHECK-NEXT: } 897986d0dbaSyronglin // CHECK-NEXT: }, 898986d0dbaSyronglin // CHECK-NEXT: "type": { 899986d0dbaSyronglin // CHECK-NEXT: "qualType": "int" 900986d0dbaSyronglin // CHECK-NEXT: }, 901986d0dbaSyronglin // CHECK-NEXT: "valueCategory": "prvalue", 902986d0dbaSyronglin // CHECK-NEXT: "value": "0" 903986d0dbaSyronglin // CHECK-NEXT: } 904986d0dbaSyronglin // CHECK-NEXT: ] 905986d0dbaSyronglin // CHECK-NEXT: } 906986d0dbaSyronglin // CHECK-NEXT: ] 907986d0dbaSyronglin // CHECK-NEXT: } 908986d0dbaSyronglin // CHECK-NEXT: ] 909986d0dbaSyronglin // CHECK-NEXT: } 910986d0dbaSyronglin // CHECK-NEXT: ] 911986d0dbaSyronglin // CHECK-NEXT: } 912986d0dbaSyronglin // CHECK-NEXT: ] 913986d0dbaSyronglin // CHECK-NEXT: } 914986d0dbaSyronglin // CHECK-NEXT: ] 915986d0dbaSyronglin // CHECK-NEXT: } 916986d0dbaSyronglin // CHECK-NEXT: ] 917986d0dbaSyronglin // CHECK-NEXT: } 918986d0dbaSyronglin // CHECK-NEXT: ] 919986d0dbaSyronglin // CHECK-NEXT: } 920986d0dbaSyronglin // CHECK-NEXT: ] 921986d0dbaSyronglin // CHECK-NEXT: } 922986d0dbaSyronglin // CHECK-NEXT: ] 923986d0dbaSyronglin // CHECK-NEXT: } 924986d0dbaSyronglin // CHECK-NEXT: ] 925986d0dbaSyronglin // CHECK-NEXT: } 926986d0dbaSyronglin // CHECK-NEXT: ] 927986d0dbaSyronglin // CHECK-NEXT: } 928986d0dbaSyronglin // CHECK-NEXT: ] 929986d0dbaSyronglin // CHECK-NEXT: } 930