2010-05-27 Marek Safar <marek.safar@gmail.com>
[mono.git] / mcs / class / Microsoft.CSharp / Microsoft.CSharp.RuntimeBinder / CSharpInvokeMemberBinder.cs
index b578e499ea3ed01df66dd774c579d7756a9399bb..3417cfda5d7f1bd0f450c38858b58038439849ce 100644 (file)
@@ -63,7 +63,7 @@ namespace Microsoft.CSharp.RuntimeBinder
                        var c_args = CSharpBinder.CreateCompilerArguments (argumentInfo.Skip (1), args);
                        var t_args = typeArguments == null ?
                                null :
-                               new Compiler.TypeArguments (typeArguments.Select (l => new Compiler.TypeExpression (l, Compiler.Location.Null)).ToArray ());
+                               new Compiler.TypeArguments (typeArguments.Select (l => new Compiler.TypeExpression (TypeImporter.Import (l), Compiler.Location.Null)).ToArray ());
 
                        Compiler.Expression expr;
                        if ((flags & CSharpBinderFlags.InvokeSimpleName) != 0) {
@@ -76,9 +76,9 @@ namespace Microsoft.CSharp.RuntimeBinder
                        expr = new Compiler.Invocation (expr, c_args);
 
                        if ((flags & CSharpBinderFlags.ResultDiscarded) == 0)
-                               expr = new Compiler.Cast (new Compiler.TypeExpression (ReturnType, Compiler.Location.Null), expr);
+                               expr = new Compiler.Cast (new Compiler.TypeExpression (TypeImporter.Import (ReturnType), Compiler.Location.Null), expr);
                        else
-                               expr = new Compiler.DynamicResultCast (ReturnType, expr);
+                               expr = new Compiler.DynamicResultCast (TypeImporter.Import (ReturnType), expr);
 
                        var binder = new CSharpBinder (this, expr, errorSuggestion);
                        binder.AddRestrictions (target);