#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
#[non_exhaustive]
pub enum TypeKind {
End,
Void,
Boolean,
Char,
I1,
U1,
I2,
U2,
I4,
U4,
I8,
U8,
R4,
R8,
String,
Ptr,
ByRef,
ValueType,
Class,
Var,
Array,
GenericInst,
TypedByRef,
I,
U,
FnPtr,
Object,
SzArray,
MVar,
Other(u32),
}
#[allow(clippy::too_many_lines)]
impl From<u32> for TypeKind {
fn from(v: u32) -> Self {
match v {
0x00 => Self::End,
0x01 => Self::Void,
0x02 => Self::Boolean,
0x03 => Self::Char,
0x04 => Self::I1,
0x05 => Self::U1,
0x06 => Self::I2,
0x07 => Self::U2,
0x08 => Self::I4,
0x09 => Self::U4,
0x0a => Self::I8,
0x0b => Self::U8,
0x0c => Self::R4,
0x0d => Self::R8,
0x0e => Self::String,
0x0f => Self::Ptr,
0x10 => Self::ByRef,
0x11 => Self::ValueType,
0x12 => Self::Class,
0x13 => Self::Var,
0x14 => Self::Array,
0x15 => Self::GenericInst,
0x16 => Self::TypedByRef,
0x18 => Self::I,
0x19 => Self::U,
0x1b => Self::FnPtr,
0x1c => Self::Object,
0x1d => Self::SzArray,
0x1e => Self::MVar,
other => Self::Other(other),
}
}
}