public static string? ToCSharpDefaultValueForParameterList()

in src/JetBrains.Space.Generator/CodeGeneration/CSharp/Extensions/ApiFieldExtensions.cs [48:79]


    public static string? ToCSharpDefaultValueForParameterList(this ApiField subject, CodeGenerationContext context)
    {
        if (subject.DefaultValue != null)
        {
            switch (subject.DefaultValue)
            {
                case ApiDefaultValue.Const.Primitive primitive:
                    return primitive.Expression;
                    
                case ApiDefaultValue.Const.EnumEntry:
                    return subject.ToCSharpDefaultValueForAssignment(context);

                case ApiDefaultValue.Collection:
                    return CSharpExpression.NullLiteral;

                case ApiDefaultValue.Map:
                    return CSharpExpression.NullLiteral;

                case ApiDefaultValue.Reference:
                    throw new NotSupportedException(nameof(ApiDefaultValue.Reference) + " is not supported yet.");
            }
        } 
            
        if (subject.RequiresAddedNullability())
        {
            return CSharpExpression.NullLiteral;
        }
            
        return subject.Type.Nullable 
            ? CSharpExpression.NullLiteral 
            : null;
    }