917 lines · plain
1; Test that the native PDB reader can enumerate the enum types. The output2; being checked against is golden output generated by llvm-pdbutil without3; 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 to6; actually use the output from llvm-pdbutil *with* the -native flag, but7; before "blessing" it, manually diff against the golden output from8; llvm-pdbutil without the -native flag and verifying that there are no9; 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 %s13; RUN: llvm-pdbutil diadump -hierarchy -native -enums %p/../Inputs/every-enum.pdb \14; RUN: | FileCheck -check-prefix=DUMP %s15 16 17ENUMS: enum I8 : char {18ENUMS: I8A = -12819ENUMS: I8B = 020ENUMS: I8C = 12721ENUMS: }22ENUMS: enum I16 : short {23ENUMS: I16A = -3276824ENUMS: I16B = 025ENUMS: I16C = 3276726ENUMS: }27ENUMS: enum I32 {28ENUMS: I32A = -214748364829ENUMS: I32B = 030ENUMS: I32C = 214748364731ENUMS: }32ENUMS: enum I64 : __int64 {33ENUMS: I64A = -922337203685477580834ENUMS: I64B = 035ENUMS: I64C = 922337203685477580736ENUMS: }37ENUMS: enum U8 : unsigned char {38ENUMS: U8A = 039ENUMS: U8B = 25540ENUMS: }41ENUMS: enum U16 : unsigned short {42ENUMS: U16A = 043ENUMS: U16B = 6553544ENUMS: }45ENUMS: enum U32 : unsigned int {46ENUMS: U32A = 047ENUMS: U32B = 429496729548ENUMS: }49ENUMS: enum U64 : unsigned __int64 {50ENUMS: U64A = 051; FIXME: This should be UINT64_MAX. Is the compiler encoding it wrong or52; are we decoding it wrong?53ENUMS: U64B = 25554ENUMS: }55ENUMS: enum Char16 : unsigned short {56ENUMS: C16A = 9757ENUMS: C16B = 9858ENUMS: }59ENUMS: enum Char32 : unsigned int {60ENUMS: C32A = 9761ENUMS: C32B = 9862ENUMS: }63ENUMS: enum WChar : unsigned short {64ENUMS: WCA = 9765ENUMS: WCB = 9866ENUMS: }67ENUMS: enum Bool : bool {68ENUMS: BA = true69ENUMS: BB = false70ENUMS: }71ENUMS: enum EC {72ENUMS: A = 173ENUMS: B = 274ENUMS: }75ENUMS: enum Struct::Nested {76ENUMS: A = 177ENUMS: B = 278ENUMS: }79ENUMS: const volatile enum EC80 81 82DUMP: {83DUMP: symIndexId: 284DUMP: symTag: Enum85DUMP: baseType: 286DUMP: lexicalParentId: 087DUMP: name: I888DUMP: typeId: 389DUMP: length: 190DUMP: constructor: 091DUMP: constType: 092DUMP: hasAssignmentOperator: 093DUMP: hasCastOperator: 094DUMP: hasNestedTypes: 095DUMP: overloadedOperator: 096DUMP: isInterfaceUdt: 097DUMP: intrinsic: 098DUMP: nested: 099DUMP: packed: 0100DUMP: isRefUdt: 0101DUMP: scoped: 0102DUMP: unalignedType: 0103DUMP: isValueUdt: 0104DUMP: volatileType: 0105DUMP: {106DUMP: symIndexId: 4107DUMP: symTag: Data108DUMP: classParentId: 2109DUMP: lexicalParentId: 0110DUMP: name: I8A111DUMP: typeId: 3112DUMP: dataKind: const113DUMP: locationType: constant114DUMP: constType: 0115DUMP: unalignedType: 0116DUMP: volatileType: 0117DUMP: value: -128118DUMP: }119DUMP: {120DUMP: symIndexId: 5121DUMP: symTag: Data122DUMP: classParentId: 2123DUMP: lexicalParentId: 0124DUMP: name: I8B125DUMP: typeId: 3126DUMP: dataKind: const127DUMP: locationType: constant128DUMP: constType: 0129DUMP: unalignedType: 0130DUMP: volatileType: 0131DUMP: value: 0132DUMP: }133DUMP: {134DUMP: symIndexId: 6135DUMP: symTag: Data136DUMP: classParentId: 2137DUMP: lexicalParentId: 0138DUMP: name: I8C139DUMP: typeId: 3140DUMP: dataKind: const141DUMP: locationType: constant142DUMP: constType: 0143DUMP: unalignedType: 0144DUMP: volatileType: 0145DUMP: value: 127146DUMP: }147DUMP: }148DUMP: {149DUMP: symIndexId: 7150DUMP: symTag: Enum151DUMP: baseType: 6152DUMP: lexicalParentId: 0153DUMP: name: I16154DUMP: typeId: 8155DUMP: length: 2156DUMP: constructor: 0157DUMP: constType: 0158DUMP: hasAssignmentOperator: 0159DUMP: hasCastOperator: 0160DUMP: hasNestedTypes: 0161DUMP: overloadedOperator: 0162DUMP: isInterfaceUdt: 0163DUMP: intrinsic: 0164DUMP: nested: 0165DUMP: packed: 0166DUMP: isRefUdt: 0167DUMP: scoped: 0168DUMP: unalignedType: 0169DUMP: isValueUdt: 0170DUMP: volatileType: 0171DUMP: {172DUMP: symIndexId: 9173DUMP: symTag: Data174DUMP: classParentId: 7175DUMP: lexicalParentId: 0176DUMP: name: I16A177DUMP: typeId: 8178DUMP: dataKind: const179DUMP: locationType: constant180DUMP: constType: 0181DUMP: unalignedType: 0182DUMP: volatileType: 0183DUMP: value: -32768184DUMP: }185DUMP: {186DUMP: symIndexId: 10187DUMP: symTag: Data188DUMP: classParentId: 7189DUMP: lexicalParentId: 0190DUMP: name: I16B191DUMP: typeId: 8192DUMP: dataKind: const193DUMP: locationType: constant194DUMP: constType: 0195DUMP: unalignedType: 0196DUMP: volatileType: 0197DUMP: value: 0198DUMP: }199DUMP: {200DUMP: symIndexId: 11201DUMP: symTag: Data202DUMP: classParentId: 7203DUMP: lexicalParentId: 0204DUMP: name: I16C205DUMP: typeId: 8206DUMP: dataKind: const207DUMP: locationType: constant208DUMP: constType: 0209DUMP: unalignedType: 0210DUMP: volatileType: 0211DUMP: value: 32767212DUMP: }213DUMP: }214DUMP: {215DUMP: symIndexId: 12216DUMP: symTag: Enum217DUMP: baseType: 6218DUMP: lexicalParentId: 0219DUMP: name: I32220DUMP: typeId: 13221DUMP: length: 4222DUMP: constructor: 0223DUMP: constType: 0224DUMP: hasAssignmentOperator: 0225DUMP: hasCastOperator: 0226DUMP: hasNestedTypes: 0227DUMP: overloadedOperator: 0228DUMP: isInterfaceUdt: 0229DUMP: intrinsic: 0230DUMP: nested: 0231DUMP: packed: 0232DUMP: isRefUdt: 0233DUMP: scoped: 0234DUMP: unalignedType: 0235DUMP: isValueUdt: 0236DUMP: volatileType: 0237DUMP: {238DUMP: symIndexId: 14239DUMP: symTag: Data240DUMP: classParentId: 12241DUMP: lexicalParentId: 0242DUMP: name: I32A243DUMP: typeId: 13244DUMP: dataKind: const245DUMP: locationType: constant246DUMP: constType: 0247DUMP: unalignedType: 0248DUMP: volatileType: 0249DUMP: value: -2147483648250DUMP: }251DUMP: {252DUMP: symIndexId: 15253DUMP: symTag: Data254DUMP: classParentId: 12255DUMP: lexicalParentId: 0256DUMP: name: I32B257DUMP: typeId: 13258DUMP: dataKind: const259DUMP: locationType: constant260DUMP: constType: 0261DUMP: unalignedType: 0262DUMP: volatileType: 0263DUMP: value: 0264DUMP: }265DUMP: {266DUMP: symIndexId: 16267DUMP: symTag: Data268DUMP: classParentId: 12269DUMP: lexicalParentId: 0270DUMP: name: I32C271DUMP: typeId: 13272DUMP: dataKind: const273DUMP: locationType: constant274DUMP: constType: 0275DUMP: unalignedType: 0276DUMP: volatileType: 0277DUMP: value: 2147483647278DUMP: }279DUMP: }280DUMP: {281DUMP: symIndexId: 17282DUMP: symTag: Enum283DUMP: baseType: 6284DUMP: lexicalParentId: 0285DUMP: name: I64286DUMP: typeId: 18287DUMP: length: 8288DUMP: constructor: 0289DUMP: constType: 0290DUMP: hasAssignmentOperator: 0291DUMP: hasCastOperator: 0292DUMP: hasNestedTypes: 0293DUMP: overloadedOperator: 0294DUMP: isInterfaceUdt: 0295DUMP: intrinsic: 0296DUMP: nested: 0297DUMP: packed: 0298DUMP: isRefUdt: 0299DUMP: scoped: 0300DUMP: unalignedType: 0301DUMP: isValueUdt: 0302DUMP: volatileType: 0303DUMP: {304DUMP: symIndexId: 19305DUMP: symTag: Data306DUMP: classParentId: 17307DUMP: lexicalParentId: 0308DUMP: name: I64A309DUMP: typeId: 18310DUMP: dataKind: const311DUMP: locationType: constant312DUMP: constType: 0313DUMP: unalignedType: 0314DUMP: volatileType: 0315DUMP: value: -9223372036854775808316DUMP: }317DUMP: {318DUMP: symIndexId: 20319DUMP: symTag: Data320DUMP: classParentId: 17321DUMP: lexicalParentId: 0322DUMP: name: I64B323DUMP: typeId: 18324DUMP: dataKind: const325DUMP: locationType: constant326DUMP: constType: 0327DUMP: unalignedType: 0328DUMP: volatileType: 0329DUMP: value: 0330DUMP: }331DUMP: {332DUMP: symIndexId: 21333DUMP: symTag: Data334DUMP: classParentId: 17335DUMP: lexicalParentId: 0336DUMP: name: I64C337DUMP: typeId: 18338DUMP: dataKind: const339DUMP: locationType: constant340DUMP: constType: 0341DUMP: unalignedType: 0342DUMP: volatileType: 0343DUMP: value: 9223372036854775807344DUMP: }345DUMP: }346DUMP: {347DUMP: symIndexId: 22348DUMP: symTag: Enum349DUMP: baseType: 2350DUMP: lexicalParentId: 0351DUMP: name: U8352DUMP: typeId: 23353DUMP: length: 1354DUMP: constructor: 0355DUMP: constType: 0356DUMP: hasAssignmentOperator: 0357DUMP: hasCastOperator: 0358DUMP: hasNestedTypes: 0359DUMP: overloadedOperator: 0360DUMP: isInterfaceUdt: 0361DUMP: intrinsic: 0362DUMP: nested: 0363DUMP: packed: 0364DUMP: isRefUdt: 0365DUMP: scoped: 0366DUMP: unalignedType: 0367DUMP: isValueUdt: 0368DUMP: volatileType: 0369DUMP: {370DUMP: symIndexId: 24371DUMP: symTag: Data372DUMP: classParentId: 22373DUMP: lexicalParentId: 0374DUMP: name: U8A375DUMP: typeId: 23376DUMP: dataKind: const377DUMP: locationType: constant378DUMP: constType: 0379DUMP: unalignedType: 0380DUMP: volatileType: 0381DUMP: value: 0382DUMP: }383DUMP: {384DUMP: symIndexId: 25385DUMP: symTag: Data386DUMP: classParentId: 22387DUMP: lexicalParentId: 0388DUMP: name: U8B389DUMP: typeId: 23390DUMP: dataKind: const391DUMP: locationType: constant392DUMP: constType: 0393DUMP: unalignedType: 0394DUMP: volatileType: 0395DUMP: value: 255396DUMP: }397DUMP: }398DUMP: {399DUMP: symIndexId: 26400DUMP: symTag: Enum401DUMP: baseType: 7402DUMP: lexicalParentId: 0403DUMP: name: U16404DUMP: typeId: 27405DUMP: length: 2406DUMP: constructor: 0407DUMP: constType: 0408DUMP: hasAssignmentOperator: 0409DUMP: hasCastOperator: 0410DUMP: hasNestedTypes: 0411DUMP: overloadedOperator: 0412DUMP: isInterfaceUdt: 0413DUMP: intrinsic: 0414DUMP: nested: 0415DUMP: packed: 0416DUMP: isRefUdt: 0417DUMP: scoped: 0418DUMP: unalignedType: 0419DUMP: isValueUdt: 0420DUMP: volatileType: 0421DUMP: {422DUMP: symIndexId: 28423DUMP: symTag: Data424DUMP: classParentId: 26425DUMP: lexicalParentId: 0426DUMP: name: U16A427DUMP: typeId: 27428DUMP: dataKind: const429DUMP: locationType: constant430DUMP: constType: 0431DUMP: unalignedType: 0432DUMP: volatileType: 0433DUMP: value: 0434DUMP: }435DUMP: {436DUMP: symIndexId: 29437DUMP: symTag: Data438DUMP: classParentId: 26439DUMP: lexicalParentId: 0440DUMP: name: U16B441DUMP: typeId: 27442DUMP: dataKind: const443DUMP: locationType: constant444DUMP: constType: 0445DUMP: unalignedType: 0446DUMP: volatileType: 0447DUMP: value: 65535448DUMP: }449DUMP: }450DUMP: {451DUMP: symIndexId: 30452DUMP: symTag: Enum453DUMP: baseType: 7454DUMP: lexicalParentId: 0455DUMP: name: U32456DUMP: typeId: 31457DUMP: length: 4458DUMP: constructor: 0459DUMP: constType: 0460DUMP: hasAssignmentOperator: 0461DUMP: hasCastOperator: 0462DUMP: hasNestedTypes: 0463DUMP: overloadedOperator: 0464DUMP: isInterfaceUdt: 0465DUMP: intrinsic: 0466DUMP: nested: 0467DUMP: packed: 0468DUMP: isRefUdt: 0469DUMP: scoped: 0470DUMP: unalignedType: 0471DUMP: isValueUdt: 0472DUMP: volatileType: 0473DUMP: {474DUMP: symIndexId: 32475DUMP: symTag: Data476DUMP: classParentId: 30477DUMP: lexicalParentId: 0478DUMP: name: U32A479DUMP: typeId: 31480DUMP: dataKind: const481DUMP: locationType: constant482DUMP: constType: 0483DUMP: unalignedType: 0484DUMP: volatileType: 0485DUMP: value: 0486DUMP: }487DUMP: {488DUMP: symIndexId: 33489DUMP: symTag: Data490DUMP: classParentId: 30491DUMP: lexicalParentId: 0492DUMP: name: U32B493DUMP: typeId: 31494DUMP: dataKind: const495DUMP: locationType: constant496DUMP: constType: 0497DUMP: unalignedType: 0498DUMP: volatileType: 0499DUMP: value: 4294967295500DUMP: }501DUMP: }502DUMP: {503DUMP: symIndexId: 34504DUMP: symTag: Enum505DUMP: baseType: 7506DUMP: lexicalParentId: 0507DUMP: name: U64508DUMP: typeId: 35509DUMP: length: 8510DUMP: constructor: 0511DUMP: constType: 0512DUMP: hasAssignmentOperator: 0513DUMP: hasCastOperator: 0514DUMP: hasNestedTypes: 0515DUMP: overloadedOperator: 0516DUMP: isInterfaceUdt: 0517DUMP: intrinsic: 0518DUMP: nested: 0519DUMP: packed: 0520DUMP: isRefUdt: 0521DUMP: scoped: 0522DUMP: unalignedType: 0523DUMP: isValueUdt: 0524DUMP: volatileType: 0525DUMP: {526DUMP: symIndexId: 36527DUMP: symTag: Data528DUMP: classParentId: 34529DUMP: lexicalParentId: 0530DUMP: name: U64A531DUMP: typeId: 35532DUMP: dataKind: const533DUMP: locationType: constant534DUMP: constType: 0535DUMP: unalignedType: 0536DUMP: volatileType: 0537DUMP: value: 0538DUMP: }539DUMP: {540DUMP: symIndexId: 37541DUMP: symTag: Data542DUMP: classParentId: 34543DUMP: lexicalParentId: 0544DUMP: name: U64B545DUMP: typeId: 35546DUMP: dataKind: const547DUMP: locationType: constant548DUMP: constType: 0549DUMP: unalignedType: 0550DUMP: volatileType: 0551DUMP: value: 255552DUMP: }553DUMP: }554DUMP: {555DUMP: symIndexId: 38556DUMP: symTag: Enum557DUMP: baseType: 7558DUMP: lexicalParentId: 0559DUMP: name: Char16560DUMP: typeId: 27561DUMP: length: 2562DUMP: constructor: 0563DUMP: constType: 0564DUMP: hasAssignmentOperator: 0565DUMP: hasCastOperator: 0566DUMP: hasNestedTypes: 0567DUMP: overloadedOperator: 0568DUMP: isInterfaceUdt: 0569DUMP: intrinsic: 0570DUMP: nested: 0571DUMP: packed: 0572DUMP: isRefUdt: 0573DUMP: scoped: 0574DUMP: unalignedType: 0575DUMP: isValueUdt: 0576DUMP: volatileType: 0577DUMP: {578DUMP: symIndexId: 39579DUMP: symTag: Data580DUMP: classParentId: 38581DUMP: lexicalParentId: 0582DUMP: name: C16A583DUMP: typeId: 27584DUMP: dataKind: const585DUMP: locationType: constant586DUMP: constType: 0587DUMP: unalignedType: 0588DUMP: volatileType: 0589DUMP: value: 97590DUMP: }591DUMP: {592DUMP: symIndexId: 40593DUMP: symTag: Data594DUMP: classParentId: 38595DUMP: lexicalParentId: 0596DUMP: name: C16B597DUMP: typeId: 27598DUMP: dataKind: const599DUMP: locationType: constant600DUMP: constType: 0601DUMP: unalignedType: 0602DUMP: volatileType: 0603DUMP: value: 98604DUMP: }605DUMP: }606DUMP: {607DUMP: symIndexId: 41608DUMP: symTag: Enum609DUMP: baseType: 7610DUMP: lexicalParentId: 0611DUMP: name: Char32612DUMP: typeId: 42613DUMP: length: 4614DUMP: constructor: 0615DUMP: constType: 0616DUMP: hasAssignmentOperator: 0617DUMP: hasCastOperator: 0618DUMP: hasNestedTypes: 0619DUMP: overloadedOperator: 0620DUMP: isInterfaceUdt: 0621DUMP: intrinsic: 0622DUMP: nested: 0623DUMP: packed: 0624DUMP: isRefUdt: 0625DUMP: scoped: 0626DUMP: unalignedType: 0627DUMP: isValueUdt: 0628DUMP: volatileType: 0629DUMP: {630DUMP: symIndexId: 43631DUMP: symTag: Data632DUMP: classParentId: 41633DUMP: lexicalParentId: 0634DUMP: name: C32A635DUMP: typeId: 42636DUMP: dataKind: const637DUMP: locationType: constant638DUMP: constType: 0639DUMP: unalignedType: 0640DUMP: volatileType: 0641DUMP: value: 97642DUMP: }643DUMP: {644DUMP: symIndexId: 44645DUMP: symTag: Data646DUMP: classParentId: 41647DUMP: lexicalParentId: 0648DUMP: name: C32B649DUMP: typeId: 42650DUMP: dataKind: const651DUMP: locationType: constant652DUMP: constType: 0653DUMP: unalignedType: 0654DUMP: volatileType: 0655DUMP: value: 98656DUMP: }657DUMP: }658DUMP: {659DUMP: symIndexId: 45660DUMP: symTag: Enum661DUMP: baseType: 7662DUMP: lexicalParentId: 0663DUMP: name: WChar664DUMP: typeId: 27665DUMP: length: 2666DUMP: constructor: 0667DUMP: constType: 0668DUMP: hasAssignmentOperator: 0669DUMP: hasCastOperator: 0670DUMP: hasNestedTypes: 0671DUMP: overloadedOperator: 0672DUMP: isInterfaceUdt: 0673DUMP: intrinsic: 0674DUMP: nested: 0675DUMP: packed: 0676DUMP: isRefUdt: 0677DUMP: scoped: 0678DUMP: unalignedType: 0679DUMP: isValueUdt: 0680DUMP: volatileType: 0681DUMP: {682DUMP: symIndexId: 46683DUMP: symTag: Data684DUMP: classParentId: 45685DUMP: lexicalParentId: 0686DUMP: name: WCA687DUMP: typeId: 27688DUMP: dataKind: const689DUMP: locationType: constant690DUMP: constType: 0691DUMP: unalignedType: 0692DUMP: volatileType: 0693DUMP: value: 97694DUMP: }695DUMP: {696DUMP: symIndexId: 47697DUMP: symTag: Data698DUMP: classParentId: 45699DUMP: lexicalParentId: 0700DUMP: name: WCB701DUMP: typeId: 27702DUMP: dataKind: const703DUMP: locationType: constant704DUMP: constType: 0705DUMP: unalignedType: 0706DUMP: volatileType: 0707DUMP: value: 98708DUMP: }709DUMP: }710DUMP: {711DUMP: symIndexId: 48712DUMP: symTag: Enum713DUMP: baseType: 10714DUMP: lexicalParentId: 0715DUMP: name: Bool716DUMP: typeId: 49717DUMP: length: 1718DUMP: constructor: 0719DUMP: constType: 0720DUMP: hasAssignmentOperator: 0721DUMP: hasCastOperator: 0722DUMP: hasNestedTypes: 0723DUMP: overloadedOperator: 0724DUMP: isInterfaceUdt: 0725DUMP: intrinsic: 0726DUMP: nested: 0727DUMP: packed: 0728DUMP: isRefUdt: 0729DUMP: scoped: 0730DUMP: unalignedType: 0731DUMP: isValueUdt: 0732DUMP: volatileType: 0733DUMP: {734DUMP: symIndexId: 50735DUMP: symTag: Data736DUMP: classParentId: 48737DUMP: lexicalParentId: 0738DUMP: name: BA739DUMP: typeId: 49740DUMP: dataKind: const741DUMP: locationType: constant742DUMP: constType: 0743DUMP: unalignedType: 0744DUMP: volatileType: 0745DUMP: value: true746DUMP: }747DUMP: {748DUMP: symIndexId: 51749DUMP: symTag: Data750DUMP: classParentId: 48751DUMP: lexicalParentId: 0752DUMP: name: BB753DUMP: typeId: 49754DUMP: dataKind: const755DUMP: locationType: constant756DUMP: constType: 0757DUMP: unalignedType: 0758DUMP: volatileType: 0759DUMP: value: false760DUMP: }761DUMP: {762DUMP: symIndexId: 113763DUMP: symTag: Enum764DUMP: baseType: 6765DUMP: lexicalParentId: 0766DUMP: name: EC767DUMP: typeId: 13768DUMP: length: 4769DUMP: constructor: 0770DUMP: constType: 0771DUMP: hasAssignmentOperator: 0772DUMP: hasCastOperator: 0773DUMP: hasNestedTypes: 0774DUMP: overloadedOperator: 0775DUMP: isInterfaceUdt: 0776DUMP: intrinsic: 0777DUMP: nested: 0778DUMP: packed: 0779DUMP: isRefUdt: 0780DUMP: scoped: 0781DUMP: unalignedType: 0782DUMP: isValueUdt: 0783DUMP: volatileType: 0784DUMP: {785DUMP: symIndexId: 114786DUMP: symTag: Data787DUMP: classParentId: 113788DUMP: lexicalParentId: 0789DUMP: name: A790DUMP: typeId: 13791DUMP: dataKind: const792DUMP: locationType: constant793DUMP: constType: 0794DUMP: unalignedType: 0795DUMP: volatileType: 0796DUMP: value: 1797DUMP: }798DUMP: {799DUMP: symIndexId: 115800DUMP: symTag: Data801DUMP: classParentId: 113802DUMP: lexicalParentId: 0803DUMP: name: B804DUMP: typeId: 13805DUMP: dataKind: const806DUMP: locationType: constant807DUMP: constType: 0808DUMP: unalignedType: 0809DUMP: volatileType: 0810DUMP: value: 2811DUMP: }812DUMP: }813DUMP: {814DUMP: symIndexId: 116815DUMP: symTag: Enum816DUMP: baseType: 6817DUMP: lexicalParentId: 0818DUMP: name: Struct::Nested819DUMP: typeId: 13820DUMP: length: 4821DUMP: constructor: 0822DUMP: constType: 0823DUMP: hasAssignmentOperator: 0824DUMP: hasCastOperator: 0825DUMP: hasNestedTypes: 0826DUMP: overloadedOperator: 0827DUMP: isInterfaceUdt: 0828DUMP: intrinsic: 0829DUMP: nested: 1830DUMP: packed: 0831DUMP: isRefUdt: 0832DUMP: scoped: 0833DUMP: unalignedType: 0834DUMP: isValueUdt: 0835DUMP: volatileType: 0836DUMP: {837DUMP: symIndexId: 114838DUMP: symTag: Data839DUMP: classParentId: 113840DUMP: lexicalParentId: 0841DUMP: name: A842DUMP: typeId: 13843DUMP: dataKind: const844DUMP: locationType: constant845DUMP: constType: 0846DUMP: unalignedType: 0847DUMP: volatileType: 0848DUMP: value: 1849DUMP: }850DUMP: {851DUMP: symIndexId: 115852DUMP: symTag: Data853DUMP: classParentId: 113854DUMP: lexicalParentId: 0855DUMP: name: B856DUMP: typeId: 13857DUMP: dataKind: const858DUMP: locationType: constant859DUMP: constType: 0860DUMP: unalignedType: 0861DUMP: volatileType: 0862DUMP: value: 2863DUMP: }864DUMP: }865DUMP: {866DUMP: symIndexId: 117867DUMP: symTag: Enum868DUMP: baseType: 6869DUMP: lexicalParentId: 0870DUMP: name: EC871DUMP: typeId: 13872DUMP: unmodifiedTypeId: 113873DUMP: length: 4874DUMP: constructor: 0875DUMP: constType: 1876DUMP: hasAssignmentOperator: 0877DUMP: hasCastOperator: 0878DUMP: hasNestedTypes: 0879DUMP: overloadedOperator: 0880DUMP: isInterfaceUdt: 0881DUMP: intrinsic: 0882DUMP: nested: 0883DUMP: packed: 0884DUMP: isRefUdt: 0885DUMP: scoped: 0886DUMP: unalignedType: 0887DUMP: isValueUdt: 0888DUMP: volatileType: 1 {889DUMP: symIndexId: 114890DUMP: symTag: Data891DUMP: classParentId: 113892DUMP: lexicalParentId: 0893DUMP: name: A894DUMP: typeId: 13895DUMP: dataKind: const896DUMP: locationType: constant897DUMP: constType: 0898DUMP: unalignedType: 0899DUMP: volatileType: 0900DUMP: value: 1901DUMP: }902DUMP: {903DUMP: symIndexId: 115904DUMP: symTag: Data905DUMP: classParentId: 113906DUMP: lexicalParentId: 0907DUMP: name: B908DUMP: typeId: 13909DUMP: dataKind: const910DUMP: locationType: constant911DUMP: constType: 0912DUMP: unalignedType: 0913DUMP: volatileType: 0914DUMP: value: 2915DUMP: }916DUMP: }917