From bbccd2b69988e9b0d06fbfe0bd88d0c50e90c323 Mon Sep 17 00:00:00 2001 From: Steve Harter Date: Mon, 15 Apr 2019 14:44:04 -0700 Subject: [PATCH] Remove null coalescing assignment operator to avoid build-from-source compile issues (dotnet/corefx#36890) Commit migrated from https://github.com/dotnet/corefx/commit/f78e9881bd8ef1def0227569d822693b944378a7 --- .../Text/Json/Serialization/JsonSerializer.Read.Helpers.cs | 5 ++++- .../Text/Json/Serialization/JsonSerializer.Read.Span.cs | 5 ++++- .../Text/Json/Serialization/JsonSerializer.Read.Stream.cs | 5 ++++- .../Text/Json/Serialization/JsonSerializer.Read.String.cs | 5 ++++- .../Text/Json/Serialization/JsonSerializer.Write.Helpers.cs | 11 +++++++++-- .../Text/Json/Serialization/JsonSerializer.Write.Stream.cs | 5 ++++- 6 files changed, 29 insertions(+), 7 deletions(-) diff --git a/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.Helpers.cs b/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.Helpers.cs index 7250c80..767d58e 100644 --- a/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.Helpers.cs +++ b/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.Helpers.cs @@ -11,7 +11,10 @@ namespace System.Text.Json.Serialization JsonSerializerOptions options, ref Utf8JsonReader reader) { - options ??= JsonSerializerOptions.s_defaultOptions; + if (options == null) + { + options = JsonSerializerOptions.s_defaultOptions; + } ReadStack state = default; state.Current.Initialize(returnType, options); diff --git a/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.Span.cs b/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.Span.cs index e6ffb2c..d39c8b4 100644 --- a/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.Span.cs +++ b/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.Span.cs @@ -48,7 +48,10 @@ namespace System.Text.Json.Serialization private static object ParseCore(ReadOnlySpan utf8Json, Type returnType, JsonSerializerOptions options) { - options ??= JsonSerializerOptions.s_defaultOptions; + if (options == null) + { + options = JsonSerializerOptions.s_defaultOptions; + } var readerState = new JsonReaderState(options.GetReaderOptions()); var reader = new Utf8JsonReader(utf8Json, isFinalBlock: true, readerState); diff --git a/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.Stream.cs b/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.Stream.cs index 402bfd1..b067059 100644 --- a/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.Stream.cs +++ b/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.Stream.cs @@ -78,7 +78,10 @@ namespace System.Text.Json.Serialization JsonSerializerOptions options = null, CancellationToken cancellationToken = default) { - options ??= JsonSerializerOptions.s_defaultOptions; + if (options == null) + { + options = JsonSerializerOptions.s_defaultOptions; + } ReadStack state = default; state.Current.Initialize(returnType, options); diff --git a/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.String.cs b/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.String.cs index ef4d869..1e58137 100644 --- a/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.String.cs +++ b/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.String.cs @@ -62,7 +62,10 @@ namespace System.Text.Json.Serialization private static object ParseCore(string json, Type returnType, JsonSerializerOptions options = null) { - options ??= JsonSerializerOptions.s_defaultOptions; + if (options == null) + { + options = JsonSerializerOptions.s_defaultOptions; + } // todo: use an array pool here for smaller requests to avoid the alloc? byte[] jsonBytes = JsonReaderHelper.s_utf8Encoding.GetBytes(json); diff --git a/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Write.Helpers.cs b/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Write.Helpers.cs index f0b62d7..66d45d4 100644 --- a/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Write.Helpers.cs +++ b/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Write.Helpers.cs @@ -66,7 +66,10 @@ namespace System.Text.Json.Serialization private static byte[] WriteCoreBytes(object value, Type type, JsonSerializerOptions options) { - options ??= JsonSerializerOptions.s_defaultOptions; + if (options == null) + { + options = JsonSerializerOptions.s_defaultOptions; + } byte[] result; @@ -81,7 +84,11 @@ namespace System.Text.Json.Serialization private static string WriteCoreString(object value, Type type, JsonSerializerOptions options) { - options ??= JsonSerializerOptions.s_defaultOptions; + if (options == null) + { + options = JsonSerializerOptions.s_defaultOptions; + } + string result; using (var output = new ArrayBufferWriter(options.DefaultBufferSize)) diff --git a/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Write.Stream.cs b/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Write.Stream.cs index 2889d3f..6987a7c 100644 --- a/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Write.Stream.cs +++ b/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Write.Stream.cs @@ -45,7 +45,10 @@ namespace System.Text.Json.Serialization private static async Task WriteAsyncCore(object value, Type type, Stream utf8Json, JsonSerializerOptions options, CancellationToken cancellationToken) { - options ??= JsonSerializerOptions.s_defaultOptions; + if (options == null) + { + options = JsonSerializerOptions.s_defaultOptions; + } var writerState = new JsonWriterState(options.GetWriterOptions()); -- 2.7.4