#[non_exhaustive]pub enum TypeKind {
Show 30 variants
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),
}Expand description
The type discriminant returned by mono_type_get_type, corresponding to MonoTypeEnum in the
Mono source (mono/metadata/metadata.h).
Annotated with #[non_exhaustive] so that adding named variants in the future is not a
breaking change. The Other variant covers any discriminant not yet named here.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
End
MONO_TYPE_END (0x00) — internal sentinel.
Void
MONO_TYPE_VOID (0x01)
Boolean
MONO_TYPE_BOOLEAN (0x02)
Char
MONO_TYPE_CHAR (0x03)
I1
MONO_TYPE_I1 (0x04) — sbyte
U1
MONO_TYPE_U1 (0x05) — byte
I2
MONO_TYPE_I2 (0x06) — short
U2
MONO_TYPE_U2 (0x07) — ushort
I4
MONO_TYPE_I4 (0x08) — int
U4
MONO_TYPE_U4 (0x09) — uint
I8
MONO_TYPE_I8 (0x0a) — long
U8
MONO_TYPE_U8 (0x0b) — ulong
R4
MONO_TYPE_R4 (0x0c) — float
R8
MONO_TYPE_R8 (0x0d) — double
String
MONO_TYPE_STRING (0x0e)
Ptr
MONO_TYPE_PTR (0x0f) — unmanaged pointer
ByRef
MONO_TYPE_BYREF (0x10) — by-reference parameter
ValueType
MONO_TYPE_VALUETYPE (0x11) — value type / struct
Class
MONO_TYPE_CLASS (0x12) — reference type
Var
MONO_TYPE_VAR (0x13) — generic type parameter (T)
Array
MONO_TYPE_ARRAY (0x14) — multi-dimensional array
GenericInst
MONO_TYPE_GENERICINST (0x15) — instantiated generic type
TypedByRef
MONO_TYPE_TYPEDBYREF (0x16) — TypedReference
I
MONO_TYPE_I (0x18) — nint
U
MONO_TYPE_U (0x19) — nuint
FnPtr
MONO_TYPE_FNPTR (0x1b) — function pointer
Object
MONO_TYPE_OBJECT (0x1c) — System.Object
SzArray
MONO_TYPE_SZARRAY (0x1d) — single-dimension zero-based array (most C# arrays)
MVar
MONO_TYPE_MVAR (0x1e) — generic method parameter (M)
Other(u32)
Any discriminant not covered by the named variants above.