1 #ifndef _MONO_CLI_CLASS_H_
2 #define _MONO_CLI_CLASS_H_
4 #include <mono/metadata/metadata.h>
5 #include <mono/metadata/image.h>
6 #include <mono/metadata/loader.h>
8 #define MONO_CLASS_IS_ARRAY(c) (c->type_token == 0)
10 #define MONO_CLASS_STATIC_FIELDS_BASE(c) (c->data)
21 guint dummy : 1; /* temorary hack */
23 guint metadata_inited : 1;
24 guint valuetype : 1; /* derives from System.ValueType */
25 guint enumtype : 1; /* derives from System.Enum */
28 MonoClass **interfaces;
31 const char *name_space;
34 * Computed object instance size, total.
40 * From the TypeDef table
49 * Field information: Type and location from object base
51 MonoClassField *fields;
55 /* used as the type of the this argument */
66 MonoClass *element_class; /* element class */
67 guint32 rank; /* array dimension */
71 mono_class_get (MonoImage *image, guint32 type_token);
74 mono_class_metadata_init (MonoClass *klass);
77 mono_class_from_name (MonoImage *image, const char* name_space, const char *name);
80 mono_array_class_get (MonoClass *eclass, guint32 rank);
83 mono_class_get_field (MonoClass *klass, guint32 field_token);
86 mono_array_element_size (MonoArrayClass *ac);
89 mono_class_instance_size (MonoClass *klass);
92 mono_class_value_size (MonoClass *klass, guint32 *align);
95 mono_class_data_size (MonoClass *klass);
98 mono_class_from_mono_type (MonoType *type);
100 #endif /* _MONO_CLI_CLASS_H_ */