2005-01-08 Miguel de Icaza <miguel@ximian.com>
[mono.git] / mono / metadata / exception.h
index ccd818cfe1eab8469506357f54236922fe488d56..78a1effd0871def53b47c17efc78f139f4afcb4b 100644 (file)
@@ -1,27 +1,28 @@
 #ifndef _MONO_METADATA_EXCEPTION_H_
 #define _MONO_METADATA_EXCEPTION_H_
 
-#ifdef MONO_USE_EXC_TABLES
-#define MONO_ARCH_SAVE_REGS __builtin_unwind_init ()
-#else
+/* here for compat: should not be used anymore */
 #define MONO_ARCH_SAVE_REGS 
-#endif
 
 #include <mono/metadata/object.h>
 #include <mono/metadata/image.h>
 
-typedef void (*MonoExceptionClassInitFunc)(MonoClass *klass);
-typedef void (*MonoExceptionObjectInitFunc)(MonoObject *obj, MonoClass *klass);
-
-extern void
-mono_exception_install_handlers (MonoExceptionClassInitFunc class_init,
-                                MonoExceptionObjectInitFunc obj_init);
-
 extern MonoException *
 mono_exception_from_name               (MonoImage *image, 
                                        const char* name_space, 
                                        const char *name);
 
+MonoException *
+mono_exception_from_token              (MonoImage *image, guint32 token);
+
+MonoException *
+mono_exception_from_name_two_strings (MonoImage *image, const char *name_space,
+                                     const char *name, MonoString *a1, MonoString *a2);
+
+MonoException *
+mono_exception_from_name_msg          (MonoImage *image, const char *name_space,
+                                       const char *name, const guchar *msg);
+
 extern MonoException *
 mono_exception_from_name_domain        (MonoDomain *domain, MonoImage *image, 
                                        const char* name_space, 
@@ -70,7 +71,7 @@ MonoException *
 mono_get_exception_missing_method      (void);
 
 MonoException *
-mono_get_exception_not_implemented     (void);
+mono_get_exception_not_implemented     (const guchar *msg);
 
 MonoException*
 mono_get_exception_argument_null       (const guchar *arg);
@@ -87,6 +88,9 @@ mono_get_exception_io                    (const guchar *msg);
 MonoException *
 mono_get_exception_file_not_found        (MonoString *fname);
 
+MonoException *
+mono_get_exception_file_not_found2       (const guchar *msg, MonoString *fname);
+
 MonoException *
 mono_get_exception_type_initialization (const gchar *type_name, MonoException *inner);
 
@@ -102,4 +106,7 @@ mono_get_exception_appdomain_unloaded (void);
 MonoException *
 mono_get_exception_bad_image_format (const guchar *msg);
 
+MonoException *
+mono_get_exception_stack_overflow (void);
+
 #endif /* _MONO_METADATA_EXCEPTION_H_ */