static private GetParameterCount ( |
||
method | ||
callConvention | SelfCallConvention | |
mandatory | int | |
optional | int | |
return | void |
public override int GetArity() { int minParameters = Int32.MaxValue; int maxParameters = 0; bool hasOptional = false; foreach (OverloadInfo method in MethodBases) { int mandatory, optional; RubyOverloadResolver.GetParameterCount(method, CallConvention, out mandatory, out optional); if (mandatory < minParameters) { minParameters = mandatory; } if (mandatory > maxParameters) { maxParameters = mandatory; } if (!hasOptional && optional > 0) { hasOptional = true; } } if (hasOptional || maxParameters > minParameters) { return(-minParameters - 1); } else { return(minParameters); } }