Author: zoltan Date: 2008-02-19 14:56:34 -0500 (Tue, 19 Feb 2008) New Revision: 96178
Modified: trunk/mono/mono/metadata/ChangeLog trunk/mono/mono/metadata/class.c Log: 2008-02-19 Zoltan Varga <[EMAIL PROTECTED]> * class.c (mono_class_setup_vtable_general): Ignore static methods in interfaces. Modified: trunk/mono/mono/metadata/ChangeLog =================================================================== --- trunk/mono/mono/metadata/ChangeLog 2008-02-19 19:55:40 UTC (rev 96177) +++ trunk/mono/mono/metadata/ChangeLog 2008-02-19 19:56:34 UTC (rev 96178) @@ -1,3 +1,7 @@ +2008-02-19 Zoltan Varga <[EMAIL PROTECTED]> + + * class.c (mono_class_setup_vtable_general): Ignore static methods in interfaces. + 2008-02-18 Rodrigo Kumpera <[EMAIL PROTECTED]> * verify.c: Implement skip visibility flag. Modified: trunk/mono/mono/metadata/class.c =================================================================== --- trunk/mono/mono/metadata/class.c 2008-02-19 19:55:40 UTC (rev 96177) +++ trunk/mono/mono/metadata/class.c 2008-02-19 19:56:34 UTC (rev 96178) @@ -2657,6 +2657,9 @@ int im_slot = ic_offset + im->slot; MonoMethod *override_im = (override_map != NULL) ? g_hash_table_lookup (override_map, im) : NULL; + if (im->flags & METHOD_ATTRIBUTE_STATIC) + continue; + // If there is an explicit implementation, just use it right away, // otherwise look for a matching method if (override_im == NULL) { @@ -2721,6 +2724,9 @@ MonoMethod *im = ic->methods [im_index]; int im_slot = ic_offset + im->slot; + if (im->flags & METHOD_ATTRIBUTE_STATIC) + continue; + TRACE_INTERFACE_VTABLE (printf (" [class is not abstract, checking slot %d for interface '%s'.'%s', method %s, slot check is %d]\n", im_slot, ic->name_space, ic->name, im->name, (vtable [im_slot] == NULL))); if (vtable [im_slot] == NULL) { _______________________________________________ Mono-patches maillist - Mono-patches@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-patches