From ec2659e3add6a844459d8e21f630c8e9c6232fd0 Mon Sep 17 00:00:00 2001 From: Jon Hanna Date: Mon, 9 Jan 2017 01:01:18 +0000 Subject: [PATCH] Merge ifs into following switch on same expression in ReadAsBytes (#1147) --- Src/Newtonsoft.Json/JsonReader.cs | 37 +++++++++++++------------------ 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/Src/Newtonsoft.Json/JsonReader.cs b/Src/Newtonsoft.Json/JsonReader.cs index f1a7c1f5..b9b645be 100644 --- a/Src/Newtonsoft.Json/JsonReader.cs +++ b/Src/Newtonsoft.Json/JsonReader.cs @@ -510,29 +510,23 @@ namespace Newtonsoft.Json { JsonToken t = GetContentToken(); - if (t == JsonToken.None) - { - return null; - } - - if (TokenType == JsonToken.StartObject) - { - ReadIntoWrappedTypeObject(); - - byte[] data = ReadAsBytes(); - ReaderReadAndAssert(); - - if (TokenType != JsonToken.EndObject) - { - throw JsonReaderException.Create(this, "Error reading bytes. Unexpected token: {0}.".FormatWith(CultureInfo.InvariantCulture, TokenType)); - } - - SetToken(JsonToken.Bytes, data, false); - return data; - } - switch (t) { + case JsonToken.StartObject: + { + ReadIntoWrappedTypeObject(); + + byte[] data = ReadAsBytes(); + ReaderReadAndAssert(); + + if (TokenType != JsonToken.EndObject) + { + throw JsonReaderException.Create(this, "Error reading bytes. Unexpected token: {0}.".FormatWith(CultureInfo.InvariantCulture, TokenType)); + } + + SetToken(JsonToken.Bytes, data, false); + return data; + } case JsonToken.String: { // attempt to convert possible base 64 or GUID string to bytes @@ -558,6 +552,7 @@ namespace Newtonsoft.Json SetToken(JsonToken.Bytes, data, false); return data; } + case JsonToken.None: case JsonToken.Null: case JsonToken.EndArray: return null;