Author: ankit
Date: 2005-05-11 02:53:16 -0400 (Wed, 11 May 2005)
New Revision: 44378
Modified:
trunk/mcs/mbas/ChangeLog
trunk/mcs/mbas/expression.cs
Log:
* expression.cs (Invocation.CheckParameterAgainstArgument): Return
ConversionType.Narrowing
for a NoArg argument.
(Invocation.IsApplicable): Don't create a REF type argument if it is NoArg.
(Invocation.ConstructArgumentList): Create argument with its DefaultValue for a
NoArg.
Modified: trunk/mcs/mbas/ChangeLog
===================================================================
--- trunk/mcs/mbas/ChangeLog 2005-05-11 06:52:44 UTC (rev 44377)
+++ trunk/mcs/mbas/ChangeLog 2005-05-11 06:53:16 UTC (rev 44378)
@@ -1,3 +1,10 @@
+2005-05-11 Ankit Jain <[EMAIL PROTECTED]>
+
+ * expression.cs (Invocation.CheckParameterAgainstArgument): Return
ConversionType.Narrowing
+ for a NoArg argument.
+ (Invocation.IsApplicable): Don't create a REF type argument if it is
NoArg.
+ (Invocation.ConstructArgumentList): Create argument with its
DefaultValue for a NoArg.
+
2005-05-10 Satya Sudha K <[EMAIL PROTECTED]>
* statement.cs, expression.cs, assign.cs :
Patch to allow latebinding expressions to be specified as ByRef
arguments
Modified: trunk/mcs/mbas/expression.cs
===================================================================
--- trunk/mcs/mbas/expression.cs 2005-05-11 06:52:44 UTC (rev 44377)
+++ trunk/mcs/mbas/expression.cs 2005-05-11 06:53:16 UTC (rev 44378)
@@ -3791,6 +3791,11 @@
static ConversionType CheckParameterAgainstArgument
(EmitContext ec, ParameterData pd, int i, Argument a, Type ptype)
{
+ if (a.ArgType == Argument.AType.NoArg) {
+ //FIXME: Is Narrowing correct for this?
+ return ConversionType.Narrowing;
+ }
+
Parameter.Modifier a_mod = a.GetParameterModifier () &
~(Parameter.Modifier.REF);
Parameter.Modifier p_mod = pd.ParameterModifier (i) &
@@ -3909,7 +3914,7 @@
return
ConversionType.None;
}
- if ((mod & Parameter.Modifier.REF) !=
0) {
+ if (a.ArgType != Argument.AType.NoArg
&& (mod & Parameter.Modifier.REF) != 0) {
a = new Argument (a.Expr,
Argument.AType.Ref);
if
(!a.Resolve(ec,Location.Null))
return
ConversionType.None;
@@ -4188,6 +4193,11 @@
Type param_type = pd.ParameterType (i);
bool IsDelegate = TypeManager.IsDelegateType
(param_type);
+ if (a.ArgType == Argument.AType.NoArg) {
+ a = new Argument (pd.DefaultValue (i),
Argument.AType.Expression);
+ a.Resolve (ec, Location.Null);
+ }
+
if (IsDelegate) {
if (a.ArgType ==
Argument.AType.AddressOf) {
a = new Argument ((Expression)
a.Expr, Argument.AType.Expression);
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches