2004-12-06 Martin Baulig <martin@ximian.com>
authorMartin Baulig <martin@novell.com>
Mon, 6 Dec 2004 17:57:43 +0000 (17:57 -0000)
committerMartin Baulig <martin@novell.com>
Mon, 6 Dec 2004 17:57:43 +0000 (17:57 -0000)
* class.c (mono_class_create_generic): Call
mono_class_setup_supertypes() if we're dynamic.
(mono_class_is_subclass_of): `g_assert (klass->idepth > 0)'.

svn path=/trunk/mono/; revision=37209

mono/metadata/ChangeLog
mono/metadata/class.c

index 456da1cddf976b177a872aba54c2e28683bb2b59..9d403ecd4fd27fa47221a911d59fe39342301479 100644 (file)
@@ -1,3 +1,9 @@
+2004-12-06  Martin Baulig  <martin@ximian.com>
+
+       * class.c (mono_class_create_generic): Call
+       mono_class_setup_supertypes() if we're dynamic.
+       (mono_class_is_subclass_of): `g_assert (klass->idepth > 0)'.
+
 2004-12-06  Zoltan Varga  <vargaz@freemail.hu>
 
        * object-internals.h: Add new fields to MonoThread.
index 650e4e6ebc3dca286b76f6d90393fb745f42aed5..5fb50f778ab1d6f202e399f5fdb2587774ed4b28 100644 (file)
@@ -1961,6 +1961,8 @@ mono_class_create_generic (MonoGenericClass *gclass)
                klass->inited = 1;
 
                klass->valuetype = gklass->valuetype;
+
+               mono_class_setup_supertypes (klass);
        }
 }
 
@@ -2812,6 +2814,7 @@ mono_class_is_subclass_of (MonoClass *klass, MonoClass *klassc,
                           gboolean check_interfaces)
 {
  again:
+       g_assert (klassc->idepth > 0);
        if (check_interfaces && MONO_CLASS_IS_INTERFACE (klassc) && !MONO_CLASS_IS_INTERFACE (klass)) {
                if ((klassc->interface_id <= klass->max_interface_id) &&
                        (klass->interface_offsets [klassc->interface_id] >= 0))