Ejemplo n.º 1
0
 protected internal override MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_ReferenceGetOnlyPropertyAndConstructorAsObject UnpackFromCore(MsgPack.Unpacker unpacker)
 {
     MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_ReferenceGetOnlyPropertyAndConstructorAsObject result = default(MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_ReferenceGetOnlyPropertyAndConstructorAsObject);
     if (unpacker.IsArrayHeader)
     {
         int unpacked   = default(int);
         int itemsCount = default(int);
         itemsCount = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         object ctorArg0 = default(object);
         ctorArg0 = null;
         object nullable = default(object);
         if ((unpacked < itemsCount))
         {
             if ((unpacker.Read() == false))
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(0);
             }
             if (((unpacker.IsArrayHeader == false) &&
                  (unpacker.IsMapHeader == false)))
             {
                 nullable = this._serializer0.UnpackFrom(unpacker);
             }
             else
             {
                 MsgPack.Unpacker disposable = default(MsgPack.Unpacker);
                 disposable = unpacker.ReadSubtree();
                 try {
                     nullable = this._serializer0.UnpackFrom(disposable);
                 }
                 finally {
                     if (((disposable == null)
                          == false))
                     {
                         disposable.Dispose();
                     }
                 }
             }
         }
         if (((nullable == null)
              == false))
         {
             ctorArg0 = nullable;
         }
         unpacked = (unpacked + 1);
         result   = new MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_ReferenceGetOnlyPropertyAndConstructorAsObject(ctorArg0);
     }
     else
     {
         int itemsCount0 = default(int);
         itemsCount0 = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         object ctorArg00 = default(object);
         ctorArg00 = null;
         for (int i = 0; (i < itemsCount0); i = (i + 1))
         {
             string key       = default(string);
             string nullable0 = default(string);
             nullable0 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_ReferenceGetOnlyPropertyAndConstructorAsObject), "MemberName");
             if (((nullable0 == null)
                  == false))
             {
                 key = nullable0;
             }
             else
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewNullIsProhibited("MemberName");
             }
             if ((key == "Reference"))
             {
                 object nullable1 = default(object);
                 if ((unpacker.Read() == false))
                 {
                     throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                 }
                 if (((unpacker.IsArrayHeader == false) &&
                      (unpacker.IsMapHeader == false)))
                 {
                     nullable1 = this._serializer0.UnpackFrom(unpacker);
                 }
                 else
                 {
                     MsgPack.Unpacker disposable0 = default(MsgPack.Unpacker);
                     disposable0 = unpacker.ReadSubtree();
                     try {
                         nullable1 = this._serializer0.UnpackFrom(disposable0);
                     }
                     finally {
                         if (((disposable0 == null)
                              == false))
                         {
                             disposable0.Dispose();
                         }
                     }
                 }
                 if (((nullable1 == null)
                      == false))
                 {
                     ctorArg00 = nullable1;
                 }
             }
             else
             {
                 unpacker.Skip();
             }
         }
         result = new MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_ReferenceGetOnlyPropertyAndConstructorAsObject(ctorArg00);
     }
     return(result);
 }
 protected internal override MsgPack.Serialization.PolymorphicMemberTypeKnownType_Dict_DictPolymorphicItselfReadOnlyCollectionField UnpackFromCore(MsgPack.Unpacker unpacker)
 {
     MsgPack.Serialization.PolymorphicMemberTypeKnownType_Dict_DictPolymorphicItselfReadOnlyCollectionField result = default(MsgPack.Serialization.PolymorphicMemberTypeKnownType_Dict_DictPolymorphicItselfReadOnlyCollectionField);
     result = new MsgPack.Serialization.PolymorphicMemberTypeKnownType_Dict_DictPolymorphicItselfReadOnlyCollectionField();
     if (unpacker.IsArrayHeader)
     {
         int unpacked   = default(int);
         int itemsCount = default(int);
         itemsCount = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         System.Collections.Generic.IDictionary <string, string> nullable = default(System.Collections.Generic.IDictionary <string, string>);
         if ((unpacked < itemsCount))
         {
             if ((unpacker.Read() == false))
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(0);
             }
             if (((unpacker.IsArrayHeader == false) &&
                  (unpacker.IsMapHeader == false)))
             {
                 nullable = this._serializer0.UnpackFrom(unpacker);
             }
             else
             {
                 MsgPack.Unpacker disposable = default(MsgPack.Unpacker);
                 disposable = unpacker.ReadSubtree();
                 try {
                     nullable = this._serializer0.UnpackFrom(disposable);
                 }
                 finally {
                     if (((disposable == null)
                          == false))
                     {
                         disposable.Dispose();
                     }
                 }
             }
         }
         if (((nullable == null)
              == false))
         {
             System.Collections.Generic.IEnumerator <System.Collections.Generic.KeyValuePair <string, string> > enumerator = nullable.GetEnumerator();
             System.Collections.Generic.KeyValuePair <string, string> current;
             try {
                 for (
                     ; enumerator.MoveNext();
                     )
                 {
                     current = enumerator.Current;
                     result.DictPolymorphicItself.Add(current.Key, current.Value);
                 }
             }
             finally {
                 enumerator.Dispose();
             }
         }
         unpacked = (unpacked + 1);
     }
     else
     {
         int itemsCount0 = default(int);
         itemsCount0 = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         for (int i = 0; (i < itemsCount0); i = (i + 1))
         {
             string key       = default(string);
             string nullable0 = default(string);
             nullable0 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(MsgPack.Serialization.PolymorphicMemberTypeKnownType_Dict_DictPolymorphicItselfReadOnlyCollectionField), "MemberName");
             if (((nullable0 == null)
                  == false))
             {
                 key = nullable0;
             }
             else
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewNullIsProhibited("MemberName");
             }
             if ((key == "DictPolymorphicItself"))
             {
                 System.Collections.Generic.IDictionary <string, string> nullable1 = default(System.Collections.Generic.IDictionary <string, string>);
                 if ((unpacker.Read() == false))
                 {
                     throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                 }
                 if (((unpacker.IsArrayHeader == false) &&
                      (unpacker.IsMapHeader == false)))
                 {
                     nullable1 = this._serializer0.UnpackFrom(unpacker);
                 }
                 else
                 {
                     MsgPack.Unpacker disposable0 = default(MsgPack.Unpacker);
                     disposable0 = unpacker.ReadSubtree();
                     try {
                         nullable1 = this._serializer0.UnpackFrom(disposable0);
                     }
                     finally {
                         if (((disposable0 == null)
                              == false))
                         {
                             disposable0.Dispose();
                         }
                     }
                 }
                 if (((nullable1 == null)
                      == false))
                 {
                     System.Collections.Generic.IEnumerator <System.Collections.Generic.KeyValuePair <string, string> > enumerator0 = nullable1.GetEnumerator();
                     System.Collections.Generic.KeyValuePair <string, string> current0;
                     try {
                         for (
                             ; enumerator0.MoveNext();
                             )
                         {
                             current0 = enumerator0.Current;
                             result.DictPolymorphicItself.Add(current0.Key, current0.Value);
                         }
                     }
                     finally {
                         enumerator0.Dispose();
                     }
                 }
             }
             else
             {
                 unpacker.Skip();
             }
         }
     }
     return(result);
 }
 protected internal override MsgPack.Serialization.PolymorphicMemberTypeKnownType_Dict_DictPolymorphicKeyAndStaticItemReadWriteProperty UnpackFromCore(MsgPack.Unpacker unpacker)
 {
     MsgPack.Serialization.PolymorphicMemberTypeKnownType_Dict_DictPolymorphicKeyAndStaticItemReadWriteProperty result = default(MsgPack.Serialization.PolymorphicMemberTypeKnownType_Dict_DictPolymorphicKeyAndStaticItemReadWriteProperty);
     result = new MsgPack.Serialization.PolymorphicMemberTypeKnownType_Dict_DictPolymorphicKeyAndStaticItemReadWriteProperty();
     if (unpacker.IsArrayHeader)
     {
         int unpacked   = default(int);
         int itemsCount = default(int);
         itemsCount = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         System.Collections.Generic.IDictionary <MsgPack.Serialization.FileSystemEntry, string> nullable = default(System.Collections.Generic.IDictionary <MsgPack.Serialization.FileSystemEntry, string>);
         if ((unpacked < itemsCount))
         {
             if ((unpacker.Read() == false))
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(0);
             }
             if (((unpacker.IsArrayHeader == false) &&
                  (unpacker.IsMapHeader == false)))
             {
                 nullable = this._serializer0.UnpackFrom(unpacker);
             }
             else
             {
                 MsgPack.Unpacker disposable = default(MsgPack.Unpacker);
                 disposable = unpacker.ReadSubtree();
                 try {
                     nullable = this._serializer0.UnpackFrom(disposable);
                 }
                 finally {
                     if (((disposable == null)
                          == false))
                     {
                         disposable.Dispose();
                     }
                 }
             }
         }
         if (((nullable == null)
              == false))
         {
             result.DictPolymorphicKeyAndStaticItem = nullable;
         }
         unpacked = (unpacked + 1);
     }
     else
     {
         int itemsCount0 = default(int);
         itemsCount0 = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         for (int i = 0; (i < itemsCount0); i = (i + 1))
         {
             string key       = default(string);
             string nullable0 = default(string);
             nullable0 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(MsgPack.Serialization.PolymorphicMemberTypeKnownType_Dict_DictPolymorphicKeyAndStaticItemReadWriteProperty), "MemberName");
             if (((nullable0 == null)
                  == false))
             {
                 key = nullable0;
             }
             else
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewNullIsProhibited("MemberName");
             }
             if ((key == "DictPolymorphicKeyAndStaticItem"))
             {
                 System.Collections.Generic.IDictionary <MsgPack.Serialization.FileSystemEntry, string> nullable1 = default(System.Collections.Generic.IDictionary <MsgPack.Serialization.FileSystemEntry, string>);
                 if ((unpacker.Read() == false))
                 {
                     throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                 }
                 if (((unpacker.IsArrayHeader == false) &&
                      (unpacker.IsMapHeader == false)))
                 {
                     nullable1 = this._serializer0.UnpackFrom(unpacker);
                 }
                 else
                 {
                     MsgPack.Unpacker disposable0 = default(MsgPack.Unpacker);
                     disposable0 = unpacker.ReadSubtree();
                     try {
                         nullable1 = this._serializer0.UnpackFrom(disposable0);
                     }
                     finally {
                         if (((disposable0 == null)
                              == false))
                         {
                             disposable0.Dispose();
                         }
                     }
                 }
                 if (((nullable1 == null)
                      == false))
                 {
                     result.DictPolymorphicKeyAndStaticItem = nullable1;
                 }
             }
             else
             {
                 unpacker.Skip();
             }
         }
     }
     return(result);
 }
Ejemplo n.º 4
0
 protected internal override MsgPack.Serialization.DataMamberClass UnpackFromCore(MsgPack.Unpacker unpacker)
 {
     MsgPack.Serialization.DataMamberClass result = default(MsgPack.Serialization.DataMamberClass);
     result = new MsgPack.Serialization.DataMamberClass();
     if (unpacker.IsArrayHeader)
     {
         int unpacked   = default(int);
         int itemsCount = default(int);
         itemsCount = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         System.Nullable <int> nullable = default(System.Nullable <int>);
         if ((unpacked < itemsCount))
         {
             nullable = MsgPack.Serialization.UnpackHelpers.UnpackNullableInt32Value(unpacker, typeof(MsgPack.Serialization.DataMamberClass), "Int32 PublicProperty");
         }
         if (nullable.HasValue)
         {
             result.PublicProperty = nullable.Value;
         }
         unpacked = (unpacked + 1);
         System.Nullable <int> nullable0 = default(System.Nullable <int>);
         if ((unpacked < itemsCount))
         {
             nullable0 = MsgPack.Serialization.UnpackHelpers.UnpackNullableInt32Value(unpacker, typeof(MsgPack.Serialization.DataMamberClass), "Int32 PublicField");
         }
         if (nullable0.HasValue)
         {
             result.PublicField = nullable0.Value;
         }
         unpacked = (unpacked + 1);
         unpacker.Read();
         unpacker.Read();
         System.Nullable <int> nullable1 = default(System.Nullable <int>);
         if ((unpacked < itemsCount))
         {
             nullable1 = MsgPack.Serialization.UnpackHelpers.UnpackNullableInt32Value(unpacker, typeof(MsgPack.Serialization.DataMamberClass), "Int32 NonPublicProperty");
         }
         if (nullable1.HasValue)
         {
             this._methodBaseDataMamberClass_set_NonPublicProperty1.Invoke(result, new object[] {
                 ((object)(nullable1.Value))
             });
         }
         unpacked = (unpacked + 1);
         System.Nullable <int> nullable2 = default(System.Nullable <int>);
         if ((unpacked < itemsCount))
         {
             nullable2 = MsgPack.Serialization.UnpackHelpers.UnpackNullableInt32Value(unpacker, typeof(MsgPack.Serialization.DataMamberClass), "Int32 NonPublicField");
         }
         if (nullable2.HasValue)
         {
             this._fieldDataMamberClass_NonPublicField0.SetValue(result, ((object)(nullable2.Value)));
         }
         unpacked = (unpacked + 1);
         System.Nullable <int> nullable3 = default(System.Nullable <int>);
         if ((unpacked < itemsCount))
         {
             nullable3 = MsgPack.Serialization.UnpackHelpers.UnpackNullableInt32Value(unpacker, typeof(MsgPack.Serialization.DataMamberClass), "Int32 NonSerializedPublicField");
         }
         if (nullable3.HasValue)
         {
             result.NonSerializedPublicField = nullable3.Value;
         }
         unpacked = (unpacked + 1);
         unpacker.Read();
         System.Nullable <int> nullable4 = default(System.Nullable <int>);
         if ((unpacked < itemsCount))
         {
             nullable4 = MsgPack.Serialization.UnpackHelpers.UnpackNullableInt32Value(unpacker, typeof(MsgPack.Serialization.DataMamberClass), "Int32 NonSerializedNonPublicField");
         }
         if (nullable4.HasValue)
         {
             this._fieldDataMamberClass_NonSerializedNonPublicField1.SetValue(result, ((object)(nullable4.Value)));
         }
         unpacked = (unpacked + 1);
         System.Collections.Generic.List <int> nullable5 = default(System.Collections.Generic.List <int>);
         if ((unpacked < itemsCount))
         {
             if ((unpacker.Read() == false))
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(9);
             }
             if (((unpacker.IsArrayHeader == false) &&
                  (unpacker.IsMapHeader == false)))
             {
                 nullable5 = this._serializer2.UnpackFrom(unpacker);
             }
             else
             {
                 MsgPack.Unpacker disposable = default(MsgPack.Unpacker);
                 disposable = unpacker.ReadSubtree();
                 try {
                     nullable5 = this._serializer2.UnpackFrom(disposable);
                 }
                 finally {
                     if (((disposable == null)
                          == false))
                     {
                         disposable.Dispose();
                     }
                 }
             }
         }
         if (((nullable5 == null)
              == false))
         {
             System.Collections.Generic.List <int> .Enumerator enumerator = nullable5.GetEnumerator();
             int current;
             try {
                 for (
                     ; enumerator.MoveNext();
                     )
                 {
                     current = enumerator.Current;
                     result.CollectionReadOnlyProperty.Add(current);
                 }
             }
             finally {
                 enumerator.Dispose();
             }
         }
         unpacked = (unpacked + 1);
     }
     else
     {
         int itemsCount0 = default(int);
         itemsCount0 = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         for (int i = 0; (i < itemsCount0); i = (i + 1))
         {
             string key       = default(string);
             string nullable6 = default(string);
             nullable6 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(MsgPack.Serialization.DataMamberClass), "MemberName");
             if (((nullable6 == null)
                  == false))
             {
                 key = nullable6;
             }
             else
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewNullIsProhibited("MemberName");
             }
             if ((key == "CollectionReadOnlyProperty"))
             {
                 System.Collections.Generic.List <int> nullable13 = default(System.Collections.Generic.List <int>);
                 if ((unpacker.Read() == false))
                 {
                     throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                 }
                 if (((unpacker.IsArrayHeader == false) &&
                      (unpacker.IsMapHeader == false)))
                 {
                     nullable13 = this._serializer2.UnpackFrom(unpacker);
                 }
                 else
                 {
                     MsgPack.Unpacker disposable0 = default(MsgPack.Unpacker);
                     disposable0 = unpacker.ReadSubtree();
                     try {
                         nullable13 = this._serializer2.UnpackFrom(disposable0);
                     }
                     finally {
                         if (((disposable0 == null)
                              == false))
                         {
                             disposable0.Dispose();
                         }
                     }
                 }
                 if (((nullable13 == null)
                      == false))
                 {
                     System.Collections.Generic.List <int> .Enumerator enumerator0 = nullable13.GetEnumerator();
                     int current0;
                     try {
                         for (
                             ; enumerator0.MoveNext();
                             )
                         {
                             current0 = enumerator0.Current;
                             result.CollectionReadOnlyProperty.Add(current0);
                         }
                     }
                     finally {
                         enumerator0.Dispose();
                     }
                 }
             }
             else
             {
                 if ((key == "NonSerializedNonPublicField"))
                 {
                     System.Nullable <int> nullable12 = default(System.Nullable <int>);
                     nullable12 = MsgPack.Serialization.UnpackHelpers.UnpackNullableInt32Value(unpacker, typeof(MsgPack.Serialization.DataMamberClass), "Int32 NonSerializedNonPublicField");
                     if (nullable12.HasValue)
                     {
                         this._fieldDataMamberClass_NonSerializedNonPublicField1.SetValue(result, ((object)(nullable12.Value)));
                     }
                 }
                 else
                 {
                     if ((key == "NonSerializedPublicField"))
                     {
                         System.Nullable <int> nullable11 = default(System.Nullable <int>);
                         nullable11 = MsgPack.Serialization.UnpackHelpers.UnpackNullableInt32Value(unpacker, typeof(MsgPack.Serialization.DataMamberClass), "Int32 NonSerializedPublicField");
                         if (nullable11.HasValue)
                         {
                             result.NonSerializedPublicField = nullable11.Value;
                         }
                     }
                     else
                     {
                         if ((key == "NonPublicField"))
                         {
                             System.Nullable <int> nullable10 = default(System.Nullable <int>);
                             nullable10 = MsgPack.Serialization.UnpackHelpers.UnpackNullableInt32Value(unpacker, typeof(MsgPack.Serialization.DataMamberClass), "Int32 NonPublicField");
                             if (nullable10.HasValue)
                             {
                                 this._fieldDataMamberClass_NonPublicField0.SetValue(result, ((object)(nullable10.Value)));
                             }
                         }
                         else
                         {
                             if ((key == "NonPublicProperty"))
                             {
                                 System.Nullable <int> nullable9 = default(System.Nullable <int>);
                                 nullable9 = MsgPack.Serialization.UnpackHelpers.UnpackNullableInt32Value(unpacker, typeof(MsgPack.Serialization.DataMamberClass), "Int32 NonPublicProperty");
                                 if (nullable9.HasValue)
                                 {
                                     this._methodBaseDataMamberClass_set_NonPublicProperty1.Invoke(result, new object[] {
                                         ((object)(nullable9.Value))
                                     });
                                 }
                             }
                             else
                             {
                                 if ((key == "PublicField"))
                                 {
                                     System.Nullable <int> nullable8 = default(System.Nullable <int>);
                                     nullable8 = MsgPack.Serialization.UnpackHelpers.UnpackNullableInt32Value(unpacker, typeof(MsgPack.Serialization.DataMamberClass), "Int32 PublicField");
                                     if (nullable8.HasValue)
                                     {
                                         result.PublicField = nullable8.Value;
                                     }
                                 }
                                 else
                                 {
                                     if ((key == "Alias"))
                                     {
                                         System.Nullable <int> nullable7 = default(System.Nullable <int>);
                                         nullable7 = MsgPack.Serialization.UnpackHelpers.UnpackNullableInt32Value(unpacker, typeof(MsgPack.Serialization.DataMamberClass), "Int32 PublicProperty");
                                         if (nullable7.HasValue)
                                         {
                                             result.PublicProperty = nullable7.Value;
                                         }
                                     }
                                     else
                                     {
                                         unpacker.Skip();
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     return(result);
 }
 protected internal override MsgPack.Serialization.InterfaceListItemRuntimeType UnpackFromCore(MsgPack.Unpacker unpacker)
 {
     MsgPack.Serialization.InterfaceListItemRuntimeType result = default(MsgPack.Serialization.InterfaceListItemRuntimeType);
     result = new MsgPack.Serialization.InterfaceListItemRuntimeType();
     if (unpacker.IsArrayHeader)
     {
         int unpacked   = default(int);
         int itemsCount = default(int);
         itemsCount = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         System.Collections.Generic.IList <MsgPack.Serialization.IFileSystemEntry> nullable = default(System.Collections.Generic.IList <MsgPack.Serialization.IFileSystemEntry>);
         if ((unpacked < itemsCount))
         {
             if ((unpacker.Read() == false))
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(0);
             }
             if (((unpacker.IsArrayHeader == false) &&
                  (unpacker.IsMapHeader == false)))
             {
                 nullable = this._serializer0.UnpackFrom(unpacker);
             }
             else
             {
                 MsgPack.Unpacker disposable = default(MsgPack.Unpacker);
                 disposable = unpacker.ReadSubtree();
                 try {
                     nullable = this._serializer0.UnpackFrom(disposable);
                 }
                 finally {
                     if (((disposable == null)
                          == false))
                     {
                         disposable.Dispose();
                     }
                 }
             }
         }
         if (((nullable == null)
              == false))
         {
             result.Value = nullable;
         }
         unpacked = (unpacked + 1);
     }
     else
     {
         int itemsCount0 = default(int);
         itemsCount0 = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         for (int i = 0; (i < itemsCount0); i = (i + 1))
         {
             string key       = default(string);
             string nullable0 = default(string);
             nullable0 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(MsgPack.Serialization.InterfaceListItemRuntimeType), "MemberName");
             if (((nullable0 == null)
                  == false))
             {
                 key = nullable0;
             }
             else
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewNullIsProhibited("MemberName");
             }
             if ((key == "Value"))
             {
                 System.Collections.Generic.IList <MsgPack.Serialization.IFileSystemEntry> nullable1 = default(System.Collections.Generic.IList <MsgPack.Serialization.IFileSystemEntry>);
                 if ((unpacker.Read() == false))
                 {
                     throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                 }
                 if (((unpacker.IsArrayHeader == false) &&
                      (unpacker.IsMapHeader == false)))
                 {
                     nullable1 = this._serializer0.UnpackFrom(unpacker);
                 }
                 else
                 {
                     MsgPack.Unpacker disposable0 = default(MsgPack.Unpacker);
                     disposable0 = unpacker.ReadSubtree();
                     try {
                         nullable1 = this._serializer0.UnpackFrom(disposable0);
                     }
                     finally {
                         if (((disposable0 == null)
                              == false))
                         {
                             disposable0.Dispose();
                         }
                     }
                 }
                 if (((nullable1 == null)
                      == false))
                 {
                     result.Value = nullable1;
                 }
             }
             else
             {
                 unpacker.Skip();
             }
         }
     }
     return(result);
 }
Ejemplo n.º 6
0
 protected internal override MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_List_ListObjectItemGetOnlyCollectionProperty UnpackFromCore(MsgPack.Unpacker unpacker)
 {
     MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_List_ListObjectItemGetOnlyCollectionProperty result = default(MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_List_ListObjectItemGetOnlyCollectionProperty);
     result = new MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_List_ListObjectItemGetOnlyCollectionProperty();
     if (unpacker.IsArrayHeader)
     {
         int unpacked   = default(int);
         int itemsCount = default(int);
         itemsCount = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         System.Collections.Generic.IList <object> nullable = default(System.Collections.Generic.IList <object>);
         if ((unpacked < itemsCount))
         {
             if ((unpacker.Read() == false))
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(0);
             }
             if (((unpacker.IsArrayHeader == false) &&
                  (unpacker.IsMapHeader == false)))
             {
                 nullable = this._serializer1.UnpackFrom(unpacker);
             }
             else
             {
                 MsgPack.Unpacker disposable = default(MsgPack.Unpacker);
                 disposable = unpacker.ReadSubtree();
                 try {
                     nullable = this._serializer1.UnpackFrom(disposable);
                 }
                 finally {
                     if (((disposable == null)
                          == false))
                     {
                         disposable.Dispose();
                     }
                 }
             }
         }
         if (((nullable == null)
              == false))
         {
             System.Collections.Generic.IEnumerator <object> enumerator = nullable.GetEnumerator();
             object current;
             try {
                 for (
                     ; enumerator.MoveNext();
                     )
                 {
                     current = enumerator.Current;
                     result.ListObjectItem.Add(current);
                 }
             }
             finally {
                 enumerator.Dispose();
             }
         }
         unpacked = (unpacked + 1);
     }
     else
     {
         int itemsCount0 = default(int);
         itemsCount0 = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         for (int i = 0; (i < itemsCount0); i = (i + 1))
         {
             string key       = default(string);
             string nullable0 = default(string);
             nullable0 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_List_ListObjectItemGetOnlyCollectionProperty), "MemberName");
             if (((nullable0 == null)
                  == false))
             {
                 key = nullable0;
             }
             else
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewNullIsProhibited("MemberName");
             }
             if ((key == "ListObjectItem"))
             {
                 System.Collections.Generic.IList <object> nullable1 = default(System.Collections.Generic.IList <object>);
                 if ((unpacker.Read() == false))
                 {
                     throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                 }
                 if (((unpacker.IsArrayHeader == false) &&
                      (unpacker.IsMapHeader == false)))
                 {
                     nullable1 = this._serializer1.UnpackFrom(unpacker);
                 }
                 else
                 {
                     MsgPack.Unpacker disposable0 = default(MsgPack.Unpacker);
                     disposable0 = unpacker.ReadSubtree();
                     try {
                         nullable1 = this._serializer1.UnpackFrom(disposable0);
                     }
                     finally {
                         if (((disposable0 == null)
                              == false))
                         {
                             disposable0.Dispose();
                         }
                     }
                 }
                 if (((nullable1 == null)
                      == false))
                 {
                     System.Collections.Generic.IEnumerator <object> enumerator0 = nullable1.GetEnumerator();
                     object current0;
                     try {
                         for (
                             ; enumerator0.MoveNext();
                             )
                         {
                             current0 = enumerator0.Current;
                             result.ListObjectItem.Add(current0);
                         }
                     }
                     finally {
                         enumerator0.Dispose();
                     }
                 }
             }
             else
             {
                 unpacker.Skip();
             }
         }
     }
     return(result);
 }
Ejemplo n.º 7
0
 protected internal override MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Tuple_Tuple7AllPolymorphicPrivateSetterPropertyAndConstructor UnpackFromCore(MsgPack.Unpacker unpacker)
 {
     MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Tuple_Tuple7AllPolymorphicPrivateSetterPropertyAndConstructor result = default(MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Tuple_Tuple7AllPolymorphicPrivateSetterPropertyAndConstructor);
     result = new MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Tuple_Tuple7AllPolymorphicPrivateSetterPropertyAndConstructor();
     if (unpacker.IsArrayHeader)
     {
         int unpacked   = default(int);
         int itemsCount = default(int);
         itemsCount = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         System.Tuple <MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry> nullable = default(System.Tuple <MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry>);
         if ((unpacked < itemsCount))
         {
             if ((unpacker.Read() == false))
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(0);
             }
             if (((unpacker.IsArrayHeader == false) &&
                  (unpacker.IsMapHeader == false)))
             {
                 nullable = this._serializer1.UnpackFrom(unpacker);
             }
             else
             {
                 MsgPack.Unpacker disposable = default(MsgPack.Unpacker);
                 disposable = unpacker.ReadSubtree();
                 try {
                     nullable = this._serializer1.UnpackFrom(disposable);
                 }
                 finally {
                     if (((disposable == null)
                          == false))
                     {
                         disposable.Dispose();
                     }
                 }
             }
         }
         if (((nullable == null)
              == false))
         {
             this._methodBasePolymorphicMemberTypeRuntimeType_Tuple_Tuple7AllPolymorphicPrivateSetterPropertyAndConstructor_set_Tuple7AllPolymorphic0.Invoke(result, new object[] {
                 nullable
             });
         }
         unpacked = (unpacked + 1);
     }
     else
     {
         int itemsCount0 = default(int);
         itemsCount0 = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         for (int i = 0; (i < itemsCount0); i = (i + 1))
         {
             string key       = default(string);
             string nullable0 = default(string);
             nullable0 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Tuple_Tuple7AllPolymorphicPrivateSetterPropertyAndConstructor), "MemberName");
             if (((nullable0 == null)
                  == false))
             {
                 key = nullable0;
             }
             else
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewNullIsProhibited("MemberName");
             }
             if ((key == "Tuple7AllPolymorphic"))
             {
                 System.Tuple <MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry> nullable1 = default(System.Tuple <MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry>);
                 if ((unpacker.Read() == false))
                 {
                     throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                 }
                 if (((unpacker.IsArrayHeader == false) &&
                      (unpacker.IsMapHeader == false)))
                 {
                     nullable1 = this._serializer1.UnpackFrom(unpacker);
                 }
                 else
                 {
                     MsgPack.Unpacker disposable0 = default(MsgPack.Unpacker);
                     disposable0 = unpacker.ReadSubtree();
                     try {
                         nullable1 = this._serializer1.UnpackFrom(disposable0);
                     }
                     finally {
                         if (((disposable0 == null)
                              == false))
                         {
                             disposable0.Dispose();
                         }
                     }
                 }
                 if (((nullable1 == null)
                      == false))
                 {
                     this._methodBasePolymorphicMemberTypeRuntimeType_Tuple_Tuple7AllPolymorphicPrivateSetterPropertyAndConstructor_set_Tuple7AllPolymorphic0.Invoke(result, new object[] {
                         nullable1
                     });
                 }
             }
             else
             {
                 unpacker.Skip();
             }
         }
     }
     return(result);
 }
