in src/JetBrains.Space.Generator/CodeGeneration/CSharp/MethodParametersBuilder.cs [38:74]
public MethodParametersBuilder WithParametersForApiDtoFields(IEnumerable<ApiDtoField> apiDtoFields)
=> WithParametersForApiFields(apiDtoFields.Select(it => it.Field));
public MethodParametersBuilder WithParametersForApiFields(IEnumerable<ApiField> apiFields)
{
var methodParametersBuilder = this;
var orderedFields = apiFields.OrderBy(it => !it.Type.Nullable ? 0 : 1).ToList();
foreach (var field in orderedFields)
{
var parameterType = field.Type.ToCSharpType(_context);
if (field.Type.Nullable)
{
parameterType += "?";
}
if (!field.Type.Nullable)
{
if (field.RequiresAddedNullability())
{
parameterType += "?";
}
if (field.DefaultValue is ApiDefaultValue.Collection or ApiDefaultValue.Map)
{
parameterType += "?";
}
}
var parameterName = field.ToCSharpVariableName();
var parameterDefaultValue = field.ToCSharpDefaultValueForParameterList(_context);
methodParametersBuilder = methodParametersBuilder
.WithParameter(parameterType, parameterName, parameterDefaultValue);
}
return methodParametersBuilder;
}