From 46855316375f47e255f4d5c35f64a6e0e794a1b8 Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Sun, 11 Dec 2022 17:24:46 +0100 Subject: [PATCH 01/22] Simplify `if` condition in JsonReader.peekNumber() --- gson/src/main/java/com/google/gson/stream/JsonReader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gson/src/main/java/com/google/gson/stream/JsonReader.java b/gson/src/main/java/com/google/gson/stream/JsonReader.java index ed6bab977a..68b99b88eb 100644 --- a/gson/src/main/java/com/google/gson/stream/JsonReader.java +++ b/gson/src/main/java/com/google/gson/stream/JsonReader.java @@ -737,7 +737,7 @@ private int peekNumber() throws IOException { } // We've read a complete number. Decide if it's a PEEKED_LONG or a PEEKED_NUMBER. - if (last == NUMBER_CHAR_DIGIT && fitsInLong && (value != Long.MIN_VALUE || negative) && (value!=0 || false==negative)) { + if (last == NUMBER_CHAR_DIGIT && fitsInLong && (value != Long.MIN_VALUE || negative) && (value!=0 || !negative)) { peekedLong = negative ? value : -value; pos += i; return peeked = PEEKED_LONG; From 63aefb541799a8bb84e1abba0133e9f9b7563878 Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Sun, 11 Dec 2022 17:27:36 +0100 Subject: [PATCH 02/22] Remove `if` to simplify a `return` in Excluder.excludeClassChecks() --- gson/src/main/java/com/google/gson/internal/Excluder.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gson/src/main/java/com/google/gson/internal/Excluder.java b/gson/src/main/java/com/google/gson/internal/Excluder.java index 03bd45cb7c..d4b8d1b201 100644 --- a/gson/src/main/java/com/google/gson/internal/Excluder.java +++ b/gson/src/main/java/com/google/gson/internal/Excluder.java @@ -198,11 +198,7 @@ private boolean excludeClassChecks(Class clazz) { return true; } - if (isAnonymousOrNonStaticLocal(clazz)) { - return true; - } - - return false; + return isAnonymousOrNonStaticLocal(clazz); } public boolean excludeClass(Class clazz, boolean serialize) { From 97ceee949cf6380fcbfe7b22b9bbc997b49877fc Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Sun, 11 Dec 2022 17:28:44 +0100 Subject: [PATCH 03/22] Remove redundant variable in Gson.fromJson() --- gson/src/main/java/com/google/gson/Gson.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gson/src/main/java/com/google/gson/Gson.java b/gson/src/main/java/com/google/gson/Gson.java index 8a26760fdc..6988b028ce 100644 --- a/gson/src/main/java/com/google/gson/Gson.java +++ b/gson/src/main/java/com/google/gson/Gson.java @@ -1228,8 +1228,7 @@ public T fromJson(JsonReader reader, TypeToken typeOfT) throws JsonIOExce reader.peek(); isEmpty = false; TypeAdapter typeAdapter = getAdapter(typeOfT); - T object = typeAdapter.read(reader); - return object; + return typeAdapter.read(reader); } catch (EOFException e) { /* * For compatibility with JSON 1.5 and earlier, we return null for empty From 0a792e902d5f9fb3a9b1d0b72975fa0a0f1e4dee Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Sun, 11 Dec 2022 17:31:58 +0100 Subject: [PATCH 04/22] equal condition replace by `Objects.equals()` in $Gson$Types.equal() --- .../main/java/com/google/gson/internal/$Gson$Types.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/gson/src/main/java/com/google/gson/internal/$Gson$Types.java b/gson/src/main/java/com/google/gson/internal/$Gson$Types.java index 965e010f77..b5be2f0dcf 100644 --- a/gson/src/main/java/com/google/gson/internal/$Gson$Types.java +++ b/gson/src/main/java/com/google/gson/internal/$Gson$Types.java @@ -28,12 +28,7 @@ import java.lang.reflect.Type; import java.lang.reflect.TypeVariable; import java.lang.reflect.WildcardType; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.NoSuchElementException; -import java.util.Properties; +import java.util.*; /** * Static methods for working with types. @@ -167,7 +162,7 @@ public static Class getRawType(Type type) { } private static boolean equal(Object a, Object b) { - return a == b || (a != null && a.equals(b)); + return Objects.equals(a, b); } /** From 1c3427b2c1b2d003668ed36831372ec8df4be02f Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Sun, 11 Dec 2022 17:32:41 +0100 Subject: [PATCH 05/22] equal condition replace by `Objects.equals()` in LinkedTreeMap.equal() --- .../java/com/google/gson/internal/LinkedTreeMap.java | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/gson/src/main/java/com/google/gson/internal/LinkedTreeMap.java b/gson/src/main/java/com/google/gson/internal/LinkedTreeMap.java index e47e165dc8..83158fe8b2 100644 --- a/gson/src/main/java/com/google/gson/internal/LinkedTreeMap.java +++ b/gson/src/main/java/com/google/gson/internal/LinkedTreeMap.java @@ -22,14 +22,7 @@ import java.io.ObjectInputStream; import java.io.ObjectStreamException; import java.io.Serializable; -import java.util.AbstractMap; -import java.util.AbstractSet; -import java.util.Comparator; -import java.util.ConcurrentModificationException; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.NoSuchElementException; -import java.util.Set; +import java.util.*; /** * A map of comparable keys to values. Unlike {@code TreeMap}, this class uses @@ -227,7 +220,7 @@ Node findByEntry(Entry entry) { } private boolean equal(Object a, Object b) { - return a == b || (a != null && a.equals(b)); + return Objects.equals(a, b); } /** From 99e8327b4cba4a06d34b2d7bc972809d37299b6f Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Sun, 11 Dec 2022 17:41:55 +0100 Subject: [PATCH 06/22] Replace `switch` with `if` in UtcDateTypeAdapter.read() --- .../gson/typeadapters/UtcDateTypeAdapter.java | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/extras/src/main/java/com/google/gson/typeadapters/UtcDateTypeAdapter.java b/extras/src/main/java/com/google/gson/typeadapters/UtcDateTypeAdapter.java index 1e889d3737..28a03d0985 100644 --- a/extras/src/main/java/com/google/gson/typeadapters/UtcDateTypeAdapter.java +++ b/extras/src/main/java/com/google/gson/typeadapters/UtcDateTypeAdapter.java @@ -19,15 +19,12 @@ import java.io.IOException; import java.text.ParseException; import java.text.ParsePosition; -import java.util.Calendar; -import java.util.Date; -import java.util.GregorianCalendar; -import java.util.Locale; -import java.util.TimeZone; +import java.util.*; import com.google.gson.JsonParseException; import com.google.gson.TypeAdapter; import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonToken; import com.google.gson.stream.JsonWriter; public final class UtcDateTypeAdapter extends TypeAdapter { @@ -46,16 +43,14 @@ public void write(JsonWriter out, Date date) throws IOException { @Override public Date read(JsonReader in) throws IOException { try { - switch (in.peek()) { - case NULL: - in.nextNull(); - return null; - default: + if (Objects.requireNonNull(in.peek()) == JsonToken.NULL) { + in.nextNull(); + return null; + } String date = in.nextString(); // Instead of using iso8601Format.parse(value), we use Jackson's date parsing // This is because Android doesn't support XXX because it is JDK 1.6 return parse(date, new ParsePosition(0)); - } } catch (ParseException e) { throw new JsonParseException(e); } From a5f20c0fe036ffcd0f7da2c57abda6d62bf0954b Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Sun, 11 Dec 2022 17:47:50 +0100 Subject: [PATCH 07/22] Remove redundant `throws` clause in GraphAdapterBuilder.read() --- .../main/java/com/google/gson/graph/GraphAdapterBuilder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extras/src/main/java/com/google/gson/graph/GraphAdapterBuilder.java b/extras/src/main/java/com/google/gson/graph/GraphAdapterBuilder.java index c48c3cd90b..b226b220f0 100644 --- a/extras/src/main/java/com/google/gson/graph/GraphAdapterBuilder.java +++ b/extras/src/main/java/com/google/gson/graph/GraphAdapterBuilder.java @@ -298,7 +298,7 @@ void write(JsonWriter out) throws IOException { } @SuppressWarnings("unchecked") - void read(Graph graph) throws IOException { + void read(Graph graph) { if (graph.nextCreate != null) { throw new IllegalStateException("Unexpected recursive call to read() for " + id); } From aaad72fe510870ad86f6b789ca392eecccb2adf7 Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Sun, 11 Dec 2022 17:50:11 +0100 Subject: [PATCH 08/22] Remove redundant `throws` clause in JsonTreeReader.UNREADABLE_READER --- .../java/com/google/gson/internal/bind/JsonTreeReader.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gson/src/main/java/com/google/gson/internal/bind/JsonTreeReader.java b/gson/src/main/java/com/google/gson/internal/bind/JsonTreeReader.java index 47e70e685f..085090f2aa 100644 --- a/gson/src/main/java/com/google/gson/internal/bind/JsonTreeReader.java +++ b/gson/src/main/java/com/google/gson/internal/bind/JsonTreeReader.java @@ -38,10 +38,10 @@ */ public final class JsonTreeReader extends JsonReader { private static final Reader UNREADABLE_READER = new Reader() { - @Override public int read(char[] buffer, int offset, int count) throws IOException { + @Override public int read(char[] buffer, int offset, int count) { throw new AssertionError(); } - @Override public void close() throws IOException { + @Override public void close() { throw new AssertionError(); } }; From a9b4e9534c742ac0fb4e87371258768c07f6b492 Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Sun, 11 Dec 2022 17:51:10 +0100 Subject: [PATCH 09/22] Remove redundant `throws` clause in JsonTreeWriter.UNREADABLE_READER --- .../java/com/google/gson/internal/bind/JsonTreeWriter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gson/src/main/java/com/google/gson/internal/bind/JsonTreeWriter.java b/gson/src/main/java/com/google/gson/internal/bind/JsonTreeWriter.java index 6ff1aa46c0..a87896da3e 100644 --- a/gson/src/main/java/com/google/gson/internal/bind/JsonTreeWriter.java +++ b/gson/src/main/java/com/google/gson/internal/bind/JsonTreeWriter.java @@ -36,10 +36,10 @@ public final class JsonTreeWriter extends JsonWriter { @Override public void write(char[] buffer, int offset, int counter) { throw new AssertionError(); } - @Override public void flush() throws IOException { + @Override public void flush() { throw new AssertionError(); } - @Override public void close() throws IOException { + @Override public void close() { throw new AssertionError(); } }; From b998890f054d20451e6cadac0332e3ac8e48d289 Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Sun, 11 Dec 2022 18:00:13 +0100 Subject: [PATCH 10/22] Remove unnecessary `.initCause()` call --- gson/src/main/java/com/google/gson/Gson.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/gson/src/main/java/com/google/gson/Gson.java b/gson/src/main/java/com/google/gson/Gson.java index 6988b028ce..dfa8e54357 100644 --- a/gson/src/main/java/com/google/gson/Gson.java +++ b/gson/src/main/java/com/google/gson/Gson.java @@ -843,9 +843,7 @@ public void toJson(Object src, Type typeOfSrc, JsonWriter writer) throws JsonIOE } catch (IOException e) { throw new JsonIOException(e); } catch (AssertionError e) { - AssertionError error = new AssertionError("AssertionError (GSON " + GsonBuildConfig.VERSION + "): " + e.getMessage()); - error.initCause(e); - throw error; + throw new AssertionError("AssertionError (GSON " + GsonBuildConfig.VERSION + "): " + e.getMessage(), e); } finally { writer.setLenient(oldLenient); writer.setHtmlSafe(oldHtmlSafe); @@ -948,9 +946,7 @@ public void toJson(JsonElement jsonElement, JsonWriter writer) throws JsonIOExce } catch (IOException e) { throw new JsonIOException(e); } catch (AssertionError e) { - AssertionError error = new AssertionError("AssertionError (GSON " + GsonBuildConfig.VERSION + "): " + e.getMessage()); - error.initCause(e); - throw error; + throw new AssertionError("AssertionError (GSON " + GsonBuildConfig.VERSION + "): " + e.getMessage(), e); } finally { writer.setLenient(oldLenient); writer.setHtmlSafe(oldHtmlSafe); @@ -1244,9 +1240,7 @@ public T fromJson(JsonReader reader, TypeToken typeOfT) throws JsonIOExce // TODO(inder): Figure out whether it is indeed right to rethrow this as JsonSyntaxException throw new JsonSyntaxException(e); } catch (AssertionError e) { - AssertionError error = new AssertionError("AssertionError (GSON " + GsonBuildConfig.VERSION + "): " + e.getMessage()); - error.initCause(e); - throw error; + throw new AssertionError("AssertionError (GSON " + GsonBuildConfig.VERSION + "): " + e.getMessage(), e); } finally { reader.setLenient(oldLenient); } From 3d577f356965746fb8d7f8fc872181ae9c7874ff Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Sun, 11 Dec 2022 18:06:24 +0100 Subject: [PATCH 11/22] Remove redundant cast in TreeTypeAdapter.GsonContextImpl.deserialize --- .../java/com/google/gson/internal/bind/TreeTypeAdapter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gson/src/main/java/com/google/gson/internal/bind/TreeTypeAdapter.java b/gson/src/main/java/com/google/gson/internal/bind/TreeTypeAdapter.java index 560234c07c..2efd6c6bc1 100644 --- a/gson/src/main/java/com/google/gson/internal/bind/TreeTypeAdapter.java +++ b/gson/src/main/java/com/google/gson/internal/bind/TreeTypeAdapter.java @@ -176,7 +176,7 @@ private final class GsonContextImpl implements JsonSerializationContext, JsonDes } @SuppressWarnings("unchecked") @Override public R deserialize(JsonElement json, Type typeOfT) throws JsonParseException { - return (R) gson.fromJson(json, typeOfT); + return gson.fromJson(json, typeOfT); } } } From 14291de4912f6ff3d837202e691ad01eec8c1a5e Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Sun, 11 Dec 2022 18:07:31 +0100 Subject: [PATCH 12/22] Replace `StringBuilder` with `String` --- gson/src/main/java/com/google/gson/Gson.java | 10 ++++------ .../com/google/gson/metrics/BagOfPrimitives.java | 14 ++++++-------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/gson/src/main/java/com/google/gson/Gson.java b/gson/src/main/java/com/google/gson/Gson.java index dfa8e54357..291712ad9a 100644 --- a/gson/src/main/java/com/google/gson/Gson.java +++ b/gson/src/main/java/com/google/gson/Gson.java @@ -1374,11 +1374,9 @@ private TypeAdapter delegate() { @Override public String toString() { - return new StringBuilder("{serializeNulls:") - .append(serializeNulls) - .append(",factories:").append(factories) - .append(",instanceCreators:").append(constructorConstructor) - .append("}") - .toString(); + return "{serializeNulls:" + serializeNulls + + ",factories:" + factories + + ",instanceCreators:" + constructorConstructor + + "}"; } } diff --git a/metrics/src/main/java/com/google/gson/metrics/BagOfPrimitives.java b/metrics/src/main/java/com/google/gson/metrics/BagOfPrimitives.java index 008e31f3be..d3b7357348 100644 --- a/metrics/src/main/java/com/google/gson/metrics/BagOfPrimitives.java +++ b/metrics/src/main/java/com/google/gson/metrics/BagOfPrimitives.java @@ -43,14 +43,12 @@ public int getIntValue() { } public String getExpectedJson() { - StringBuilder sb = new StringBuilder(); - sb.append("{"); - sb.append("\"longValue\":").append(longValue).append(","); - sb.append("\"intValue\":").append(intValue).append(","); - sb.append("\"booleanValue\":").append(booleanValue).append(","); - sb.append("\"stringValue\":\"").append(stringValue).append("\""); - sb.append("}"); - return sb.toString(); + return "{" + + "\"longValue\":" + longValue + "," + + "\"intValue\":" + intValue + "," + + "\"booleanValue\":" + booleanValue + "," + + "\"stringValue\":\"" + stringValue + "\"" + + "}"; } @Override From 7d3753d5c2ad0f355d6d992416c8b9d5f7d2d55d Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Mon, 12 Dec 2022 20:09:16 +0100 Subject: [PATCH 13/22] Fix the import and restore the `switch` --- .../gson/typeadapters/UtcDateTypeAdapter.java | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/extras/src/main/java/com/google/gson/typeadapters/UtcDateTypeAdapter.java b/extras/src/main/java/com/google/gson/typeadapters/UtcDateTypeAdapter.java index 28a03d0985..f65a056771 100644 --- a/extras/src/main/java/com/google/gson/typeadapters/UtcDateTypeAdapter.java +++ b/extras/src/main/java/com/google/gson/typeadapters/UtcDateTypeAdapter.java @@ -19,8 +19,11 @@ import java.io.IOException; import java.text.ParseException; import java.text.ParsePosition; -import java.util.*; - +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.Locale; +import java.util.TimeZone; import com.google.gson.JsonParseException; import com.google.gson.TypeAdapter; import com.google.gson.stream.JsonReader; @@ -43,14 +46,16 @@ public void write(JsonWriter out, Date date) throws IOException { @Override public Date read(JsonReader in) throws IOException { try { - if (Objects.requireNonNull(in.peek()) == JsonToken.NULL) { - in.nextNull(); - return null; + switch (in.peek()) { + case NULL: + in.nextNull(); + return null; + default: + String date = in.nextString(); + // Instead of using iso8601Format.parse(value), we use Jackson's date parsing + // This is because Android doesn't support XXX because it is JDK 1.6 + return parse(date, new ParsePosition(0)); } - String date = in.nextString(); - // Instead of using iso8601Format.parse(value), we use Jackson's date parsing - // This is because Android doesn't support XXX because it is JDK 1.6 - return parse(date, new ParsePosition(0)); } catch (ParseException e) { throw new JsonParseException(e); } From aba83879df16337a7319e21a46419a8c9519157d Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Mon, 12 Dec 2022 20:10:38 +0100 Subject: [PATCH 14/22] Fix the import --- .../main/java/com/google/gson/internal/$Gson$Types.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gson/src/main/java/com/google/gson/internal/$Gson$Types.java b/gson/src/main/java/com/google/gson/internal/$Gson$Types.java index b5be2f0dcf..b43dd5af2c 100644 --- a/gson/src/main/java/com/google/gson/internal/$Gson$Types.java +++ b/gson/src/main/java/com/google/gson/internal/$Gson$Types.java @@ -28,7 +28,12 @@ import java.lang.reflect.Type; import java.lang.reflect.TypeVariable; import java.lang.reflect.WildcardType; -import java.util.*; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Properties; /** * Static methods for working with types. From e8ec4d3a4599114accdd9e5732146168368b9938 Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Mon, 12 Dec 2022 20:15:10 +0100 Subject: [PATCH 15/22] Add the `util.Objects` import --- gson/src/main/java/com/google/gson/internal/$Gson$Types.java | 1 + 1 file changed, 1 insertion(+) diff --git a/gson/src/main/java/com/google/gson/internal/$Gson$Types.java b/gson/src/main/java/com/google/gson/internal/$Gson$Types.java index b43dd5af2c..4a925aa49b 100644 --- a/gson/src/main/java/com/google/gson/internal/$Gson$Types.java +++ b/gson/src/main/java/com/google/gson/internal/$Gson$Types.java @@ -34,6 +34,7 @@ import java.util.Map; import java.util.NoSuchElementException; import java.util.Properties; +import java.util.Objects; /** * Static methods for working with types. From b881da65ab12ef52e86c03569d6e122f4c34f338 Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Mon, 12 Dec 2022 20:19:53 +0100 Subject: [PATCH 16/22] Fix indentation --- gson/src/main/java/com/google/gson/Gson.java | 8 ++++---- .../com/google/gson/metrics/BagOfPrimitives.java | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/gson/src/main/java/com/google/gson/Gson.java b/gson/src/main/java/com/google/gson/Gson.java index 291712ad9a..af5d498bf2 100644 --- a/gson/src/main/java/com/google/gson/Gson.java +++ b/gson/src/main/java/com/google/gson/Gson.java @@ -1374,9 +1374,9 @@ private TypeAdapter delegate() { @Override public String toString() { - return "{serializeNulls:" + serializeNulls + - ",factories:" + factories + - ",instanceCreators:" + constructorConstructor + - "}"; + return "{serializeNulls:" + serializeNulls + + ",factories:" + factories + + ",instanceCreators:" + constructorConstructor + + "}"; } } diff --git a/metrics/src/main/java/com/google/gson/metrics/BagOfPrimitives.java b/metrics/src/main/java/com/google/gson/metrics/BagOfPrimitives.java index d3b7357348..c423542c58 100644 --- a/metrics/src/main/java/com/google/gson/metrics/BagOfPrimitives.java +++ b/metrics/src/main/java/com/google/gson/metrics/BagOfPrimitives.java @@ -43,12 +43,12 @@ public int getIntValue() { } public String getExpectedJson() { - return "{" + - "\"longValue\":" + longValue + "," + - "\"intValue\":" + intValue + "," + - "\"booleanValue\":" + booleanValue + "," + - "\"stringValue\":\"" + stringValue + "\"" + - "}"; + return "{" + + "\"longValue\":" + longValue + "," + + "\"intValue\":" + intValue + "," + + "\"booleanValue\":" + booleanValue + "," + + "\"stringValue\":\"" + stringValue + "\"" + + "}"; } @Override From 9856a94ba264e567ff417163be360f62471c5a8e Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Mon, 12 Dec 2022 20:23:42 +0100 Subject: [PATCH 17/22] Add a comment to clarify the condition --- gson/src/main/java/com/google/gson/stream/JsonReader.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gson/src/main/java/com/google/gson/stream/JsonReader.java b/gson/src/main/java/com/google/gson/stream/JsonReader.java index 68b99b88eb..1d180eac02 100644 --- a/gson/src/main/java/com/google/gson/stream/JsonReader.java +++ b/gson/src/main/java/com/google/gson/stream/JsonReader.java @@ -737,6 +737,8 @@ private int peekNumber() throws IOException { } // We've read a complete number. Decide if it's a PEEKED_LONG or a PEEKED_NUMBER. + // Don't store -0 as long; user might want to read it as double -0.0 + // Don't try to convert Long.MIN_VALUE to positive long; it would overflow MAX_VALUE if (last == NUMBER_CHAR_DIGIT && fitsInLong && (value != Long.MIN_VALUE || negative) && (value!=0 || !negative)) { peekedLong = negative ? value : -value; pos += i; From c5d809a946c10a1ec3c7801550e09081d03582a3 Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Mon, 12 Dec 2022 20:24:51 +0100 Subject: [PATCH 18/22] Fix indentation --- gson/src/main/java/com/google/gson/internal/Excluder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gson/src/main/java/com/google/gson/internal/Excluder.java b/gson/src/main/java/com/google/gson/internal/Excluder.java index d4b8d1b201..dd167b4838 100644 --- a/gson/src/main/java/com/google/gson/internal/Excluder.java +++ b/gson/src/main/java/com/google/gson/internal/Excluder.java @@ -198,7 +198,7 @@ private boolean excludeClassChecks(Class clazz) { return true; } - return isAnonymousOrNonStaticLocal(clazz); + return isAnonymousOrNonStaticLocal(clazz); } public boolean excludeClass(Class clazz, boolean serialize) { From a3b02c033fe292ad29e1edc8527053fc06c747f5 Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Mon, 12 Dec 2022 20:38:00 +0100 Subject: [PATCH 19/22] Fix imports --- .../java/com/google/gson/internal/LinkedTreeMap.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gson/src/main/java/com/google/gson/internal/LinkedTreeMap.java b/gson/src/main/java/com/google/gson/internal/LinkedTreeMap.java index 83158fe8b2..1fe512ad3e 100644 --- a/gson/src/main/java/com/google/gson/internal/LinkedTreeMap.java +++ b/gson/src/main/java/com/google/gson/internal/LinkedTreeMap.java @@ -22,7 +22,15 @@ import java.io.ObjectInputStream; import java.io.ObjectStreamException; import java.io.Serializable; -import java.util.*; +import java.util.AbstractMap; +import java.util.AbstractSet; +import java.util.Comparator; +import java.util.ConcurrentModificationException; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.NoSuchElementException; +import java.util.Set; +import java.util.Objects; /** * A map of comparable keys to values. Unlike {@code TreeMap}, this class uses From db0ef3d53115fbc7e62390c7496a3c086ec81dd7 Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Mon, 12 Dec 2022 20:45:39 +0100 Subject: [PATCH 20/22] Fix indentation --- gson/src/main/java/com/google/gson/Gson.java | 6 +++--- .../java/com/google/gson/metrics/BagOfPrimitives.java | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gson/src/main/java/com/google/gson/Gson.java b/gson/src/main/java/com/google/gson/Gson.java index af5d498bf2..0339d56920 100644 --- a/gson/src/main/java/com/google/gson/Gson.java +++ b/gson/src/main/java/com/google/gson/Gson.java @@ -1375,8 +1375,8 @@ private TypeAdapter delegate() { @Override public String toString() { return "{serializeNulls:" + serializeNulls - + ",factories:" + factories - + ",instanceCreators:" + constructorConstructor - + "}"; + + ",factories:" + factories + + ",instanceCreators:" + constructorConstructor + + "}"; } } diff --git a/metrics/src/main/java/com/google/gson/metrics/BagOfPrimitives.java b/metrics/src/main/java/com/google/gson/metrics/BagOfPrimitives.java index c423542c58..a073974d4f 100644 --- a/metrics/src/main/java/com/google/gson/metrics/BagOfPrimitives.java +++ b/metrics/src/main/java/com/google/gson/metrics/BagOfPrimitives.java @@ -44,11 +44,11 @@ public int getIntValue() { public String getExpectedJson() { return "{" - + "\"longValue\":" + longValue + "," - + "\"intValue\":" + intValue + "," - + "\"booleanValue\":" + booleanValue + "," - + "\"stringValue\":\"" + stringValue + "\"" - + "}"; + + "\"longValue\":" + longValue + "," + + "\"intValue\":" + intValue + "," + + "\"booleanValue\":" + booleanValue + "," + + "\"stringValue\":\"" + stringValue + "\"" + + "}"; } @Override From fa2dd8c60a42338cbe73c9a2974f8e9bdbc47867 Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Mon, 12 Dec 2022 20:48:01 +0100 Subject: [PATCH 21/22] Fix indentation --- .../gson/typeadapters/UtcDateTypeAdapter.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/extras/src/main/java/com/google/gson/typeadapters/UtcDateTypeAdapter.java b/extras/src/main/java/com/google/gson/typeadapters/UtcDateTypeAdapter.java index f65a056771..e1566297bf 100644 --- a/extras/src/main/java/com/google/gson/typeadapters/UtcDateTypeAdapter.java +++ b/extras/src/main/java/com/google/gson/typeadapters/UtcDateTypeAdapter.java @@ -47,14 +47,14 @@ public void write(JsonWriter out, Date date) throws IOException { public Date read(JsonReader in) throws IOException { try { switch (in.peek()) { - case NULL: - in.nextNull(); - return null; - default: - String date = in.nextString(); - // Instead of using iso8601Format.parse(value), we use Jackson's date parsing - // This is because Android doesn't support XXX because it is JDK 1.6 - return parse(date, new ParsePosition(0)); + case NULL: + in.nextNull(); + return null; + default: + String date = in.nextString(); + // Instead of using iso8601Format.parse(value), we use Jackson's date parsing + // This is because Android doesn't support XXX because it is JDK 1.6 + return parse(date, new ParsePosition(0)); } } catch (ParseException e) { throw new JsonParseException(e); From d7eef6584bf8da27a769afa14fbfda6a0d81f1ad Mon Sep 17 00:00:00 2001 From: maicolAntali Date: Tue, 13 Dec 2022 17:39:16 +0100 Subject: [PATCH 22/22] Fix indentation --- .../gson/typeadapters/UtcDateTypeAdapter.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/extras/src/main/java/com/google/gson/typeadapters/UtcDateTypeAdapter.java b/extras/src/main/java/com/google/gson/typeadapters/UtcDateTypeAdapter.java index e1566297bf..2278f842bf 100644 --- a/extras/src/main/java/com/google/gson/typeadapters/UtcDateTypeAdapter.java +++ b/extras/src/main/java/com/google/gson/typeadapters/UtcDateTypeAdapter.java @@ -46,16 +46,16 @@ public void write(JsonWriter out, Date date) throws IOException { @Override public Date read(JsonReader in) throws IOException { try { - switch (in.peek()) { + switch (in.peek()) { case NULL: - in.nextNull(); - return null; + in.nextNull(); + return null; default: - String date = in.nextString(); - // Instead of using iso8601Format.parse(value), we use Jackson's date parsing - // This is because Android doesn't support XXX because it is JDK 1.6 - return parse(date, new ParsePosition(0)); - } + String date = in.nextString(); + // Instead of using iso8601Format.parse(value), we use Jackson's date parsing + // This is because Android doesn't support XXX because it is JDK 1.6 + return parse(date, new ParsePosition(0)); + } } catch (ParseException e) { throw new JsonParseException(e); }