fix(codegen): Adds default codegen option for save flags. Fixes world load issues. (#707)
This commit is contained in:
parent
3fc2b76468
commit
ca5e9342a0
19 changed files with 204 additions and 109 deletions
|
|
@ -1,31 +0,0 @@
|
|||
using System.Collections.Generic;
|
||||
using Microsoft.CodeAnalysis;
|
||||
|
||||
namespace SerializableMigration
|
||||
{
|
||||
public class SerializableFieldFlagComparer : IComparer<(IMethodSymbol, int)>
|
||||
{
|
||||
public int Compare((IMethodSymbol, int) x, (IMethodSymbol, int) y)
|
||||
{
|
||||
var (methodSymbolX, orderX) = x;
|
||||
var (methodSymbolY, orderY) = y;
|
||||
|
||||
if (ReferenceEquals(methodSymbolX, methodSymbolY))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(null, methodSymbolY))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(null, methodSymbolX))
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
return orderX.CompareTo(orderY);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -56,7 +56,7 @@ namespace SerializableMigration
|
|||
ImmutableArray<INamedTypeSymbol> serializableTypes,
|
||||
ImmutableArray<INamedTypeSymbol> embeddedSerializableTypes,
|
||||
ISymbol? parentSymbol,
|
||||
IMethodSymbol? serializablePropertyFlagGetter
|
||||
SerializableFieldSaveFlagMethods? serializableFieldSaveFlagMethods
|
||||
)
|
||||
{
|
||||
string propertyName;
|
||||
|
|
@ -86,7 +86,7 @@ namespace SerializableMigration
|
|||
serializableTypes,
|
||||
embeddedSerializableTypes,
|
||||
parentSymbol,
|
||||
serializablePropertyFlagGetter
|
||||
serializableFieldSaveFlagMethods
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -99,7 +99,7 @@ namespace SerializableMigration
|
|||
ImmutableArray<INamedTypeSymbol> serializableTypes,
|
||||
ImmutableArray<INamedTypeSymbol> embeddedSerializableTypes,
|
||||
ISymbol? parentSymbol,
|
||||
IMethodSymbol? serializablePropertyFlagGetter
|
||||
SerializableFieldSaveFlagMethods? serializableFieldSaveFlagMethods
|
||||
)
|
||||
{
|
||||
foreach (var rule in Rules.Values)
|
||||
|
|
@ -119,7 +119,7 @@ namespace SerializableMigration
|
|||
Name = propertyName,
|
||||
Type = propertyType.ToDisplayString(),
|
||||
Order = order,
|
||||
UsesSaveFlag = serializablePropertyFlagGetter != null ? true : null,
|
||||
UsesSaveFlag = serializableFieldSaveFlagMethods?.DetermineFieldShouldSerialize != null ? true : null,
|
||||
Rule = rule.RuleName,
|
||||
RuleArguments = ruleArguments.Length > 0 ? ruleArguments : null
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue