| ; Test that the native PDB reader can enumerate the enum types. The output |
| ; being checked against is golden output generated by llvm-pdbutil without |
| ; the -native flag. Then we check that we generate the same output. |
| ; Unfortunately since we generate a slightly different (albeit correct) |
| ; class / parent hierarchy, if you re-generate this file you will need to |
| ; actually use the output from llvm-pdbutil *with* the -native flag, but |
| ; before "blessing" it, manually diff against the golden output from |
| ; llvm-pdbutil without the -native flag and verifying that there are no |
| ; substantive differences aside from the various symbol ids. |
| |
| ; RUN: llvm-pdbutil pretty -native -enums %p/../Inputs/every-enum.pdb \ |
| ; RUN: | FileCheck -check-prefix=ENUMS %s |
| ; RUN: llvm-pdbutil diadump -hierarchy -native -enums %p/../Inputs/every-enum.pdb \ |
| ; RUN: | FileCheck -check-prefix=DUMP %s |
| |
| |
| ENUMS: enum I8 : char { |
| ENUMS: I8A = -128 |
| ENUMS: I8B = 0 |
| ENUMS: I8C = 127 |
| ENUMS: } |
| ENUMS: enum I16 : short { |
| ENUMS: I16A = -32768 |
| ENUMS: I16B = 0 |
| ENUMS: I16C = 32767 |
| ENUMS: } |
| ENUMS: enum I32 { |
| ENUMS: I32A = -2147483648 |
| ENUMS: I32B = 0 |
| ENUMS: I32C = 2147483647 |
| ENUMS: } |
| ENUMS: enum I64 : __int64 { |
| ENUMS: I64A = -9223372036854775808 |
| ENUMS: I64B = 0 |
| ENUMS: I64C = 9223372036854775807 |
| ENUMS: } |
| ENUMS: enum U8 : unsigned char { |
| ENUMS: U8A = 0 |
| ENUMS: U8B = 255 |
| ENUMS: } |
| ENUMS: enum U16 : unsigned short { |
| ENUMS: U16A = 0 |
| ENUMS: U16B = 65535 |
| ENUMS: } |
| ENUMS: enum U32 : unsigned int { |
| ENUMS: U32A = 0 |
| ENUMS: U32B = 4294967295 |
| ENUMS: } |
| ENUMS: enum U64 : unsigned __int64 { |
| ENUMS: U64A = 0 |
| ; FIXME: This should be UINT64_MAX. Is the compiler encoding it wrong or |
| ; are we decoding it wrong? |
| ENUMS: U64B = 255 |
| ENUMS: } |
| ENUMS: enum Char16 : unsigned short { |
| ENUMS: C16A = 97 |
| ENUMS: C16B = 98 |
| ENUMS: } |
| ENUMS: enum Char32 : unsigned int { |
| ENUMS: C32A = 97 |
| ENUMS: C32B = 98 |
| ENUMS: } |
| ENUMS: enum WChar : unsigned short { |
| ENUMS: WCA = 97 |
| ENUMS: WCB = 98 |
| ENUMS: } |
| ENUMS: enum Bool : bool { |
| ENUMS: BA = true |
| ENUMS: BB = false |
| ENUMS: } |
| ENUMS: enum EC { |
| ENUMS: A = 1 |
| ENUMS: B = 2 |
| ENUMS: } |
| ENUMS: enum Struct::Nested { |
| ENUMS: A = 1 |
| ENUMS: B = 2 |
| ENUMS: } |
| ENUMS: const volatile enum EC |
| |
| |
| DUMP: { |
| DUMP: symIndexId: 2 |
| DUMP: symTag: Enum |
| DUMP: baseType: 2 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: I8 |
| DUMP: typeId: 3 |
| DUMP: length: 1 |
| DUMP: constructor: 0 |
| DUMP: constType: 0 |
| DUMP: hasAssignmentOperator: 0 |
| DUMP: hasCastOperator: 0 |
| DUMP: hasNestedTypes: 0 |
| DUMP: overloadedOperator: 0 |
| DUMP: isInterfaceUdt: 0 |
| DUMP: intrinsic: 0 |
| DUMP: nested: 0 |
| DUMP: packed: 0 |
| DUMP: isRefUdt: 0 |
| DUMP: scoped: 0 |
| DUMP: unalignedType: 0 |
| DUMP: isValueUdt: 0 |
| DUMP: volatileType: 0 |
| DUMP: { |
| DUMP: symIndexId: 4 |
| DUMP: symTag: Data |
| DUMP: classParentId: 2 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: I8A |
| DUMP: typeId: 3 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: -128 |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 5 |
| DUMP: symTag: Data |
| DUMP: classParentId: 2 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: I8B |
| DUMP: typeId: 3 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 0 |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 6 |
| DUMP: symTag: Data |
| DUMP: classParentId: 2 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: I8C |
| DUMP: typeId: 3 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 127 |
| DUMP: } |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 7 |
| DUMP: symTag: Enum |
| DUMP: baseType: 6 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: I16 |
| DUMP: typeId: 8 |
| DUMP: length: 2 |
| DUMP: constructor: 0 |
| DUMP: constType: 0 |
| DUMP: hasAssignmentOperator: 0 |
| DUMP: hasCastOperator: 0 |
| DUMP: hasNestedTypes: 0 |
| DUMP: overloadedOperator: 0 |
| DUMP: isInterfaceUdt: 0 |
| DUMP: intrinsic: 0 |
| DUMP: nested: 0 |
| DUMP: packed: 0 |
| DUMP: isRefUdt: 0 |
| DUMP: scoped: 0 |
| DUMP: unalignedType: 0 |
| DUMP: isValueUdt: 0 |
| DUMP: volatileType: 0 |
| DUMP: { |
| DUMP: symIndexId: 9 |
| DUMP: symTag: Data |
| DUMP: classParentId: 7 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: I16A |
| DUMP: typeId: 8 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: -32768 |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 10 |
| DUMP: symTag: Data |
| DUMP: classParentId: 7 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: I16B |
| DUMP: typeId: 8 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 0 |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 11 |
| DUMP: symTag: Data |
| DUMP: classParentId: 7 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: I16C |
| DUMP: typeId: 8 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 32767 |
| DUMP: } |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 12 |
| DUMP: symTag: Enum |
| DUMP: baseType: 6 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: I32 |
| DUMP: typeId: 13 |
| DUMP: length: 4 |
| DUMP: constructor: 0 |
| DUMP: constType: 0 |
| DUMP: hasAssignmentOperator: 0 |
| DUMP: hasCastOperator: 0 |
| DUMP: hasNestedTypes: 0 |
| DUMP: overloadedOperator: 0 |
| DUMP: isInterfaceUdt: 0 |
| DUMP: intrinsic: 0 |
| DUMP: nested: 0 |
| DUMP: packed: 0 |
| DUMP: isRefUdt: 0 |
| DUMP: scoped: 0 |
| DUMP: unalignedType: 0 |
| DUMP: isValueUdt: 0 |
| DUMP: volatileType: 0 |
| DUMP: { |
| DUMP: symIndexId: 14 |
| DUMP: symTag: Data |
| DUMP: classParentId: 12 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: I32A |
| DUMP: typeId: 13 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: -2147483648 |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 15 |
| DUMP: symTag: Data |
| DUMP: classParentId: 12 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: I32B |
| DUMP: typeId: 13 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 0 |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 16 |
| DUMP: symTag: Data |
| DUMP: classParentId: 12 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: I32C |
| DUMP: typeId: 13 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 2147483647 |
| DUMP: } |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 17 |
| DUMP: symTag: Enum |
| DUMP: baseType: 6 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: I64 |
| DUMP: typeId: 18 |
| DUMP: length: 8 |
| DUMP: constructor: 0 |
| DUMP: constType: 0 |
| DUMP: hasAssignmentOperator: 0 |
| DUMP: hasCastOperator: 0 |
| DUMP: hasNestedTypes: 0 |
| DUMP: overloadedOperator: 0 |
| DUMP: isInterfaceUdt: 0 |
| DUMP: intrinsic: 0 |
| DUMP: nested: 0 |
| DUMP: packed: 0 |
| DUMP: isRefUdt: 0 |
| DUMP: scoped: 0 |
| DUMP: unalignedType: 0 |
| DUMP: isValueUdt: 0 |
| DUMP: volatileType: 0 |
| DUMP: { |
| DUMP: symIndexId: 19 |
| DUMP: symTag: Data |
| DUMP: classParentId: 17 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: I64A |
| DUMP: typeId: 18 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: -9223372036854775808 |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 20 |
| DUMP: symTag: Data |
| DUMP: classParentId: 17 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: I64B |
| DUMP: typeId: 18 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 0 |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 21 |
| DUMP: symTag: Data |
| DUMP: classParentId: 17 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: I64C |
| DUMP: typeId: 18 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 9223372036854775807 |
| DUMP: } |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 22 |
| DUMP: symTag: Enum |
| DUMP: baseType: 2 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: U8 |
| DUMP: typeId: 23 |
| DUMP: length: 1 |
| DUMP: constructor: 0 |
| DUMP: constType: 0 |
| DUMP: hasAssignmentOperator: 0 |
| DUMP: hasCastOperator: 0 |
| DUMP: hasNestedTypes: 0 |
| DUMP: overloadedOperator: 0 |
| DUMP: isInterfaceUdt: 0 |
| DUMP: intrinsic: 0 |
| DUMP: nested: 0 |
| DUMP: packed: 0 |
| DUMP: isRefUdt: 0 |
| DUMP: scoped: 0 |
| DUMP: unalignedType: 0 |
| DUMP: isValueUdt: 0 |
| DUMP: volatileType: 0 |
| DUMP: { |
| DUMP: symIndexId: 24 |
| DUMP: symTag: Data |
| DUMP: classParentId: 22 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: U8A |
| DUMP: typeId: 23 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 0 |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 25 |
| DUMP: symTag: Data |
| DUMP: classParentId: 22 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: U8B |
| DUMP: typeId: 23 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 255 |
| DUMP: } |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 26 |
| DUMP: symTag: Enum |
| DUMP: baseType: 7 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: U16 |
| DUMP: typeId: 27 |
| DUMP: length: 2 |
| DUMP: constructor: 0 |
| DUMP: constType: 0 |
| DUMP: hasAssignmentOperator: 0 |
| DUMP: hasCastOperator: 0 |
| DUMP: hasNestedTypes: 0 |
| DUMP: overloadedOperator: 0 |
| DUMP: isInterfaceUdt: 0 |
| DUMP: intrinsic: 0 |
| DUMP: nested: 0 |
| DUMP: packed: 0 |
| DUMP: isRefUdt: 0 |
| DUMP: scoped: 0 |
| DUMP: unalignedType: 0 |
| DUMP: isValueUdt: 0 |
| DUMP: volatileType: 0 |
| DUMP: { |
| DUMP: symIndexId: 28 |
| DUMP: symTag: Data |
| DUMP: classParentId: 26 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: U16A |
| DUMP: typeId: 27 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 0 |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 29 |
| DUMP: symTag: Data |
| DUMP: classParentId: 26 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: U16B |
| DUMP: typeId: 27 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 65535 |
| DUMP: } |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 30 |
| DUMP: symTag: Enum |
| DUMP: baseType: 7 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: U32 |
| DUMP: typeId: 31 |
| DUMP: length: 4 |
| DUMP: constructor: 0 |
| DUMP: constType: 0 |
| DUMP: hasAssignmentOperator: 0 |
| DUMP: hasCastOperator: 0 |
| DUMP: hasNestedTypes: 0 |
| DUMP: overloadedOperator: 0 |
| DUMP: isInterfaceUdt: 0 |
| DUMP: intrinsic: 0 |
| DUMP: nested: 0 |
| DUMP: packed: 0 |
| DUMP: isRefUdt: 0 |
| DUMP: scoped: 0 |
| DUMP: unalignedType: 0 |
| DUMP: isValueUdt: 0 |
| DUMP: volatileType: 0 |
| DUMP: { |
| DUMP: symIndexId: 32 |
| DUMP: symTag: Data |
| DUMP: classParentId: 30 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: U32A |
| DUMP: typeId: 31 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 0 |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 33 |
| DUMP: symTag: Data |
| DUMP: classParentId: 30 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: U32B |
| DUMP: typeId: 31 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 4294967295 |
| DUMP: } |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 34 |
| DUMP: symTag: Enum |
| DUMP: baseType: 7 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: U64 |
| DUMP: typeId: 35 |
| DUMP: length: 8 |
| DUMP: constructor: 0 |
| DUMP: constType: 0 |
| DUMP: hasAssignmentOperator: 0 |
| DUMP: hasCastOperator: 0 |
| DUMP: hasNestedTypes: 0 |
| DUMP: overloadedOperator: 0 |
| DUMP: isInterfaceUdt: 0 |
| DUMP: intrinsic: 0 |
| DUMP: nested: 0 |
| DUMP: packed: 0 |
| DUMP: isRefUdt: 0 |
| DUMP: scoped: 0 |
| DUMP: unalignedType: 0 |
| DUMP: isValueUdt: 0 |
| DUMP: volatileType: 0 |
| DUMP: { |
| DUMP: symIndexId: 36 |
| DUMP: symTag: Data |
| DUMP: classParentId: 34 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: U64A |
| DUMP: typeId: 35 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 0 |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 37 |
| DUMP: symTag: Data |
| DUMP: classParentId: 34 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: U64B |
| DUMP: typeId: 35 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 255 |
| DUMP: } |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 38 |
| DUMP: symTag: Enum |
| DUMP: baseType: 7 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: Char16 |
| DUMP: typeId: 27 |
| DUMP: length: 2 |
| DUMP: constructor: 0 |
| DUMP: constType: 0 |
| DUMP: hasAssignmentOperator: 0 |
| DUMP: hasCastOperator: 0 |
| DUMP: hasNestedTypes: 0 |
| DUMP: overloadedOperator: 0 |
| DUMP: isInterfaceUdt: 0 |
| DUMP: intrinsic: 0 |
| DUMP: nested: 0 |
| DUMP: packed: 0 |
| DUMP: isRefUdt: 0 |
| DUMP: scoped: 0 |
| DUMP: unalignedType: 0 |
| DUMP: isValueUdt: 0 |
| DUMP: volatileType: 0 |
| DUMP: { |
| DUMP: symIndexId: 39 |
| DUMP: symTag: Data |
| DUMP: classParentId: 38 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: C16A |
| DUMP: typeId: 27 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 97 |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 40 |
| DUMP: symTag: Data |
| DUMP: classParentId: 38 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: C16B |
| DUMP: typeId: 27 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 98 |
| DUMP: } |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 41 |
| DUMP: symTag: Enum |
| DUMP: baseType: 7 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: Char32 |
| DUMP: typeId: 42 |
| DUMP: length: 4 |
| DUMP: constructor: 0 |
| DUMP: constType: 0 |
| DUMP: hasAssignmentOperator: 0 |
| DUMP: hasCastOperator: 0 |
| DUMP: hasNestedTypes: 0 |
| DUMP: overloadedOperator: 0 |
| DUMP: isInterfaceUdt: 0 |
| DUMP: intrinsic: 0 |
| DUMP: nested: 0 |
| DUMP: packed: 0 |
| DUMP: isRefUdt: 0 |
| DUMP: scoped: 0 |
| DUMP: unalignedType: 0 |
| DUMP: isValueUdt: 0 |
| DUMP: volatileType: 0 |
| DUMP: { |
| DUMP: symIndexId: 43 |
| DUMP: symTag: Data |
| DUMP: classParentId: 41 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: C32A |
| DUMP: typeId: 42 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 97 |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 44 |
| DUMP: symTag: Data |
| DUMP: classParentId: 41 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: C32B |
| DUMP: typeId: 42 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 98 |
| DUMP: } |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 45 |
| DUMP: symTag: Enum |
| DUMP: baseType: 7 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: WChar |
| DUMP: typeId: 27 |
| DUMP: length: 2 |
| DUMP: constructor: 0 |
| DUMP: constType: 0 |
| DUMP: hasAssignmentOperator: 0 |
| DUMP: hasCastOperator: 0 |
| DUMP: hasNestedTypes: 0 |
| DUMP: overloadedOperator: 0 |
| DUMP: isInterfaceUdt: 0 |
| DUMP: intrinsic: 0 |
| DUMP: nested: 0 |
| DUMP: packed: 0 |
| DUMP: isRefUdt: 0 |
| DUMP: scoped: 0 |
| DUMP: unalignedType: 0 |
| DUMP: isValueUdt: 0 |
| DUMP: volatileType: 0 |
| DUMP: { |
| DUMP: symIndexId: 46 |
| DUMP: symTag: Data |
| DUMP: classParentId: 45 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: WCA |
| DUMP: typeId: 27 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 97 |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 47 |
| DUMP: symTag: Data |
| DUMP: classParentId: 45 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: WCB |
| DUMP: typeId: 27 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 98 |
| DUMP: } |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 48 |
| DUMP: symTag: Enum |
| DUMP: baseType: 10 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: Bool |
| DUMP: typeId: 49 |
| DUMP: length: 1 |
| DUMP: constructor: 0 |
| DUMP: constType: 0 |
| DUMP: hasAssignmentOperator: 0 |
| DUMP: hasCastOperator: 0 |
| DUMP: hasNestedTypes: 0 |
| DUMP: overloadedOperator: 0 |
| DUMP: isInterfaceUdt: 0 |
| DUMP: intrinsic: 0 |
| DUMP: nested: 0 |
| DUMP: packed: 0 |
| DUMP: isRefUdt: 0 |
| DUMP: scoped: 0 |
| DUMP: unalignedType: 0 |
| DUMP: isValueUdt: 0 |
| DUMP: volatileType: 0 |
| DUMP: { |
| DUMP: symIndexId: 50 |
| DUMP: symTag: Data |
| DUMP: classParentId: 48 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: BA |
| DUMP: typeId: 49 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: true |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 51 |
| DUMP: symTag: Data |
| DUMP: classParentId: 48 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: BB |
| DUMP: typeId: 49 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: false |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 113 |
| DUMP: symTag: Enum |
| DUMP: baseType: 6 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: EC |
| DUMP: typeId: 13 |
| DUMP: length: 4 |
| DUMP: constructor: 0 |
| DUMP: constType: 0 |
| DUMP: hasAssignmentOperator: 0 |
| DUMP: hasCastOperator: 0 |
| DUMP: hasNestedTypes: 0 |
| DUMP: overloadedOperator: 0 |
| DUMP: isInterfaceUdt: 0 |
| DUMP: intrinsic: 0 |
| DUMP: nested: 0 |
| DUMP: packed: 0 |
| DUMP: isRefUdt: 0 |
| DUMP: scoped: 0 |
| DUMP: unalignedType: 0 |
| DUMP: isValueUdt: 0 |
| DUMP: volatileType: 0 |
| DUMP: { |
| DUMP: symIndexId: 114 |
| DUMP: symTag: Data |
| DUMP: classParentId: 113 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: A |
| DUMP: typeId: 13 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 1 |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 115 |
| DUMP: symTag: Data |
| DUMP: classParentId: 113 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: B |
| DUMP: typeId: 13 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 2 |
| DUMP: } |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 116 |
| DUMP: symTag: Enum |
| DUMP: baseType: 6 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: Struct::Nested |
| DUMP: typeId: 13 |
| DUMP: length: 4 |
| DUMP: constructor: 0 |
| DUMP: constType: 0 |
| DUMP: hasAssignmentOperator: 0 |
| DUMP: hasCastOperator: 0 |
| DUMP: hasNestedTypes: 0 |
| DUMP: overloadedOperator: 0 |
| DUMP: isInterfaceUdt: 0 |
| DUMP: intrinsic: 0 |
| DUMP: nested: 1 |
| DUMP: packed: 0 |
| DUMP: isRefUdt: 0 |
| DUMP: scoped: 0 |
| DUMP: unalignedType: 0 |
| DUMP: isValueUdt: 0 |
| DUMP: volatileType: 0 |
| DUMP: { |
| DUMP: symIndexId: 114 |
| DUMP: symTag: Data |
| DUMP: classParentId: 113 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: A |
| DUMP: typeId: 13 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 1 |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 115 |
| DUMP: symTag: Data |
| DUMP: classParentId: 113 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: B |
| DUMP: typeId: 13 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 2 |
| DUMP: } |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 117 |
| DUMP: symTag: Enum |
| DUMP: baseType: 6 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: EC |
| DUMP: typeId: 13 |
| DUMP: unmodifiedTypeId: 113 |
| DUMP: length: 4 |
| DUMP: constructor: 0 |
| DUMP: constType: 1 |
| DUMP: hasAssignmentOperator: 0 |
| DUMP: hasCastOperator: 0 |
| DUMP: hasNestedTypes: 0 |
| DUMP: overloadedOperator: 0 |
| DUMP: isInterfaceUdt: 0 |
| DUMP: intrinsic: 0 |
| DUMP: nested: 0 |
| DUMP: packed: 0 |
| DUMP: isRefUdt: 0 |
| DUMP: scoped: 0 |
| DUMP: unalignedType: 0 |
| DUMP: isValueUdt: 0 |
| DUMP: volatileType: 1 { |
| DUMP: symIndexId: 114 |
| DUMP: symTag: Data |
| DUMP: classParentId: 113 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: A |
| DUMP: typeId: 13 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 1 |
| DUMP: } |
| DUMP: { |
| DUMP: symIndexId: 115 |
| DUMP: symTag: Data |
| DUMP: classParentId: 113 |
| DUMP: lexicalParentId: 0 |
| DUMP: name: B |
| DUMP: typeId: 13 |
| DUMP: dataKind: const |
| DUMP: locationType: constant |
| DUMP: constType: 0 |
| DUMP: unalignedType: 0 |
| DUMP: volatileType: 0 |
| DUMP: value: 2 |
| DUMP: } |
| DUMP: } |