+2009-11-25 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * class.c (inflate_generic_type): Change code to use new signature of
+ mono_error_set_bad_image.
+
+ Fixes #558124.
+
2009-11-25 Sebastien Pouliot <sebastien@ximian.com>
* verify.c (mono_method_verify): Don't free ctx.params items if
return NULL;
if (num >= inst->type_argc) {
MonoGenericParamInfo *info = mono_generic_param_info (type->data.generic_param);
- mono_error_set_bad_image (error, image->module_name, "MVAR %d (%s) cannot be expanded in this context with %d instantiations",
+ mono_error_set_bad_image (error, image, "MVAR %d (%s) cannot be expanded in this context with %d instantiations",
num, info ? info->name : "", inst->type_argc);
return NULL;
}
return NULL;
if (num >= inst->type_argc) {
MonoGenericParamInfo *info = mono_generic_param_info (type->data.generic_param);
- mono_error_set_bad_image (error, image->module_name, "VAR %d (%s) cannot be expanded in this context with %d instantiations",
+ mono_error_set_bad_image (error, image, "VAR %d (%s) cannot be expanded in this context with %d instantiations",
num, info ? info->name : "", inst->type_argc);
return NULL;
}
+2009-11-25 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * mono-error-internals.h: Add mono_error_set_bad_image_name and change signature
+ of mono_error_set_bad_image to take a MonoImage instead of a const char *.
+
+ * mono-error.c: Same.
+
2009-11-25 Zoltan Varga <vargaz@gmail.com>
* mono-hash.c (mono_g_hash_table_find): Implement this.
mono_error_set_field_load (MonoError *error, MonoClass *klass, const char *field_name, const char *msg_format, ...) MONO_INTERNAL;
void
-mono_error_set_bad_image (MonoError *error, const char *file_name, const char *msg_format, ...) MONO_INTERNAL;
+mono_error_set_bad_image (MonoError *error, MonoImage *image, const char *msg_format, ...) MONO_INTERNAL;
+
+void
+mono_error_set_bad_image_name (MonoError *error, const char *file_name, const char *msg_format, ...) MONO_INTERNAL;
void
mono_error_set_out_of_memory (MonoError *error, const char *msg_format, ...) MONO_INTERNAL;
}
void
-mono_error_set_bad_image (MonoError *oerror, const char *assembly_name, const char *msg_format, ...)
+mono_error_set_bad_image_name (MonoError *oerror, const char *assembly_name, const char *msg_format, ...)
{
MonoErrorInternal *error = (MonoErrorInternal*)oerror;
mono_error_prepare (error);
set_error_message ();
}
+void
+mono_error_set_bad_image (MonoError *oerror, MonoImage *image, const char *msg_format, ...)
+{
+ MonoErrorInternal *error = (MonoErrorInternal*)oerror;
+ mono_error_prepare (error);
+
+ error->error_code = MONO_ERROR_BAD_IMAGE;
+ error->assembly_name = image ? mono_image_get_name (image) : "<no_image>";
+ set_error_message ();
+}
+
void
mono_error_set_generic_error (MonoError *oerror, const char * name_space, const char *name, const char *msg_format, ...)
{