private static IEnumerable<FunctionSymbol> Create4(
string name, string documentation, TypeSymbol[] types,
string parameterName1, string parameterDocumentation1,
string parameterName2, string parameterDocumentation2,
string parameterName3, string parameterDocumentation3,
string parameterName4, string parameterDocumentation4,
TypeSymbol overrideReturnType = null,
ParameterDirection overrideParameterDirection4 = ParameterDirection.In)
{
return types.Select(type => new FunctionSymbol(
name, documentation, null, overrideReturnType ?? type,
f => new[]
{
new ParameterSymbol(parameterName1, parameterDocumentation1, f, type),
new ParameterSymbol(parameterName2, parameterDocumentation2, f, type),
new ParameterSymbol(parameterName3, parameterDocumentation3, f, type),
new ParameterSymbol(parameterName4, parameterDocumentation4, f, type, overrideParameterDirection4)
}));
}
}