2005-01-17 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mono / metadata / object.h
index 4629eda277f7a46f90321dec261aa91de5eacae4..33396bad7d5c4e0509608c15980af66c6f602f6f 100644 (file)
@@ -18,6 +18,7 @@ typedef struct _MonoThreadsSync MonoThreadsSync;
 typedef struct _MonoThread MonoThread;
 typedef struct _MonoDynamicAssembly MonoDynamicAssembly;
 typedef struct _MonoDynamicImage MonoDynamicImage;
+typedef struct _MonoReflectionMethodBody MonoReflectionMethodBody;
 
 typedef struct {
        MonoVTable *vtable;
@@ -47,14 +48,13 @@ typedef struct {
 
 typedef MonoObject* (*MonoInvokeFunc)       (MonoMethod *method, void *obj, void **params, MonoObject **exc);
 typedef gpointer    (*MonoCompileFunc)      (MonoMethod *method);
-typedef void        (*MonoFreeMethodFunc)       (MonoMethod *method);
 typedef void       (*MonoMainThreadFunc)    (gpointer user_data);
 
 #define mono_object_class(obj) (((MonoObject*)(obj))->vtable->klass)
 #define mono_object_domain(obj) (((MonoObject*)(obj))->vtable->domain)
 
 #define mono_array_length(array) ((array)->max_length)
-#define mono_array_addr(array,type,index) ( ((char*)(array)->vector) + sizeof (type) * (index) )
+#define mono_array_addr(array,type,index) ((type*) mono_array_addr_with_size (array, sizeof (type), index))
 #define mono_array_addr_with_size(array,size,index) ( ((char*)(array)->vector) + (size) * (index) )
 #define mono_array_get(array,type,index) ( *(type*)mono_array_addr ((array), type, (index)) ) 
 #define mono_array_set(array,type,index,value) \
@@ -161,6 +161,9 @@ mono_monitor_try_enter       (MonoObject *obj, guint32 ms);
 gboolean
 mono_monitor_enter           (MonoObject *obj);
 
+guint
+mono_object_get_size         (MonoObject *o);
+
 void 
 mono_monitor_exit            (MonoObject *obj);
 
@@ -228,9 +231,6 @@ mono_print_unhandled_exception (MonoObject *exc);
 gpointer 
 mono_compile_method       (MonoMethod *method);
 
-void
-mono_runtime_free_method (MonoMethod *method);
-
 MonoRemoteClass*
 mono_remote_class (MonoDomain *domain, MonoString *class_name, MonoClass *proxy_class);