; 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: }