private Expression GetArgument(int argIndex, out bool isSplatted)
{
if (argIndex < _callArguments.SimpleArgumentCount)
{
isSplatted = false;
return(_callArguments.GetSimpleArgumentExpression(argIndex));
}
int i = argIndex - _callArguments.SimpleArgumentCount;
if (i < _listLength)
{
isSplatted = true;
return(Ast.Call(_listVariable, Methods.IList_get_Item, AstUtils.Constant(i)));
}
if (i == _listLength && _callArguments.Signature.HasRhsArgument)
{
isSplatted = false;
return(_callArguments.GetRhsArgumentExpression());
}
isSplatted = false;
return(null);
}