TYPED_HANDLE_DECL (MonoString);
TYPED_HANDLE_DECL (MonoArray);
TYPED_HANDLE_DECL (MonoObject);
+TYPED_HANDLE_DECL (MonoException);
#define NULL_HANDLE_STRING MONO_HANDLE_CAST(MonoString, NULL_HANDLE)
#define MONO_ARRAY_HANDLE_PIN(handle,type,index,gchandle_out) mono_array_handle_pin_with_size (MONO_HANDLE_CAST(MonoArray,(handle)), sizeof (type), (index), (gchandle_out))
+void
+mono_error_set_exception_handle (MonoError *error, MonoExceptionHandle exc);
+
G_END_DECLS
#endif /* __MONO_HANDLE_H__ */
error->exn.instance_handle = mono_gchandle_new (exc ? &exc->object : NULL, FALSE);
}
+void
+mono_error_set_exception_handle (MonoError *oerror, MonoExceptionHandle exc)
+{
+ MonoErrorInternal *error = (MonoErrorInternal*)oerror;
+
+ mono_error_prepare (error);
+ error->error_code = MONO_ERROR_EXCEPTION_INSTANCE;
+ error->exn.instance_handle = mono_gchandle_from_handle (MONO_HANDLE_CAST(MonoObject, exc), FALSE);
+}
+
void
mono_error_set_out_of_memory (MonoError *oerror, const char *msg_format, ...)
{