IronRuby.Runtime.Calls.ArgsBuilder.ArgsBuilder C# (CSharp) Method

ArgsBuilder() public method

public ArgsBuilder ( int implicitParamCount, int mandatoryParamCount, int leadingMandatoryParamCount, int optionalParamCount, bool hasUnsplatParameter ) : System.Linq.Expressions
implicitParamCount int Parameters for which arguments are provided implicitly, i.e. not specified by user.
mandatoryParamCount int Number of parameters for which an actual argument must be specified.
leadingMandatoryParamCount int Number of mandatory parameters that precede any optional parameters.
optionalParamCount int Number of optional parameters.
hasUnsplatParameter bool Method has * parameter (accepts any number of additional parameters).
return System.Linq.Expressions
        public ArgsBuilder(int implicitParamCount, int mandatoryParamCount, int leadingMandatoryParamCount, int optionalParamCount, bool hasUnsplatParameter) {
            Debug.Assert(leadingMandatoryParamCount >= 0 && leadingMandatoryParamCount <= mandatoryParamCount);
            Debug.Assert(leadingMandatoryParamCount == mandatoryParamCount || optionalParamCount > 0 || hasUnsplatParameter);
            
            _arguments = new Expression[implicitParamCount + mandatoryParamCount + optionalParamCount + (hasUnsplatParameter ? 1 : 0)];
            _implicitParamCount = implicitParamCount;
            _mandatoryParamCount = mandatoryParamCount;
            _leadingMandatoryParamCount = leadingMandatoryParamCount;
            _optionalParamCount = optionalParamCount;
            _hasUnsplatParameter = hasUnsplatParameter;
            _actualArgumentCount = -1;
        }