Author: raja
Date: 2007-06-21 09:31:09 -0400 (Thu, 21 Jun 2007)
New Revision: 80475
Modified:
trunk/mono/mono/metadata/ChangeLog
trunk/mono/mono/metadata/class.c
trunk/mono/mono/metadata/reflection.c
Log:
* reflection.c (method_encode_methodspec): Add a tripwire.
* class.c (inflate_generic_type): The fully open generic type is
not the same as the generic type definition.
Modified: trunk/mono/mono/metadata/ChangeLog
===================================================================
--- trunk/mono/mono/metadata/ChangeLog 2007-06-21 13:29:49 UTC (rev 80474)
+++ trunk/mono/mono/metadata/ChangeLog 2007-06-21 13:31:09 UTC (rev 80475)
@@ -1,3 +1,9 @@
+2007-06-21 Raja R Harinath <[EMAIL PROTECTED]>
+
+ * reflection.c (method_encode_methodspec): Add a tripwire.
+ * class.c (inflate_generic_type): The fully open generic type is
+ not the same as the generic type definition.
+
2007-06-21 Martin Baulig <[EMAIL PROTECTED]>
* mono-debug.h (MONO_DEBUGGER_VERSION): Bump to 59.
Modified: trunk/mono/mono/metadata/class.c
===================================================================
--- trunk/mono/mono/metadata/class.c 2007-06-21 13:29:49 UTC (rev 80474)
+++ trunk/mono/mono/metadata/class.c 2007-06-21 13:31:09 UTC (rev 80475)
@@ -524,12 +524,8 @@
/* We can't use context->class_inst directly, since it can have
more elements */
inst = mono_metadata_inflate_generic_inst
(container->context.class_inst, context);
- if (inst != container->context.class_inst)
- gclass = mono_metadata_lookup_generic_class (klass,
inst, klass->image->dynamic);
+ gclass = mono_metadata_lookup_generic_class (klass, inst,
klass->image->dynamic);
- if (!gclass)
- return NULL;
-
nt = dup_type (type, type);
nt->type = MONO_TYPE_GENERICINST;
nt->data.generic_class = gclass;
Modified: trunk/mono/mono/metadata/reflection.c
===================================================================
--- trunk/mono/mono/metadata/reflection.c 2007-06-21 13:29:49 UTC (rev
80474)
+++ trunk/mono/mono/metadata/reflection.c 2007-06-21 13:31:09 UTC (rev
80475)
@@ -2413,6 +2413,7 @@
table = &assembly->tables [MONO_TABLE_METHODSPEC];
g_assert (method->is_inflated);
+ g_assert (!method->klass->generic_container);
imethod = (MonoMethodInflated *) method;
declaring = imethod->declaring;
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches