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

Reply via email to