-/* This structure is internal to the runtime: use the mono_type*
- * accessors below, because it will soon ago away from the public header file.
- */
-struct _MonoType {
- union {
- MonoClass *klass; /* for VALUETYPE and CLASS */
- MonoType *type; /* for PTR */
- MonoArrayType *array; /* for ARRAY */
- MonoMethodSignature *method;
- MonoGenericParam *generic_param; /* for VAR and MVAR */
- MonoGenericClass *generic_class; /* for GENERICINST */
- } data;
- unsigned int attrs : 16; /* param attributes or field flags */
- unsigned int type : 8; /* ElementTypeEnum */
- unsigned int num_mods : 6; /* max 64 modifiers follow at the end */
- unsigned int byref : 1;
- unsigned int pinned : 1; /* valid when included in a local var signature */
- MonoCustomMod modifiers [MONO_ZERO_LEN_ARRAY]; /* this may grow */
-};
-
-/*
- * This structure is an internal runtime detail: use the mono_signature_*
- * accessors below, because it will go away from the public header.
- */
-struct _MonoMethodSignature {
- unsigned int hasthis : 1;
- unsigned int explicit_this : 1;
- unsigned int call_convention : 6;
- unsigned int pinvoke : 1;
- unsigned int ref_count : 23;
- guint16 param_count;
- gint16 sentinelpos;
- unsigned int generic_param_count : 30;
- unsigned int is_inflated : 1;
- unsigned int has_type_parameters : 1;
- MonoType *ret;
- MonoType *params [MONO_ZERO_LEN_ARRAY];
-};
-