in src/JetBrains.Space.Generator/CodeGeneration/CSharp/MethodParametersBuilder.cs [76:110]
public MethodParametersBuilder WithParametersForApiParameters(IEnumerable<ApiParameter> apiParameters)
{
var methodParametersBuilder = this;
var orderedParameters = apiParameters.OrderBy(it => !it.Field.Type.Nullable ? 0 : 1).ToList();
foreach (var parameter in orderedParameters)
{
var parameterType = parameter.Field.Type.ToCSharpType(_context);
if (parameter.Field.Type.Nullable)
{
parameterType += "?";
}
if (!parameter.Field.Type.Nullable)
{
if (parameter.Field.RequiresAddedNullability())
{
parameterType += "?";
}
if (parameter.Field.DefaultValue is ApiDefaultValue.Collection or ApiDefaultValue.Map)
{
parameterType += "?";
}
}
var parameterName = parameter.Field.ToCSharpVariableName();
var parameterDefaultValue = parameter.Field.ToCSharpDefaultValueForParameterList(_context);
var parameterDescription = parameter.Field.ToCSharpDocumentationParameter(parameterName);
methodParametersBuilder = methodParametersBuilder
.WithParameter(parameterType, parameterName, parameterDefaultValue, parameterDescription);
}
return methodParametersBuilder;
}