protected internal override MsgPack.Serialization.InterfaceMemberRuntimeType UnpackFromCore(MsgPack.Unpacker unpacker) { MsgPack.Serialization.InterfaceMemberRuntimeType result = default(MsgPack.Serialization.InterfaceMemberRuntimeType); result = new MsgPack.Serialization.InterfaceMemberRuntimeType(); if (unpacker.IsArrayHeader) { int unpacked = default(int); int itemsCount = default(int); itemsCount = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker); MsgPack.Serialization.IFileSystemEntry nullable = default(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._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)) { 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.InterfaceMemberRuntimeType), "MemberName"); if (((nullable0 == null) == false)) { key = nullable0; } else { throw MsgPack.Serialization.SerializationExceptions.NewNullIsProhibited("MemberName"); } if ((key == "Value")) { MsgPack.Serialization.IFileSystemEntry nullable1 = default(MsgPack.Serialization.IFileSystemEntry); 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)) { result.Value = nullable1; } } else { unpacker.Skip(); } } } return(result); }
private void SetUnpackedValueOfValue(MsgPack.Serialization.InterfaceMemberRuntimeType unpackingContext, MsgPack.Serialization.IFileSystemEntry unpackedValue) { unpackingContext.Value = unpackedValue; }