Author: manjula
Date: 2005-04-25 23:53:45 -0400 (Mon, 25 Apr 2005)
New Revision: 43574

Modified:
   trunk/mcs/mbas/ChangeLog
   trunk/mcs/mbas/statement.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:42:32 UTC (rev 43573)
+++ trunk/mcs/mbas/ChangeLog    2005-04-26 03:53:45 UTC (rev 43574)
@@ -1,4 +1,7 @@
 2005-04-26 Manjula GHM <[EMAIL PROTECTED]>
+       *statement.cs
+               "out" is not supported as Parameter Modifier in VB.NET
+2005-04-26 Manjula GHM <[EMAIL PROTECTED]>
        *support.cs
        *parameter.cs
        *argument.cs

Modified: trunk/mcs/mbas/statement.cs
===================================================================
--- trunk/mcs/mbas/statement.cs 2005-04-26 03:42:32 UTC (rev 43573)
+++ trunk/mcs/mbas/statement.cs 2005-04-26 03:53:45 UTC (rev 43574)
@@ -652,8 +652,6 @@
 
                        if (ec.CurrentBranching.InTryBlock ())
                                ec.CurrentBranching.AddFinallyVector (vector);
-                       else
-                               vector.CheckOutParameters (ec.CurrentBranching);
 
                        vector.Returns = FlowReturns.ALWAYS;
                        vector.Breaks = FlowReturns.ALWAYS;
@@ -1937,13 +1935,6 @@
 
                                Report.Debug (1, "MERGING FINALLY ORIGIN DONE", 
this);
                        }
-
-                       public void CheckOutParameters (FlowBranching branching)
-                       {
-                               if (parameters != null)
-                                       branching.CheckOutParameters 
(parameters, branching.Location);
-                       }
-
                        // <summary>
                        //   Performs an `or' operation on the locals and the 
parameters.
                        // </summary>
@@ -2127,51 +2118,7 @@
                        CurrentUsageVector.MergeFinallyOrigins 
(finally_vectors);
                }
 
-               // <summary>
-               //   Check whether all `out' parameters have been assigned.
-               // </summary>
-               public void CheckOutParameters (MyBitVector parameters, 
Location loc)
-               {
-                       if (InTryBlock ())
-                               return;
 
-                       for (int i = 0; i < param_map.Length; i++) {
-                               int index = param_map [i];
-
-                               if (index == 0)
-                                       continue;
-
-                               if (parameters [index - 1])
-                                       continue;
-
-                               // If it's a struct, we must ensure that all 
its fields have
-                               // been assigned.  If the struct has any 
non-public fields, this
-                               // can only be done by assigning the whole 
struct.
-
-                               MyStructInfo struct_info = struct_params [index 
- 1];
-                               if ((struct_info == null) || 
struct_info.HasNonPublicFields) {
-                                       Report.Error (
-                                               177, loc, "The out parameter `" 
+
-                                               param_info.ParameterName (i) + 
"' must be " +
-                                               "assigned before control leave 
the current method.");
-                                       param_map [i] = 0;
-                                       continue;
-                               }
-
-
-                               for (int j = 0; j < struct_info.Count; j++) {
-                                       if (!parameters [index + j]) {
-                                               Report.Error (
-                                                       177, loc, "The out 
parameter `" +
-                                                       
param_info.ParameterName (i) + "' must be " +
-                                                       "assigned before 
control leave the current method.");
-                                               param_map [i] = 0;
-                                               break;
-                                       }
-                               }
-                       }
-               }
-
                // <summary>
                //   Merge a child branching.
                // </summary>
@@ -2207,8 +2154,6 @@
                        Report.Debug (1, "MERGING TOP BLOCK DONE", Location, 
vector);
 
                        if (vector.Breaks != FlowReturns.EXCEPTION) {
-                               if (!vector.AlwaysBreaks)
-                                       CheckOutParameters 
(CurrentUsageVector.Parameters, Location);
                                return vector.AlwaysBreaks ? FlowReturns.ALWAYS 
: vector.Returns;
                        } else
                                return FlowReturns.EXCEPTION;
@@ -4834,11 +4779,6 @@
                        FlowBranching.UsageVector f_vector = 
ec.CurrentBranching.CurrentUsageVector;
 
                        Report.Debug (1, "END OF FINALLY", ec.CurrentBranching, 
returns, vector, f_vector);
-
-                       if ((returns == FlowReturns.SOMETIMES) || (returns == 
FlowReturns.ALWAYS)) {
-                               ec.CurrentBranching.CheckOutParameters 
(f_vector.Parameters, loc);
-                       }
-
                        ec.CurrentBranching.CurrentUsageVector.Or (vector);
 
                        Report.Debug (1, "END OF TRY", ec.CurrentBranching);

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to