Author: raja
Date: 2007-06-21 08:12:09 -0400 (Thu, 21 Jun 2007)
New Revision: 80445
Modified:
trunk/mono/mono/metadata/ChangeLog
trunk/mono/mono/metadata/class.c
trunk/mono/mono/metadata/metadata.c
Log:
* metadata.c (mono_metadata_lookup_generic_class): The fully open
generic type is not the same as the generic type definition.
* class.c (mono_generic_class_get_class): Likewise.
Modified: trunk/mono/mono/metadata/ChangeLog
===================================================================
--- trunk/mono/mono/metadata/ChangeLog 2007-06-21 12:11:28 UTC (rev 80444)
+++ trunk/mono/mono/metadata/ChangeLog 2007-06-21 12:12:09 UTC (rev 80445)
@@ -1,3 +1,9 @@
+2007-06-21 Raja R Harinath <[EMAIL PROTECTED]>
+
+ * metadata.c (mono_metadata_lookup_generic_class): The fully open
+ generic type is not the same as the generic type definition.
+ * class.c (mono_generic_class_get_class): Likewise.
+
2007-06-20 Geoff Norton <[EMAIL PROTECTED]>
* icall.c: The second argument to
Modified: trunk/mono/mono/metadata/class.c
===================================================================
--- trunk/mono/mono/metadata/class.c 2007-06-21 12:11:28 UTC (rev 80444)
+++ trunk/mono/mono/metadata/class.c 2007-06-21 12:12:09 UTC (rev 80445)
@@ -653,6 +653,7 @@
result = (MonoMethod *) iresult;
result->is_inflated = 1;
+ /* result->generic_container = NULL; */
result->signature = NULL;
iresult->context = *context;
iresult->declaring = method;
@@ -3106,6 +3107,7 @@
mono_loader_lock ();
if (gclass->cached_class) {
mono_loader_unlock ();
+ g_assert (!gclass->cached_class->generic_container);
return gclass->cached_class;
}
Modified: trunk/mono/mono/metadata/metadata.c
===================================================================
--- trunk/mono/mono/metadata/metadata.c 2007-06-21 12:11:28 UTC (rev 80444)
+++ trunk/mono/mono/metadata/metadata.c 2007-06-21 12:12:09 UTC (rev 80445)
@@ -2034,9 +2034,6 @@
gclass->context.class_inst = inst;
gclass->context.method_inst = NULL;
- if (inst == container_class->generic_container->context.class_inst)
- gclass->cached_class = container_class;
-
g_hash_table_insert (generic_class_cache, gclass, gclass);
mono_loader_unlock ();
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches