[mcs] Add missing object to dynamic conversion for imported types
authorMarek Safar <marek.safar@gmail.com>
Fri, 10 Jan 2014 09:29:05 +0000 (10:29 +0100)
committerMarek Safar <marek.safar@gmail.com>
Fri, 10 Jan 2014 09:46:45 +0000 (10:46 +0100)
mcs/mcs/import.cs

index 7ce7439a780aa835f930a78625d5240f86aded25..6529c878fd2c3b687484e9aa425db0a724d8da89 100644 (file)
@@ -1151,8 +1151,12 @@ namespace Mono.CSharp
                        }
 
                        TypeSpec compiled_type;
-                       if (compiled_types.TryGetValue (type, out compiled_type))
+                       if (compiled_types.TryGetValue (type, out compiled_type)) {
+                               if (compiled_type.BuiltinType == BuiltinTypeSpec.Type.Object && dtype.IsDynamicObject ())
+                                       return module.Compiler.BuiltinTypes.Dynamic;
+
                                return compiled_type;
+                       }
 
                        return CreateType (type, dtype, true);
                }