2005-03-22 Martin Baulig <martin@ximian.com>
authorMartin Baulig <martin@novell.com>
Tue, 22 Mar 2005 15:28:05 +0000 (15:28 -0000)
committerMartin Baulig <martin@novell.com>
Tue, 22 Mar 2005 15:28:05 +0000 (15:28 -0000)
* delegate.cs (Delegate.VerifyMethod): Call
TypeManager.GetParameterData() after method inference, not before.

svn path=/trunk/mcs/; revision=42114

mcs/gmcs/ChangeLog
mcs/gmcs/delegate.cs

index e63f36b1d620c95c892c194606729e1db9daa37d..bbd13527d63c54ad47dbf28b94b8df6c2cfa5c2e 100644 (file)
@@ -1,3 +1,8 @@
+2005-03-22  Martin Baulig  <martin@ximian.com>
+
+       * delegate.cs (Delegate.VerifyMethod): Call
+       TypeManager.GetParameterData() after method inference, not before.
+
 2005-03-22  Martin Baulig  <martin@ximian.com>
 
        * typemanager.cs (TypeManager.LookupMemberCache): Add support for
index caffd5075dc8258be9e6aefeaee4829790f8c00f..8ee5da2f075b586e1fb1e8c9cbadceea38296bb8 100644 (file)
@@ -474,7 +474,6 @@ namespace Mono.CSharp {
                        MethodGroupExpr mg = GetInvokeMethod (ec, delegate_type, loc);
                        if (mg == null)
                                return null;
-                       ParameterData pd = TypeManager.GetParameterData (mb);
 
                        MethodBase invoke_mb = mg.Methods [0];
                        ParameterData invoke_pd = TypeManager.GetParameterData (invoke_mb);
@@ -483,6 +482,7 @@ namespace Mono.CSharp {
                            !TypeManager.InferTypeArguments (ec, invoke_pd, ref mb))
                                return null;
 
+                       ParameterData pd = TypeManager.GetParameterData (mb);
                        if (invoke_pd.Count != pd.Count)
                                return null;
 
@@ -1011,7 +1011,7 @@ namespace Mono.CSharp {
                                                return null;
                                }
                        }
-                       
+
                        if (!Delegate.VerifyApplicability (ec, del_type, Arguments, loc))
                                return null;