Ejemplo n.º 8
0
 protected internal override MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Tuple_Tuple7AllStaticReadWriteField UnpackFromCore(MsgPack.Unpacker unpacker)
 {
     MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Tuple_Tuple7AllStaticReadWriteField result = default(MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Tuple_Tuple7AllStaticReadWriteField);
     result = new MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Tuple_Tuple7AllStaticReadWriteField();
     if (unpacker.IsArrayHeader)
     {
         int unpacked   = default(int);
         int itemsCount = default(int);
         itemsCount = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         System.Tuple <string, string, string, string, string, string, string> nullable = default(System.Tuple <string, string, string, string, string, string, string>);
         if ((unpacked < itemsCount))
         {
             if ((unpacker.Read() == false))
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(0);
             }
             if (((unpacker.IsArrayHeader == false) &&
                  (unpacker.IsMapHeader == false)))
             {
                 nullable = this._serializer0.UnpackFrom(unpacker);
             }
             else
             {
                 MsgPack.Unpacker disposable = default(MsgPack.Unpacker);
                 disposable = unpacker.ReadSubtree();
                 try {
                     nullable = this._serializer0.UnpackFrom(disposable);
                 }
                 finally {
                     if (((disposable == null)
                          == false))
                     {
                         disposable.Dispose();
                     }
                 }
             }
         }
         if (((nullable == null)
              == false))
         {
             result.Tuple7AllStatic = nullable;
         }
         unpacked = (unpacked + 1);
     }
     else
     {
         int itemsCount0 = default(int);
         itemsCount0 = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         for (int i = 0; (i < itemsCount0); i = (i + 1))
         {
             string key       = default(string);
             string nullable0 = default(string);
             nullable0 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Tuple_Tuple7AllStaticReadWriteField), "MemberName");
             if (((nullable0 == null)
                  == false))
             {
                 key = nullable0;
             }
             else
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewNullIsProhibited("MemberName");
             }
             if ((key == "Tuple7AllStatic"))
             {
                 System.Tuple <string, string, string, string, string, string, string> nullable1 = default(System.Tuple <string, string, string, string, string, string, string>);
                 if ((unpacker.Read() == false))
                 {
                     throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                 }
                 if (((unpacker.IsArrayHeader == false) &&
                      (unpacker.IsMapHeader == false)))
                 {
                     nullable1 = this._serializer0.UnpackFrom(unpacker);
                 }
                 else
                 {
                     MsgPack.Unpacker disposable0 = default(MsgPack.Unpacker);
                     disposable0 = unpacker.ReadSubtree();
                     try {
                         nullable1 = this._serializer0.UnpackFrom(disposable0);
                     }
                     finally {
                         if (((disposable0 == null)
                              == false))
                         {
                             disposable0.Dispose();
                         }
                     }
                 }
                 if (((nullable1 == null)
                      == false))
                 {
                     result.Tuple7AllStatic = nullable1;
                 }
             }
             else
             {
                 unpacker.Skip();
             }
         }
     }
     return(result);
 }
