Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/aspnet/MessagePack-CSharp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2021-11-05 20:50:00 +0300
committerGitHub <noreply@github.com>2021-11-05 20:50:00 +0300
commitb4fb2ed708edc223b022077513086cab0c16ee4b (patch)
treea7904f14bfafacf9667c92ce42f4bd9908abb287 /sandbox
parentae79dc68e8fe4f03f4c19bd76e4d1f8bb7c5a984 (diff)
parent04cfbd755f0548aa4924431bfa705f1dda205e81 (diff)
Merge pull request #1330 from AArnott/fix1328
Fix MessagePackFormatterAttribute for many built-in formatter types
Diffstat (limited to 'sandbox')
-rw-r--r--sandbox/DynamicCodeDumper/DynamicCodeDumper.csproj3
-rw-r--r--sandbox/DynamicCodeDumper/Program.cs1
-rw-r--r--sandbox/Sandbox/Generated.cs249
3 files changed, 152 insertions, 101 deletions
diff --git a/sandbox/DynamicCodeDumper/DynamicCodeDumper.csproj b/sandbox/DynamicCodeDumper/DynamicCodeDumper.csproj
index 4ef220a0..f7f443f0 100644
--- a/sandbox/DynamicCodeDumper/DynamicCodeDumper.csproj
+++ b/sandbox/DynamicCodeDumper/DynamicCodeDumper.csproj
@@ -132,6 +132,9 @@
<Compile Include="..\..\src\MessagePack.UnityClient\Assets\Scripts\MessagePack\Resolvers\DynamicUnionResolver.cs">
<Link>Code\DynamicUnionResolver.cs</Link>
</Compile>
+ <Compile Include="..\..\src\MessagePack.UnityClient\Assets\Scripts\MessagePack\Resolvers\ResolverUtilities.cs">
+ <Link>Code\ResolverUtilities.cs</Link>
+ </Compile>
<Compile Include="..\..\src\MessagePack.UnityClient\Assets\Scripts\MessagePack\StringEncoding.cs">
<Link>Code\StringEncoding.cs</Link>
</Compile>
diff --git a/sandbox/DynamicCodeDumper/Program.cs b/sandbox/DynamicCodeDumper/Program.cs
index 14f6199e..0d74db48 100644
--- a/sandbox/DynamicCodeDumper/Program.cs
+++ b/sandbox/DynamicCodeDumper/Program.cs
@@ -44,6 +44,7 @@ namespace DynamicCodeDumper
////DynamicObjectResolver.Instance.GetFormatter<StringKeySerializerTarget>();
////DynamicObjectResolver.Instance.GetFormatter<LongestString>();
IMessagePackFormatter<MyClass> f = DynamicObjectResolverAllowPrivate.Instance.GetFormatter<MyClass>();
+ ////IMessagePackFormatter<MessagePackFormatterFieldUser> f = DynamicObjectResolver.Instance.GetFormatter<MessagePackFormatterFieldUser>();
////DynamicObjectResolver.Instance.GetFormatter<StringKeySerializerTargetBinary>();
////DynamicObjectResolver.Instance.GetFormatter<Callback1>();
////DynamicObjectResolver.Instance.GetFormatter<Callback1_2>();
diff --git a/sandbox/Sandbox/Generated.cs b/sandbox/Sandbox/Generated.cs
index 6db29c4c..64f68f84 100644
--- a/sandbox/Sandbox/Generated.cs
+++ b/sandbox/Sandbox/Generated.cs
@@ -49,7 +49,7 @@ namespace MessagePack.Resolvers
static GeneratedResolverGetFormatterHelper()
{
- lookup = new global::System.Collections.Generic.Dictionary<Type, int>(71)
+ lookup = new global::System.Collections.Generic.Dictionary<Type, int>(72)
{
{ typeof(global::GlobalMyEnum[,]), 0 },
{ typeof(global::GlobalMyEnum[]), 1 },
@@ -72,56 +72,57 @@ namespace MessagePack.Resolvers
{ typeof(global::ComplexModel), 18 },
{ typeof(global::GlobalMan), 19 },
{ typeof(global::Message), 20 },
- { typeof(global::PerfBenchmarkDotNet.StringKeySerializerTarget), 21 },
- { typeof(global::QuestMessageBody), 22 },
- { typeof(global::SharedData.ArrayOptimizeClass), 23 },
- { typeof(global::SharedData.BarClass), 24 },
- { typeof(global::SharedData.Callback1), 25 },
- { typeof(global::SharedData.Callback1_2), 26 },
- { typeof(global::SharedData.Callback2), 27 },
- { typeof(global::SharedData.Callback2_2), 28 },
- { typeof(global::SharedData.DefaultValueIntKeyClassWithExplicitConstructor), 29 },
- { typeof(global::SharedData.DefaultValueIntKeyClassWithoutExplicitConstructor), 30 },
- { typeof(global::SharedData.DefaultValueIntKeyStructWithExplicitConstructor), 31 },
- { typeof(global::SharedData.DefaultValueStringKeyClassWithExplicitConstructor), 32 },
- { typeof(global::SharedData.DefaultValueStringKeyClassWithoutExplicitConstructor), 33 },
- { typeof(global::SharedData.DefaultValueStringKeyStructWithExplicitConstructor), 34 },
- { typeof(global::SharedData.Empty1), 35 },
- { typeof(global::SharedData.Empty2), 36 },
- { typeof(global::SharedData.EmptyClass), 37 },
- { typeof(global::SharedData.EmptyStruct), 38 },
- { typeof(global::SharedData.FirstSimpleData), 39 },
- { typeof(global::SharedData.FooClass), 40 },
- { typeof(global::SharedData.HolderV0), 41 },
- { typeof(global::SharedData.HolderV1), 42 },
- { typeof(global::SharedData.HolderV2), 43 },
- { typeof(global::SharedData.MyClass), 44 },
- { typeof(global::SharedData.MySubUnion1), 45 },
- { typeof(global::SharedData.MySubUnion2), 46 },
- { typeof(global::SharedData.MySubUnion3), 47 },
- { typeof(global::SharedData.MySubUnion4), 48 },
- { typeof(global::SharedData.NestParent.NestContract), 49 },
- { typeof(global::SharedData.NonEmpty1), 50 },
- { typeof(global::SharedData.NonEmpty2), 51 },
- { typeof(global::SharedData.SimpleIntKeyData), 52 },
- { typeof(global::SharedData.SimpleStringKeyData), 53 },
- { typeof(global::SharedData.SimpleStructIntKeyData), 54 },
- { typeof(global::SharedData.SimpleStructStringKeyData), 55 },
- { typeof(global::SharedData.SubUnionType1), 56 },
- { typeof(global::SharedData.SubUnionType2), 57 },
- { typeof(global::SharedData.UnVersionBlockTest), 58 },
- { typeof(global::SharedData.Vector2), 59 },
- { typeof(global::SharedData.Vector3Like), 60 },
- { typeof(global::SharedData.VectorLike2), 61 },
- { typeof(global::SharedData.Version0), 62 },
- { typeof(global::SharedData.Version1), 63 },
- { typeof(global::SharedData.Version2), 64 },
- { typeof(global::SharedData.VersionBlockTest), 65 },
- { typeof(global::SharedData.VersioningUnion), 66 },
- { typeof(global::SharedData.WithIndexer), 67 },
- { typeof(global::SimpleModel), 68 },
- { typeof(global::StampMessageBody), 69 },
- { typeof(global::TextMessageBody), 70 },
+ { typeof(global::MessagePackFormatterFieldUser), 21 },
+ { typeof(global::PerfBenchmarkDotNet.StringKeySerializerTarget), 22 },
+ { typeof(global::QuestMessageBody), 23 },
+ { typeof(global::SharedData.ArrayOptimizeClass), 24 },
+ { typeof(global::SharedData.BarClass), 25 },
+ { typeof(global::SharedData.Callback1), 26 },
+ { typeof(global::SharedData.Callback1_2), 27 },
+ { typeof(global::SharedData.Callback2), 28 },
+ { typeof(global::SharedData.Callback2_2), 29 },
+ { typeof(global::SharedData.DefaultValueIntKeyClassWithExplicitConstructor), 30 },
+ { typeof(global::SharedData.DefaultValueIntKeyClassWithoutExplicitConstructor), 31 },
+ { typeof(global::SharedData.DefaultValueIntKeyStructWithExplicitConstructor), 32 },
+ { typeof(global::SharedData.DefaultValueStringKeyClassWithExplicitConstructor), 33 },
+ { typeof(global::SharedData.DefaultValueStringKeyClassWithoutExplicitConstructor), 34 },
+ { typeof(global::SharedData.DefaultValueStringKeyStructWithExplicitConstructor), 35 },
+ { typeof(global::SharedData.Empty1), 36 },
+ { typeof(global::SharedData.Empty2), 37 },
+ { typeof(global::SharedData.EmptyClass), 38 },
+ { typeof(global::SharedData.EmptyStruct), 39 },
+ { typeof(global::SharedData.FirstSimpleData), 40 },
+ { typeof(global::SharedData.FooClass), 41 },
+ { typeof(global::SharedData.HolderV0), 42 },
+ { typeof(global::SharedData.HolderV1), 43 },
+ { typeof(global::SharedData.HolderV2), 44 },
+ { typeof(global::SharedData.MyClass), 45 },
+ { typeof(global::SharedData.MySubUnion1), 46 },
+ { typeof(global::SharedData.MySubUnion2), 47 },
+ { typeof(global::SharedData.MySubUnion3), 48 },
+ { typeof(global::SharedData.MySubUnion4), 49 },
+ { typeof(global::SharedData.NestParent.NestContract), 50 },
+ { typeof(global::SharedData.NonEmpty1), 51 },
+ { typeof(global::SharedData.NonEmpty2), 52 },
+ { typeof(global::SharedData.SimpleIntKeyData), 53 },
+ { typeof(global::SharedData.SimpleStringKeyData), 54 },
+ { typeof(global::SharedData.SimpleStructIntKeyData), 55 },
+ { typeof(global::SharedData.SimpleStructStringKeyData), 56 },
+ { typeof(global::SharedData.SubUnionType1), 57 },
+ { typeof(global::SharedData.SubUnionType2), 58 },
+ { typeof(global::SharedData.UnVersionBlockTest), 59 },
+ { typeof(global::SharedData.Vector2), 60 },
+ { typeof(global::SharedData.Vector3Like), 61 },
+ { typeof(global::SharedData.VectorLike2), 62 },
+ { typeof(global::SharedData.Version0), 63 },
+ { typeof(global::SharedData.Version1), 64 },
+ { typeof(global::SharedData.Version2), 65 },
+ { typeof(global::SharedData.VersionBlockTest), 66 },
+ { typeof(global::SharedData.VersioningUnion), 67 },
+ { typeof(global::SharedData.WithIndexer), 68 },
+ { typeof(global::SimpleModel), 69 },
+ { typeof(global::StampMessageBody), 70 },
+ { typeof(global::TextMessageBody), 71 },
};
}
@@ -156,56 +157,57 @@ namespace MessagePack.Resolvers
case 18: return new MessagePack.Formatters.ComplexModelFormatter();
case 19: return new MessagePack.Formatters.GlobalManFormatter();
case 20: return new MessagePack.Formatters.MessageFormatter();
- case 21: return new MessagePack.Formatters.PerfBenchmarkDotNet.StringKeySerializerTargetFormatter();
- case 22: return new MessagePack.Formatters.QuestMessageBodyFormatter();
- case 23: return new MessagePack.Formatters.SharedData.ArrayOptimizeClassFormatter();
- case 24: return new MessagePack.Formatters.SharedData.BarClassFormatter();
- case 25: return new MessagePack.Formatters.SharedData.Callback1Formatter();
- case 26: return new MessagePack.Formatters.SharedData.Callback1_2Formatter();
- case 27: return new MessagePack.Formatters.SharedData.Callback2Formatter();
- case 28: return new MessagePack.Formatters.SharedData.Callback2_2Formatter();
- case 29: return new MessagePack.Formatters.SharedData.DefaultValueIntKeyClassWithExplicitConstructorFormatter();
- case 30: return new MessagePack.Formatters.SharedData.DefaultValueIntKeyClassWithoutExplicitConstructorFormatter();
- case 31: return new MessagePack.Formatters.SharedData.DefaultValueIntKeyStructWithExplicitConstructorFormatter();
- case 32: return new MessagePack.Formatters.SharedData.DefaultValueStringKeyClassWithExplicitConstructorFormatter();
- case 33: return new MessagePack.Formatters.SharedData.DefaultValueStringKeyClassWithoutExplicitConstructorFormatter();
- case 34: return new MessagePack.Formatters.SharedData.DefaultValueStringKeyStructWithExplicitConstructorFormatter();
- case 35: return new MessagePack.Formatters.SharedData.Empty1Formatter();
- case 36: return new MessagePack.Formatters.SharedData.Empty2Formatter();
- case 37: return new MessagePack.Formatters.SharedData.EmptyClassFormatter();
- case 38: return new MessagePack.Formatters.SharedData.EmptyStructFormatter();
- case 39: return new MessagePack.Formatters.SharedData.FirstSimpleDataFormatter();
- case 40: return new MessagePack.Formatters.SharedData.FooClassFormatter();
- case 41: return new MessagePack.Formatters.SharedData.HolderV0Formatter();
- case 42: return new MessagePack.Formatters.SharedData.HolderV1Formatter();
- case 43: return new MessagePack.Formatters.SharedData.HolderV2Formatter();
- case 44: return new MessagePack.Formatters.SharedData.MyClassFormatter();
- case 45: return new MessagePack.Formatters.SharedData.MySubUnion1Formatter();
- case 46: return new MessagePack.Formatters.SharedData.MySubUnion2Formatter();
- case 47: return new MessagePack.Formatters.SharedData.MySubUnion3Formatter();
- case 48: return new MessagePack.Formatters.SharedData.MySubUnion4Formatter();
- case 49: return new MessagePack.Formatters.SharedData.NestParent_NestContractFormatter();
- case 50: return new MessagePack.Formatters.SharedData.NonEmpty1Formatter();
- case 51: return new MessagePack.Formatters.SharedData.NonEmpty2Formatter();
- case 52: return new MessagePack.Formatters.SharedData.SimpleIntKeyDataFormatter();
- case 53: return new MessagePack.Formatters.SharedData.SimpleStringKeyDataFormatter();
- case 54: return new MessagePack.Formatters.SharedData.SimpleStructIntKeyDataFormatter();
- case 55: return new MessagePack.Formatters.SharedData.SimpleStructStringKeyDataFormatter();
- case 56: return new MessagePack.Formatters.SharedData.SubUnionType1Formatter();
- case 57: return new MessagePack.Formatters.SharedData.SubUnionType2Formatter();
- case 58: return new MessagePack.Formatters.SharedData.UnVersionBlockTestFormatter();
- case 59: return new MessagePack.Formatters.SharedData.Vector2Formatter();
- case 60: return new MessagePack.Formatters.SharedData.Vector3LikeFormatter();
- case 61: return new MessagePack.Formatters.SharedData.VectorLike2Formatter();
- case 62: return new MessagePack.Formatters.SharedData.Version0Formatter();
- case 63: return new MessagePack.Formatters.SharedData.Version1Formatter();
- case 64: return new MessagePack.Formatters.SharedData.Version2Formatter();
- case 65: return new MessagePack.Formatters.SharedData.VersionBlockTestFormatter();
- case 66: return new MessagePack.Formatters.SharedData.VersioningUnionFormatter();
- case 67: return new MessagePack.Formatters.SharedData.WithIndexerFormatter();
- case 68: return new MessagePack.Formatters.SimpleModelFormatter();
- case 69: return new MessagePack.Formatters.StampMessageBodyFormatter();
- case 70: return new MessagePack.Formatters.TextMessageBodyFormatter();
+ case 21: return new MessagePack.Formatters.MessagePackFormatterFieldUserFormatter();
+ case 22: return new MessagePack.Formatters.PerfBenchmarkDotNet.StringKeySerializerTargetFormatter();
+ case 23: return new MessagePack.Formatters.QuestMessageBodyFormatter();
+ case 24: return new MessagePack.Formatters.SharedData.ArrayOptimizeClassFormatter();
+ case 25: return new MessagePack.Formatters.SharedData.BarClassFormatter();
+ case 26: return new MessagePack.Formatters.SharedData.Callback1Formatter();
+ case 27: return new MessagePack.Formatters.SharedData.Callback1_2Formatter();
+ case 28: return new MessagePack.Formatters.SharedData.Callback2Formatter();
+ case 29: return new MessagePack.Formatters.SharedData.Callback2_2Formatter();
+ case 30: return new MessagePack.Formatters.SharedData.DefaultValueIntKeyClassWithExplicitConstructorFormatter();
+ case 31: return new MessagePack.Formatters.SharedData.DefaultValueIntKeyClassWithoutExplicitConstructorFormatter();
+ case 32: return new MessagePack.Formatters.SharedData.DefaultValueIntKeyStructWithExplicitConstructorFormatter();
+ case 33: return new MessagePack.Formatters.SharedData.DefaultValueStringKeyClassWithExplicitConstructorFormatter();
+ case 34: return new MessagePack.Formatters.SharedData.DefaultValueStringKeyClassWithoutExplicitConstructorFormatter();
+ case 35: return new MessagePack.Formatters.SharedData.DefaultValueStringKeyStructWithExplicitConstructorFormatter();
+ case 36: return new MessagePack.Formatters.SharedData.Empty1Formatter();
+ case 37: return new MessagePack.Formatters.SharedData.Empty2Formatter();
+ case 38: return new MessagePack.Formatters.SharedData.EmptyClassFormatter();
+ case 39: return new MessagePack.Formatters.SharedData.EmptyStructFormatter();
+ case 40: return new MessagePack.Formatters.SharedData.FirstSimpleDataFormatter();
+ case 41: return new MessagePack.Formatters.SharedData.FooClassFormatter();
+ case 42: return new MessagePack.Formatters.SharedData.HolderV0Formatter();
+ case 43: return new MessagePack.Formatters.SharedData.HolderV1Formatter();
+ case 44: return new MessagePack.Formatters.SharedData.HolderV2Formatter();
+ case 45: return new MessagePack.Formatters.SharedData.MyClassFormatter();
+ case 46: return new MessagePack.Formatters.SharedData.MySubUnion1Formatter();
+ case 47: return new MessagePack.Formatters.SharedData.MySubUnion2Formatter();
+ case 48: return new MessagePack.Formatters.SharedData.MySubUnion3Formatter();
+ case 49: return new MessagePack.Formatters.SharedData.MySubUnion4Formatter();
+ case 50: return new MessagePack.Formatters.SharedData.NestParent_NestContractFormatter();
+ case 51: return new MessagePack.Formatters.SharedData.NonEmpty1Formatter();
+ case 52: return new MessagePack.Formatters.SharedData.NonEmpty2Formatter();
+ case 53: return new MessagePack.Formatters.SharedData.SimpleIntKeyDataFormatter();
+ case 54: return new MessagePack.Formatters.SharedData.SimpleStringKeyDataFormatter();
+ case 55: return new MessagePack.Formatters.SharedData.SimpleStructIntKeyDataFormatter();
+ case 56: return new MessagePack.Formatters.SharedData.SimpleStructStringKeyDataFormatter();
+ case 57: return new MessagePack.Formatters.SharedData.SubUnionType1Formatter();
+ case 58: return new MessagePack.Formatters.SharedData.SubUnionType2Formatter();
+ case 59: return new MessagePack.Formatters.SharedData.UnVersionBlockTestFormatter();
+ case 60: return new MessagePack.Formatters.SharedData.Vector2Formatter();
+ case 61: return new MessagePack.Formatters.SharedData.Vector3LikeFormatter();
+ case 62: return new MessagePack.Formatters.SharedData.VectorLike2Formatter();
+ case 63: return new MessagePack.Formatters.SharedData.Version0Formatter();
+ case 64: return new MessagePack.Formatters.SharedData.Version1Formatter();
+ case 65: return new MessagePack.Formatters.SharedData.Version2Formatter();
+ case 66: return new MessagePack.Formatters.SharedData.VersionBlockTestFormatter();
+ case 67: return new MessagePack.Formatters.SharedData.VersioningUnionFormatter();
+ case 68: return new MessagePack.Formatters.SharedData.WithIndexerFormatter();
+ case 69: return new MessagePack.Formatters.SimpleModelFormatter();
+ case 70: return new MessagePack.Formatters.StampMessageBodyFormatter();
+ case 71: return new MessagePack.Formatters.TextMessageBodyFormatter();
default: return null;
}
}
@@ -1173,6 +1175,51 @@ namespace MessagePack.Formatters
}
}
+ public sealed class MessagePackFormatterFieldUserFormatter : global::MessagePack.Formatters.IMessagePackFormatter<global::MessagePackFormatterFieldUser>
+ {
+ private readonly global::MessagePack.Formatters.NativeDateTimeFormatter __TimestampCustomFormatter__ = new global::MessagePack.Formatters.NativeDateTimeFormatter();
+
+ public void Serialize(ref global::MessagePack.MessagePackWriter writer, global::MessagePackFormatterFieldUser value, global::MessagePack.MessagePackSerializerOptions options)
+ {
+ if (value == null)
+ {
+ writer.WriteNil();
+ return;
+ }
+
+ writer.WriteArrayHeader(1);
+ this.__TimestampCustomFormatter__.Serialize(ref writer, value.Timestamp, options);
+ }
+
+ public global::MessagePackFormatterFieldUser Deserialize(ref global::MessagePack.MessagePackReader reader, global::MessagePack.MessagePackSerializerOptions options)
+ {
+ if (reader.TryReadNil())
+ {
+ return null;
+ }
+
+ options.Security.DepthStep(ref reader);
+ var length = reader.ReadArrayHeader();
+ var ____result = new global::MessagePackFormatterFieldUser();
+
+ for (int i = 0; i < length; i++)
+ {
+ switch (i)
+ {
+ case 0:
+ ____result.Timestamp = this.__TimestampCustomFormatter__.Deserialize(ref reader, options);
+ break;
+ default:
+ reader.Skip();
+ break;
+ }
+ }
+
+ reader.Depth--;
+ return ____result;
+ }
+ }
+
public sealed class QuestMessageBodyFormatter : global::MessagePack.Formatters.IMessagePackFormatter<global::QuestMessageBody>
{