+2009-07-16 Raja R Harinath <harinath@hurrynot.org>
+
+ * get.c (get_type): Make robust to invalid types.
+
2009-07-16 Marek Habersack <mhabersack@novell.com>
* main.c: added new --presources option which prints manifest
default:
t = mono_metadata_parse_type_full (m, container, MONO_PARSE_TYPE, 0, start, &ptr);
- *result = dis_stringify_type (m, t, is_def);
+ if (t) {
+ *result = dis_stringify_type (m, t, is_def);
+ } else {
+ GString *err = g_string_new ("@!#$<InvalidType>$#!@");
+ if (container)
+ t = mono_metadata_parse_type_full (m, NULL, MONO_PARSE_TYPE, 0, start, &ptr);
+ if (t) {
+ char *name = dis_stringify_type (m, t, is_def);
+ g_warning ("Encountered a generic type inappropriate for its context");
+ g_string_append (err, " // ");
+ g_string_append (err, name);
+ g_free (name);
+ } else {
+ g_warning ("Encountered an invalid type");
+ }
+ *result = g_string_free (err, FALSE);
+ }
+
break;
}