* Adds save flag support (see `ElvenGlasses` for an example) * Updates AOSAttributes so they are code genned * Fixes embedded object support by adding an `IRawSerializable` * Fixes various inconsistencies in serializing with codegen
31 lines
762 B
C#
31 lines
762 B
C#
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);
|
|
}
|
|
}
|
|
}
|