module Global { enum DataType { Void = 0, Boolean = 1, Int8 = 2, UInt8 = 3, Int16 = 4, UInt16 = 5, Int32 = 6, UInt32 = 7, Int64 = 8 }; typedef union Variant_u switch (DataType) { case Boolean: boolean b; case Int8: int8 i8; case UInt8: uint8 u8; case Int16: int16 i16; case UInt16: uint16 u16; case Int32: int32 i32; case UInt32: uint32 u32; case Int64: int64 i64; } Variant; };