#include <mono/metadata/image.h>
#include <mono/metadata/loader.h>
+G_BEGIN_DECLS
+
typedef struct MonoVTable MonoVTable;
typedef struct _MonoClassField MonoClassField;
typedef struct _MonoEvent MonoEvent;
typedef struct {
- MonoVTable *vtable;
+ MonoVTable *default_vtable;
+ MonoVTable *xdomain_vtable;
MonoClass *proxy_class;
- guint interface_count;
- MonoClass **interfaces;
char* proxy_class_name;
+ guint interface_count;
+ MonoClass *interfaces [MONO_ZERO_LEN_ARRAY];
} MonoRemoteClass;
MonoClass *
MonoClass *
mono_class_get_full (MonoImage *image, guint32 type_token, MonoGenericContext *context);
-void
+gboolean
mono_class_init (MonoClass *klass);
MonoVTable *
MonoClass *
mono_class_from_name_case (MonoImage *image, const char* name_space, const char *name);
+MonoMethod *
+mono_class_get_method_from_name_flags (MonoClass *klass, const char *name, int param_count, int flags);
+
MonoClass *
mono_class_from_typeref (MonoImage *image, guint32 type_token);
MonoClass *
mono_class_from_generic_parameter (MonoGenericParam *param, MonoImage *image, gboolean is_mvar);
-MonoClass*
-mono_class_create_generic (MonoGenericInst *ginst);
-
MonoType*
mono_class_inflate_generic_type (MonoType *type, MonoGenericContext *context);
MonoMethod*
-mono_class_inflate_generic_method (MonoMethod *method, MonoGenericContext *context, MonoClass *klass);
+mono_class_inflate_generic_method (MonoMethod *method, MonoGenericContext *context);
+
+MonoMethod *
+mono_get_inflated_method (MonoMethod *method);
MonoClassField*
mono_field_from_token (MonoImage *image, guint32 token, MonoClass **retklass, MonoGenericContext *context);
MonoClassField *
mono_class_get_field_from_name (MonoClass *klass, const char *name);
+guint32
+mono_class_get_field_token (MonoClassField *field);
+
+guint32
+mono_class_get_event_token (MonoEvent *event);
+
MonoProperty*
mono_class_get_property_from_name (MonoClass *klass, const char *name);
+guint32
+mono_class_get_property_token (MonoProperty *prop);
+
gint32
mono_array_element_size (MonoClass *ac);
char*
mono_type_get_name (MonoType *type);
+MonoType*
+mono_type_get_underlying_type (MonoType *type);
+
/* MonoClass accessors */
MonoImage*
mono_class_get_image (MonoClass *klass);
MonoType*
mono_class_get_type (MonoClass *klass);
+guint32
+mono_class_get_type_token (MonoClass *klass);
+
MonoType*
mono_class_get_byref_type (MonoClass *klass);
guint32
mono_field_get_flags (MonoClassField *field);
+const char *
+mono_field_get_data (MonoClassField *field);
+
/* MonoProperty acessors */
const char*
mono_property_get_name (MonoProperty *prop);
guint32
mono_event_get_flags (MonoEvent *event);
+MonoMethod *
+mono_class_get_method_from_name (MonoClass *klass, const char *name, int param_count);
+
+char *
+mono_class_name_from_token (MonoImage *image, guint32 type_token);
+
+G_END_DECLS
#endif /* _MONO_CLI_CLASS_H_ */