Debreef captured source handover Local unreleased preview. Editorial source reading. No model response or executed trace. Display line endings are normalized to LF. Exact captured excerpt bytes are in sample.json. What changed in JsonParser.parseReader(JsonReader) between the supplied base and head revisions, including its temporary parsing mode and restoration of the caller's setting on return or throw? Cite exact base and head source spans and distinguish declared from executed behavior. Repository: https://github.com/google/gson.git Base: 3d241ca0a6435cbf1fa1cdaed2af8480b99fecde Head: b3dce2dc17086c72bd1f8ccf508874849f9631bb Path: gson/src/main/java/com/google/gson/JsonParser.java Source observation: the saved Boolean lenient and setLenient calls are replaced by a saved Strictness value and setStrictness calls. Both versions call Streams.parse(reader) and restore the saved setting in finally. Called-method behavior and actual test coverage are not established here. Recorded rationale: no recorded-source evidence included. Human decision: none recorded. Not determined: runtime outcomes, full mode coverage and downstream compatibility. Exact source: BASE lines 98-111 File SHA-256: 11887663429a4c80df2f2b53a742c4068f924adeed83b19cc7a2cad0870f102f Excerpt SHA-256: fc8a9a9fb52598a9ef668f6c1ccc5aaaaebb76abbf8b1f43a80d6b001ac3bb2d public static JsonElement parseReader(JsonReader reader) throws JsonIOException, JsonSyntaxException { boolean lenient = reader.isLenient(); reader.setLenient(true); try { return Streams.parse(reader); } catch (StackOverflowError e) { throw new JsonParseException("Failed parsing JSON source: " + reader + " to Json", e); } catch (OutOfMemoryError e) { throw new JsonParseException("Failed parsing JSON source: " + reader + " to Json", e); } finally { reader.setLenient(lenient); } } HEAD lines 98-111 File SHA-256: 93c66d1d9a23bb5e0220a3d1dc1e656a03efd7bc0e01f52106b231204a286764 Excerpt SHA-256: 4e52e50aaefccb9079e6c67a83593f6e36e5a8431fde48162b6fd51843f3e4b8 public static JsonElement parseReader(JsonReader reader) throws JsonIOException, JsonSyntaxException { Strictness strictness = reader.getStrictness(); reader.setStrictness(Strictness.LENIENT); try { return Streams.parse(reader); } catch (StackOverflowError e) { throw new JsonParseException("Failed parsing JSON source: " + reader + " to Json", e); } catch (OutOfMemoryError e) { throw new JsonParseException("Failed parsing JSON source: " + reader + " to Json", e); } finally { reader.setStrictness(strictness); } } Copyright (C) 2009 Google Inc. Copyright 2008-2011 Google Inc. Apache License 2.0. See LICENSE-GSON.txt and THIRD-PARTY-NOTICES.txt.