Fix typo.
[mono.git] / mono / metadata / reflection.c
index 66bdbc5233ab5f30bc31c171e5217b9d2c1bb09a..0fe23865ee7b9d581f1f6a0889bc8316dea5989a 100644 (file)
@@ -4277,6 +4277,7 @@ mono_image_basic_init (MonoReflectionAssemblyBuilder *assemblyb)
 #endif
 
        assembly->assembly.dynamic = TRUE;
+       assembly->assembly.corlib_internal = assemblyb->corlib_internal;
        assemblyb->assembly.assembly = (MonoAssembly*)assembly;
        assembly->assembly.basedir = mono_string_to_utf8 (assemblyb->dir);
        if (assemblyb->culture)
@@ -5072,6 +5073,7 @@ mono_assembly_get_object (MonoDomain *domain, MonoAssembly *assembly)
                        mono_defaults.corlib, "System.Reflection", "Assembly");
        res = (MonoReflectionAssembly *)mono_object_new (domain, System_Reflection_Assembly);
        res->assembly = assembly;
+
        CACHE_OBJECT (assembly, res, NULL);
        return res;
 }
@@ -7039,11 +7041,19 @@ handle_type:
                break;
        }
        /* it may be a boxed value or a Type */
-       case MONO_TYPE_OBJECT: {
-               MonoClass *klass = mono_object_class (arg);
+       case MONO_TYPE_OBJECT: {\r
+               MonoClass *klass;
                char *str;
                guint32 slen;
+\r
+               if (arg == NULL) {\r
+                       *p++ = MONO_TYPE_STRING;        // It's same hack as MS uses\r
+                       *p++ = 0xFF;\r
+                       break;\r
+               }\r
                
+               klass = mono_object_class (arg);
+
                if (mono_object_isinst (arg, mono_defaults.monotype_class)) {
                        *p++ = 0x50;
                        goto handle_type;