// <summary> // Check whether all `out' parameters have been assigned. // </summary> public void CheckOutParameters (FlowBranching.UsageVector vector, Location loc) { if (vector.IsUnreachable) return; int n = parameter_info == null ? 0 : parameter_info.Length; for (int i = 0; i < n; i++) { VariableInfo var = parameter_info[i].VariableInfo; if (var == null) continue; if (vector.IsAssigned (var, false)) continue; TopBlock.Report.Error (177, loc, "The out parameter `{0}' must be assigned to before control leaves the current method", var.Name); } }