Don't copy state unnecessarily (dotnet/corefx#37206)
authorBrennanConroy <brecon@microsoft.com>
Fri, 26 Apr 2019 23:24:42 +0000 (16:24 -0700)
committerAhson Khan <ahkha@microsoft.com>
Fri, 26 Apr 2019 23:24:42 +0000 (16:24 -0700)
Commit migrated from https://github.com/dotnet/corefx/commit/e6a090157875122b0aeacd1e05741fdc3c143bf0

src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.Span.cs
src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.String.cs

index d39c8b4d7e186eb2d441ac6cab6b29cbdb6f2cf9..8dd266a9fc4837e41bc2babaab2f7a24f735aee2 100644 (file)
@@ -57,9 +57,9 @@ namespace System.Text.Json.Serialization
             var reader = new Utf8JsonReader(utf8Json, isFinalBlock: true, readerState);
             object result = ReadCore(returnType, options, ref reader);
 
-            readerState = reader.CurrentState;
-            if (readerState.BytesConsumed != utf8Json.Length)
+            if (reader.BytesConsumed != utf8Json.Length)
             {
+                readerState = reader.CurrentState;
                 throw new JsonReaderException(SR.Format(SR.DeserializeDataRemaining,
                     utf8Json.Length, utf8Json.Length - readerState.BytesConsumed), readerState);
             }
index 1e58137bd4d89ce8a72678f16b00c3073f05b2e1..37aa8edf3b92d33d1997fbc1befb5831a9ce8f51 100644 (file)
@@ -73,9 +73,9 @@ namespace System.Text.Json.Serialization
             var reader = new Utf8JsonReader(jsonBytes, isFinalBlock: true, readerState);
             object result = ReadCore(returnType, options, ref reader);
 
-            readerState = reader.CurrentState;
-            if (readerState.BytesConsumed != jsonBytes.Length)
+            if (reader.BytesConsumed != jsonBytes.Length)
             {
+                readerState = reader.CurrentState;
                 throw new JsonReaderException(SR.Format(SR.DeserializeDataRemaining,
                     jsonBytes.Length, jsonBytes.Length - readerState.BytesConsumed), readerState);
             }