projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #3684 from lambdageek/dev-monoerror-poolbox
[mono.git]
/
mono
/
metadata
/
icall.c
diff --git
a/mono/metadata/icall.c
b/mono/metadata/icall.c
index bab8c6235f0fc9e7186d8f6f8b509567b1525d60..d4622567695a834b97124f5ee0b28658317cf64f 100644
(file)
--- a/
mono/metadata/icall.c
+++ b/
mono/metadata/icall.c
@@
-4433,8
+4433,8
@@
ves_icall_System_Reflection_Assembly_InternalGetType (MonoReflectionAssembly *as
/* need to report exceptions ? */
if (throwOnError && mono_class_has_failure (klass)) {
/* report SecurityException (or others) that occured when loading the assembly */
/* need to report exceptions ? */
if (throwOnError && mono_class_has_failure (klass)) {
/* report SecurityException (or others) that occured when loading the assembly */
-
MonoException *exc = mono_class_get_exception_for_failure (
klass);
- mono_
set_pending_exception (exc
);
+
mono_error_set_for_class_failure (&error,
klass);
+ mono_
error_set_pending_exception (&error
);
return NULL;
}
}
return NULL;
}
}
@@
-6144,7
+6144,6
@@
static void
check_for_invalid_type (MonoClass *klass, MonoError *error)
{
char *name;
check_for_invalid_type (MonoClass *klass, MonoError *error)
{
char *name;
- MonoString *str;
mono_error_init (error);
mono_error_init (error);
@@
-6152,10
+6151,7
@@
check_for_invalid_type (MonoClass *klass, MonoError *error)
return;
name = mono_type_get_full_name (klass);
return;
name = mono_type_get_full_name (klass);
- str = mono_string_new (mono_domain_get (), name);
- g_free (name);
- mono_error_set_exception_instance (error, mono_get_exception_type_load (str, NULL));
-
+ mono_error_set_type_load_name (error, name, g_strdup (""), "");
}
ICALL_EXPORT MonoReflectionType *
ves_icall_RuntimeType_make_array_type (MonoReflectionType *type, int rank)
}
ICALL_EXPORT MonoReflectionType *
ves_icall_RuntimeType_make_array_type (MonoReflectionType *type, int rank)
@@
-6166,7
+6162,8
@@
ves_icall_RuntimeType_make_array_type (MonoReflectionType *type, int rank)
klass = mono_class_from_mono_type (type->type);
check_for_invalid_type (klass, &error);
klass = mono_class_from_mono_type (type->type);
check_for_invalid_type (klass, &error);
- mono_error_set_pending_exception (&error);
+ if (mono_error_set_pending_exception (&error))
+ return NULL;
if (rank == 0) //single dimentional array
aklass = mono_array_class_get (klass, 1);
if (rank == 0) //single dimentional array
aklass = mono_array_class_get (klass, 1);