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:
parent
72d3966541
commit
803b4a33cb
33 changed files with 183 additions and 164 deletions
|
|
@ -17,8 +17,9 @@ using System.Collections.Generic;
|
|||
using System.Collections.Immutable;
|
||||
using System.Linq;
|
||||
using Microsoft.CodeAnalysis;
|
||||
using Microsoft.CodeAnalysis.CSharp;
|
||||
|
||||
namespace SourceGeneration
|
||||
namespace SerializationGenerator
|
||||
{
|
||||
public static class Helpers
|
||||
{
|
||||
|
|
@ -40,5 +41,19 @@ namespace SourceGeneration
|
|||
|
||||
return list.ToImmutableArray();
|
||||
}
|
||||
|
||||
public static string ToFriendlyString(this Accessibility accessibility) => SyntaxFacts.GetText(accessibility);
|
||||
|
||||
public static Accessibility GetAccessibility(string value) =>
|
||||
value switch
|
||||
{
|
||||
"private" => Accessibility.Private,
|
||||
"protected" => Accessibility.Protected,
|
||||
"internal" => Accessibility.Internal,
|
||||
"public" => Accessibility.Public,
|
||||
"protected internal" => Accessibility.ProtectedOrInternal,
|
||||
"private protected" => Accessibility.ProtectedAndInternal,
|
||||
_ => Accessibility.NotApplicable
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue