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

Reply via email to