[Mono-bugs] [Bug 354757] IsGenericMethodDefinition returns false for open generic method
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Fri Jan 18 21:18:54 EST 2008
https://bugzilla.novell.com/show_bug.cgi?id=354757
User rkumpera at novell.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=354757#c1
Rodrigo Kumpera <rkumpera at novell.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rkumpera at novell.com
AssignedTo|mono-bugs at lists.ximian.com |rkumpera at novell.com
--- Comment #1 from Rodrigo Kumpera <rkumpera at novell.com> 2008-01-18 19:18:51 MST ---
This bug is due to the way instances of MethodBuilder are inflated when
MonoGenericType::initialize is called.
The issue is that we try to inflate generic methods when we are inflating the
generic type. This doesn't make any sense as no inflation should be done at
all.
Aplying the diff below fixes it. I need to test it a lot before considering
this a proper fix.
Index: metadata/reflection.c
===================================================================
--- metadata/reflection.c (revision 93177)
+++ metadata/reflection.c (working copy)
@@ -9013,14 +9015,6 @@
g_assert (klass->generic_class);
context = mono_class_get_context (klass);
- if (method->generic_container) {
- g_assert (method->klass ==
klass->generic_class->container_class);
-
- tmp_context.class_inst =
klass->generic_class->context.class_inst;
- tmp_context.method_inst =
method->generic_container->context.method_inst;
- context = &tmp_context;
- }
-
imethod = (MonoMethodInflated *) mono_class_inflate_generic_method_full
(method, klass, context);
if (method->generic_container) {
MOVING_GC_REGISTER (&imethod->reflection_info);
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list