Author: marek
Date: 2008-02-18 09:34:57 -0500 (Mon, 18 Feb 2008)
New Revision: 96051
Modified:
trunk/mcs/mcs/ChangeLog
trunk/mcs/mcs/ecore.cs
trunk/mcs/mcs/support.cs
Log:
2008-02-18 Marek Safar <[EMAIL PROTECTED]>
A fix for bug #361457
* ecore.cs (IsApplicable): Params methods have lower priority.
* support.cs: Return correct parameter modifier for params types.
Modified: trunk/mcs/mcs/ChangeLog
===================================================================
--- trunk/mcs/mcs/ChangeLog 2008-02-18 14:17:16 UTC (rev 96050)
+++ trunk/mcs/mcs/ChangeLog 2008-02-18 14:34:57 UTC (rev 96051)
@@ -1,5 +1,12 @@
2008-02-18 Marek Safar <[EMAIL PROTECTED]>
+ A fix for bug #361457
+ * ecore.cs (IsApplicable): Params methods have lower priority.
+
+ * support.cs: Return correct parameter modifier for params types.
+
+2008-02-18 Marek Safar <[EMAIL PROTECTED]>
+
* generic.cs (TypeParameter): Cache attribute target name.
* support.cs: Removed unused variable.
Modified: trunk/mcs/mcs/ecore.cs
===================================================================
--- trunk/mcs/mcs/ecore.cs 2008-02-18 14:17:16 UTC (rev 96050)
+++ trunk/mcs/mcs/ecore.cs 2008-02-18 14:34:57 UTC (rev 96051)
@@ -3696,8 +3696,11 @@
params_expanded_form = true;
}
- if (score != 0)
+ if (score != 0) {
+ if (params_expanded_form)
+ ++score;
return (arg_count - i) * 2 + score;
+ }
}
if (arg_count != param_count)
Modified: trunk/mcs/mcs/support.cs
===================================================================
--- trunk/mcs/mcs/support.cs 2008-02-18 14:17:16 UTC (rev 96050)
+++ trunk/mcs/mcs/support.cs 2008-02-18 14:34:57 UTC (rev 96051)
@@ -38,7 +38,7 @@
public class ReflectionParameters : ParameterData {
ParameterInfo [] pi;
Type [] types;
- int params_idx = -1;
+ int params_idx = int.MaxValue;
bool is_varargs;
bool is_extension;
ParameterData gpd;
@@ -229,9 +229,9 @@
public Parameter.Modifier ParameterModifier (int pos)
{
- if (pos == params_idx)
+ if (pos >= params_idx)
return Parameter.Modifier.PARAMS;
- else if (is_varargs && pos >= pi.Length)
+ if (is_varargs && pos >= pi.Length)
return Parameter.Modifier.ARGLIST;
if (gpd != null)
@@ -262,7 +262,7 @@
}
public bool HasParams {
- get { return params_idx != -1; }
+ get { return params_idx != int.MaxValue; }
}
public Type[] Types {
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches