Skip to content

Commit d91ac4c

Browse files
committed
Restructure collection serializer generation to support collection item polymorphisms in pre-generated serializers.
1 parent 120c604 commit d91ac4c

61 files changed

Lines changed: 4172 additions & 925 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/MsgPack.Net35/MsgPack.Net35.csproj

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,9 @@
167167
<Compile Include="..\MsgPack\ReflectionAbstractions.cs">
168168
<Link>ReflectionAbstractions.cs</Link>
169169
</Compile>
170+
<Compile Include="..\MsgPack\Serialization\AbstractSerializers\CollectionSerializerMethod.cs">
171+
<Link>Serialization\AbstractSerializers\CollectionSerializerMethod.cs</Link>
172+
</Compile>
170173
<Compile Include="..\MsgPack\Serialization\AbstractSerializers\EnumSerializerMethod.cs">
171174
<Link>Serialization\AbstractSerializers\EnumSerializerMethod.cs</Link>
172175
</Compile>
@@ -185,8 +188,8 @@
185188
<Compile Include="..\MsgPack\Serialization\AbstractSerializers\SerializerBuilderContract`3.cs">
186189
<Link>Serialization\AbstractSerializers\SerializerBuilderContract`3.cs</Link>
187190
</Compile>
188-
<Compile Include="..\MsgPack\Serialization\AbstractSerializers\SerializerBuilder`3.Array.cs">
189-
<Link>Serialization\AbstractSerializers\SerializerBuilder`3.Array.cs</Link>
191+
<Compile Include="..\MsgPack\Serialization\AbstractSerializers\SerializerBuilder`3.Collection.cs">
192+
<Link>Serialization\AbstractSerializers\SerializerBuilder`3.Collection.cs</Link>
190193
</Compile>
191194
<Compile Include="..\MsgPack\Serialization\AbstractSerializers\SerializerBuilder`3.CommonConstructs.cs">
192195
<Link>Serialization\AbstractSerializers\SerializerBuilder`3.CommonConstructs.cs</Link>
@@ -197,9 +200,6 @@
197200
<Compile Include="..\MsgPack\Serialization\AbstractSerializers\SerializerBuilder`3.Enum.cs">
198201
<Link>Serialization\AbstractSerializers\SerializerBuilder`3.Enum.cs</Link>
199202
</Compile>
200-
<Compile Include="..\MsgPack\Serialization\AbstractSerializers\SerializerBuilder`3.Map.cs">
201-
<Link>Serialization\AbstractSerializers\SerializerBuilder`3.Map.cs</Link>
202-
</Compile>
203203
<Compile Include="..\MsgPack\Serialization\AbstractSerializers\SerializerBuilder`3.Object.cs">
204204
<Link>Serialization\AbstractSerializers\SerializerBuilder`3.Object.cs</Link>
205205
</Compile>
@@ -215,12 +215,6 @@
215215
<Compile Include="..\MsgPack\Serialization\BoxedEnumMemberSerializationMethod.cs">
216216
<Link>Serialization\BoxedEnumMemberSerializationMethod.cs</Link>
217217
</Compile>
218-
<Compile Include="..\MsgPack\Serialization\CallbackEnumMessagePackSerializer.cs">
219-
<Link>Serialization\CallbackEnumMessagePackSerializer.cs</Link>
220-
</Compile>
221-
<Compile Include="..\MsgPack\Serialization\CallbackMessagePackSerializer`1.cs">
222-
<Link>Serialization\CallbackMessagePackSerializer`1.cs</Link>
223-
</Compile>
224218
<Compile Include="..\MsgPack\Serialization\CodeDomSerializers\CodeDomConstruct.cs">
225219
<Link>Serialization\CodeDomSerializers\CodeDomConstruct.cs</Link>
226220
</Compile>
@@ -251,6 +245,9 @@
251245
<Compile Include="..\MsgPack\Serialization\CollectionSerializers\CollectionMessagePackSerializer`2.cs">
252246
<Link>Serialization\CollectionSerializers\CollectionMessagePackSerializer`2.cs</Link>
253247
</Compile>
248+
<Compile Include="..\MsgPack\Serialization\CollectionSerializers\CollectionSerializerHelpers.cs">
249+
<Link>Serialization\CollectionSerializers\CollectionSerializerHelpers.cs</Link>
250+
</Compile>
254251
<Compile Include="..\MsgPack\Serialization\CollectionSerializers\DictionaryMessagePackSerializer`3.cs">
255252
<Link>Serialization\CollectionSerializers\DictionaryMessagePackSerializer`3.cs</Link>
256253
</Compile>
@@ -419,6 +416,33 @@
419416
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\BinaryOperatorILConstruct.cs">
420417
<Link>Serialization\EmittingSerializers\BinaryOperatorILConstruct.cs</Link>
421418
</Compile>
419+
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\CallbackCollectionMessagePackSerializer`2.cs">
420+
<Link>Serialization\EmittingSerializers\CallbackCollectionMessagePackSerializer`2.cs</Link>
421+
</Compile>
422+
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\CallbackDictionaryMessagePackSerializer`3.cs">
423+
<Link>Serialization\EmittingSerializers\CallbackDictionaryMessagePackSerializer`3.cs</Link>
424+
</Compile>
425+
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\CallbackEnumerableMessagePackSerializer`2.cs">
426+
<Link>Serialization\EmittingSerializers\CallbackEnumerableMessagePackSerializer`2.cs</Link>
427+
</Compile>
428+
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\CallbackEnumMessagePackSerializer.cs">
429+
<Link>Serialization\EmittingSerializers\CallbackEnumMessagePackSerializer.cs</Link>
430+
</Compile>
431+
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\CallbackMessagePackSerializer`1.cs">
432+
<Link>Serialization\EmittingSerializers\CallbackMessagePackSerializer`1.cs</Link>
433+
</Compile>
434+
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\CallbackNonGenericCollectionMessagePackSerializer`1.cs">
435+
<Link>Serialization\EmittingSerializers\CallbackNonGenericCollectionMessagePackSerializer`1.cs</Link>
436+
</Compile>
437+
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\CallbackNonGenericDictionaryMessagePackSerializer`1.cs">
438+
<Link>Serialization\EmittingSerializers\CallbackNonGenericDictionaryMessagePackSerializer`1.cs</Link>
439+
</Compile>
440+
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\CallbackNonGenericEnumerableMessagePackSerializer`1.cs">
441+
<Link>Serialization\EmittingSerializers\CallbackNonGenericEnumerableMessagePackSerializer`1.cs</Link>
442+
</Compile>
443+
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\CallbackNonGenericListMessagePackSerializer`1.cs">
444+
<Link>Serialization\EmittingSerializers\CallbackNonGenericListMessagePackSerializer`1.cs</Link>
445+
</Compile>
422446
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\ConditionalILConstruct.cs">
423447
<Link>Serialization\EmittingSerializers\ConditionalILConstruct.cs</Link>
424448
</Compile>

src/MsgPack.Net40/MsgPack.Net40.csproj

Lines changed: 56 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,9 @@
154154
<Compile Include="..\MsgPack\ReflectionAbstractions.cs">
155155
<Link>ReflectionAbstractions.cs</Link>
156156
</Compile>
157+
<Compile Include="..\MsgPack\Serialization\AbstractSerializers\CollectionSerializerMethod.cs">
158+
<Link>Serialization\AbstractSerializers\CollectionSerializerMethod.cs</Link>
159+
</Compile>
157160
<Compile Include="..\MsgPack\Serialization\AbstractSerializers\EnumSerializerMethod.cs">
158161
<Link>Serialization\AbstractSerializers\EnumSerializerMethod.cs</Link>
159162
</Compile>
@@ -172,8 +175,8 @@
172175
<Compile Include="..\MsgPack\Serialization\AbstractSerializers\SerializerBuilderContract`3.cs">
173176
<Link>Serialization\AbstractSerializers\SerializerBuilderContract`3.cs</Link>
174177
</Compile>
175-
<Compile Include="..\MsgPack\Serialization\AbstractSerializers\SerializerBuilder`3.Array.cs">
176-
<Link>Serialization\AbstractSerializers\SerializerBuilder`3.Array.cs</Link>
178+
<Compile Include="..\MsgPack\Serialization\AbstractSerializers\SerializerBuilder`3.Collection.cs">
179+
<Link>Serialization\AbstractSerializers\SerializerBuilder`3.Collection.cs</Link>
177180
</Compile>
178181
<Compile Include="..\MsgPack\Serialization\AbstractSerializers\SerializerBuilder`3.CommonConstructs.cs">
179182
<Link>Serialization\AbstractSerializers\SerializerBuilder`3.CommonConstructs.cs</Link>
@@ -184,9 +187,6 @@
184187
<Compile Include="..\MsgPack\Serialization\AbstractSerializers\SerializerBuilder`3.Enum.cs">
185188
<Link>Serialization\AbstractSerializers\SerializerBuilder`3.Enum.cs</Link>
186189
</Compile>
187-
<Compile Include="..\MsgPack\Serialization\AbstractSerializers\SerializerBuilder`3.Map.cs">
188-
<Link>Serialization\AbstractSerializers\SerializerBuilder`3.Map.cs</Link>
189-
</Compile>
190190
<Compile Include="..\MsgPack\Serialization\AbstractSerializers\SerializerBuilder`3.Object.cs">
191191
<Link>Serialization\AbstractSerializers\SerializerBuilder`3.Object.cs</Link>
192192
</Compile>
@@ -205,12 +205,6 @@
205205
<Compile Include="..\MsgPack\Serialization\BoxedEnumMemberSerializationMethod.cs">
206206
<Link>Serialization\BoxedEnumMemberSerializationMethod.cs</Link>
207207
</Compile>
208-
<Compile Include="..\MsgPack\Serialization\CallbackEnumMessagePackSerializer.cs">
209-
<Link>Serialization\CallbackEnumMessagePackSerializer.cs</Link>
210-
</Compile>
211-
<Compile Include="..\MsgPack\Serialization\CallbackMessagePackSerializer`1.cs">
212-
<Link>Serialization\CallbackMessagePackSerializer`1.cs</Link>
213-
</Compile>
214208
<Compile Include="..\MsgPack\Serialization\CodeDomSerializers\CodeDomConstruct.cs">
215209
<Link>Serialization\CodeDomSerializers\CodeDomConstruct.cs</Link>
216210
</Compile>
@@ -241,6 +235,9 @@
241235
<Compile Include="..\MsgPack\Serialization\CollectionSerializers\CollectionMessagePackSerializer`2.cs">
242236
<Link>Serialization\CollectionSerializers\CollectionMessagePackSerializer`2.cs</Link>
243237
</Compile>
238+
<Compile Include="..\MsgPack\Serialization\CollectionSerializers\CollectionSerializerHelpers.cs">
239+
<Link>Serialization\CollectionSerializers\CollectionSerializerHelpers.cs</Link>
240+
</Compile>
244241
<Compile Include="..\MsgPack\Serialization\CollectionSerializers\DictionaryMessagePackSerializer`3.cs">
245242
<Link>Serialization\CollectionSerializers\DictionaryMessagePackSerializer`3.cs</Link>
246243
</Compile>
@@ -412,6 +409,33 @@
412409
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\BinaryOperatorILConstruct.cs">
413410
<Link>Serialization\EmittingSerializers\BinaryOperatorILConstruct.cs</Link>
414411
</Compile>
412+
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\CallbackCollectionMessagePackSerializer`2.cs">
413+
<Link>Serialization\EmittingSerializers\CallbackCollectionMessagePackSerializer`2.cs</Link>
414+
</Compile>
415+
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\CallbackDictionaryMessagePackSerializer`3.cs">
416+
<Link>Serialization\EmittingSerializers\CallbackDictionaryMessagePackSerializer`3.cs</Link>
417+
</Compile>
418+
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\CallbackEnumerableMessagePackSerializer`2.cs">
419+
<Link>Serialization\EmittingSerializers\CallbackEnumerableMessagePackSerializer`2.cs</Link>
420+
</Compile>
421+
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\CallbackEnumMessagePackSerializer.cs">
422+
<Link>Serialization\EmittingSerializers\CallbackEnumMessagePackSerializer.cs</Link>
423+
</Compile>
424+
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\CallbackMessagePackSerializer`1.cs">
425+
<Link>Serialization\EmittingSerializers\CallbackMessagePackSerializer`1.cs</Link>
426+
</Compile>
427+
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\CallbackNonGenericCollectionMessagePackSerializer`1.cs">
428+
<Link>Serialization\EmittingSerializers\CallbackNonGenericCollectionMessagePackSerializer`1.cs</Link>
429+
</Compile>
430+
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\CallbackNonGenericDictionaryMessagePackSerializer`1.cs">
431+
<Link>Serialization\EmittingSerializers\CallbackNonGenericDictionaryMessagePackSerializer`1.cs</Link>
432+
</Compile>
433+
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\CallbackNonGenericEnumerableMessagePackSerializer`1.cs">
434+
<Link>Serialization\EmittingSerializers\CallbackNonGenericEnumerableMessagePackSerializer`1.cs</Link>
435+
</Compile>
436+
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\CallbackNonGenericListMessagePackSerializer`1.cs">
437+
<Link>Serialization\EmittingSerializers\CallbackNonGenericListMessagePackSerializer`1.cs</Link>
438+
</Compile>
415439
<Compile Include="..\MsgPack\Serialization\EmittingSerializers\ConditionalILConstruct.cs">
416440
<Link>Serialization\EmittingSerializers\ConditionalILConstruct.cs</Link>
417441
</Compile>
@@ -499,12 +523,33 @@
499523
<Compile Include="..\MsgPack\Serialization\EnumSerializationMethod.cs">
500524
<Link>Serialization\EnumSerializationMethod.cs</Link>
501525
</Compile>
526+
<Compile Include="..\MsgPack\Serialization\ExpressionSerializers\ExpressionCallbackCollectionMessagePackSerializer`2.cs">
527+
<Link>Serialization\ExpressionSerializers\ExpressionCallbackCollectionMessagePackSerializer`2.cs</Link>
528+
</Compile>
529+
<Compile Include="..\MsgPack\Serialization\ExpressionSerializers\ExpressionCallbackDictionaryMessagePackSerializer`3.cs">
530+
<Link>Serialization\ExpressionSerializers\ExpressionCallbackDictionaryMessagePackSerializer`3.cs</Link>
531+
</Compile>
532+
<Compile Include="..\MsgPack\Serialization\ExpressionSerializers\ExpressionCallbackEnumerableMessagePackSerializer`2.cs">
533+
<Link>Serialization\ExpressionSerializers\ExpressionCallbackEnumerableMessagePackSerializer`2.cs</Link>
534+
</Compile>
502535
<Compile Include="..\MsgPack\Serialization\ExpressionSerializers\ExpressionCallbackEnumMessagePackSerializer`1.cs">
503536
<Link>Serialization\ExpressionSerializers\ExpressionCallbackEnumMessagePackSerializer`1.cs</Link>
504537
</Compile>
505538
<Compile Include="..\MsgPack\Serialization\ExpressionSerializers\ExpressionCallbackMessagePackSerializer`1.cs">
506539
<Link>Serialization\ExpressionSerializers\ExpressionCallbackMessagePackSerializer`1.cs</Link>
507540
</Compile>
541+
<Compile Include="..\MsgPack\Serialization\ExpressionSerializers\ExpressionCallbackNonGenericCollectionMessagePackSerializer`1.cs">
542+
<Link>Serialization\ExpressionSerializers\ExpressionCallbackNonGenericCollectionMessagePackSerializer`1.cs</Link>
543+
</Compile>
544+
<Compile Include="..\MsgPack\Serialization\ExpressionSerializers\ExpressionCallbackNonGenericDictionaryMessagePackSerializer`1.cs">
545+
<Link>Serialization\ExpressionSerializers\ExpressionCallbackNonGenericDictionaryMessagePackSerializer`1.cs</Link>
546+
</Compile>
547+
<Compile Include="..\MsgPack\Serialization\ExpressionSerializers\ExpressionCallbackNonGenericEnumerableMessagePackSerializer`1.cs">
548+
<Link>Serialization\ExpressionSerializers\ExpressionCallbackNonGenericEnumerableMessagePackSerializer`1.cs</Link>
549+
</Compile>
550+
<Compile Include="..\MsgPack\Serialization\ExpressionSerializers\ExpressionCallbackNonGenericListMessagePackSerializer`1.cs">
551+
<Link>Serialization\ExpressionSerializers\ExpressionCallbackNonGenericListMessagePackSerializer`1.cs</Link>
552+
</Compile>
508553
<Compile Include="..\MsgPack\Serialization\ExpressionSerializers\ExpressionConstruct.cs">
509554
<Link>Serialization\ExpressionSerializers\ExpressionConstruct.cs</Link>
510555
</Compile>

0 commit comments

Comments
 (0)