1; Test that the native PDB reader can enumerate the enum types. The output 2; being checked against is golden output generated by llvm-pdbutil without 3; the -native flag. Then we check that we generate the same output. 4; Unfortunately since we generate a slightly different (albeit correct) 5; class / parent hierarchy, if you re-generate this file you will need to 6; actually use the output from llvm-pdbutil *with* the -native flag, but 7; before "blessing" it, manually diff against the golden output from 8; llvm-pdbutil without the -native flag and verifying that there are no 9; substantive differences aside from the various symbol ids. 10 11; RUN: llvm-pdbutil pretty -native -enums %p/../Inputs/every-enum.pdb \ 12; RUN: | FileCheck -check-prefix=ENUMS %s 13; RUN: llvm-pdbutil diadump -hierarchy -native -enums %p/../Inputs/every-enum.pdb \ 14; RUN: | FileCheck -check-prefix=DUMP %s 15 16 17ENUMS: enum I8 : char { 18ENUMS: I8A = -128 19ENUMS: I8B = 0 20ENUMS: I8C = 127 21ENUMS: } 22ENUMS: enum I16 : short { 23ENUMS: I16A = -32768 24ENUMS: I16B = 0 25ENUMS: I16C = 32767 26ENUMS: } 27ENUMS: enum I32 { 28ENUMS: I32A = -2147483648 29ENUMS: I32B = 0 30ENUMS: I32C = 2147483647 31ENUMS: } 32ENUMS: enum I64 : __int64 { 33ENUMS: I64A = -9223372036854775808 34ENUMS: I64B = 0 35ENUMS: I64C = 9223372036854775807 36ENUMS: } 37ENUMS: enum U8 : unsigned char { 38ENUMS: U8A = 0 39ENUMS: U8B = 255 40ENUMS: } 41ENUMS: enum U16 : unsigned short { 42ENUMS: U16A = 0 43ENUMS: U16B = 65535 44ENUMS: } 45ENUMS: enum U32 : unsigned int { 46ENUMS: U32A = 0 47ENUMS: U32B = 4294967295 48ENUMS: } 49ENUMS: enum U64 : unsigned __int64 { 50ENUMS: U64A = 0 51; FIXME: This should be UINT64_MAX. Is the compiler encoding it wrong or 52; are we decoding it wrong? 53ENUMS: U64B = 255 54ENUMS: } 55ENUMS: enum Char16 : unsigned short { 56ENUMS: C16A = 97 57ENUMS: C16B = 98 58ENUMS: } 59ENUMS: enum Char32 : unsigned int { 60ENUMS: C32A = 97 61ENUMS: C32B = 98 62ENUMS: } 63ENUMS: enum WChar : unsigned short { 64ENUMS: WCA = 97 65ENUMS: WCB = 98 66ENUMS: } 67ENUMS: enum Bool : bool { 68ENUMS: BA = true 69ENUMS: BB = false 70ENUMS: } 71ENUMS: enum EC { 72ENUMS: A = 1 73ENUMS: B = 2 74ENUMS: } 75ENUMS: enum Struct::Nested { 76ENUMS: A = 1 77ENUMS: B = 2 78ENUMS: } 79ENUMS: const volatile enum EC 80 81 82DUMP: { 83DUMP: symIndexId: 2 84DUMP: symTag: Enum 85DUMP: baseType: 2 86DUMP: lexicalParentId: 0 87DUMP: name: I8 88DUMP: typeId: 3 89DUMP: length: 1 90DUMP: constructor: 0 91DUMP: constType: 0 92DUMP: hasAssignmentOperator: 0 93DUMP: hasCastOperator: 0 94DUMP: hasNestedTypes: 0 95DUMP: overloadedOperator: 0 96DUMP: isInterfaceUdt: 0 97DUMP: intrinsic: 0 98DUMP: nested: 0 99DUMP: packed: 0 100DUMP: isRefUdt: 0 101DUMP: scoped: 0 102DUMP: unalignedType: 0 103DUMP: isValueUdt: 0 104DUMP: volatileType: 0 105DUMP: { 106DUMP: symIndexId: 4 107DUMP: symTag: Data 108DUMP: classParentId: 2 109DUMP: lexicalParentId: 0 110DUMP: name: I8A 111DUMP: typeId: 3 112DUMP: dataKind: const 113DUMP: locationType: constant 114DUMP: constType: 0 115DUMP: unalignedType: 0 116DUMP: volatileType: 0 117DUMP: value: -128 118DUMP: } 119DUMP: { 120DUMP: symIndexId: 5 121DUMP: symTag: Data 122DUMP: classParentId: 2 123DUMP: lexicalParentId: 0 124DUMP: name: I8B 125DUMP: typeId: 3 126DUMP: dataKind: const 127DUMP: locationType: constant 128DUMP: constType: 0 129DUMP: unalignedType: 0 130DUMP: volatileType: 0 131DUMP: value: 0 132DUMP: } 133DUMP: { 134DUMP: symIndexId: 6 135DUMP: symTag: Data 136DUMP: classParentId: 2 137DUMP: lexicalParentId: 0 138DUMP: name: I8C 139DUMP: typeId: 3 140DUMP: dataKind: const 141DUMP: locationType: constant 142DUMP: constType: 0 143DUMP: unalignedType: 0 144DUMP: volatileType: 0 145DUMP: value: 127 146DUMP: } 147DUMP: } 148DUMP: { 149DUMP: symIndexId: 7 150DUMP: symTag: Enum 151DUMP: baseType: 6 152DUMP: lexicalParentId: 0 153DUMP: name: I16 154DUMP: typeId: 8 155DUMP: length: 2 156DUMP: constructor: 0 157DUMP: constType: 0 158DUMP: hasAssignmentOperator: 0 159DUMP: hasCastOperator: 0 160DUMP: hasNestedTypes: 0 161DUMP: overloadedOperator: 0 162DUMP: isInterfaceUdt: 0 163DUMP: intrinsic: 0 164DUMP: nested: 0 165DUMP: packed: 0 166DUMP: isRefUdt: 0 167DUMP: scoped: 0 168DUMP: unalignedType: 0 169DUMP: isValueUdt: 0 170DUMP: volatileType: 0 171DUMP: { 172DUMP: symIndexId: 9 173DUMP: symTag: Data 174DUMP: classParentId: 7 175DUMP: lexicalParentId: 0 176DUMP: name: I16A 177DUMP: typeId: 8 178DUMP: dataKind: const 179DUMP: locationType: constant 180DUMP: constType: 0 181DUMP: unalignedType: 0 182DUMP: volatileType: 0 183DUMP: value: -32768 184DUMP: } 185DUMP: { 186DUMP: symIndexId: 10 187DUMP: symTag: Data 188DUMP: classParentId: 7 189DUMP: lexicalParentId: 0 190DUMP: name: I16B 191DUMP: typeId: 8 192DUMP: dataKind: const 193DUMP: locationType: constant 194DUMP: constType: 0 195DUMP: unalignedType: 0 196DUMP: volatileType: 0 197DUMP: value: 0 198DUMP: } 199DUMP: { 200DUMP: symIndexId: 11 201DUMP: symTag: Data 202DUMP: classParentId: 7 203DUMP: lexicalParentId: 0 204DUMP: name: I16C 205DUMP: typeId: 8 206DUMP: dataKind: const 207DUMP: locationType: constant 208DUMP: constType: 0 209DUMP: unalignedType: 0 210DUMP: volatileType: 0 211DUMP: value: 32767 212DUMP: } 213DUMP: } 214DUMP: { 215DUMP: symIndexId: 12 216DUMP: symTag: Enum 217DUMP: baseType: 6 218DUMP: lexicalParentId: 0 219DUMP: name: I32 220DUMP: typeId: 13 221DUMP: length: 4 222DUMP: constructor: 0 223DUMP: constType: 0 224DUMP: hasAssignmentOperator: 0 225DUMP: hasCastOperator: 0 226DUMP: hasNestedTypes: 0 227DUMP: overloadedOperator: 0 228DUMP: isInterfaceUdt: 0 229DUMP: intrinsic: 0 230DUMP: nested: 0 231DUMP: packed: 0 232DUMP: isRefUdt: 0 233DUMP: scoped: 0 234DUMP: unalignedType: 0 235DUMP: isValueUdt: 0 236DUMP: volatileType: 0 237DUMP: { 238DUMP: symIndexId: 14 239DUMP: symTag: Data 240DUMP: classParentId: 12 241DUMP: lexicalParentId: 0 242DUMP: name: I32A 243DUMP: typeId: 13 244DUMP: dataKind: const 245DUMP: locationType: constant 246DUMP: constType: 0 247DUMP: unalignedType: 0 248DUMP: volatileType: 0 249DUMP: value: -2147483648 250DUMP: } 251DUMP: { 252DUMP: symIndexId: 15 253DUMP: symTag: Data 254DUMP: classParentId: 12 255DUMP: lexicalParentId: 0 256DUMP: name: I32B 257DUMP: typeId: 13 258DUMP: dataKind: const 259DUMP: locationType: constant 260DUMP: constType: 0 261DUMP: unalignedType: 0 262DUMP: volatileType: 0 263DUMP: value: 0 264DUMP: } 265DUMP: { 266DUMP: symIndexId: 16 267DUMP: symTag: Data 268DUMP: classParentId: 12 269DUMP: lexicalParentId: 0 270DUMP: name: I32C 271DUMP: typeId: 13 272DUMP: dataKind: const 273DUMP: locationType: constant 274DUMP: constType: 0 275DUMP: unalignedType: 0 276DUMP: volatileType: 0 277DUMP: value: 2147483647 278DUMP: } 279DUMP: } 280DUMP: { 281DUMP: symIndexId: 17 282DUMP: symTag: Enum 283DUMP: baseType: 6 284DUMP: lexicalParentId: 0 285DUMP: name: I64 286DUMP: typeId: 18 287DUMP: length: 8 288DUMP: constructor: 0 289DUMP: constType: 0 290DUMP: hasAssignmentOperator: 0 291DUMP: hasCastOperator: 0 292DUMP: hasNestedTypes: 0 293DUMP: overloadedOperator: 0 294DUMP: isInterfaceUdt: 0 295DUMP: intrinsic: 0 296DUMP: nested: 0 297DUMP: packed: 0 298DUMP: isRefUdt: 0 299DUMP: scoped: 0 300DUMP: unalignedType: 0 301DUMP: isValueUdt: 0 302DUMP: volatileType: 0 303DUMP: { 304DUMP: symIndexId: 19 305DUMP: symTag: Data 306DUMP: classParentId: 17 307DUMP: lexicalParentId: 0 308DUMP: name: I64A 309DUMP: typeId: 18 310DUMP: dataKind: const 311DUMP: locationType: constant 312DUMP: constType: 0 313DUMP: unalignedType: 0 314DUMP: volatileType: 0 315DUMP: value: -9223372036854775808 316DUMP: } 317DUMP: { 318DUMP: symIndexId: 20 319DUMP: symTag: Data 320DUMP: classParentId: 17 321DUMP: lexicalParentId: 0 322DUMP: name: I64B 323DUMP: typeId: 18 324DUMP: dataKind: const 325DUMP: locationType: constant 326DUMP: constType: 0 327DUMP: unalignedType: 0 328DUMP: volatileType: 0 329DUMP: value: 0 330DUMP: } 331DUMP: { 332DUMP: symIndexId: 21 333DUMP: symTag: Data 334DUMP: classParentId: 17 335DUMP: lexicalParentId: 0 336DUMP: name: I64C 337DUMP: typeId: 18 338DUMP: dataKind: const 339DUMP: locationType: constant 340DUMP: constType: 0 341DUMP: unalignedType: 0 342DUMP: volatileType: 0 343DUMP: value: 9223372036854775807 344DUMP: } 345DUMP: } 346DUMP: { 347DUMP: symIndexId: 22 348DUMP: symTag: Enum 349DUMP: baseType: 2 350DUMP: lexicalParentId: 0 351DUMP: name: U8 352DUMP: typeId: 23 353DUMP: length: 1 354DUMP: constructor: 0 355DUMP: constType: 0 356DUMP: hasAssignmentOperator: 0 357DUMP: hasCastOperator: 0 358DUMP: hasNestedTypes: 0 359DUMP: overloadedOperator: 0 360DUMP: isInterfaceUdt: 0 361DUMP: intrinsic: 0 362DUMP: nested: 0 363DUMP: packed: 0 364DUMP: isRefUdt: 0 365DUMP: scoped: 0 366DUMP: unalignedType: 0 367DUMP: isValueUdt: 0 368DUMP: volatileType: 0 369DUMP: { 370DUMP: symIndexId: 24 371DUMP: symTag: Data 372DUMP: classParentId: 22 373DUMP: lexicalParentId: 0 374DUMP: name: U8A 375DUMP: typeId: 23 376DUMP: dataKind: const 377DUMP: locationType: constant 378DUMP: constType: 0 379DUMP: unalignedType: 0 380DUMP: volatileType: 0 381DUMP: value: 0 382DUMP: } 383DUMP: { 384DUMP: symIndexId: 25 385DUMP: symTag: Data 386DUMP: classParentId: 22 387DUMP: lexicalParentId: 0 388DUMP: name: U8B 389DUMP: typeId: 23 390DUMP: dataKind: const 391DUMP: locationType: constant 392DUMP: constType: 0 393DUMP: unalignedType: 0 394DUMP: volatileType: 0 395DUMP: value: 255 396DUMP: } 397DUMP: } 398DUMP: { 399DUMP: symIndexId: 26 400DUMP: symTag: Enum 401DUMP: baseType: 7 402DUMP: lexicalParentId: 0 403DUMP: name: U16 404DUMP: typeId: 27 405DUMP: length: 2 406DUMP: constructor: 0 407DUMP: constType: 0 408DUMP: hasAssignmentOperator: 0 409DUMP: hasCastOperator: 0 410DUMP: hasNestedTypes: 0 411DUMP: overloadedOperator: 0 412DUMP: isInterfaceUdt: 0 413DUMP: intrinsic: 0 414DUMP: nested: 0 415DUMP: packed: 0 416DUMP: isRefUdt: 0 417DUMP: scoped: 0 418DUMP: unalignedType: 0 419DUMP: isValueUdt: 0 420DUMP: volatileType: 0 421DUMP: { 422DUMP: symIndexId: 28 423DUMP: symTag: Data 424DUMP: classParentId: 26 425DUMP: lexicalParentId: 0 426DUMP: name: U16A 427DUMP: typeId: 27 428DUMP: dataKind: const 429DUMP: locationType: constant 430DUMP: constType: 0 431DUMP: unalignedType: 0 432DUMP: volatileType: 0 433DUMP: value: 0 434DUMP: } 435DUMP: { 436DUMP: symIndexId: 29 437DUMP: symTag: Data 438DUMP: classParentId: 26 439DUMP: lexicalParentId: 0 440DUMP: name: U16B 441DUMP: typeId: 27 442DUMP: dataKind: const 443DUMP: locationType: constant 444DUMP: constType: 0 445DUMP: unalignedType: 0 446DUMP: volatileType: 0 447DUMP: value: 65535 448DUMP: } 449DUMP: } 450DUMP: { 451DUMP: symIndexId: 30 452DUMP: symTag: Enum 453DUMP: baseType: 7 454DUMP: lexicalParentId: 0 455DUMP: name: U32 456DUMP: typeId: 31 457DUMP: length: 4 458DUMP: constructor: 0 459DUMP: constType: 0 460DUMP: hasAssignmentOperator: 0 461DUMP: hasCastOperator: 0 462DUMP: hasNestedTypes: 0 463DUMP: overloadedOperator: 0 464DUMP: isInterfaceUdt: 0 465DUMP: intrinsic: 0 466DUMP: nested: 0 467DUMP: packed: 0 468DUMP: isRefUdt: 0 469DUMP: scoped: 0 470DUMP: unalignedType: 0 471DUMP: isValueUdt: 0 472DUMP: volatileType: 0 473DUMP: { 474DUMP: symIndexId: 32 475DUMP: symTag: Data 476DUMP: classParentId: 30 477DUMP: lexicalParentId: 0 478DUMP: name: U32A 479DUMP: typeId: 31 480DUMP: dataKind: const 481DUMP: locationType: constant 482DUMP: constType: 0 483DUMP: unalignedType: 0 484DUMP: volatileType: 0 485DUMP: value: 0 486DUMP: } 487DUMP: { 488DUMP: symIndexId: 33 489DUMP: symTag: Data 490DUMP: classParentId: 30 491DUMP: lexicalParentId: 0 492DUMP: name: U32B 493DUMP: typeId: 31 494DUMP: dataKind: const 495DUMP: locationType: constant 496DUMP: constType: 0 497DUMP: unalignedType: 0 498DUMP: volatileType: 0 499DUMP: value: 4294967295 500DUMP: } 501DUMP: } 502DUMP: { 503DUMP: symIndexId: 34 504DUMP: symTag: Enum 505DUMP: baseType: 7 506DUMP: lexicalParentId: 0 507DUMP: name: U64 508DUMP: typeId: 35 509DUMP: length: 8 510DUMP: constructor: 0 511DUMP: constType: 0 512DUMP: hasAssignmentOperator: 0 513DUMP: hasCastOperator: 0 514DUMP: hasNestedTypes: 0 515DUMP: overloadedOperator: 0 516DUMP: isInterfaceUdt: 0 517DUMP: intrinsic: 0 518DUMP: nested: 0 519DUMP: packed: 0 520DUMP: isRefUdt: 0 521DUMP: scoped: 0 522DUMP: unalignedType: 0 523DUMP: isValueUdt: 0 524DUMP: volatileType: 0 525DUMP: { 526DUMP: symIndexId: 36 527DUMP: symTag: Data 528DUMP: classParentId: 34 529DUMP: lexicalParentId: 0 530DUMP: name: U64A 531DUMP: typeId: 35 532DUMP: dataKind: const 533DUMP: locationType: constant 534DUMP: constType: 0 535DUMP: unalignedType: 0 536DUMP: volatileType: 0 537DUMP: value: 0 538DUMP: } 539DUMP: { 540DUMP: symIndexId: 37 541DUMP: symTag: Data 542DUMP: classParentId: 34 543DUMP: lexicalParentId: 0 544DUMP: name: U64B 545DUMP: typeId: 35 546DUMP: dataKind: const 547DUMP: locationType: constant 548DUMP: constType: 0 549DUMP: unalignedType: 0 550DUMP: volatileType: 0 551DUMP: value: 255 552DUMP: } 553DUMP: } 554DUMP: { 555DUMP: symIndexId: 38 556DUMP: symTag: Enum 557DUMP: baseType: 7 558DUMP: lexicalParentId: 0 559DUMP: name: Char16 560DUMP: typeId: 27 561DUMP: length: 2 562DUMP: constructor: 0 563DUMP: constType: 0 564DUMP: hasAssignmentOperator: 0 565DUMP: hasCastOperator: 0 566DUMP: hasNestedTypes: 0 567DUMP: overloadedOperator: 0 568DUMP: isInterfaceUdt: 0 569DUMP: intrinsic: 0 570DUMP: nested: 0 571DUMP: packed: 0 572DUMP: isRefUdt: 0 573DUMP: scoped: 0 574DUMP: unalignedType: 0 575DUMP: isValueUdt: 0 576DUMP: volatileType: 0 577DUMP: { 578DUMP: symIndexId: 39 579DUMP: symTag: Data 580DUMP: classParentId: 38 581DUMP: lexicalParentId: 0 582DUMP: name: C16A 583DUMP: typeId: 27 584DUMP: dataKind: const 585DUMP: locationType: constant 586DUMP: constType: 0 587DUMP: unalignedType: 0 588DUMP: volatileType: 0 589DUMP: value: 97 590DUMP: } 591DUMP: { 592DUMP: symIndexId: 40 593DUMP: symTag: Data 594DUMP: classParentId: 38 595DUMP: lexicalParentId: 0 596DUMP: name: C16B 597DUMP: typeId: 27 598DUMP: dataKind: const 599DUMP: locationType: constant 600DUMP: constType: 0 601DUMP: unalignedType: 0 602DUMP: volatileType: 0 603DUMP: value: 98 604DUMP: } 605DUMP: } 606DUMP: { 607DUMP: symIndexId: 41 608DUMP: symTag: Enum 609DUMP: baseType: 7 610DUMP: lexicalParentId: 0 611DUMP: name: Char32 612DUMP: typeId: 42 613DUMP: length: 4 614DUMP: constructor: 0 615DUMP: constType: 0 616DUMP: hasAssignmentOperator: 0 617DUMP: hasCastOperator: 0 618DUMP: hasNestedTypes: 0 619DUMP: overloadedOperator: 0 620DUMP: isInterfaceUdt: 0 621DUMP: intrinsic: 0 622DUMP: nested: 0 623DUMP: packed: 0 624DUMP: isRefUdt: 0 625DUMP: scoped: 0 626DUMP: unalignedType: 0 627DUMP: isValueUdt: 0 628DUMP: volatileType: 0 629DUMP: { 630DUMP: symIndexId: 43 631DUMP: symTag: Data 632DUMP: classParentId: 41 633DUMP: lexicalParentId: 0 634DUMP: name: C32A 635DUMP: typeId: 42 636DUMP: dataKind: const 637DUMP: locationType: constant 638DUMP: constType: 0 639DUMP: unalignedType: 0 640DUMP: volatileType: 0 641DUMP: value: 97 642DUMP: } 643DUMP: { 644DUMP: symIndexId: 44 645DUMP: symTag: Data 646DUMP: classParentId: 41 647DUMP: lexicalParentId: 0 648DUMP: name: C32B 649DUMP: typeId: 42 650DUMP: dataKind: const 651DUMP: locationType: constant 652DUMP: constType: 0 653DUMP: unalignedType: 0 654DUMP: volatileType: 0 655DUMP: value: 98 656DUMP: } 657DUMP: } 658DUMP: { 659DUMP: symIndexId: 45 660DUMP: symTag: Enum 661DUMP: baseType: 7 662DUMP: lexicalParentId: 0 663DUMP: name: WChar 664DUMP: typeId: 27 665DUMP: length: 2 666DUMP: constructor: 0 667DUMP: constType: 0 668DUMP: hasAssignmentOperator: 0 669DUMP: hasCastOperator: 0 670DUMP: hasNestedTypes: 0 671DUMP: overloadedOperator: 0 672DUMP: isInterfaceUdt: 0 673DUMP: intrinsic: 0 674DUMP: nested: 0 675DUMP: packed: 0 676DUMP: isRefUdt: 0 677DUMP: scoped: 0 678DUMP: unalignedType: 0 679DUMP: isValueUdt: 0 680DUMP: volatileType: 0 681DUMP: { 682DUMP: symIndexId: 46 683DUMP: symTag: Data 684DUMP: classParentId: 45 685DUMP: lexicalParentId: 0 686DUMP: name: WCA 687DUMP: typeId: 27 688DUMP: dataKind: const 689DUMP: locationType: constant 690DUMP: constType: 0 691DUMP: unalignedType: 0 692DUMP: volatileType: 0 693DUMP: value: 97 694DUMP: } 695DUMP: { 696DUMP: symIndexId: 47 697DUMP: symTag: Data 698DUMP: classParentId: 45 699DUMP: lexicalParentId: 0 700DUMP: name: WCB 701DUMP: typeId: 27 702DUMP: dataKind: const 703DUMP: locationType: constant 704DUMP: constType: 0 705DUMP: unalignedType: 0 706DUMP: volatileType: 0 707DUMP: value: 98 708DUMP: } 709DUMP: } 710DUMP: { 711DUMP: symIndexId: 48 712DUMP: symTag: Enum 713DUMP: baseType: 10 714DUMP: lexicalParentId: 0 715DUMP: name: Bool 716DUMP: typeId: 49 717DUMP: length: 1 718DUMP: constructor: 0 719DUMP: constType: 0 720DUMP: hasAssignmentOperator: 0 721DUMP: hasCastOperator: 0 722DUMP: hasNestedTypes: 0 723DUMP: overloadedOperator: 0 724DUMP: isInterfaceUdt: 0 725DUMP: intrinsic: 0 726DUMP: nested: 0 727DUMP: packed: 0 728DUMP: isRefUdt: 0 729DUMP: scoped: 0 730DUMP: unalignedType: 0 731DUMP: isValueUdt: 0 732DUMP: volatileType: 0 733DUMP: { 734DUMP: symIndexId: 50 735DUMP: symTag: Data 736DUMP: classParentId: 48 737DUMP: lexicalParentId: 0 738DUMP: name: BA 739DUMP: typeId: 49 740DUMP: dataKind: const 741DUMP: locationType: constant 742DUMP: constType: 0 743DUMP: unalignedType: 0 744DUMP: volatileType: 0 745DUMP: value: true 746DUMP: } 747DUMP: { 748DUMP: symIndexId: 51 749DUMP: symTag: Data 750DUMP: classParentId: 48 751DUMP: lexicalParentId: 0 752DUMP: name: BB 753DUMP: typeId: 49 754DUMP: dataKind: const 755DUMP: locationType: constant 756DUMP: constType: 0 757DUMP: unalignedType: 0 758DUMP: volatileType: 0 759DUMP: value: false 760DUMP: } 761DUMP: { 762DUMP: symIndexId: 113 763DUMP: symTag: Enum 764DUMP: baseType: 6 765DUMP: lexicalParentId: 0 766DUMP: name: EC 767DUMP: typeId: 13 768DUMP: length: 4 769DUMP: constructor: 0 770DUMP: constType: 0 771DUMP: hasAssignmentOperator: 0 772DUMP: hasCastOperator: 0 773DUMP: hasNestedTypes: 0 774DUMP: overloadedOperator: 0 775DUMP: isInterfaceUdt: 0 776DUMP: intrinsic: 0 777DUMP: nested: 0 778DUMP: packed: 0 779DUMP: isRefUdt: 0 780DUMP: scoped: 0 781DUMP: unalignedType: 0 782DUMP: isValueUdt: 0 783DUMP: volatileType: 0 784DUMP: { 785DUMP: symIndexId: 114 786DUMP: symTag: Data 787DUMP: classParentId: 113 788DUMP: lexicalParentId: 0 789DUMP: name: A 790DUMP: typeId: 13 791DUMP: dataKind: const 792DUMP: locationType: constant 793DUMP: constType: 0 794DUMP: unalignedType: 0 795DUMP: volatileType: 0 796DUMP: value: 1 797DUMP: } 798DUMP: { 799DUMP: symIndexId: 115 800DUMP: symTag: Data 801DUMP: classParentId: 113 802DUMP: lexicalParentId: 0 803DUMP: name: B 804DUMP: typeId: 13 805DUMP: dataKind: const 806DUMP: locationType: constant 807DUMP: constType: 0 808DUMP: unalignedType: 0 809DUMP: volatileType: 0 810DUMP: value: 2 811DUMP: } 812DUMP: } 813DUMP: { 814DUMP: symIndexId: 116 815DUMP: symTag: Enum 816DUMP: baseType: 6 817DUMP: lexicalParentId: 0 818DUMP: name: Struct::Nested 819DUMP: typeId: 13 820DUMP: length: 4 821DUMP: constructor: 0 822DUMP: constType: 0 823DUMP: hasAssignmentOperator: 0 824DUMP: hasCastOperator: 0 825DUMP: hasNestedTypes: 0 826DUMP: overloadedOperator: 0 827DUMP: isInterfaceUdt: 0 828DUMP: intrinsic: 0 829DUMP: nested: 1 830DUMP: packed: 0 831DUMP: isRefUdt: 0 832DUMP: scoped: 0 833DUMP: unalignedType: 0 834DUMP: isValueUdt: 0 835DUMP: volatileType: 0 836DUMP: { 837DUMP: symIndexId: 114 838DUMP: symTag: Data 839DUMP: classParentId: 113 840DUMP: lexicalParentId: 0 841DUMP: name: A 842DUMP: typeId: 13 843DUMP: dataKind: const 844DUMP: locationType: constant 845DUMP: constType: 0 846DUMP: unalignedType: 0 847DUMP: volatileType: 0 848DUMP: value: 1 849DUMP: } 850DUMP: { 851DUMP: symIndexId: 115 852DUMP: symTag: Data 853DUMP: classParentId: 113 854DUMP: lexicalParentId: 0 855DUMP: name: B 856DUMP: typeId: 13 857DUMP: dataKind: const 858DUMP: locationType: constant 859DUMP: constType: 0 860DUMP: unalignedType: 0 861DUMP: volatileType: 0 862DUMP: value: 2 863DUMP: } 864DUMP: } 865DUMP: { 866DUMP: symIndexId: 117 867DUMP: symTag: Enum 868DUMP: baseType: 6 869DUMP: lexicalParentId: 0 870DUMP: name: EC 871DUMP: typeId: 13 872DUMP: unmodifiedTypeId: 113 873DUMP: length: 4 874DUMP: constructor: 0 875DUMP: constType: 1 876DUMP: hasAssignmentOperator: 0 877DUMP: hasCastOperator: 0 878DUMP: hasNestedTypes: 0 879DUMP: overloadedOperator: 0 880DUMP: isInterfaceUdt: 0 881DUMP: intrinsic: 0 882DUMP: nested: 0 883DUMP: packed: 0 884DUMP: isRefUdt: 0 885DUMP: scoped: 0 886DUMP: unalignedType: 0 887DUMP: isValueUdt: 0 888DUMP: volatileType: 1 { 889DUMP: symIndexId: 114 890DUMP: symTag: Data 891DUMP: classParentId: 113 892DUMP: lexicalParentId: 0 893DUMP: name: A 894DUMP: typeId: 13 895DUMP: dataKind: const 896DUMP: locationType: constant 897DUMP: constType: 0 898DUMP: unalignedType: 0 899DUMP: volatileType: 0 900DUMP: value: 1 901DUMP: } 902DUMP: { 903DUMP: symIndexId: 115 904DUMP: symTag: Data 905DUMP: classParentId: 113 906DUMP: lexicalParentId: 0 907DUMP: name: B 908DUMP: typeId: 13 909DUMP: dataKind: const 910DUMP: locationType: constant 911DUMP: constType: 0 912DUMP: unalignedType: 0 913DUMP: volatileType: 0 914DUMP: value: 2 915DUMP: } 916DUMP: } 917