Cleanup MethodGroupExpr bits
authorMarek Safar <marek.safar@gmail.com>
Tue, 29 Jun 2010 11:40:51 +0000 (11:40 -0000)
committerMarek Safar <marek.safar@gmail.com>
Tue, 29 Jun 2010 11:40:51 +0000 (11:40 -0000)
svn path=/trunk/mcs/; revision=159660

mcs/mcs/attribute.cs
mcs/mcs/expression.cs

index 435906d601cdf6a87562cb2044765928d8fac71b..529c754e4329a281e6dcb2094d53dd7ba4bdb667 100644 (file)
@@ -436,8 +436,7 @@ namespace Mono.CSharp {
                        if (mg == null)
                                return null;
                        
-                       var constructor = (MethodSpec) mg;
-                       return constructor;
+                       return mg.BestCandidate;
                }
 
                protected virtual bool ResolveNamedArguments (ResolveContext ec)
index f1f59bb514effa16d7a2f20957b70c850c9eab2e..a4e4b227c02a1fb881bfc5af76e5552c86261971 100644 (file)
@@ -2801,9 +2801,7 @@ namespace Mono.CSharp {
                        if (method == null)
                                return new EmptyExpression (TypeManager.decimal_type);
 
-                       MethodGroupExpr mg = new MethodGroupExpr (method, TypeManager.delegate_type, loc);
-                       mg = mg.OverloadResolve (ec, ref args, false, loc);
-
+                       MethodGroupExpr mg = MethodGroupExpr.CreatePredefined (method, TypeManager.delegate_type, loc);
                        return new ClassCast (new UserOperatorCall (mg, args, CreateExpressionTree, loc), l);
                }
 
@@ -5208,7 +5206,7 @@ namespace Mono.CSharp {
 
                public override SLE.Expression MakeExpression (BuilderContext ctx)
                {
-                       return MakeExpression (ctx, mg.InstanceExpression, (MethodSpec) mg, arguments);
+                       return MakeExpression (ctx, mg.InstanceExpression, mg.BestCandidate, arguments);
                }
 
                public static SLE.Expression MakeExpression (BuilderContext ctx, Expression instance, MethodSpec mi, Arguments args)