From 354249822a4a56e3b26b00b02a2ba3b311acb799 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Sun, 19 Feb 2017 20:39:23 +1300 Subject: [PATCH] -Marked BSON classes as obsolete --- .../Bson/BsonReaderAsyncTests.cs | 7 ++--- .../Bson/BsonReaderTests.cs | 16 ++--------- .../Bson/BsonWriterAsyncTests.cs | 5 ++-- .../Bson/BsonWriterTests.cs | 4 ++- .../Converters/DataTableConverterTests.cs | 2 ++ .../Converters/ObjectIdConverterTests.cs | 4 ++- .../Converters/RegexConverterTests.cs | 28 ++++++++++--------- .../Samples/Bson/DeserializeFromBson.cs | 2 ++ .../Bson/DeserializeFromBsonCollection.cs | 2 ++ .../Samples/Bson/SerializeToBson.cs | 2 ++ .../Samples/Linq/ReadJTokenFromBson.cs | 2 ++ .../Samples/Linq/WriteJTokenToBson.cs | 2 ++ Src/Newtonsoft.Json.Tests/PerformanceTests.cs | 6 ++++ .../Serialization/JsonSerializerTest.cs | 2 ++ Src/Newtonsoft.Json/Bson/BsonObjectId.cs | 1 + Src/Newtonsoft.Json/Bson/BsonReader.cs | 1 + Src/Newtonsoft.Json/Bson/BsonWriter.cs | 1 + .../Converters/BsonObjectIdConverter.cs | 1 + .../Converters/RegexConverter.cs | 4 +++ .../Serialization/DefaultContractResolver.cs | 2 ++ 20 files changed, 59 insertions(+), 35 deletions(-) diff --git a/Src/Newtonsoft.Json.Tests/Bson/BsonReaderAsyncTests.cs b/Src/Newtonsoft.Json.Tests/Bson/BsonReaderAsyncTests.cs index ba276c53..289e91fa 100644 --- a/Src/Newtonsoft.Json.Tests/Bson/BsonReaderAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/Bson/BsonReaderAsyncTests.cs @@ -23,8 +23,8 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion +#pragma warning disable 618 #if !(NET20 || NET35 || NET40 || PORTABLE40) - using System; using System.Collections.Generic; using System.Globalization; @@ -200,9 +200,7 @@ namespace Newtonsoft.Json.Tests.Bson byte[] data = HexToBytes("8C-00-00-00-12-30-00-FF-FF-FF-FF-FF-FF-FF-7F-12-31-00-FF-FF-FF-FF-FF-FF-FF-7F-10-32-00-FF-FF-FF-7F-10-33-00-FF-FF-FF-7F-10-34-00-FF-00-00-00-10-35-00-7F-00-00-00-02-36-00-02-00-00-00-61-00-01-37-00-00-00-00-00-00-00-F0-45-01-38-00-FF-FF-FF-FF-FF-FF-EF-7F-01-39-00-00-00-00-E0-FF-FF-EF-47-08-31-30-00-01-05-31-31-00-05-00-00-00-02-00-01-02-03-04-09-31-32-00-40-C5-E2-BA-E3-00-00-00-09-31-33-00-40-C5-E2-BA-E3-00-00-00-00"); MemoryStream ms = new MemoryStream(data); BsonReader reader = new BsonReader(ms); -#pragma warning disable 612,618 reader.JsonNet35BinaryCompatibility = true; -#pragma warning restore 612,618 reader.ReadRootValueAsArray = true; reader.DateTimeKindHandling = DateTimeKind.Utc; @@ -409,9 +407,7 @@ namespace Newtonsoft.Json.Tests.Bson MemoryStream ms = new MemoryStream(data); BsonReader reader = new BsonReader(ms, true, DateTimeKind.Utc); -#pragma warning disable 612,618 reader.JsonNet35BinaryCompatibility = true; -#pragma warning restore 612,618 Assert.AreEqual(true, reader.ReadRootValueAsArray); Assert.AreEqual(DateTimeKind.Utc, reader.DateTimeKindHandling); @@ -1344,3 +1340,4 @@ namespace Newtonsoft.Json.Tests.Bson } #endif +#pragma warning restore 618 \ No newline at end of file diff --git a/Src/Newtonsoft.Json.Tests/Bson/BsonReaderTests.cs b/Src/Newtonsoft.Json.Tests/Bson/BsonReaderTests.cs index 882fb03b..f9954f17 100644 --- a/Src/Newtonsoft.Json.Tests/Bson/BsonReaderTests.cs +++ b/Src/Newtonsoft.Json.Tests/Bson/BsonReaderTests.cs @@ -23,6 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion +#pragma warning disable 618 using System; using System.Collections.Generic; using System.Globalization; @@ -284,9 +285,7 @@ namespace Newtonsoft.Json.Tests.Bson byte[] data = HexToBytes("8C-00-00-00-12-30-00-FF-FF-FF-FF-FF-FF-FF-7F-12-31-00-FF-FF-FF-FF-FF-FF-FF-7F-10-32-00-FF-FF-FF-7F-10-33-00-FF-FF-FF-7F-10-34-00-FF-00-00-00-10-35-00-7F-00-00-00-02-36-00-02-00-00-00-61-00-01-37-00-00-00-00-00-00-00-F0-45-01-38-00-FF-FF-FF-FF-FF-FF-EF-7F-01-39-00-00-00-00-E0-FF-FF-EF-47-08-31-30-00-01-05-31-31-00-05-00-00-00-02-00-01-02-03-04-09-31-32-00-40-C5-E2-BA-E3-00-00-00-09-31-33-00-40-C5-E2-BA-E3-00-00-00-00"); MemoryStream ms = new MemoryStream(data); BsonReader reader = new BsonReader(ms); -#pragma warning disable 612,618 reader.JsonNet35BinaryCompatibility = true; -#pragma warning restore 612,618 reader.ReadRootValueAsArray = true; reader.DateTimeKindHandling = DateTimeKind.Utc; @@ -493,9 +492,7 @@ namespace Newtonsoft.Json.Tests.Bson MemoryStream ms = new MemoryStream(data); BsonReader reader = new BsonReader(ms, true, DateTimeKind.Utc); -#pragma warning disable 612,618 reader.JsonNet35BinaryCompatibility = true; -#pragma warning restore 612,618 Assert.AreEqual(true, reader.ReadRootValueAsArray); Assert.AreEqual(DateTimeKind.Utc, reader.DateTimeKindHandling); @@ -632,9 +629,7 @@ namespace Newtonsoft.Json.Tests.Bson byte[] data = HexToBytes(hexdoc); BsonReader reader = new BsonReader(new MemoryStream(data)); -#pragma warning disable 612,618 reader.JsonNet35BinaryCompatibility = true; -#pragma warning restore 612,618 JObject o = (JObject)JToken.ReadFrom(reader); Assert.AreEqual(3, o.Count); @@ -655,9 +650,7 @@ namespace Newtonsoft.Json.Tests.Bson "82-00-00-00-07-5F-69-64-00-4A-78-93-79-17-22-00-00-00-00-61-CF-04-61-00-5D-00-00-00-01-30-00-00-00-00-00-00-00-F0-3F-01-31-00-00-00-00-00-00-00-00-40-01-32-00-00-00-00-00-00-00-08-40-01-33-00-00-00-00-00-00-00-10-40-01-34-00-00-00-00-00-00-00-14-50-01-35-00-00-00-00-00-00-00-18-40-01-36-00-00-00-00-00-00-00-1C-40-01-37-00-00-00-00-00-00-00-20-40-00-02-62-00-05-00-00-00-74-65-73-74-00-00"); BsonReader reader1 = new BsonReader(new MemoryStream(data1)); -#pragma warning disable 612,618 reader1.JsonNet35BinaryCompatibility = true; -#pragma warning restore 612,618 // oid JObject o1 = (JObject)JToken.ReadFrom(reader1); @@ -666,9 +659,7 @@ namespace Newtonsoft.Json.Tests.Bson "87-00-00-00-05-5F-69-64-00-0C-00-00-00-02-4A-78-93-79-17-22-00-00-00-00-61-CF-04-61-00-5D-00-00-00-01-30-00-00-00-00-00-00-00-F0-3F-01-31-00-00-00-00-00-00-00-00-40-01-32-00-00-00-00-00-00-00-08-40-01-33-00-00-00-00-00-00-00-10-40-01-34-00-00-00-00-00-00-00-14-50-01-35-00-00-00-00-00-00-00-18-40-01-36-00-00-00-00-00-00-00-1C-40-01-37-00-00-00-00-00-00-00-20-40-00-02-62-00-05-00-00-00-74-65-73-74-00-00"); BsonReader reader2 = new BsonReader(new MemoryStream(data2)); -#pragma warning disable 612,618 reader2.JsonNet35BinaryCompatibility = true; -#pragma warning restore 612,618 // bytes JObject o2 = (JObject)JToken.ReadFrom(reader2); @@ -1623,9 +1614,7 @@ namespace Newtonsoft.Json.Tests.Bson var settings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Auto, -#pragma warning disable CS0618 // Type or member is obsolete Binder = binder -#pragma warning restore CS0618 // Type or member is obsolete }; Zoo zoo = new Zoo @@ -1785,4 +1774,5 @@ namespace Newtonsoft.Json.Tests.Bson public object TheGuid { get; set; } } } -} \ No newline at end of file +} +#pragma warning restore 618 \ No newline at end of file diff --git a/Src/Newtonsoft.Json.Tests/Bson/BsonWriterAsyncTests.cs b/Src/Newtonsoft.Json.Tests/Bson/BsonWriterAsyncTests.cs index 53ca1743..f7046133 100644 --- a/Src/Newtonsoft.Json.Tests/Bson/BsonWriterAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/Bson/BsonWriterAsyncTests.cs @@ -23,8 +23,8 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion +#pragma warning disable 618 #if !(NET20 || NET35 || NET40 || PORTABLE40) - using System; #if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_1 using System.Numerics; @@ -538,4 +538,5 @@ namespace Newtonsoft.Json.Tests.Bson } } -#endif \ No newline at end of file +#endif +#pragma warning restore 618 \ No newline at end of file diff --git a/Src/Newtonsoft.Json.Tests/Bson/BsonWriterTests.cs b/Src/Newtonsoft.Json.Tests/Bson/BsonWriterTests.cs index 3c4b04e9..1f0e0a1f 100644 --- a/Src/Newtonsoft.Json.Tests/Bson/BsonWriterTests.cs +++ b/Src/Newtonsoft.Json.Tests/Bson/BsonWriterTests.cs @@ -23,6 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion +#pragma warning disable 618 using System; using System.Collections.Generic; #if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_1 @@ -941,4 +942,5 @@ namespace Newtonsoft.Json.Tests.Bson } #endif } -} \ No newline at end of file +} +#pragma warning restore 618 \ No newline at end of file diff --git a/Src/Newtonsoft.Json.Tests/Converters/DataTableConverterTests.cs b/Src/Newtonsoft.Json.Tests/Converters/DataTableConverterTests.cs index 4d81000d..1539564e 100644 --- a/Src/Newtonsoft.Json.Tests/Converters/DataTableConverterTests.cs +++ b/Src/Newtonsoft.Json.Tests/Converters/DataTableConverterTests.cs @@ -274,6 +274,7 @@ namespace Newtonsoft.Json.Tests.Converters Assert.AreEqual(t1.TableName, t2.TableName); } +#pragma warning disable 618 [Test] public void RoundtripBsonBytes() { @@ -314,6 +315,7 @@ namespace Newtonsoft.Json.Tests.Converters CollectionAssert.AreEquivalent(Encoding.UTF8.GetBytes("Hello world!"), (byte[])dr1["data"]); Assert.AreEqual(g, (Guid)dr1["id"]); } +#pragma warning restore 618 [Test] public void SerializeDataTableWithNull() diff --git a/Src/Newtonsoft.Json.Tests/Converters/ObjectIdConverterTests.cs b/Src/Newtonsoft.Json.Tests/Converters/ObjectIdConverterTests.cs index d5fc5a15..b9788f23 100644 --- a/Src/Newtonsoft.Json.Tests/Converters/ObjectIdConverterTests.cs +++ b/Src/Newtonsoft.Json.Tests/Converters/ObjectIdConverterTests.cs @@ -23,6 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion +#pragma warning disable 618 using System.IO; using Newtonsoft.Json.Bson; using Newtonsoft.Json.Utilities; @@ -84,4 +85,5 @@ namespace Newtonsoft.Json.Tests.Converters Assert.AreEqual(c.Test, "1234£56"); } } -} \ No newline at end of file +} +#pragma warning restore 618 \ No newline at end of file diff --git a/Src/Newtonsoft.Json.Tests/Converters/RegexConverterTests.cs b/Src/Newtonsoft.Json.Tests/Converters/RegexConverterTests.cs index 0c054262..fc5a6654 100644 --- a/Src/Newtonsoft.Json.Tests/Converters/RegexConverterTests.cs +++ b/Src/Newtonsoft.Json.Tests/Converters/RegexConverterTests.cs @@ -114,6 +114,7 @@ namespace Newtonsoft.Json.Tests.Converters Assert.AreEqual(RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, r.Regex.Options); } +#pragma warning disable 618 [Test] public void SerializeToBson() { @@ -132,19 +133,6 @@ namespace Newtonsoft.Json.Tests.Converters Assert.AreEqual(expected, bson); } - [Test] - public void DeserializeFromText() - { - string json = @"{ - ""Pattern"": ""abc"", - ""Options"": 513 -}"; - - Regex newRegex = JsonConvert.DeserializeObject(json, new RegexConverter()); - Assert.AreEqual("abc", newRegex.ToString()); - Assert.AreEqual(RegexOptions.IgnoreCase | RegexOptions.CultureInvariant, newRegex.Options); - } - [Test] public void DeserializeFromBson() { @@ -209,6 +197,20 @@ namespace Newtonsoft.Json.Tests.Converters Assert.AreEqual("/", c.Regex.ToString()); Assert.AreEqual(RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.Multiline | RegexOptions.ExplicitCapture, c.Regex.Options); } +#pragma warning restore 618 + + [Test] + public void DeserializeFromText() + { + string json = @"{ + ""Pattern"": ""abc"", + ""Options"": 513 +}"; + + Regex newRegex = JsonConvert.DeserializeObject(json, new RegexConverter()); + Assert.AreEqual("abc", newRegex.ToString()); + Assert.AreEqual(RegexOptions.IgnoreCase | RegexOptions.CultureInvariant, newRegex.Options); + } [Test] public void ConvertEmptyRegexJson() diff --git a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Bson/DeserializeFromBson.cs b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Bson/DeserializeFromBson.cs index 755c7e8a..6425882a 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Bson/DeserializeFromBson.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Bson/DeserializeFromBson.cs @@ -50,6 +50,7 @@ namespace Newtonsoft.Json.Tests.Documentation.Samples.Bson } #endregion +#pragma warning disable 618 [Test] public void Example() { @@ -67,6 +68,7 @@ namespace Newtonsoft.Json.Tests.Documentation.Samples.Bson // Movie Premiere } #endregion +#pragma warning restore 618 } } } \ No newline at end of file diff --git a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Bson/DeserializeFromBsonCollection.cs b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Bson/DeserializeFromBsonCollection.cs index 6c8d3eca..c9083096 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Bson/DeserializeFromBsonCollection.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Bson/DeserializeFromBsonCollection.cs @@ -50,6 +50,7 @@ namespace Newtonsoft.Json.Tests.Documentation.Samples.Bson } #endregion +#pragma warning disable 618 [Test] public void Example() { @@ -73,6 +74,7 @@ namespace Newtonsoft.Json.Tests.Documentation.Samples.Bson // Easter } #endregion +#pragma warning restore 618 } } } \ No newline at end of file diff --git a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Bson/SerializeToBson.cs b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Bson/SerializeToBson.cs index 6237e926..3232c032 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Bson/SerializeToBson.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Bson/SerializeToBson.cs @@ -51,6 +51,7 @@ namespace Newtonsoft.Json.Tests.Documentation.Samples.Bson } #endregion +#pragma warning disable 618 [Test] public void Example() { @@ -76,5 +77,6 @@ namespace Newtonsoft.Json.Tests.Documentation.Samples.Bson Assert.AreEqual("MQAAAAJOYW1lAA8AAABNb3ZpZSBQcmVtaWVyZQAJU3RhcnREYXRlAED982M8AQAAAA==", data); } +#pragma warning restore 618 } } \ No newline at end of file diff --git a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/ReadJTokenFromBson.cs b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/ReadJTokenFromBson.cs index 2dfb2395..fc1fce54 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/ReadJTokenFromBson.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/ReadJTokenFromBson.cs @@ -43,6 +43,7 @@ namespace Newtonsoft.Json.Tests.Documentation.Samples.Linq [TestFixture] public class ReadJTokenFromBson : TestFixtureBase { +#pragma warning disable 618 [Test] public void Example() { @@ -64,5 +65,6 @@ namespace Newtonsoft.Json.Tests.Documentation.Samples.Linq Assert.AreEqual("value1", value); } +#pragma warning restore 618 } } \ No newline at end of file diff --git a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/WriteJTokenToBson.cs b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/WriteJTokenToBson.cs index 98cb4b39..6cf95da3 100644 --- a/Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/WriteJTokenToBson.cs +++ b/Src/Newtonsoft.Json.Tests/Documentation/Samples/Linq/WriteJTokenToBson.cs @@ -43,6 +43,7 @@ namespace Newtonsoft.Json.Tests.Documentation.Samples.Linq [TestFixture] public class WriteJTokenToBson : TestFixtureBase { +#pragma warning disable 618 [Test] public void Example() { @@ -67,5 +68,6 @@ namespace Newtonsoft.Json.Tests.Documentation.Samples.Linq Assert.AreEqual("KQAAAAJuYW1lMQAHAAAAdmFsdWUxAAJuYW1lMgAHAAAAdmFsdWUyAAA=", data); } +#pragma warning restore 618 } } \ No newline at end of file diff --git a/Src/Newtonsoft.Json.Tests/PerformanceTests.cs b/Src/Newtonsoft.Json.Tests/PerformanceTests.cs index 9de410d4..ecabf680 100644 --- a/Src/Newtonsoft.Json.Tests/PerformanceTests.cs +++ b/Src/Newtonsoft.Json.Tests/PerformanceTests.cs @@ -684,6 +684,7 @@ If attributes are not mentioned, default values are used in each case. return Encoding.UTF8.GetBytes(json); }, "Json.NET"); +#pragma warning disable 618 byte[] bsonBytes = TimeOperation(() => { MemoryStream ms = null; @@ -699,6 +700,7 @@ If attributes are not mentioned, default values are used in each case. return ms.ToArray(); }, "Json.NET BSON"); +#pragma warning restore 618 byte[] xmlBytes = TimeOperation(() => { @@ -1051,6 +1053,7 @@ If attributes are not mentioned, default values are used in each case. } break; } +#pragma warning disable 618 case SerializeMethod.JsonNetBinary: { MemoryStream ms = new MemoryStream(Buffer); @@ -1062,6 +1065,7 @@ If attributes are not mentioned, default values are used in each case. json = "Bytes = " + ms.Position; break; } +#pragma warning restore 618 case SerializeMethod.JavaScriptSerializer: json = SerializeWebExtensions(value); break; @@ -1323,6 +1327,7 @@ If attributes are not mentioned, default values are used in each case. return a; } +#pragma warning disable 618 public T DeserializeJsonNetBinary(byte[] bson) { Type type = typeof(T); @@ -1334,6 +1339,7 @@ If attributes are not mentioned, default values are used in each case. return (T)serializer.Deserialize(new BsonReader(new MemoryStream(bson)), type); } +#pragma warning restore 618 public T DeserializeWebExtensions(string json) { diff --git a/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs b/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs index ffcbcd81..839d20c0 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs @@ -7771,6 +7771,7 @@ Path '', line 1, position 1."); public DateTimeOffset Foo { get; set; } } +#pragma warning disable 618 [Test] public void TokenFromBson() { @@ -7794,6 +7795,7 @@ Path '', line 1, position 1."); ""2000-01-02T03:04:05+06:00"" ]", a.ToString()); } +#pragma warning restore 618 [Test] public void ObjectRequiredDeserializeMissing() diff --git a/Src/Newtonsoft.Json/Bson/BsonObjectId.cs b/Src/Newtonsoft.Json/Bson/BsonObjectId.cs index 3ed885b1..4c57e7f9 100644 --- a/Src/Newtonsoft.Json/Bson/BsonObjectId.cs +++ b/Src/Newtonsoft.Json/Bson/BsonObjectId.cs @@ -31,6 +31,7 @@ namespace Newtonsoft.Json.Bson /// /// Represents a BSON Oid (object id). /// + [Obsolete("BSON reading and writing has been moved to its own package. See https://www.nuget.org/packages/Newtonsoft.Json.Bson for more details.")] public class BsonObjectId { /// diff --git a/Src/Newtonsoft.Json/Bson/BsonReader.cs b/Src/Newtonsoft.Json/Bson/BsonReader.cs index 69de6f61..96a57664 100644 --- a/Src/Newtonsoft.Json/Bson/BsonReader.cs +++ b/Src/Newtonsoft.Json/Bson/BsonReader.cs @@ -37,6 +37,7 @@ namespace Newtonsoft.Json.Bson /// /// Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. /// + [Obsolete("BSON reading and writing has been moved to its own package. See https://www.nuget.org/packages/Newtonsoft.Json.Bson for more details.")] public class BsonReader : JsonReader { private const int MaxCharBytesSize = 128; diff --git a/Src/Newtonsoft.Json/Bson/BsonWriter.cs b/Src/Newtonsoft.Json/Bson/BsonWriter.cs index 78e86010..1540d14a 100644 --- a/Src/Newtonsoft.Json/Bson/BsonWriter.cs +++ b/Src/Newtonsoft.Json/Bson/BsonWriter.cs @@ -40,6 +40,7 @@ namespace Newtonsoft.Json.Bson /// /// Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. /// + [Obsolete("BSON reading and writing has been moved to its own package. See https://www.nuget.org/packages/Newtonsoft.Json.Bson for more details.")] public class BsonWriter : JsonWriter { private readonly BsonBinaryWriter _writer; diff --git a/Src/Newtonsoft.Json/Converters/BsonObjectIdConverter.cs b/Src/Newtonsoft.Json/Converters/BsonObjectIdConverter.cs index c0a30ba3..533e113d 100644 --- a/Src/Newtonsoft.Json/Converters/BsonObjectIdConverter.cs +++ b/Src/Newtonsoft.Json/Converters/BsonObjectIdConverter.cs @@ -33,6 +33,7 @@ namespace Newtonsoft.Json.Converters /// /// Converts a to and from JSON and BSON. /// + [Obsolete("BSON reading and writing has been moved to its own package. See https://www.nuget.org/packages/Newtonsoft.Json.Bson for more details.")] public class BsonObjectIdConverter : JsonConverter { /// diff --git a/Src/Newtonsoft.Json/Converters/RegexConverter.cs b/Src/Newtonsoft.Json/Converters/RegexConverter.cs index bfbea4c2..c744948b 100644 --- a/Src/Newtonsoft.Json/Converters/RegexConverter.cs +++ b/Src/Newtonsoft.Json/Converters/RegexConverter.cs @@ -49,11 +49,13 @@ namespace Newtonsoft.Json.Converters { Regex regex = (Regex)value; +#pragma warning disable 618 BsonWriter bsonWriter = writer as BsonWriter; if (bsonWriter != null) { WriteBson(bsonWriter, regex); } +#pragma warning restore 618 else { WriteJson(writer, regex, serializer); @@ -65,6 +67,7 @@ namespace Newtonsoft.Json.Converters return ((options & flag) == flag); } +#pragma warning disable 618 private void WriteBson(BsonWriter writer, Regex regex) { // Regular expression - The first cstring is the regex pattern, the second @@ -100,6 +103,7 @@ namespace Newtonsoft.Json.Converters writer.WriteRegex(regex.ToString(), options); } +#pragma warning restore 618 private void WriteJson(JsonWriter writer, Regex regex, JsonSerializer serializer) { diff --git a/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs b/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs index 6d33d155..58a7ed3a 100644 --- a/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs +++ b/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs @@ -80,7 +80,9 @@ namespace Newtonsoft.Json.Serialization new DiscriminatedUnionConverter(), #endif new KeyValuePairConverter(), +#pragma warning disable 618 new BsonObjectIdConverter(), +#pragma warning restore 618 new RegexConverter() };