public Parameters(LeftValue/*!*/[] mandatory, int leadingMandatoryCount, SimpleAssignmentExpression/*!*/[] optional, LeftValue unsplat, LocalVariable block, SourceSpan location)
: base(location) {
mandatory = mandatory ?? LeftValue.EmptyArray;
optional = optional ?? SimpleAssignmentExpression.EmptyArray;
Debug.Assert(leadingMandatoryCount >= 0 && leadingMandatoryCount <= mandatory.Length);
Debug.Assert(leadingMandatoryCount == mandatory.Length || optional != null || unsplat != null);
_mandatory = mandatory;
_leadingMandatoryCount = leadingMandatoryCount;
_optional = optional;
_unsplat = unsplat;
_block = block;
}