Ejemplo n.º 9
0
        protected override TokenDetails UnpackFromCore(MsgPack.Unpacker unpacker)
        {
            TokenDetails result = default(TokenDetails);

            result = new TokenDetails();
            {
                int itemsCount0 = default(int);
                itemsCount0 = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
                for (int i = 0; (i < itemsCount0); i = (i + 1))
                {
                    string key       = default(string);
                    string nullable4 = default(string);
                    nullable4 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(TokenDetails), "MemberName");
                    if (((nullable4 == null)
                         == false))
                    {
                        key = nullable4;
                    }
                    else
                    {
                        throw MsgPack.Serialization.SerializationExceptions.NewNullIsProhibited("MemberName");
                    }
                    if ((key == "clientId"))
                    {
                        string nullable9 = default(string);
                        nullable9 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(TokenDetails), "System.String ClientId");
                        if (((nullable9 == null)
                             == false))
                        {
                            result.ClientId = nullable9;
                        }
                    }
                    else
                    {
                        if ((key == "keyName"))
                        {
                            string keyNameValue = null;
                            if ((unpacker.Read() == false))
                            {
                                throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                            }
                            if (((unpacker.IsArrayHeader == false) &&
                                 (unpacker.IsMapHeader == false)))
                            {
                                keyNameValue = this._serializer0.UnpackFrom(unpacker);
                            }
                            else
                            {
                                MsgPack.Unpacker disposable10 = default(MsgPack.Unpacker);
                                disposable10 = unpacker.ReadSubtree();
                                try
                                {
                                    keyNameValue = this._serializer0.UnpackFrom(disposable10);
                                }
                                finally
                                {
                                    if (((disposable10 == null)
                                         == false))
                                    {
                                        disposable10.Dispose();
                                    }
                                }
                            }
                            if (((keyNameValue == null)
                                 == false))
                            {
                                result.KeyName = keyNameValue;
                            }
                        }
                        else if ((key == "capability"))
                        {
                            IO.Ably.Capability nullable8 = default(IO.Ably.Capability);
                            if ((unpacker.Read() == false))
                            {
                                throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                            }
                            if (((unpacker.IsArrayHeader == false) &&
                                 (unpacker.IsMapHeader == false)))
                            {
                                nullable8 = this._serializer2.UnpackFrom(unpacker);
                            }
                            else
                            {
                                MsgPack.Unpacker disposable4 = default(MsgPack.Unpacker);
                                disposable4 = unpacker.ReadSubtree();
                                try
                                {
                                    nullable8 = this._serializer2.UnpackFrom(disposable4);
                                }
                                finally
                                {
                                    if (((disposable4 == null)
                                         == false))
                                    {
                                        disposable4.Dispose();
                                    }
                                }
                            }
                            if (((nullable8 == null)
                                 == false))
                            {
                                result.Capability = nullable8;
                            }
                        }
                        else
                        {
                            if ((key == "issued"))
                            {
                                System.Nullable <System.DateTimeOffset> nullable7 = default(System.Nullable <System.DateTimeOffset>);
                                if ((unpacker.Read() == false))
                                {
                                    throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                                }
                                if (((unpacker.IsArrayHeader == false) &&
                                     (unpacker.IsMapHeader == false)))
                                {
                                    nullable7 = this._serializer3.UnpackFrom(unpacker);
                                }
                                else
                                {
                                    MsgPack.Unpacker disposable3 = default(MsgPack.Unpacker);
                                    disposable3 = unpacker.ReadSubtree();
                                    try
                                    {
                                        nullable7 = this._serializer3.UnpackFrom(disposable3);
                                    }
                                    finally
                                    {
                                        if (((disposable3 == null)
                                             == false))
                                        {
                                            disposable3.Dispose();
                                        }
                                    }
                                }
                                if (nullable7.HasValue)
                                {
                                    result.Issued = nullable7.Value;
                                }
                            }
                            else
                            {
                                if ((key == "expires"))
                                {
                                    System.Nullable <System.DateTimeOffset> nullable6 = default(System.Nullable <System.DateTimeOffset>);
                                    if ((unpacker.Read() == false))
                                    {
                                        throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                                    }
                                    if (((unpacker.IsArrayHeader == false) &&
                                         (unpacker.IsMapHeader == false)))
                                    {
                                        nullable6 = this._serializer3.UnpackFrom(unpacker);
                                    }
                                    else
                                    {
                                        MsgPack.Unpacker disposable2 = default(MsgPack.Unpacker);
                                        disposable2 = unpacker.ReadSubtree();
                                        try
                                        {
                                            nullable6 = this._serializer3.UnpackFrom(disposable2);
                                        }
                                        finally
                                        {
                                            if (((disposable2 == null)
                                                 == false))
                                            {
                                                disposable2.Dispose();
                                            }
                                        }
                                    }
                                    if (nullable6.HasValue)
                                    {
                                        result.Expires = nullable6.Value;
                                    }
                                }
                                else
                                {
                                    if ((key == "token"))
                                    {
                                        string nullable5 = default(string);
                                        nullable5 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(TokenDetails), "System.String Token");
                                        if (((nullable5 == null)
                                             == false))
                                        {
                                            result.Token = nullable5;
                                        }
                                    }
                                    else
                                    {
                                        unpacker.Skip();
                                    }
                                }
                            }
                        }
                    }
                }
            }
            return(result);
        }
 protected internal override MsgPack.Serialization.ComplexTypeWithDataContract UnpackFromCore(MsgPack.Unpacker unpacker)
 {
     MsgPack.Serialization.ComplexTypeWithDataContract result = default(MsgPack.Serialization.ComplexTypeWithDataContract);
     result = new MsgPack.Serialization.ComplexTypeWithDataContract();
     if (unpacker.IsArrayHeader)
     {
         int unpacked   = default(int);
         int itemsCount = default(int);
         itemsCount = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         byte[] nullable = default(byte[]);
         if ((unpacked < itemsCount))
         {
             nullable = MsgPack.Serialization.UnpackHelpers.UnpackBinaryValue(unpacker, typeof(MsgPack.Serialization.ComplexTypeWithDataContract), "Byte[] Data");
         }
         if (((nullable == null)
              == false))
         {
             result.Data = nullable;
         }
         unpacked = (unpacked + 1);
         System.Collections.Generic.Dictionary <System.DateTime, string> nullable0 = default(System.Collections.Generic.Dictionary <System.DateTime, string>);
         if ((unpacked < itemsCount))
         {
             if ((unpacker.Read() == false))
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(1);
             }
             if (((unpacker.IsArrayHeader == false) &&
                  (unpacker.IsMapHeader == false)))
             {
                 nullable0 = this._serializer1.UnpackFrom(unpacker);
             }
             else
             {
                 MsgPack.Unpacker disposable = default(MsgPack.Unpacker);
                 disposable = unpacker.ReadSubtree();
                 try {
                     nullable0 = this._serializer1.UnpackFrom(disposable);
                 }
                 finally {
                     if (((disposable == null)
                          == false))
                     {
                         disposable.Dispose();
                     }
                 }
             }
         }
         if (((nullable0 == null)
              == false))
         {
             System.Collections.Generic.Dictionary <System.DateTime, string> .Enumerator enumerator = nullable0.GetEnumerator();
             System.Collections.Generic.KeyValuePair <System.DateTime, string>           current;
             try {
                 for (
                     ; enumerator.MoveNext();
                     )
                 {
                     current = enumerator.Current;
                     result.History.Add(current.Key, current.Value);
                 }
             }
             finally {
                 enumerator.Dispose();
             }
         }
         unpacked = (unpacked + 1);
         System.Uri nullable1 = default(System.Uri);
         if ((unpacked < itemsCount))
         {
             if ((unpacker.Read() == false))
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(2);
             }
             if (((unpacker.IsArrayHeader == false) &&
                  (unpacker.IsMapHeader == false)))
             {
                 nullable1 = this._serializer2.UnpackFrom(unpacker);
             }
             else
             {
                 MsgPack.Unpacker disposable0 = default(MsgPack.Unpacker);
                 disposable0 = unpacker.ReadSubtree();
                 try {
                     nullable1 = this._serializer2.UnpackFrom(disposable0);
                 }
                 finally {
                     if (((disposable0 == null)
                          == false))
                     {
                         disposable0.Dispose();
                     }
                 }
             }
         }
         if (((nullable1 == null)
              == false))
         {
             result.Source = nullable1;
         }
         unpacked = (unpacked + 1);
         System.Nullable <System.DateTime> nullable2 = default(System.Nullable <System.DateTime>);
         if ((unpacked < itemsCount))
         {
             if ((unpacker.Read() == false))
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(3);
             }
             if (((unpacker.IsArrayHeader == false) &&
                  (unpacker.IsMapHeader == false)))
             {
                 nullable2 = this._serializer4.UnpackFrom(unpacker);
             }
             else
             {
                 MsgPack.Unpacker disposable1 = default(MsgPack.Unpacker);
                 disposable1 = unpacker.ReadSubtree();
                 try {
                     nullable2 = this._serializer4.UnpackFrom(disposable1);
                 }
                 finally {
                     if (((disposable1 == null)
                          == false))
                     {
                         disposable1.Dispose();
                     }
                 }
             }
         }
         if (nullable2.HasValue)
         {
             result.TimeStamp = nullable2.Value;
         }
         unpacked = (unpacked + 1);
     }
     else
     {
         int itemsCount0 = default(int);
         itemsCount0 = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         for (int i = 0; (i < itemsCount0); i = (i + 1))
         {
             string key       = default(string);
             string nullable3 = default(string);
             nullable3 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(MsgPack.Serialization.ComplexTypeWithDataContract), "MemberName");
             if (((nullable3 == null)
                  == false))
             {
                 key = nullable3;
             }
             else
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewNullIsProhibited("MemberName");
             }
             if ((key == "TimeStamp"))
             {
                 System.Nullable <System.DateTime> nullable7 = default(System.Nullable <System.DateTime>);
                 if ((unpacker.Read() == false))
                 {
                     throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                 }
                 if (((unpacker.IsArrayHeader == false) &&
                      (unpacker.IsMapHeader == false)))
                 {
                     nullable7 = this._serializer4.UnpackFrom(unpacker);
                 }
                 else
                 {
                     MsgPack.Unpacker disposable4 = default(MsgPack.Unpacker);
                     disposable4 = unpacker.ReadSubtree();
                     try {
                         nullable7 = this._serializer4.UnpackFrom(disposable4);
                     }
                     finally {
                         if (((disposable4 == null)
                              == false))
                         {
                             disposable4.Dispose();
                         }
                     }
                 }
                 if (nullable7.HasValue)
                 {
                     result.TimeStamp = nullable7.Value;
                 }
             }
             else
             {
                 if ((key == "Source"))
                 {
                     System.Uri nullable6 = default(System.Uri);
                     if ((unpacker.Read() == false))
                     {
                         throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                     }
                     if (((unpacker.IsArrayHeader == false) &&
                          (unpacker.IsMapHeader == false)))
                     {
                         nullable6 = this._serializer2.UnpackFrom(unpacker);
                     }
                     else
                     {
                         MsgPack.Unpacker disposable3 = default(MsgPack.Unpacker);
                         disposable3 = unpacker.ReadSubtree();
                         try {
                             nullable6 = this._serializer2.UnpackFrom(disposable3);
                         }
                         finally {
                             if (((disposable3 == null)
                                  == false))
                             {
                                 disposable3.Dispose();
                             }
                         }
                     }
                     if (((nullable6 == null)
                          == false))
                     {
                         result.Source = nullable6;
                     }
                 }
                 else
                 {
                     if ((key == "History"))
                     {
                         System.Collections.Generic.Dictionary <System.DateTime, string> nullable5 = default(System.Collections.Generic.Dictionary <System.DateTime, string>);
                         if ((unpacker.Read() == false))
                         {
                             throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                         }
                         if (((unpacker.IsArrayHeader == false) &&
                              (unpacker.IsMapHeader == false)))
                         {
                             nullable5 = this._serializer1.UnpackFrom(unpacker);
                         }
                         else
                         {
                             MsgPack.Unpacker disposable2 = default(MsgPack.Unpacker);
                             disposable2 = unpacker.ReadSubtree();
                             try {
                                 nullable5 = this._serializer1.UnpackFrom(disposable2);
                             }
                             finally {
                                 if (((disposable2 == null)
                                      == false))
                                 {
                                     disposable2.Dispose();
                                 }
                             }
                         }
                         if (((nullable5 == null)
                              == false))
                         {
                             System.Collections.Generic.Dictionary <System.DateTime, string> .Enumerator enumerator0 = nullable5.GetEnumerator();
                             System.Collections.Generic.KeyValuePair <System.DateTime, string>           current0;
                             try {
                                 for (
                                     ; enumerator0.MoveNext();
                                     )
                                 {
                                     current0 = enumerator0.Current;
                                     result.History.Add(current0.Key, current0.Value);
                                 }
                             }
                             finally {
                                 enumerator0.Dispose();
                             }
                         }
                     }
                     else
                     {
                         if ((key == "Data"))
                         {
                             byte[] nullable4 = default(byte[]);
                             nullable4 = MsgPack.Serialization.UnpackHelpers.UnpackBinaryValue(unpacker, typeof(MsgPack.Serialization.ComplexTypeWithDataContract), "Byte[] Data");
                             if (((nullable4 == null)
                                  == false))
                             {
                                 result.Data = nullable4;
                             }
                         }
                         else
                         {
                             unpacker.Skip();
                         }
                     }
                 }
             }
         }
     }
     return(result);
 }
Ejemplo n.º 11
0
 protected override Test.Test01 UnpackFromCore(MsgPack.Unpacker unpacker)
 {
     Test.Test01 result = default(Test.Test01);
     result = new Test.Test01();
     if (unpacker.IsArrayHeader)
     {
         int unpacked   = default(int);
         int itemsCount = default(int);
         itemsCount = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         string nullable = default(string);
         if ((unpacked < itemsCount))
         {
             nullable = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(Test.Test01), "System.String id");
         }
         if (((nullable == null) == false))
         {
             result.id = nullable;
         }
         unpacked = (unpacked + 1);
         Test.Test02 nullable0 = default(Test.Test02);
         if ((unpacked < itemsCount))
         {
             if ((unpacker.Read() == false))
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(1);
             }
             if (((unpacker.IsArrayHeader == false) && (unpacker.IsMapHeader == false)))
             {
                 nullable0 = this._serializer1.UnpackFrom(unpacker);
             }
             else
             {
                 MsgPack.Unpacker disposable = default(MsgPack.Unpacker);
                 disposable = unpacker.ReadSubtree();
                 try {
                     nullable0 = this._serializer1.UnpackFrom(disposable);
                 }
                 finally {
                     if (((disposable == null) == false))
                     {
                         disposable.Dispose();
                     }
                 }
             }
         }
         if (((nullable0 == null) == false))
         {
             result.test02 = nullable0;
         }
         unpacked = (unpacked + 1);
     }
     else
     {
         int itemsCount0 = default(int);
         itemsCount0 = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         for (int i = 0; (i < itemsCount0); i = (i + 1))
         {
             string key       = default(string);
             string nullable1 = default(string);
             nullable1 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(Test.Test01), "MemberName");
             if (((nullable1 == null) == false))
             {
                 key = nullable1;
             }
             else
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewNullIsProhibited("MemberName");
             }
             if ((key == "test02"))
             {
                 Test.Test02 nullable3 = default(Test.Test02);
                 if ((unpacker.Read() == false))
                 {
                     throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                 }
                 if (((unpacker.IsArrayHeader == false) && (unpacker.IsMapHeader == false)))
                 {
                     nullable3 = this._serializer1.UnpackFrom(unpacker);
                 }
                 else
                 {
                     MsgPack.Unpacker disposable0 = default(MsgPack.Unpacker);
                     disposable0 = unpacker.ReadSubtree();
                     try {
                         nullable3 = this._serializer1.UnpackFrom(disposable0);
                     }
                     finally {
                         if (((disposable0 == null) == false))
                         {
                             disposable0.Dispose();
                         }
                     }
                 }
                 if (((nullable3 == null) == false))
                 {
                     result.test02 = nullable3;
                 }
             }
             else
             {
                 if ((key == "id"))
                 {
                     string nullable2 = default(string);
                     nullable2 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(Test.Test01), "System.String id");
                     if (((nullable2 == null) == false))
                     {
                         result.id = nullable2;
                     }
                 }
                 else
                 {
                     unpacker.Skip();
                 }
             }
         }
     }
     return(result);
 }
Ejemplo n.º 12
0
 protected internal override MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Dict_DictPolymorphicKeyAndItemPrivateSetterCollectionProperty UnpackFromCore(MsgPack.Unpacker unpacker)
 {
     MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Dict_DictPolymorphicKeyAndItemPrivateSetterCollectionProperty result = default(MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Dict_DictPolymorphicKeyAndItemPrivateSetterCollectionProperty);
     result = new MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Dict_DictPolymorphicKeyAndItemPrivateSetterCollectionProperty();
     if (unpacker.IsArrayHeader)
     {
         int unpacked   = default(int);
         int itemsCount = default(int);
         itemsCount = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         System.Collections.Generic.IDictionary <MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry> nullable = default(System.Collections.Generic.IDictionary <MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry>);
         if ((unpacked < itemsCount))
         {
             if ((unpacker.Read() == false))
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(0);
             }
             if (((unpacker.IsArrayHeader == false) &&
                  (unpacker.IsMapHeader == false)))
             {
                 nullable = this._serializer1.UnpackFrom(unpacker);
             }
             else
             {
                 MsgPack.Unpacker disposable = default(MsgPack.Unpacker);
                 disposable = unpacker.ReadSubtree();
                 try {
                     nullable = this._serializer1.UnpackFrom(disposable);
                 }
                 finally {
                     if (((disposable == null)
                          == false))
                     {
                         disposable.Dispose();
                     }
                 }
             }
         }
         if (((nullable == null)
              == false))
         {
             if ((result.DictPolymorphicKeyAndItem == null))
             {
                 this._methodBasePolymorphicMemberTypeRuntimeType_Dict_DictPolymorphicKeyAndItemPrivateSetterCollectionProperty_set_DictPolymorphicKeyAndItem0.Invoke(result, new object[] {
                     nullable
                 });
             }
             else
             {
                 System.Collections.Generic.IEnumerator <System.Collections.Generic.KeyValuePair <MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry> > enumerator = nullable.GetEnumerator();
                 System.Collections.Generic.KeyValuePair <MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry> current;
                 try {
                     for (
                         ; enumerator.MoveNext();
                         )
                     {
                         current = enumerator.Current;
                         result.DictPolymorphicKeyAndItem.Add(current.Key, current.Value);
                     }
                 }
                 finally {
                     enumerator.Dispose();
                 }
             }
         }
         unpacked = (unpacked + 1);
     }
     else
     {
         int itemsCount0 = default(int);
         itemsCount0 = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         for (int i = 0; (i < itemsCount0); i = (i + 1))
         {
             string key       = default(string);
             string nullable0 = default(string);
             nullable0 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Dict_DictPolymorphicKeyAndItemPrivateSetterCollectionProperty), "MemberName");
             if (((nullable0 == null)
                  == false))
             {
                 key = nullable0;
             }
             else
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewNullIsProhibited("MemberName");
             }
             if ((key == "DictPolymorphicKeyAndItem"))
             {
                 System.Collections.Generic.IDictionary <MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry> nullable1 = default(System.Collections.Generic.IDictionary <MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry>);
                 if ((unpacker.Read() == false))
                 {
                     throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                 }
                 if (((unpacker.IsArrayHeader == false) &&
                      (unpacker.IsMapHeader == false)))
                 {
                     nullable1 = this._serializer1.UnpackFrom(unpacker);
                 }
                 else
                 {
                     MsgPack.Unpacker disposable0 = default(MsgPack.Unpacker);
                     disposable0 = unpacker.ReadSubtree();
                     try {
                         nullable1 = this._serializer1.UnpackFrom(disposable0);
                     }
                     finally {
                         if (((disposable0 == null)
                              == false))
                         {
                             disposable0.Dispose();
                         }
                     }
                 }
                 if (((nullable1 == null)
                      == false))
                 {
                     if ((result.DictPolymorphicKeyAndItem == null))
                     {
                         this._methodBasePolymorphicMemberTypeRuntimeType_Dict_DictPolymorphicKeyAndItemPrivateSetterCollectionProperty_set_DictPolymorphicKeyAndItem0.Invoke(result, new object[] {
                             nullable1
                         });
                     }
                     else
                     {
                         System.Collections.Generic.IEnumerator <System.Collections.Generic.KeyValuePair <MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry> > enumerator0 = nullable1.GetEnumerator();
                         System.Collections.Generic.KeyValuePair <MsgPack.Serialization.FileSystemEntry, MsgPack.Serialization.FileSystemEntry> current0;
                         try {
                             for (
                                 ; enumerator0.MoveNext();
                                 )
                             {
                                 current0 = enumerator0.Current;
                                 result.DictPolymorphicKeyAndItem.Add(current0.Key, current0.Value);
                             }
                         }
                         finally {
                             enumerator0.Dispose();
                         }
                     }
                 }
             }
             else
             {
                 unpacker.Skip();
             }
         }
     }
     return(result);
 }
 protected internal override MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Normal_ValueReadOnlyFieldAndConstructor UnpackFromCore(MsgPack.Unpacker unpacker)
 {
     MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Normal_ValueReadOnlyFieldAndConstructor result = default(MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Normal_ValueReadOnlyFieldAndConstructor);
     if (unpacker.IsArrayHeader)
     {
         int unpacked   = default(int);
         int itemsCount = default(int);
         itemsCount = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         System.DateTime ctorArg0 = default(System.DateTime);
         ctorArg0 = default(System.DateTime);
         System.Nullable <System.DateTime> nullable = default(System.Nullable <System.DateTime>);
         if ((unpacked < itemsCount))
         {
             if ((unpacker.Read() == false))
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(0);
             }
             if (((unpacker.IsArrayHeader == false) &&
                  (unpacker.IsMapHeader == false)))
             {
                 nullable = this._serializer2.UnpackFrom(unpacker);
             }
             else
             {
                 MsgPack.Unpacker disposable = default(MsgPack.Unpacker);
                 disposable = unpacker.ReadSubtree();
                 try {
                     nullable = this._serializer2.UnpackFrom(disposable);
                 }
                 finally {
                     if (((disposable == null)
                          == false))
                     {
                         disposable.Dispose();
                     }
                 }
             }
         }
         if (nullable.HasValue)
         {
             ctorArg0 = nullable.Value;
         }
         unpacked = (unpacked + 1);
         result   = new MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Normal_ValueReadOnlyFieldAndConstructor(ctorArg0);
     }
     else
     {
         int itemsCount0 = default(int);
         itemsCount0 = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         System.DateTime ctorArg00 = default(System.DateTime);
         ctorArg00 = default(System.DateTime);
         for (int i = 0; (i < itemsCount0); i = (i + 1))
         {
             string key       = default(string);
             string nullable0 = default(string);
             nullable0 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Normal_ValueReadOnlyFieldAndConstructor), "MemberName");
             if (((nullable0 == null)
                  == false))
             {
                 key = nullable0;
             }
             else
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewNullIsProhibited("MemberName");
             }
             if ((key == "Value"))
             {
                 System.Nullable <System.DateTime> nullable1 = default(System.Nullable <System.DateTime>);
                 if ((unpacker.Read() == false))
                 {
                     throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                 }
                 if (((unpacker.IsArrayHeader == false) &&
                      (unpacker.IsMapHeader == false)))
                 {
                     nullable1 = this._serializer2.UnpackFrom(unpacker);
                 }
                 else
                 {
                     MsgPack.Unpacker disposable0 = default(MsgPack.Unpacker);
                     disposable0 = unpacker.ReadSubtree();
                     try {
                         nullable1 = this._serializer2.UnpackFrom(disposable0);
                     }
                     finally {
                         if (((disposable0 == null)
                              == false))
                         {
                             disposable0.Dispose();
                         }
                     }
                 }
                 if (nullable1.HasValue)
                 {
                     ctorArg00 = nullable1.Value;
                 }
             }
             else
             {
                 unpacker.Skip();
             }
         }
         result = new MsgPack.Serialization.PolymorphicMemberTypeRuntimeType_Normal_ValueReadOnlyFieldAndConstructor(ctorArg00);
     }
     return(result);
 }
Ejemplo n.º 14
0
 protected internal override MsgPack.Serialization.PlainClass UnpackFromCore(MsgPack.Unpacker unpacker)
 {
     MsgPack.Serialization.PlainClass result = default(MsgPack.Serialization.PlainClass);
     result = new MsgPack.Serialization.PlainClass();
     if (unpacker.IsArrayHeader)
     {
         int unpacked   = default(int);
         int itemsCount = default(int);
         itemsCount = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         System.Collections.Generic.List <int> nullable = default(System.Collections.Generic.List <int>);
         if ((unpacked < itemsCount))
         {
             if ((unpacker.Read() == false))
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(0);
             }
             if (((unpacker.IsArrayHeader == false) &&
                  (unpacker.IsMapHeader == false)))
             {
                 nullable = this._serializer0.UnpackFrom(unpacker);
             }
             else
             {
                 MsgPack.Unpacker disposable = default(MsgPack.Unpacker);
                 disposable = unpacker.ReadSubtree();
                 try {
                     nullable = this._serializer0.UnpackFrom(disposable);
                 }
                 finally {
                     if (((disposable == null)
                          == false))
                     {
                         disposable.Dispose();
                     }
                 }
             }
         }
         if (((nullable == null)
              == false))
         {
             System.Collections.Generic.List <int> .Enumerator enumerator = nullable.GetEnumerator();
             int current;
             try {
                 for (
                     ; enumerator.MoveNext();
                     )
                 {
                     current = enumerator.Current;
                     result.CollectionReadOnlyProperty.Add(current);
                 }
             }
             finally {
                 enumerator.Dispose();
             }
         }
         unpacked = (unpacked + 1);
         System.Nullable <int> nullable0 = default(System.Nullable <int>);
         if ((unpacked < itemsCount))
         {
             nullable0 = MsgPack.Serialization.UnpackHelpers.UnpackNullableInt32Value(unpacker, typeof(MsgPack.Serialization.PlainClass), "Int32 PublicField");
         }
         if (nullable0.HasValue)
         {
             result.PublicField = nullable0.Value;
         }
         unpacked = (unpacked + 1);
         System.Nullable <int> nullable1 = default(System.Nullable <int>);
         if ((unpacked < itemsCount))
         {
             nullable1 = MsgPack.Serialization.UnpackHelpers.UnpackNullableInt32Value(unpacker, typeof(MsgPack.Serialization.PlainClass), "Int32 PublicProperty");
         }
         if (nullable1.HasValue)
         {
             result.PublicProperty = nullable1.Value;
         }
         unpacked = (unpacked + 1);
     }
     else
     {
         int itemsCount0 = default(int);
         itemsCount0 = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         for (int i = 0; (i < itemsCount0); i = (i + 1))
         {
             string key       = default(string);
             string nullable2 = default(string);
             nullable2 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(MsgPack.Serialization.PlainClass), "MemberName");
             if (((nullable2 == null)
                  == false))
             {
                 key = nullable2;
             }
             else
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewNullIsProhibited("MemberName");
             }
             if ((key == "PublicProperty"))
             {
                 System.Nullable <int> nullable5 = default(System.Nullable <int>);
                 nullable5 = MsgPack.Serialization.UnpackHelpers.UnpackNullableInt32Value(unpacker, typeof(MsgPack.Serialization.PlainClass), "Int32 PublicProperty");
                 if (nullable5.HasValue)
                 {
                     result.PublicProperty = nullable5.Value;
                 }
             }
             else
             {
                 if ((key == "PublicField"))
                 {
                     System.Nullable <int> nullable4 = default(System.Nullable <int>);
                     nullable4 = MsgPack.Serialization.UnpackHelpers.UnpackNullableInt32Value(unpacker, typeof(MsgPack.Serialization.PlainClass), "Int32 PublicField");
                     if (nullable4.HasValue)
                     {
                         result.PublicField = nullable4.Value;
                     }
                 }
                 else
                 {
                     if ((key == "CollectionReadOnlyProperty"))
                     {
                         System.Collections.Generic.List <int> nullable3 = default(System.Collections.Generic.List <int>);
                         if ((unpacker.Read() == false))
                         {
                             throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                         }
                         if (((unpacker.IsArrayHeader == false) &&
                              (unpacker.IsMapHeader == false)))
                         {
                             nullable3 = this._serializer0.UnpackFrom(unpacker);
                         }
                         else
                         {
                             MsgPack.Unpacker disposable0 = default(MsgPack.Unpacker);
                             disposable0 = unpacker.ReadSubtree();
                             try {
                                 nullable3 = this._serializer0.UnpackFrom(disposable0);
                             }
                             finally {
                                 if (((disposable0 == null)
                                      == false))
                                 {
                                     disposable0.Dispose();
                                 }
                             }
                         }
                         if (((nullable3 == null)
                              == false))
                         {
                             System.Collections.Generic.List <int> .Enumerator enumerator0 = nullable3.GetEnumerator();
                             int current0;
                             try {
                                 for (
                                     ; enumerator0.MoveNext();
                                     )
                                 {
                                     current0 = enumerator0.Current;
                                     result.CollectionReadOnlyProperty.Add(current0);
                                 }
                             }
                             finally {
                                 enumerator0.Dispose();
                             }
                         }
                     }
                     else
                     {
                         unpacker.Skip();
                     }
                 }
             }
         }
     }
     return(result);
 }
Ejemplo n.º 15
0
 protected internal override MsgPack.Serialization.TestValueType UnpackFromCore(MsgPack.Unpacker unpacker)
 {
     MsgPack.Serialization.TestValueType result = default(MsgPack.Serialization.TestValueType);
     if (unpacker.IsArrayHeader)
     {
         int unpacked   = default(int);
         int itemsCount = default(int);
         itemsCount = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         System.Collections.Generic.Dictionary <int, int> nullable = default(System.Collections.Generic.Dictionary <int, int>);
         if ((unpacked < itemsCount))
         {
             if ((unpacker.Read() == false))
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(0);
             }
             if (((unpacker.IsArrayHeader == false) &&
                  (unpacker.IsMapHeader == false)))
             {
                 nullable = this._serializer0.UnpackFrom(unpacker);
             }
             else
             {
                 MsgPack.Unpacker disposable = default(MsgPack.Unpacker);
                 disposable = unpacker.ReadSubtree();
                 try {
                     nullable = this._serializer0.UnpackFrom(disposable);
                 }
                 finally {
                     if (((disposable == null)
                          == false))
                     {
                         disposable.Dispose();
                     }
                 }
             }
         }
         if (((nullable == null)
              == false))
         {
             result.DictionaryField = nullable;
         }
         unpacked = (unpacked + 1);
         int[] nullable0 = default(int[]);
         if ((unpacked < itemsCount))
         {
             if ((unpacker.Read() == false))
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(1);
             }
             if (((unpacker.IsArrayHeader == false) &&
                  (unpacker.IsMapHeader == false)))
             {
                 nullable0 = this._serializer1.UnpackFrom(unpacker);
             }
             else
             {
                 MsgPack.Unpacker disposable0 = default(MsgPack.Unpacker);
                 disposable0 = unpacker.ReadSubtree();
                 try {
                     nullable0 = this._serializer1.UnpackFrom(disposable0);
                 }
                 finally {
                     if (((disposable0 == null)
                          == false))
                     {
                         disposable0.Dispose();
                     }
                 }
             }
         }
         if (((nullable0 == null)
              == false))
         {
             result.Int32ArrayField = nullable0;
         }
         unpacked = (unpacked + 1);
         string nullable1 = default(string);
         if ((unpacked < itemsCount))
         {
             nullable1 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(MsgPack.Serialization.TestValueType), "System.String StringField");
         }
         if (((nullable1 == null)
              == false))
         {
             result.StringField = nullable1;
         }
         unpacked = (unpacked + 1);
     }
     else
     {
         int itemsCount0 = default(int);
         itemsCount0 = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
         for (int i = 0; (i < itemsCount0); i = (i + 1))
         {
             string key       = default(string);
             string nullable2 = default(string);
             nullable2 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(MsgPack.Serialization.TestValueType), "MemberName");
             if (((nullable2 == null)
                  == false))
             {
                 key = nullable2;
             }
             else
             {
                 throw MsgPack.Serialization.SerializationExceptions.NewNullIsProhibited("MemberName");
             }
             if ((key == "StringField"))
             {
                 string nullable5 = default(string);
                 nullable5 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(MsgPack.Serialization.TestValueType), "System.String StringField");
                 if (((nullable5 == null)
                      == false))
                 {
                     result.StringField = nullable5;
                 }
             }
             else
             {
                 if ((key == "Int32ArrayField"))
                 {
                     int[] nullable4 = default(int[]);
                     if ((unpacker.Read() == false))
                     {
                         throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                     }
                     if (((unpacker.IsArrayHeader == false) &&
                          (unpacker.IsMapHeader == false)))
                     {
                         nullable4 = this._serializer1.UnpackFrom(unpacker);
                     }
                     else
                     {
                         MsgPack.Unpacker disposable2 = default(MsgPack.Unpacker);
                         disposable2 = unpacker.ReadSubtree();
                         try {
                             nullable4 = this._serializer1.UnpackFrom(disposable2);
                         }
                         finally {
                             if (((disposable2 == null)
                                  == false))
                             {
                                 disposable2.Dispose();
                             }
                         }
                     }
                     if (((nullable4 == null)
                          == false))
                     {
                         result.Int32ArrayField = nullable4;
                     }
                 }
                 else
                 {
                     if ((key == "DictionaryField"))
                     {
                         System.Collections.Generic.Dictionary <int, int> nullable3 = default(System.Collections.Generic.Dictionary <int, int>);
                         if ((unpacker.Read() == false))
                         {
                             throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                         }
                         if (((unpacker.IsArrayHeader == false) &&
                              (unpacker.IsMapHeader == false)))
                         {
                             nullable3 = this._serializer0.UnpackFrom(unpacker);
                         }
                         else
                         {
                             MsgPack.Unpacker disposable1 = default(MsgPack.Unpacker);
                             disposable1 = unpacker.ReadSubtree();
                             try {
                                 nullable3 = this._serializer0.UnpackFrom(disposable1);
                             }
                             finally {
                                 if (((disposable1 == null)
                                      == false))
                                 {
                                     disposable1.Dispose();
                                 }
                             }
                         }
                         if (((nullable3 == null)
                              == false))
                         {
                             result.DictionaryField = nullable3;
                         }
                     }
                 }
             }
         }
     }
     return(result);
 }
        protected override IO.Ably.InboundMessageTraffic UnpackFromCore(MsgPack.Unpacker unpacker)
        {
            IO.Ably.InboundMessageTraffic result = default(IO.Ably.InboundMessageTraffic);
            result = new IO.Ably.InboundMessageTraffic();
            int itemsCount0 = default(int);

            itemsCount0 = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
            for (int i = 0; (i < itemsCount0); i = (i + 1))
            {
                string key       = default(string);
                string nullable4 = default(string);
                nullable4 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker,
                                                                                  typeof(IO.Ably.InboundMessageTraffic), "MemberName");
                if (((nullable4 == null)
                     == false))
                {
                    key = nullable4;
                }
                else
                {
                    throw MsgPack.Serialization.SerializationExceptions.NewNullIsProhibited("MemberName");
                }
                if ((key == "rest"))
                {
                    IO.Ably.MessageTypes nullable9 = default(IO.Ably.MessageTypes);
                    if ((unpacker.Read() == false))
                    {
                        throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                    }
                    if (((unpacker.IsArrayHeader == false) &&
                         (unpacker.IsMapHeader == false)))
                    {
                        nullable9 = this._serializer1.UnpackFrom(unpacker);
                    }
                    else
                    {
                        MsgPack.Unpacker disposable8 = default(MsgPack.Unpacker);
                        disposable8 = unpacker.ReadSubtree();
                        try
                        {
                            nullable9 = this._serializer1.UnpackFrom(disposable8);
                        }
                        finally
                        {
                            if (((disposable8 == null)
                                 == false))
                            {
                                disposable8.Dispose();
                            }
                        }
                    }
                    if (((nullable9 == null)
                         == false))
                    {
                        result.Rest = nullable9;
                    }
                }
                else
                {
                    if ((key == "realtime"))
                    {
                        IO.Ably.MessageTypes nullable8 = default(IO.Ably.MessageTypes);
                        if ((unpacker.Read() == false))
                        {
                            throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                        }
                        if (((unpacker.IsArrayHeader == false) &&
                             (unpacker.IsMapHeader == false)))
                        {
                            nullable8 = this._serializer1.UnpackFrom(unpacker);
                        }
                        else
                        {
                            MsgPack.Unpacker disposable7 = default(MsgPack.Unpacker);
                            disposable7 = unpacker.ReadSubtree();
                            try
                            {
                                nullable8 = this._serializer1.UnpackFrom(disposable7);
                            }
                            finally
                            {
                                if (((disposable7 == null)
                                     == false))
                                {
                                    disposable7.Dispose();
                                }
                            }
                        }
                        if (((nullable8 == null)
                             == false))
                        {
                            result.Realtime = nullable8;
                        }
                    }
                    else
                    {
                        if ((key == "all"))
                        {
                            IO.Ably.MessageTypes nullable5 = default(IO.Ably.MessageTypes);
                            if ((unpacker.Read() == false))
                            {
                                throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                            }
                            if (((unpacker.IsArrayHeader == false) &&
                                 (unpacker.IsMapHeader == false)))
                            {
                                nullable5 = this._serializer1.UnpackFrom(unpacker);
                            }
                            else
                            {
                                MsgPack.Unpacker disposable4 = default(MsgPack.Unpacker);
                                disposable4 = unpacker.ReadSubtree();
                                try
                                {
                                    nullable5 = this._serializer1.UnpackFrom(disposable4);
                                }
                                finally
                                {
                                    if (((disposable4 == null)
                                         == false))
                                    {
                                        disposable4.Dispose();
                                    }
                                }
                            }
                            if (((nullable5 == null)
                                 == false))
                            {
                                result.All = nullable5;
                            }
                        }
                        else
                        {
                            unpacker.Skip();
                        }
                    }
                }
            }
            return(result);
        }