Author: marek
Date: 2008-01-22 03:44:22 -0500 (Tue, 22 Jan 2008)
New Revision: 93482
Modified:
trunk/mcs/mcs/ChangeLog
trunk/mcs/mcs/ecore.cs
trunk/mcs/mcs/expression.cs
Log:
2008-01-22 Marek Safar <[EMAIL PROTECTED]>
A fix for bug #355148
* ecore.cs, expression.cs: Correctly report misused ref and out
modifiers.
Modified: trunk/mcs/mcs/ChangeLog
===================================================================
--- trunk/mcs/mcs/ChangeLog 2008-01-22 08:42:27 UTC (rev 93481)
+++ trunk/mcs/mcs/ChangeLog 2008-01-22 08:44:22 UTC (rev 93482)
@@ -1,3 +1,8 @@
+2008-01-22 Marek Safar <[EMAIL PROTECTED]>
+
+ A fix for bug #355148
+ * ecore.cs, expression.cs: Correctly report misused ref and out
modifiers.
+
2008-01-22 Miguel de Icaza <[EMAIL PROTECTED]>
* expression.cs (CreateExpressionTree): Add support for or and
Modified: trunk/mcs/mcs/ecore.cs
===================================================================
--- trunk/mcs/mcs/ecore.cs 2008-01-22 08:42:27 UTC (rev 93481)
+++ trunk/mcs/mcs/ecore.cs 2008-01-22 08:44:22 UTC (rev 93482)
@@ -3577,9 +3577,9 @@
Parameter.Modifier mod = expected_par.ParameterModifier
(idx);
string index = (idx + 1).ToString ();
- if ((mod & Parameter.Modifier.ISBYREF) != (a.Modifier &
Parameter.Modifier.ISBYREF) ||
- (mod & Parameter.Modifier.ISBYREF) != 0) {
- if ((mod & (Parameter.Modifier.REF |
Parameter.Modifier.OUT)) == 0)
+ if (((mod & (Parameter.Modifier.REF |
Parameter.Modifier.OUT)) ^
+ (a.Modifier & (Parameter.Modifier.REF |
Parameter.Modifier.OUT))) != 0) {
+ if ((mod & Parameter.Modifier.ISBYREF) == 0)
Report.Error (1615, loc, "Argument
`{0}' should not be passed with the `{1}' keyword",
index,
Parameter.GetModifierSignature (a.Modifier));
else
Modified: trunk/mcs/mcs/expression.cs
===================================================================
--- trunk/mcs/mcs/expression.cs 2008-01-22 08:42:27 UTC (rev 93481)
+++ trunk/mcs/mcs/expression.cs 2008-01-22 08:44:22 UTC (rev 93482)
@@ -4097,9 +4097,7 @@
if (Expr.eclass == ExprClass.MethodGroup)
return Expr.ExprClassName;
- return ArgType == AType.Ref ? "ref " :
- ArgType == AType.Out ? "out " : "" +
- Expr.GetSignatureForError ();
+ return Expr.GetSignatureForError ();
}
public bool ResolveMethodGroup (EmitContext ec)
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches