2006-06-08 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / metadata / loader.h
index 4a169212dd137d311fea140f78ec40f5ae584fc0..b925d66b06df023445695d88b54f79c48bb8299b 100644 (file)
@@ -4,7 +4,7 @@
 #include <mono/metadata/metadata.h>
 #include <mono/metadata/image.h>
 
-typedef struct _MonoMethod MonoMethod;
+G_BEGIN_DECLS
 
 typedef gboolean (*MonoStackWalk)     (MonoMethod *method, gint32 native_offset, gint32 il_offset, gboolean managed, gpointer data);
 
@@ -20,12 +20,18 @@ mono_get_method_constrained (MonoImage *image, guint32 token, MonoClass *constra
 void               
 mono_free_method           (MonoMethod *method);
 
+MonoMethodSignature*
+mono_method_get_signature_full (MonoMethod *method, MonoImage *image, guint32 token, MonoGenericContext *context);
+
 MonoMethodSignature* 
 mono_method_get_signature  (MonoMethod *method, MonoImage *image, guint32 token);
 
 MonoMethodSignature* 
 mono_method_signature      (MonoMethod *method);
 
+MonoMethodHeader* 
+mono_method_get_header     (MonoMethod *method);
+
 const char*
 mono_method_get_name       (MonoMethod *method);
 
@@ -38,6 +44,9 @@ mono_method_get_token      (MonoMethod *method);
 guint32
 mono_method_get_flags      (MonoMethod *method, guint32 *iflags);
 
+guint32
+mono_method_get_index      (MonoMethod *method);
+
 MonoImage *
 mono_load_image            (const char *fname, MonoImageOpenStatus *status);
 
@@ -56,6 +65,9 @@ mono_lookup_pinvoke_call (MonoMethod *method, const char **exc_class, const char
 void
 mono_method_get_param_names (MonoMethod *method, const char **names);
 
+guint32
+mono_method_get_param_token (MonoMethod *method, int idx);
+
 void
 mono_method_get_marshal_info (MonoMethod *method, MonoMarshalSpec **mspecs);
 
@@ -68,5 +80,11 @@ mono_method_get_last_managed  (void);
 void
 mono_stack_walk         (MonoStackWalk func, gpointer user_data);
 
+/* Use this if the IL offset is not needed: it's faster */
+void
+mono_stack_walk_no_il   (MonoStackWalk func, gpointer user_data);
+
+G_END_DECLS
+
 #endif