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