* test-9.il: New test, test instaniating a class
[mono.git] / mono / dis / get.c
index 74434489f777bfdcf50f495fc6221ea7bb73a1a8..4c36d14351386f457c2b7faa25fd83cc4cb0069f 100644 (file)
@@ -463,7 +463,7 @@ dis_stringify_method_signature (MonoImage *m, MonoMethodSignature *method, int m
                if (!method) {
                        const char *sig = mono_metadata_blob_heap (m, cols [MONO_METHOD_SIGNATURE]);
                        mono_metadata_decode_blob_size (sig, &sig);
-                       method = mono_metadata_parse_method_signature (m, 1, sig, &sig);
+                       method = mono_metadata_parse_method_signature (m, methoddef_row, sig, &sig);
                        free_method = 1;
                }
        }
@@ -651,7 +651,7 @@ get_field_signature (MonoImage *m, guint32 blob_signature)
        if (allocated_modifier_string)
                g_free (allocated_modifier_string);
        if (allocated_type_string)
-               g_free (allocated_modifier_string);
+               g_free (allocated_type_string);
        
        return res;
 }
@@ -1345,6 +1345,7 @@ get_marshal_info (MonoImage *m, const char *blob) {
        case MONO_NATIVE_LPTSTR:
                return g_strdup ("lptstr");
        case MONO_NATIVE_BYVALTSTR:
+               size = mono_metadata_decode_value (blob + 1, &blob);
                return g_strdup_printf ("fixed sysstring [%d]", size);
        case MONO_NATIVE_IUNKNOWN:
                return g_strdup ("iunknown");
@@ -1357,6 +1358,7 @@ get_marshal_info (MonoImage *m, const char *blob) {
        case MONO_NATIVE_SAFEARRAY:
                return g_strdup ("safearray");
        case MONO_NATIVE_BYVALARRAY:
+               size = mono_metadata_decode_value (blob + 1, &blob);
                return g_strdup_printf ("fixed array [%d]", size);
        case MONO_NATIVE_INT:
                return g_strdup ("int");