+2009-04-07 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * loader.c (method_from_memberref): If ít's a memberref to a typespec inflate
+ the signature and search the inflated type.
+
+ We can't blindly search the generic type definition or expect that the signature
+ will be inflated as both options can happen. The only solution is to search the
+ inflated type against the inflated signature.
+
+ Fixes #492778.
+
2009-04-07 Zoltan Varga <vargaz@gmail.com>
* debug-helpers.c (dis_one): Decode string arguments.
type = &klass->byval_arg;
if (type->type != MONO_TYPE_ARRAY && type->type != MONO_TYPE_SZARRAY) {
- MonoClass *in_class = klass->generic_class ? klass->generic_class->container_class : klass;
- method = find_method (in_class, NULL, mname, sig, klass);
+ MonoMethodSignature *in_sig = sig;
+ if (klass->generic_class)
+ in_sig = inflate_generic_signature (NULL, sig, &klass->generic_class->context);
+
+ method = find_method (klass, NULL, mname, in_sig, klass);
+ if (in_sig != sig)
+ mono_metadata_free_inflated_signature (in_sig);
break;
}