+2006-01-28 Ankit Jain <jankit@novell.com>
+
+ * get.c (get_method_core): Emit generic arity for a MemberRef.
+ (get_method_override): Emit full sig only if its a generic type.
+
2006-01-27 Ankit Jain <jankit@novell.com>
* get.c (get_methodref_signature): Remove 'context' parameter.
name = g_strdup_printf ("%s::%s",
get_memberref_parent (m, member_cols [MONO_MEMBERREF_CLASS], context),
mono_metadata_string_heap (m, member_cols [MONO_MEMBERREF_NAME]));
+ if (mh) {
+ int arity = 0;
+
+ if (mh->generic_container)
+ arity = mh->generic_container->type_argc;
+ else
+ if (mh->is_inflated && ((MonoMethodInflated *)mh)->declaring->generic_container)
+ arity = ((MonoMethodInflated*) mh)->declaring->generic_container->type_argc;
+
+ if (arity > 0) {
+ char *str = g_strdup_printf ("%s <[%d]>", name, arity);
+ g_free (name);
+ name = str;
+ }
+ }
+
sig = get_methodref_signature (
m, member_cols [MONO_MEMBERREF_SIGNATURE], name);
break;
mh = mono_get_method_full (m, decl, NULL, context);
mh = mono_get_inflated_method (mh);
- if ((mh && (mh->is_inflated || mh->generic_container)) ||
- (mh->klass && (mh->klass->generic_class || mh->klass->generic_container))) {
+ if (mh && (mh->klass && (mh->klass->generic_class || mh->klass->generic_container))) {
char *meth_str;
char *ret;