diff --git a/Directory.Packages.props b/Directory.Packages.props index a5fdcd6..9936d03 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -3,7 +3,7 @@ true - + diff --git a/src/Serde.CmdLine/CmdLine.cs b/src/Serde.CmdLine/CmdLine.cs index 4521c32..8114c43 100644 --- a/src/Serde.CmdLine/CmdLine.cs +++ b/src/Serde.CmdLine/CmdLine.cs @@ -20,7 +20,7 @@ public static Result> ParseRaw( var deserializer = new Deserializer(args, handleHelp); try { - var cmd = T.DeserializeInstance.Deserialize(deserializer); + var cmd = T.Instance.Deserialize(deserializer); if (handleHelp && deserializer.HelpInfos.Count > 0) { return new Result>.Err(deserializer.HelpInfos); @@ -59,7 +59,7 @@ public static bool TryParse(string[] args, IAnsiConsole console, out T cmd) cmd = value; return true; case Result>.Err(var helpInfos): - var rootInfo = SerdeInfoProvider.GetInfo(); + var rootInfo = SerdeInfoProvider.GetDeserializeInfo(); var lastInfo = helpInfos.Last(); console.WriteLine(CmdLine.GetHelpText(rootInfo, lastInfo, includeHelp: true)); cmd = default!; @@ -71,7 +71,7 @@ public static bool TryParse(string[] args, IAnsiConsole console, out T cmd) catch (ArgumentSyntaxException ex) { console.WriteLine("error: " + ex.Message); - var rootInfo = SerdeInfoProvider.GetInfo(); + var rootInfo = SerdeInfoProvider.GetDeserializeInfo(); console.WriteLine(GetHelpText(rootInfo)); cmd = default!; return false; diff --git a/src/Serde.CmdLine/Deserializer.DeserializeType.cs b/src/Serde.CmdLine/Deserializer.DeserializeType.cs index 7ae0c72..8cff03b 100644 --- a/src/Serde.CmdLine/Deserializer.DeserializeType.cs +++ b/src/Serde.CmdLine/Deserializer.DeserializeType.cs @@ -1,36 +1,38 @@ namespace Serde.CmdLine; -internal sealed partial class Deserializer : IDeserializeType +internal sealed partial class Deserializer : ITypeDeserializer { - V IDeserializeType.ReadValue(int index, D deserialize) => deserialize.Deserialize(this); + int? ITypeDeserializer.SizeOpt => null; - bool IDeserializeType.ReadBool(int index) => ReadBool(); + T ITypeDeserializer.ReadValue(ISerdeInfo info, int index, IDeserialize deserialize) => deserialize.Deserialize(this); - byte IDeserializeType.ReadByte(int index) => ReadByte(); + bool ITypeDeserializer.ReadBool(ISerdeInfo info, int index) => ReadBool(); - char IDeserializeType.ReadChar(int index) => ReadChar(); + byte ITypeDeserializer.ReadU8(ISerdeInfo info, int index) => ReadU8(); - decimal IDeserializeType.ReadDecimal(int index) => ReadDecimal(); + char ITypeDeserializer.ReadChar(ISerdeInfo info, int index) => ReadChar(); - double IDeserializeType.ReadDouble(int index) => ReadDouble(); + decimal ITypeDeserializer.ReadDecimal(ISerdeInfo info, int index) => ReadDecimal(); - float IDeserializeType.ReadFloat(int index) => ReadFloat(); + double ITypeDeserializer.ReadF64(ISerdeInfo info, int index) => ReadF64(); - short IDeserializeType.ReadI16(int index) => ReadI16(); + float ITypeDeserializer.ReadF32(ISerdeInfo info, int index) => ReadF32(); - int IDeserializeType.ReadI32(int index) => ReadI32(); + short ITypeDeserializer.ReadI16(ISerdeInfo info, int index) => ReadI16(); - long IDeserializeType.ReadI64(int index) => ReadI64(); + int ITypeDeserializer.ReadI32(ISerdeInfo info, int index) => ReadI32(); - sbyte IDeserializeType.ReadSByte(int index) => ReadSByte(); + long ITypeDeserializer.ReadI64(ISerdeInfo info, int index) => ReadI64(); - string IDeserializeType.ReadString(int index) => ReadString(); + sbyte ITypeDeserializer.ReadI8(ISerdeInfo info, int index) => ReadI8(); - ushort IDeserializeType.ReadU16(int index) => ReadU16(); + string ITypeDeserializer.ReadString(ISerdeInfo info, int index) => ReadString(); - uint IDeserializeType.ReadU32(int index) => ReadU32(); + ushort ITypeDeserializer.ReadU16(ISerdeInfo info, int index) => ReadU16(); - ulong IDeserializeType.ReadU64(int index) => ReadU64(); + uint ITypeDeserializer.ReadU32(ISerdeInfo info, int index) => ReadU32(); - void IDeserializeType.SkipValue() => _argIndex++; + ulong ITypeDeserializer.ReadU64(ISerdeInfo info, int index) => ReadU64(); + + void ITypeDeserializer.SkipValue(ISerdeInfo info, int index) => _argIndex++; } \ No newline at end of file diff --git a/src/Serde.CmdLine/Deserializer.cs b/src/Serde.CmdLine/Deserializer.cs index 2d74f67..53b3cbd 100644 --- a/src/Serde.CmdLine/Deserializer.cs +++ b/src/Serde.CmdLine/Deserializer.cs @@ -13,12 +13,12 @@ internal sealed partial class Deserializer(string[] args, bool handleHelp) : IDe public IReadOnlyList HelpInfos => _helpInfos; - int IDeserializeType.TryReadIndex(ISerdeInfo serdeInfo, out string? errorName) + int ITypeDeserializer.TryReadIndex(ISerdeInfo serdeInfo, out string? errorName) { if (_argIndex == args.Length) { errorName = null; - return IDeserializeType.EndOfType; + return ITypeDeserializer.EndOfType; } var arg = args[_argIndex]; @@ -29,7 +29,7 @@ int IDeserializeType.TryReadIndex(ISerdeInfo serdeInfo, out string? errorName) if (_argIndex == args.Length) { errorName = null; - return IDeserializeType.EndOfType; + return ITypeDeserializer.EndOfType; } arg = args[_argIndex]; } @@ -113,7 +113,7 @@ int IDeserializeType.TryReadIndex(ISerdeInfo serdeInfo, out string? errorName) else { errorName = arg; - return IDeserializeType.IndexNotFound; + return ITypeDeserializer.IndexNotFound; } } @@ -132,20 +132,17 @@ public bool ReadBool() public string ReadString() => args[_argIndex++]; - public T ReadNullableRef(D d) + public T ReadNullableRef(IDeserialize d) where T : class - where D : IDeserialize { // Treat all nullable values as just being optional. Since we got here we must have a value // in hand. return d.Deserialize(this); } - public T ReadAny(IDeserializeVisitor v) where T : class => throw new NotImplementedException(); - public char ReadChar() => throw new NotImplementedException(); - public byte ReadByte() => throw new NotImplementedException(); + public byte ReadU8() => throw new NotImplementedException(); public ushort ReadU16() => throw new NotImplementedException(); @@ -153,7 +150,7 @@ public T ReadNullableRef(D d) public ulong ReadU64() => throw new NotImplementedException(); - public sbyte ReadSByte() => throw new NotImplementedException(); + public sbyte ReadI8() => throw new NotImplementedException(); public short ReadI16() => throw new NotImplementedException(); @@ -161,18 +158,13 @@ public T ReadNullableRef(D d) public long ReadI64() => throw new NotImplementedException(); - public float ReadFloat() => throw new NotImplementedException(); + public float ReadF32() => throw new NotImplementedException(); - public double ReadDouble() => throw new NotImplementedException(); + public double ReadF64() => throw new NotImplementedException(); public decimal ReadDecimal() => throw new NotImplementedException(); - public IDeserializeCollection ReadCollection(ISerdeInfo typeInfo) - { - throw new NotImplementedException(); - } - - public IDeserializeType ReadType(ISerdeInfo typeInfo) => this; + public ITypeDeserializer ReadType(ISerdeInfo typeInfo) => this; public void Dispose() { } } \ No newline at end of file diff --git a/src/dnvm/Channel.cs b/src/dnvm/Channel.cs index 4d7de48..b37df35 100644 --- a/src/dnvm/Channel.cs +++ b/src/dnvm/Channel.cs @@ -61,16 +61,20 @@ partial record Channel : ISerializeProvider public sealed override string ToString() => GetDisplayName(); public string GetLowerName() => GetDisplayName().ToLowerInvariant(); - static ISerdeInfo ISerdeInfoProvider.SerdeInfo { get; } = SerdeInfo.MakePrimitive(nameof(Channel)); - static ISerialize ISerializeProvider.SerializeInstance => Serialize.Instance; + static ISerialize ISerializeProvider.Instance => Serialize.Instance; private sealed class Serialize : ISerialize { public static readonly Serialize Instance = new(); private Serialize() { } + /// + /// Serialize as a string. + /// + ISerdeInfo ISerdeInfoProvider.SerdeInfo => StringProxy.SerdeInfo; + void ISerialize.Serialize(Channel channel, ISerializer serializer) - => serializer.SerializeString(channel.GetLowerName()); + => serializer.WriteString(channel.GetLowerName()); } partial record VersionedMajorMinor @@ -101,7 +105,7 @@ partial record Preview : Channel partial record Channel : IDeserializeProvider { - static IDeserialize IDeserializeProvider.DeserializeInstance => DeserializeProxy.Instance; + static IDeserialize IDeserializeProvider.Instance => DeserializeProxy.Instance; public static Channel FromString(string str) { @@ -137,6 +141,12 @@ public static Channel FromString(string str) private sealed class DeserializeProxy : IDeserialize { public static readonly DeserializeProxy Instance = new(); + + /// + /// Deserialize as a string. + /// + ISerdeInfo ISerdeInfoProvider.SerdeInfo => StringProxy.SerdeInfo; + public Channel Deserialize(IDeserializer deserializer) => FromString(StringProxy.Instance.Deserialize(deserializer)); } diff --git a/src/dnvm/CommandLineArguments.cs b/src/dnvm/CommandLineArguments.cs index 1dc9158..9177829 100644 --- a/src/dnvm/CommandLineArguments.cs +++ b/src/dnvm/CommandLineArguments.cs @@ -40,7 +40,7 @@ public sealed partial record InstallCommand : DnvmSubCommand public bool? Force { get; init; } = null; [CommandOption("-s|--sdk-dir", Description = "Install the SDK into a separate directory with the given name.")] - [SerdeMemberOptions(DeserializeProxy = typeof(NullableRefProxy.Deserialize))] // Treat as string + [SerdeMemberOptions(DeserializeProxy = typeof(NullableRefProxy.De))] // Treat as string public SdkDirName? SdkDir { get; init; } = null; [CommandOption("-v|--verbose", Description = "Print debugging messages to the console.")] @@ -159,7 +159,7 @@ public sealed partial record UninstallCommand : DnvmSubCommand public required SemVersion SdkVersion { get; init; } [CommandOption("-s|--sdk-dir", Description = "Uninstall the SDK from the given directory.")] - [SerdeMemberOptions(DeserializeProxy = typeof(NullableRefProxy.Deserialize))] // Treat as string + [SerdeMemberOptions(DeserializeProxy = typeof(NullableRefProxy.De))] // Treat as string public SdkDirName? SdkDir { get; init; } = null; } @@ -185,8 +185,8 @@ public sealed partial record RestoreCommand : DnvmSubCommand /// private sealed class CaseInsensitiveChannel : IDeserializeProvider, IDeserialize { - public static ISerdeInfo SerdeInfo => Serde.SerdeInfo.MakePrimitive(nameof(Channel)); - static IDeserialize IDeserializeProvider.DeserializeInstance { get; } = new CaseInsensitiveChannel(); + public ISerdeInfo SerdeInfo => StringProxy.SerdeInfo; + static IDeserialize IDeserializeProvider.Instance { get; } = new CaseInsensitiveChannel(); private CaseInsensitiveChannel() { } public Channel Deserialize(IDeserializer deserializer) @@ -326,7 +326,7 @@ public sealed record class CommandLineArguments(CommandArguments? Command) catch (ArgumentSyntaxException ex) { console.WriteLine("error: " + ex.Message); - console.WriteLine(CmdLine.GetHelpText(SerdeInfoProvider.GetInfo(), includeHelp: true)); + console.WriteLine(CmdLine.GetHelpText(SerdeInfoProvider.GetDeserializeInfo(), includeHelp: true)); return null; } } @@ -344,7 +344,7 @@ public static CommandLineArguments ParseRaw(IAnsiConsole console, string[] args) dnvmCmd = value; break; case Result>.Err(var helpInfos): - var rootInfo = SerdeInfoProvider.GetInfo(); + var rootInfo = SerdeInfoProvider.GetDeserializeInfo(); var lastInfo = helpInfos.Last(); console.WriteLine(CmdLine.GetHelpText(rootInfo, lastInfo, includeHelp: true)); return new CommandLineArguments(Command: null); @@ -438,7 +438,7 @@ public static CommandLineArguments ParseRaw(IAnsiConsole console, string[] args) } case null: { - console.WriteLine(CmdLine.GetHelpText(SerdeInfoProvider.GetInfo(), includeHelp: true)); + console.WriteLine(CmdLine.GetHelpText(SerdeInfoProvider.GetDeserializeInfo(), includeHelp: true)); return new CommandLineArguments(Command: null); } } diff --git a/src/dnvm/ManifestSchema/Manifest.cs b/src/dnvm/ManifestSchema/Manifest.cs index fc25cbd..d4d0732 100644 --- a/src/dnvm/ManifestSchema/Manifest.cs +++ b/src/dnvm/ManifestSchema/Manifest.cs @@ -71,8 +71,8 @@ public partial record RegisteredChannel public required Channel ChannelName { get; init; } public required SdkDirName SdkDirName { get; init; } [SerdeMemberOptions( - SerializeProxy = typeof(EqArrayProxy.Serialize), - DeserializeProxy = typeof(EqArrayProxy.Deserialize))] + SerializeProxy = typeof(EqArrayProxy.Ser), + DeserializeProxy = typeof(EqArrayProxy.De))] public EqArray InstalledSdkVersions { get; init; } = EqArray.Empty; public bool Untracked { get; init; } = false; } diff --git a/src/dnvm/ManifestSchema/ManifestV5.cs b/src/dnvm/ManifestSchema/ManifestV5.cs index fdb0c31..38b8b45 100644 --- a/src/dnvm/ManifestSchema/ManifestV5.cs +++ b/src/dnvm/ManifestSchema/ManifestV5.cs @@ -39,8 +39,8 @@ public partial record TrackedChannelV5 public required Channel ChannelName { get; init; } public required SdkDirName SdkDirName { get; init; } [SerdeMemberOptions( - SerializeProxy = typeof(EqArrayProxy.Serialize), - DeserializeProxy = typeof(EqArrayProxy.Deserialize))] + SerializeProxy = typeof(EqArrayProxy.Ser), + DeserializeProxy = typeof(EqArrayProxy.De))] public EqArray InstalledSdkVersions { get; init; } = EqArray.Empty; } diff --git a/src/dnvm/ManifestSchema/ManifestV6.cs b/src/dnvm/ManifestSchema/ManifestV6.cs index fd94cac..dda9992 100644 --- a/src/dnvm/ManifestSchema/ManifestV6.cs +++ b/src/dnvm/ManifestSchema/ManifestV6.cs @@ -41,8 +41,8 @@ public partial record TrackedChannelV6 public required Channel ChannelName { get; init; } public required SdkDirName SdkDirName { get; init; } [SerdeMemberOptions( - SerializeProxy = typeof(EqArrayProxy.Serialize), - DeserializeProxy = typeof(EqArrayProxy.Deserialize))] + SerializeProxy = typeof(EqArrayProxy.Ser), + DeserializeProxy = typeof(EqArrayProxy.De))] public EqArray InstalledSdkVersions { get; init; } = EqArray.Empty; public bool Untracked { get; init; } = false; } diff --git a/src/dnvm/ManifestSchema/ManifestV7.cs b/src/dnvm/ManifestSchema/ManifestV7.cs index 46785a6..72545d8 100644 --- a/src/dnvm/ManifestSchema/ManifestV7.cs +++ b/src/dnvm/ManifestSchema/ManifestV7.cs @@ -70,8 +70,8 @@ public partial record RegisteredChannelV7 public required Channel ChannelName { get; init; } public required SdkDirName SdkDirName { get; init; } [SerdeMemberOptions( - SerializeProxy = typeof(EqArrayProxy.Serialize), - DeserializeProxy = typeof(EqArrayProxy.Deserialize))] + SerializeProxy = typeof(EqArrayProxy.Ser), + DeserializeProxy = typeof(EqArrayProxy.De))] public EqArray InstalledSdkVersions { get; init; } = EqArray.Empty; public bool Untracked { get; init; } = false; } diff --git a/src/dnvm/RestoreCommand.cs b/src/dnvm/RestoreCommand.cs index 78e1896..9996f5c 100644 --- a/src/dnvm/RestoreCommand.cs +++ b/src/dnvm/RestoreCommand.cs @@ -24,7 +24,7 @@ internal sealed partial record GlobalJsonSubset [GenerateDeserialize] public sealed partial record SdkSubset { - [SerdeMemberOptions(DeserializeProxy = typeof(NullableRefProxy.Deserialize))] + [SerdeMemberOptions(DeserializeProxy = typeof(NullableRefProxy.De))] public SemVersion? Version { get; init; } public RollForwardOptions? RollForward { get; init; } public bool? AllowPrerelease { get; init; } diff --git a/src/dnvm/ScalarDeserializer.cs b/src/dnvm/ScalarDeserializer.cs index c462d58..eface59 100644 --- a/src/dnvm/ScalarDeserializer.cs +++ b/src/dnvm/ScalarDeserializer.cs @@ -9,7 +9,7 @@ public sealed class ScalarDeserializer(string s) : IDeserializer public bool ReadBool() => bool.Parse(s); - public byte ReadByte() + public byte ReadU8() => byte.Parse(s); public char ReadChar() @@ -18,9 +18,9 @@ public char ReadChar() public decimal ReadDecimal() => decimal.Parse(s); - public double ReadDouble() => double.Parse(s); + public double ReadF64() => double.Parse(s); - public float ReadFloat() => float.Parse(s); + public float ReadF32() => float.Parse(s); public short ReadI16() => short.Parse(s); @@ -28,7 +28,7 @@ public decimal ReadDecimal() public long ReadI64() => long.Parse(s); - public sbyte ReadSByte() => sbyte.Parse(s); + public sbyte ReadI8() => sbyte.Parse(s); public string ReadString() => s; @@ -40,16 +40,11 @@ public decimal ReadDecimal() void IDisposable.Dispose() { } - T IDeserializer.ReadAny(IDeserializeVisitor v) => v.VisitString(ReadString()); - - IDeserializeCollection IDeserializer.ReadCollection(ISerdeInfo typeInfo) - => throw new DeserializeException("Found nullable ref, expected scalar"); - - T IDeserializer.ReadNullableRef(D deserialize) + T IDeserializer.ReadNullableRef(IDeserialize deserialize) { return deserialize.Deserialize(this); } - IDeserializeType IDeserializer.ReadType(ISerdeInfo typeInfo) + ITypeDeserializer IDeserializer.ReadType(ISerdeInfo typeInfo) => throw new DeserializeException("Found nullable ref, expected scalar"); } \ No newline at end of file diff --git a/src/dnvm/SerdeWraps/SdkDirNameProxy.cs b/src/dnvm/SerdeWraps/SdkDirNameProxy.cs index 623c6c3..4c9bd40 100644 --- a/src/dnvm/SerdeWraps/SdkDirNameProxy.cs +++ b/src/dnvm/SerdeWraps/SdkDirNameProxy.cs @@ -6,19 +6,16 @@ namespace Dnvm; /// /// Serializes the directly as a string. /// -internal sealed class SdkDirNameProxy : ISerialize, IDeserialize, - ISerializeProvider, IDeserializeProvider +internal sealed class SdkDirNameProxy : ISerde, ISerdeProvider { - public static readonly SdkDirNameProxy Instance = new(); - static ISerialize ISerializeProvider.SerializeInstance => Instance; - static IDeserialize IDeserializeProvider.DeserializeInstance => Instance; - public static ISerdeInfo SerdeInfo { get; } = Serde.SerdeInfo.MakePrimitive(nameof(SdkDirName)); + public static SdkDirNameProxy Instance { get; } = new(); + public ISerdeInfo SerdeInfo => StringProxy.SerdeInfo; public SdkDirName Deserialize(IDeserializer deserializer) => new SdkDirName(StringProxy.Instance.Deserialize(deserializer)); public void Serialize(SdkDirName value, ISerializer serializer) { - serializer.SerializeString(value.Name); + serializer.WriteString(value.Name); } } \ No newline at end of file diff --git a/src/dnvm/SerdeWraps/SemVersionProxy.cs b/src/dnvm/SerdeWraps/SemVersionProxy.cs new file mode 100644 index 0000000..c910672 --- /dev/null +++ b/src/dnvm/SerdeWraps/SemVersionProxy.cs @@ -0,0 +1,32 @@ + +using System; +using Semver; +using Serde; + +namespace Dnvm; + +/// +/// Serializes as a string. +/// +internal sealed class SemVersionProxy : ISerde, ISerdeProvider +{ + static SemVersionProxy ISerdeProvider.Instance { get; } = new SemVersionProxy(); + private SemVersionProxy() { } + + public ISerdeInfo SerdeInfo { get; } = StringProxy.SerdeInfo; + + public SemVersion Deserialize(IDeserializer deserializer) + { + var str = deserializer.ReadString(); + if (SemVersion.TryParse(str, SemVersionStyles.Strict, out var version)) + { + return version; + } + throw new DeserializeException($"Version string '{str}' is not a valid SemVersion."); + } + + public void Serialize(SemVersion value, ISerializer serializer) + { + serializer.WriteString(value.ToString()); + } +} \ No newline at end of file diff --git a/src/dnvm/SerdeWraps/SemVersionSerdeWrap.cs b/src/dnvm/SerdeWraps/SemVersionSerdeWrap.cs deleted file mode 100644 index cbbc56f..0000000 --- a/src/dnvm/SerdeWraps/SemVersionSerdeWrap.cs +++ /dev/null @@ -1,36 +0,0 @@ - -using System; -using Semver; -using Serde; - -namespace Dnvm; - -/// -/// Serializes as a string. -/// -internal sealed class SemVersionProxy : ISerialize, IDeserialize, - ISerializeProvider, IDeserializeProvider -{ - public static readonly SemVersionProxy Instance = new(); - static ISerialize ISerializeProvider.SerializeInstance => Instance; - static IDeserialize IDeserializeProvider.DeserializeInstance => Instance; - - private SemVersionProxy() { } - - public static ISerdeInfo SerdeInfo { get; } = Serde.SerdeInfo.MakePrimitive(nameof(SemVersion)); - - public SemVersion Deserialize(IDeserializer deserializer) - { - var str = StringProxy.Instance.Deserialize(deserializer); - if (SemVersion.TryParse(str, SemVersionStyles.Strict, out var version)) - { - return version; - } - throw new DeserializeException($"Version string '{str}' is not a valid SemVersion."); - } - - public void Serialize(SemVersion value, ISerializer serializer) - { - serializer.SerializeString(value.ToString()); - } -} \ No newline at end of file diff --git a/src/dnvm/Utilities/EqArray.cs b/src/dnvm/Utilities/EqArray.cs index 6068cfb..0e1b006 100644 --- a/src/dnvm/Utilities/EqArray.cs +++ b/src/dnvm/Utilities/EqArray.cs @@ -61,30 +61,30 @@ IEnumerator IEnumerable.GetEnumerator() public static class EqArrayProxy { private static readonly ISerdeInfo s_typeInfo = Serde.SerdeInfo.MakeEnumerable(nameof(EqArray)); - public sealed class Serialize : ISerializeProvider>, ISerialize> + public sealed class Ser : ISerializeProvider>, ISerialize> where TProvider : ISerializeProvider { - public static readonly Serialize Instance = new(); - static ISerialize> ISerializeProvider>.SerializeInstance => Instance; + public static readonly Ser Instance = new(); + static ISerialize> ISerializeProvider>.Instance => Instance; - public static ISerdeInfo SerdeInfo => s_typeInfo; + public ISerdeInfo SerdeInfo => s_typeInfo; void ISerialize>.Serialize(EqArray value, ISerializer serializer) { - EnumerableHelpers.SerializeSpan(s_typeInfo, value.Array.AsSpan(), TProvider.SerializeInstance, serializer); + ImmutableArrayProxy.Ser.Instance.Serialize(value.Array, serializer); } } - public sealed class Deserialize : IDeserializeProvider>, IDeserialize> + public sealed class De : IDeserializeProvider>, IDeserialize> where TProvider : IDeserializeProvider { - public static readonly Deserialize Instance = new(); - static IDeserialize> IDeserializeProvider>.DeserializeInstance => Instance; + public static readonly De Instance = new(); + static IDeserialize> IDeserializeProvider>.Instance => Instance; - public static ISerdeInfo SerdeInfo => s_typeInfo; + public ISerdeInfo SerdeInfo => s_typeInfo; EqArray IDeserialize>.Deserialize(IDeserializer deserializer) { - return ImmutableArrayProxy.Deserialize.Instance.Deserialize(deserializer).ToEq(); + return ImmutableArrayProxy.De.Instance.Deserialize(deserializer).ToEq(); } } } \ No newline at end of file diff --git a/test/Serde.CmdLine.Test/CliTests.cs b/test/Serde.CmdLine.Test/CliTests.cs index e8bad67..cc2b7da 100644 --- a/test/Serde.CmdLine.Test/CliTests.cs +++ b/test/Serde.CmdLine.Test/CliTests.cs @@ -27,7 +27,7 @@ public void TestSearchPath() [Fact] public void TestHelp() { - var help = CmdLine.GetHelpText(SerdeInfoProvider.GetInfo()); + var help = CmdLine.GetHelpText(SerdeInfoProvider.GetDeserializeInfo()); var text = """ usage: FileSizeCommand [-p | --pattern ] [--hidden] [-h | --help] diff --git a/test/Serde.CmdLine.Test/SubCommandTests.cs b/test/Serde.CmdLine.Test/SubCommandTests.cs index c1a1a97..d3563b9 100644 --- a/test/Serde.CmdLine.Test/SubCommandTests.cs +++ b/test/Serde.CmdLine.Test/SubCommandTests.cs @@ -27,7 +27,7 @@ public void FirstCommand() [Fact] public void TopLevelHelp() { - var help = CmdLine.GetHelpText(SerdeInfoProvider.GetInfo()); + var help = CmdLine.GetHelpText(SerdeInfoProvider.GetDeserializeInfo()); var text = """ usage: TopCommand [-v | --verbose] [-h | --help] diff --git a/test/UnitTests/RestoreTests.cs b/test/UnitTests/RestoreTests.cs index 8715755..872812d 100644 --- a/test/UnitTests/RestoreTests.cs +++ b/test/UnitTests/RestoreTests.cs @@ -407,7 +407,7 @@ public async Task MajorNoExactNoPrerelease() => await TestUtils.RunWithServer(as { "sdk": { "version": "42.42.40", - "rollForward": "major" + "rollForward": "major", "allowPrerelease": false } }