Author: manjula
Date: 2005-04-25 23:42:32 -0400 (Mon, 25 Apr 2005)
New Revision: 43573
Modified:
trunk/mcs/mbas/ChangeLog
trunk/mcs/mbas/argument.cs
trunk/mcs/mbas/expression.cs
trunk/mcs/mbas/parameter.cs
trunk/mcs/mbas/statement.cs
trunk/mcs/mbas/support.cs
Log:
"out" is not supported as Parameter Modifier in VB.NET
Modified: trunk/mcs/mbas/ChangeLog
===================================================================
--- trunk/mcs/mbas/ChangeLog 2005-04-26 03:33:37 UTC (rev 43572)
+++ trunk/mcs/mbas/ChangeLog 2005-04-26 03:42:32 UTC (rev 43573)
@@ -1,3 +1,10 @@
+2005-04-26 Manjula GHM <[EMAIL PROTECTED]>
+ *support.cs
+ *parameter.cs
+ *argument.cs
+ *expression.cs
+ *statement.cs
+ "out" is not supported as Parameter Modifier in VB.NET
2005-04-21 Satya Sudha K <[EMAIL PROTECTED]>
* ecore.cs :
Fixed object to bool/float/double conversions
Modified: trunk/mcs/mbas/argument.cs
===================================================================
--- trunk/mcs/mbas/argument.cs 2005-04-26 03:33:37 UTC (rev 43572)
+++ trunk/mcs/mbas/argument.cs 2005-04-26 03:42:32 UTC (rev 43573)
@@ -24,7 +24,6 @@
public enum AType : byte {
Expression,
Ref,
- Out,
NoArg,
AddressOf
};
@@ -40,7 +39,7 @@
public Type Type {
get {
- if (ArgType == AType.Ref || ArgType ==
AType.Out)
+ if (ArgType == AType.Ref )
return TypeManager.LookupType
(Expr.Type.ToString () + "&");
else
return Expr.Type;
@@ -50,9 +49,6 @@
public Parameter.Modifier GetParameterModifier ()
{
switch (ArgType) {
- case AType.Out:
- return Parameter.Modifier.OUT |
Parameter.Modifier.ISBYREF;
-
case AType.Ref:
return Parameter.Modifier.REF |
Parameter.Modifier.ISBYREF;
@@ -63,8 +59,7 @@
public static string FullDesc (Argument a)
{
- return (a.ArgType == AType.Ref ? "ref " :
- (a.ArgType == AType.Out ? "out " : "")) +
+ return (a.ArgType == AType.Ref ? "ref " : "") +
TypeManager.MonoBASIC_Name (a.Expr.Type);
}
@@ -97,9 +92,7 @@
Expr = Expr.ResolveLValue (ec, Expr);
} else */
- if (ArgType == AType.Out)
- Expr = Expr.ResolveLValue (ec, new
EmptyExpression ());
- else if (ArgType == AType.AddressOf) {
+ if (ArgType == AType.AddressOf) {
Expression temp_expr = Expr;
if (temp_expr is SimpleName) {
@@ -150,12 +143,12 @@
public void Emit (EmitContext ec)
{
//
- // Ref and Out parameters need to have their addresses
taken.
+ // Ref parameters need to have their addresses taken.
//
// ParameterReferences might already be references, so
we want
// to pass just the value
//
- if (ArgType == AType.Ref || ArgType == AType.Out){
+ if (ArgType == AType.Ref ){
AddressOp mode = AddressOp.Store;
if (ArgType == AType.Ref)
Modified: trunk/mcs/mbas/expression.cs
===================================================================
--- trunk/mcs/mbas/expression.cs 2005-04-26 03:33:37 UTC (rev 43572)
+++ trunk/mcs/mbas/expression.cs 2005-04-26 03:42:32 UTC (rev 43573)
@@ -3437,12 +3437,12 @@
{
type = pars.GetParameterInfo (ec.DeclSpace, idx, out
mod);
is_ref = (mod & Parameter.Modifier.ISBYREF) != 0;
- is_out = (mod & Parameter.Modifier.OUT) != 0;
+ // is_out = (mod & Parameter.Modifier.OUT) != 0;
eclass = ExprClass.Variable;
- if (is_out && ec.DoFlowAnalysis && !IsAssigned (ec,
loc))
+ /* if (is_out && ec.DoFlowAnalysis && !IsAssigned (ec,
loc))
return null;
-
+ */
return this;
}
@@ -3450,12 +3450,12 @@
{
type = pars.GetParameterInfo (ec.DeclSpace, idx, out
mod);
is_ref = (mod & Parameter.Modifier.ISBYREF) != 0;
- is_out = (mod & Parameter.Modifier.OUT) != 0;
+ // is_out = (mod & Parameter.Modifier.OUT) != 0;
eclass = ExprClass.Variable;
-
+ /*
if (is_out && ec.DoFlowAnalysis)
ec.SetParameterAssigned (idx);
-
+ */
return this;
}
@@ -3823,9 +3823,9 @@
Argument a = (Argument) arguments [i];
Parameter.Modifier a_mod =
a.GetParameterModifier () &
- ~(Parameter.Modifier.OUT |
Parameter.Modifier.REF);
+ ~(Parameter.Modifier.REF);
Parameter.Modifier p_mod = pd.ParameterModifier
(i) &
- ~(Parameter.Modifier.OUT |
Parameter.Modifier.REF);
+ ~(Parameter.Modifier.REF);
if (a_mod == p_mod) {
@@ -3865,9 +3865,9 @@
static ConversionType CheckParameterAgainstArgument
(EmitContext ec, ParameterData pd, int i, Argument a, Type ptype)
{
Parameter.Modifier a_mod = a.GetParameterModifier () &
- ~(Parameter.Modifier.OUT |
Parameter.Modifier.REF);
+ ~(Parameter.Modifier.REF);
Parameter.Modifier p_mod = pd.ParameterModifier (i) &
- ~(Parameter.Modifier.OUT |
Parameter.Modifier.REF | Parameter.Modifier.OPTIONAL);
+ ~(Parameter.Modifier.REF |
Parameter.Modifier.OPTIONAL);
if (a_mod == p_mod ||
(a_mod == Parameter.Modifier.NONE && p_mod ==
Parameter.Modifier.PARAMS)) {
@@ -4375,9 +4375,9 @@
}
Parameter.Modifier a_mod =
a.GetParameterModifier () &
- ~(Parameter.Modifier.OUT |
Parameter.Modifier.REF);
+ ~(Parameter.Modifier.REF);
Parameter.Modifier p_mod = pd.ParameterModifier
(j) &
- ~(Parameter.Modifier.OUT |
Parameter.Modifier.REF | Parameter.Modifier.OPTIONAL);
+ ~(Parameter.Modifier.REF |
Parameter.Modifier.OPTIONAL);
if (a_mod != p_mod &&
pd.ParameterModifier (pd_count - 1) !=
Parameter.Modifier.PARAMS) {
@@ -4703,7 +4703,7 @@
return;
}
- if ((a.ArgType == Argument.AType.Ref ||
a.ArgType == Argument.AType.Out) &&
+ if ((a.ArgType == Argument.AType.Ref ) &&
!(a.Expr is IMemoryLocation)) {
LocalTemporary tmp = new LocalTemporary
(ec, pd.ParameterType (i));
Modified: trunk/mcs/mbas/parameter.cs
===================================================================
--- trunk/mcs/mbas/parameter.cs 2005-04-26 03:33:37 UTC (rev 43572)
+++ trunk/mcs/mbas/parameter.cs 2005-04-26 03:42:32 UTC (rev 43573)
@@ -28,7 +28,7 @@
NONE = 0,
VAL = 0,
REF = 1,
- OUT = 2,
+// OUT = 2,
PARAMS = 4,
// This is a flag which says that it's either REF or
OUT.
ISBYREF = 8,
@@ -129,8 +129,10 @@
return ParameterAttributes.None;
case Modifier.REF:
return ParameterAttributes.None;
+/*
case Modifier.OUT:
return ParameterAttributes.Out;
+*/
case Modifier.OPTIONAL:
return ParameterAttributes.Optional;
case Modifier.PARAMS:
@@ -561,7 +563,7 @@
Parameter p = FixedParameters [idx];
mod = p.ModFlags;
- if ((mod & (Parameter.Modifier.REF |
Parameter.Modifier.OUT)) != 0)
+ if ((mod & (Parameter.Modifier.REF )) != 0)
mod |= Parameter.Modifier.ISBYREF;
return p.ParameterType;
Modified: trunk/mcs/mbas/statement.cs
===================================================================
--- trunk/mcs/mbas/statement.cs 2005-04-26 03:33:37 UTC (rev 43572)
+++ trunk/mcs/mbas/statement.cs 2005-04-26 03:42:32 UTC (rev 43573)
@@ -2039,8 +2039,8 @@
for (int i = 0; i < count; i++) {
Parameter.Modifier mod =
param_info.ParameterModifier (i);
- if ((mod & Parameter.Modifier.OUT) == 0)
- continue;
+ // if ((mod & Parameter.Modifier.OUT) == 0)
+ // continue;
param_map [i] = ++num_params;
Modified: trunk/mcs/mbas/support.cs
===================================================================
--- trunk/mcs/mbas/support.cs 2005-04-26 03:33:37 UTC (rev 43572)
+++ trunk/mcs/mbas/support.cs 2005-04-26 03:42:32 UTC (rev 43573)
@@ -249,8 +249,6 @@
if (p.ModFlags == Parameter.Modifier.REF)
tmp = "ref ";
- else if (p.ModFlags == Parameter.Modifier.OUT)
- tmp = "out ";
else if (p.ModFlags == Parameter.Modifier.PARAMS)
tmp = "params ";
@@ -273,7 +271,7 @@
else
mod = Parameters.FixedParameters [pos].ModFlags;
- if ((mod & (Parameter.Modifier.REF |
Parameter.Modifier.OUT)) != 0)
+ if ((mod & (Parameter.Modifier.REF )) != 0)
mod |= Parameter.Modifier.ISBYREF;
return mod;
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches