2004-07-27 Bernie Solomon <bernard@ugsolutions.com>
authorBernie Solomon <bernard@mono-cvs.ximian.com>
Tue, 27 Jul 2004 17:42:09 +0000 (17:42 -0000)
committerBernie Solomon <bernard@mono-cvs.ximian.com>
Tue, 27 Jul 2004 17:42:09 +0000 (17:42 -0000)
* transform.c (mono_interp_transform_method):
quick fix to cope with the fake ptr classes

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

mono/interpreter/ChangeLog
mono/interpreter/transform.c

index f40f576e52533aac9ccd06534cc777639d462eff..b655c5da72357f88259948a2addf7a21d53ef52e 100644 (file)
@@ -1,3 +1,8 @@
+2004-07-27  Bernie Solomon  <bernard@ugsolutions.com>
+
+       * transform.c (mono_interp_transform_method):
+       quick fix to cope with the fake ptr classes
+
 2004-07-26  Bernie Solomon  <bernard@ugsolutions.com>
 
        * mintops.def: more options on ICALL op code
index 4cc60fb45399f52b036ae73e0caf05490ddd1d94..2d3e73ee6374707dc521283b4936360b20a8af85 100644 (file)
@@ -2910,7 +2910,8 @@ mono_interp_transform_method (RuntimeMethod *runtime_method, ThreadContext *cont
                        if (method->wrapper_type == MONO_WRAPPER_NONE) {
                                class = mono_class_get_full (image, read32 (ip + 1), generic_context);
                                mono_class_init (class);
-                               if (!(class->flags & TYPE_ATTRIBUTE_INTERFACE))
+                               /* quick fix to not do this for the fake ptr classes - probably should not be getting the vtable at all here */
+                               if (!(class->flags & TYPE_ATTRIBUTE_INTERFACE) && class->interface_offsets != NULL)
                                        mono_class_vtable (domain, class);
                        }
                        ip += 5;