fix(codegen): Adds access modifiers to serializable fields (#633)

- [X] Adds options for SerializableField.

Example:
```cs
[SerializableField(0, getter: "protected", setter: "protected", isVritual: true)]
private int _someField;
```

Defaults: `getter: "public", setter: "public", isVirtual: false`
This commit is contained in:
Kamron Batman 2021-06-01 22:53:51 -07:00 committed by GitHub
parent 72d3966541
commit 803b4a33cb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
33 changed files with 183 additions and 164 deletions

View file

@ -17,11 +17,11 @@ using System.Collections.Immutable;
using System.Text;
using Microsoft.CodeAnalysis;
namespace SourceGeneration
namespace SerializationGenerator
{
public static partial class SourceGeneration
{
public static void GenerateMethodStart(this StringBuilder source, string methodName, AccessModifier accessors, bool isOverride, string returnType, ImmutableArray<(ITypeSymbol, string)> parameters)
public static void GenerateMethodStart(this StringBuilder source, string methodName, Accessibility accessors, bool isOverride, string returnType, ImmutableArray<(ITypeSymbol, string)> parameters)
{
source.Append($" {accessors.ToFriendlyString()}{(isOverride ? " override" : "")} {returnType} {methodName}(");
source.GenerateSignatureArguments(parameters);
@ -32,7 +32,7 @@ namespace SourceGeneration
public static void GenerateMethodEnd(this StringBuilder source) => source.AppendLine(@" }");
public static void GenerateConstructorStart(
this StringBuilder source, string className, AccessModifier accessors, ImmutableArray<(ITypeSymbol, string)> parameters,
this StringBuilder source, string className, Accessibility accessors, ImmutableArray<(ITypeSymbol, string)> parameters,
ImmutableArray<string> baseParameters, bool isOverload = false
)
{