diff --git a/gson/src/main/java/com/google/gson/GsonBuilder.java b/gson/src/main/java/com/google/gson/GsonBuilder.java index 61b6f123..dd7d160f 100644 --- a/gson/src/main/java/com/google/gson/GsonBuilder.java +++ b/gson/src/main/java/com/google/gson/GsonBuilder.java @@ -319,6 +319,7 @@ public final class GsonBuilder { * {@link JsonSerializer}, and a {@link JsonDeserializer} interfaces. * @return a reference to this {@code GsonBuilder} object to fulfill the "Builder" pattern */ + @SuppressWarnings("unchecked") public GsonBuilder registerTypeAdapter(Type type, Object typeAdapter) { Preconditions.checkArgument(typeAdapter instanceof JsonSerializer || typeAdapter instanceof JsonDeserializer || typeAdapter instanceof InstanceCreator); diff --git a/gson/src/main/java/com/google/gson/TypeInfoFactory.java b/gson/src/main/java/com/google/gson/TypeInfoFactory.java index deb88a2f..2bcdb82e 100644 --- a/gson/src/main/java/com/google/gson/TypeInfoFactory.java +++ b/gson/src/main/java/com/google/gson/TypeInfoFactory.java @@ -55,6 +55,7 @@ final class TypeInfoFactory { return new TypeInfo(actualType); } + @SuppressWarnings("unchecked") private static Type getActualType( Type typeToEvaluate, Type parentType, Class rawParentClass) { if (typeToEvaluate instanceof Class) { diff --git a/gson/src/main/java/com/google/gson/TypeInfoMap.java b/gson/src/main/java/com/google/gson/TypeInfoMap.java index ea8eb07b..82f4b19f 100644 --- a/gson/src/main/java/com/google/gson/TypeInfoMap.java +++ b/gson/src/main/java/com/google/gson/TypeInfoMap.java @@ -31,6 +31,7 @@ final class TypeInfoMap { private final Type keyType; private final Type valueType; + @SuppressWarnings("unchecked") public TypeInfoMap(Type mapType) { if (mapType instanceof Class && Properties.class.isAssignableFrom((Class) mapType)) { keyType = String.class; diff --git a/gson/src/main/java/com/google/gson/TypeUtils.java b/gson/src/main/java/com/google/gson/TypeUtils.java index acda71a6..c8c03d65 100644 --- a/gson/src/main/java/com/google/gson/TypeUtils.java +++ b/gson/src/main/java/com/google/gson/TypeUtils.java @@ -40,6 +40,7 @@ final class TypeUtils { * * TypeUtils.getActualTypeForFirstTypeVariable(fooType) will return Integer.class. */ + @SuppressWarnings("unchecked") static Type getActualTypeForFirstTypeVariable(Type type) { if (type instanceof Class) { return Object.class; @@ -53,6 +54,7 @@ final class TypeUtils { } } + @SuppressWarnings("unchecked") static boolean isArray(Type type) { if (type instanceof Class) { return ((Class)type).isArray(); @@ -66,6 +68,7 @@ final class TypeUtils { /** * This method returns the actual raw class associated with the specified type. */ + @SuppressWarnings("unchecked") static Class toRawClass(Type type) { if (type instanceof Class) { return (Class) type; diff --git a/gson/src/main/java/com/google/gson/reflect/TypeToken.java b/gson/src/main/java/com/google/gson/reflect/TypeToken.java index c9eef2f1..4ab1425f 100644 --- a/gson/src/main/java/com/google/gson/reflect/TypeToken.java +++ b/gson/src/main/java/com/google/gson/reflect/TypeToken.java @@ -85,6 +85,7 @@ public abstract class TypeToken { /** * Gets type from super class's type parameter. */ + @SuppressWarnings("unchecked") static Type getSuperclassTypeParameter(Class subclass) { Type superclass = subclass.getGenericSuperclass(); if (superclass instanceof Class) { @@ -154,6 +155,7 @@ public abstract class TypeToken { /** * Check if this type is assignable from the given Type. */ + @SuppressWarnings("unchecked") public boolean isAssignableFrom(Type from) { if (from == null) { return false; @@ -188,6 +190,7 @@ public abstract class TypeToken { * Private helper function that performs some assignability checks for * the provided GenericArrayType. */ + @SuppressWarnings("unchecked") private static boolean isAssignableFrom(Type from, GenericArrayType to) { Type toGenericComponentType = to.getGenericComponentType(); if (toGenericComponentType instanceof ParameterizedType) { @@ -213,6 +216,7 @@ public abstract class TypeToken { * Private recursive helper function to actually do the type-safe checking * of assignability. */ + @SuppressWarnings("unchecked") private static boolean isAssignableFrom(Type from, ParameterizedType to, Map typeVarMap) { @@ -289,6 +293,7 @@ public abstract class TypeToken { * Checks if two types are the same or are equivalent under a variable mapping * given in the type map that was provided. */ + @SuppressWarnings("unchecked") private static boolean matches(Type from, Type to, Map typeMap) { if (to.equals(from)) return true; diff --git a/gson/src/test/java/com/google/gson/ExposeAnnotationBasedExclusionStrategyTest.java b/gson/src/test/java/com/google/gson/ExposeAnnotationBasedExclusionStrategyTest.java index 556d7506..1f63f95e 100644 --- a/gson/src/test/java/com/google/gson/ExposeAnnotationBasedExclusionStrategyTest.java +++ b/gson/src/test/java/com/google/gson/ExposeAnnotationBasedExclusionStrategyTest.java @@ -51,6 +51,7 @@ public class ExposeAnnotationBasedExclusionStrategyTest extends TestCase { assertFalse(strategy.shouldSkipField(f)); } + @SuppressWarnings("unused") private static class MockObject { @Expose public final int exposedField = 0; diff --git a/gson/src/test/java/com/google/gson/JsonParserAsyncTest.java b/gson/src/test/java/com/google/gson/JsonParserAsyncTest.java index cc615286..9632f8a5 100644 --- a/gson/src/test/java/com/google/gson/JsonParserAsyncTest.java +++ b/gson/src/test/java/com/google/gson/JsonParserAsyncTest.java @@ -1,6 +1,5 @@ package com.google.gson; -import java.util.Enumeration; import java.util.Iterator; import junit.framework.TestCase; diff --git a/gson/src/test/java/com/google/gson/SerializedNameAnnotationInterceptingNamingPolicyTest.java b/gson/src/test/java/com/google/gson/SerializedNameAnnotationInterceptingNamingPolicyTest.java index bb9cf92b..a0144a58 100644 --- a/gson/src/test/java/com/google/gson/SerializedNameAnnotationInterceptingNamingPolicyTest.java +++ b/gson/src/test/java/com/google/gson/SerializedNameAnnotationInterceptingNamingPolicyTest.java @@ -53,6 +53,7 @@ public class SerializedNameAnnotationInterceptingNamingPolicyTest extends TestCa assertEquals(fieldName, policy.translateName(f)); } + @SuppressWarnings("unused") private static class SomeObject { @SerializedName(ANNOTATED_FIELD_NAME) public final int fieldWithAnnotation = 1; public final int fieldWithoutAnnotation = 1; diff --git a/gson/src/test/java/com/google/gson/TypeInfoFactoryTest.java b/gson/src/test/java/com/google/gson/TypeInfoFactoryTest.java index 913154b8..26155307 100644 --- a/gson/src/test/java/com/google/gson/TypeInfoFactoryTest.java +++ b/gson/src/test/java/com/google/gson/TypeInfoFactoryTest.java @@ -223,6 +223,7 @@ public class TypeInfoFactoryTest extends TestCase { assertEquals(List[].class, typeInfo.getRawClass()); } + @SuppressWarnings("unused") private static class ObjectWithDifferentFields { public static enum TestEnum { TEST_1, TEST_2; diff --git a/gson/src/test/java/com/google/gson/VersionExclusionStrategyTest.java b/gson/src/test/java/com/google/gson/VersionExclusionStrategyTest.java index c626ffe0..d044eb34 100644 --- a/gson/src/test/java/com/google/gson/VersionExclusionStrategyTest.java +++ b/gson/src/test/java/com/google/gson/VersionExclusionStrategyTest.java @@ -66,6 +66,7 @@ public class VersionExclusionStrategyTest extends TestCase { @Since(VERSION) private static class MockObject { + @SuppressWarnings("unused") @Since(VERSION) public final int someField = 0; } diff --git a/gson/src/test/java/com/google/gson/functional/CollectionTest.java b/gson/src/test/java/com/google/gson/functional/CollectionTest.java index e0203e11..6d812bdb 100644 --- a/gson/src/test/java/com/google/gson/functional/CollectionTest.java +++ b/gson/src/test/java/com/google/gson/functional/CollectionTest.java @@ -283,7 +283,7 @@ public class CollectionTest extends TestCase { private static class ObjectWithWildcardCollection { private final Collection collection; - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "unused" }) public ObjectWithWildcardCollection() { this(Collections.EMPTY_LIST); } @@ -299,6 +299,8 @@ public class CollectionTest extends TestCase { private static class Entry { int value; + // For use by Gson + @SuppressWarnings("unused") Entry() { this(10); } diff --git a/gson/src/test/java/com/google/gson/functional/ConcurrencyTest.java b/gson/src/test/java/com/google/gson/functional/ConcurrencyTest.java index 3a1b54af..2dccf4b6 100755 --- a/gson/src/test/java/com/google/gson/functional/ConcurrencyTest.java +++ b/gson/src/test/java/com/google/gson/functional/ConcurrencyTest.java @@ -121,6 +121,7 @@ public class ConcurrencyTest extends TestCase { assertFalse(failed.get()); } + @SuppressWarnings("unused") private static class MyObject { String a; String b; diff --git a/gson/src/test/java/com/google/gson/functional/CustomDeserializerTest.java b/gson/src/test/java/com/google/gson/functional/CustomDeserializerTest.java index a3f337e1..b8083d6f 100644 --- a/gson/src/test/java/com/google/gson/functional/CustomDeserializerTest.java +++ b/gson/src/test/java/com/google/gson/functional/CustomDeserializerTest.java @@ -65,6 +65,7 @@ public class CustomDeserializerTest extends TestCase { private static class DataHolder { private final String data; + @SuppressWarnings("unused") public DataHolder() { throw new IllegalStateException(); } @@ -81,6 +82,7 @@ public class CustomDeserializerTest extends TestCase { private static class DataHolderWrapper { private final DataHolder wrappedData; + @SuppressWarnings("unused") public DataHolderWrapper() { this(new DataHolder(DEFAULT_VALUE)); } diff --git a/gson/src/test/java/com/google/gson/functional/DefaultTypeAdaptersTest.java b/gson/src/test/java/com/google/gson/functional/DefaultTypeAdaptersTest.java index 88ca359d..a173eaca 100644 --- a/gson/src/test/java/com/google/gson/functional/DefaultTypeAdaptersTest.java +++ b/gson/src/test/java/com/google/gson/functional/DefaultTypeAdaptersTest.java @@ -289,6 +289,7 @@ public class DefaultTypeAdaptersTest extends TestCase { private static class ClassWithBigDecimal { BigDecimal value; + @SuppressWarnings("unused") ClassWithBigDecimal() { } ClassWithBigDecimal(String value) { this.value = new BigDecimal(value); @@ -300,6 +301,7 @@ public class DefaultTypeAdaptersTest extends TestCase { private static class ClassWithBigInteger { BigInteger value; + @SuppressWarnings("unused") ClassWithBigInteger() { } ClassWithBigInteger(String value) { this.value = new BigInteger(value); diff --git a/gson/src/test/java/com/google/gson/functional/ExposeFieldsTest.java b/gson/src/test/java/com/google/gson/functional/ExposeFieldsTest.java index bee107b5..40f580f7 100644 --- a/gson/src/test/java/com/google/gson/functional/ExposeFieldsTest.java +++ b/gson/src/test/java/com/google/gson/functional/ExposeFieldsTest.java @@ -117,6 +117,7 @@ public class ExposeFieldsTest extends TestCase { @Expose(deserialize = false) final double d; @Expose(serialize = false, deserialize = false) final char e; + @SuppressWarnings("unused") ClassWithExposedFields() { this(null, null); } @@ -141,10 +142,6 @@ public class ExposeFieldsTest extends TestCase { sb.append("}"); return sb.toString(); } - - public String getExpectedJsonWithoutAnnotations() { - return String.format("{\"a\":%d,\"b\":%d,\"c\":%d,\"d\":%f,\"e\":\"%c\"}", a, b, c, d, e); - } } private static class ClassWithNoExposedFields { @@ -170,6 +167,7 @@ public class ExposeFieldsTest extends TestCase { @Expose private final SomeInterface interfaceField; + @SuppressWarnings("unused") public ClassWithInterfaceField() { this(null); } diff --git a/gson/src/test/java/com/google/gson/functional/JsonTreeTest.java b/gson/src/test/java/com/google/gson/functional/JsonTreeTest.java index 85a6bd5e..195f6f99 100644 --- a/gson/src/test/java/com/google/gson/functional/JsonTreeTest.java +++ b/gson/src/test/java/com/google/gson/functional/JsonTreeTest.java @@ -75,6 +75,7 @@ public class JsonTreeTest extends TestCase { } private static class SubTypeOfBagOfPrimitives extends BagOfPrimitives { + @SuppressWarnings("unused") float f = 1.2F; public SubTypeOfBagOfPrimitives(long l, int i, boolean b, String string, float f) { super(l, i, b, string); diff --git a/gson/src/test/java/com/google/gson/functional/MapTest.java b/gson/src/test/java/com/google/gson/functional/MapTest.java index 895602b8..6e084e0a 100755 --- a/gson/src/test/java/com/google/gson/functional/MapTest.java +++ b/gson/src/test/java/com/google/gson/functional/MapTest.java @@ -172,6 +172,7 @@ public class MapTest extends TestCase { private static class MyParameterizedMap extends LinkedHashMap { private static final long serialVersionUID = 1L; + @SuppressWarnings("unused") int foo = 10; } @@ -248,6 +249,7 @@ public class MapTest extends TestCase { private static class MyMap extends LinkedHashMap { private static final long serialVersionUID = 1L; + @SuppressWarnings("unused") int foo = 10; } diff --git a/gson/src/test/java/com/google/gson/functional/NamingPolicyTest.java b/gson/src/test/java/com/google/gson/functional/NamingPolicyTest.java index a70c0545..5fca249c 100644 --- a/gson/src/test/java/com/google/gson/functional/NamingPolicyTest.java +++ b/gson/src/test/java/com/google/gson/functional/NamingPolicyTest.java @@ -82,6 +82,7 @@ public class NamingPolicyTest extends TestCase { assertEquals("{\"a\":3.0}", actual); } + @SuppressWarnings("unused") private static class ClassWithDuplicateFields { public Integer a; @SerializedName("a") public Double b; diff --git a/gson/src/test/java/com/google/gson/functional/NullObjectAndFieldTest.java b/gson/src/test/java/com/google/gson/functional/NullObjectAndFieldTest.java index f2b94f97..fe9f1ffe 100755 --- a/gson/src/test/java/com/google/gson/functional/NullObjectAndFieldTest.java +++ b/gson/src/test/java/com/google/gson/functional/NullObjectAndFieldTest.java @@ -151,6 +151,7 @@ public class NullObjectAndFieldTest extends TestCase { private Long value; } + @SuppressWarnings("unused") private static class ClassWithMembers { String str; int[] array; diff --git a/gson/src/test/java/com/google/gson/functional/ObjectTest.java b/gson/src/test/java/com/google/gson/functional/ObjectTest.java index e4cae128..9ccd4eb7 100644 --- a/gson/src/test/java/com/google/gson/functional/ObjectTest.java +++ b/gson/src/test/java/com/google/gson/functional/ObjectTest.java @@ -351,6 +351,7 @@ public class ObjectTest extends TestCase { assertTrue(json.contains("abc")); } + @SuppressWarnings("unused") private static class ClassWithObjectField { Object member; } @@ -377,6 +378,7 @@ public class ObjectTest extends TestCase { } private static class Parent { + @SuppressWarnings("unused") int value1 = 1; private class Child { int value2 = 2; @@ -389,6 +391,8 @@ public class ObjectTest extends TestCase { private Set set; private SortedSet sortedSet; + // For use by Gson + @SuppressWarnings("unused") ClassWithSubInterfacesOfCollection() { } @@ -481,6 +485,7 @@ public class ObjectTest extends TestCase { private static class SubTypeOfNested extends Nested { private final long value = 5; + @SuppressWarnings("unused") public SubTypeOfNested() { this(null, null); } @@ -585,7 +590,7 @@ public class ObjectTest extends TestCase { public void testArrayOfObjectsWithoutTypeInfoDeserialization() { String json = "[1,'abc',{a:1},5]"; try { - Object[] objs = gson.fromJson(json, Object[].class); + gson.fromJson(json, Object[].class); } catch (JsonParseException expected) { } } @@ -593,7 +598,7 @@ public class ObjectTest extends TestCase { public void testArrayWithoutTypeInfoDeserialization() { String json = "[1,'abc',[1,2],5]"; try { - Object[] objs = gson.fromJson(json, Object[].class); + gson.fromJson(json, Object[].class); } catch (JsonParseException expected) { } } diff --git a/gson/src/test/java/com/google/gson/functional/ParameterizedTypesTest.java b/gson/src/test/java/com/google/gson/functional/ParameterizedTypesTest.java index f59f3136..bdf9532b 100644 --- a/gson/src/test/java/com/google/gson/functional/ParameterizedTypesTest.java +++ b/gson/src/test/java/com/google/gson/functional/ParameterizedTypesTest.java @@ -271,6 +271,7 @@ public class ParameterizedTypesTest extends TestCase { private final List listOfWildcardTypeParameters; private final List[] arrayOfListOfWildcardTypeParameters; + @SuppressWarnings("unused") public ObjectWithTypeVariables() { this(null, null, null, null, null, null); } @@ -386,6 +387,7 @@ public class ParameterizedTypesTest extends TestCase { C c; D d; E e; + @SuppressWarnings("unused") MultiParameters() { } MultiParameters(A a, B b, C c, D d, E e) { @@ -461,9 +463,11 @@ public class ParameterizedTypesTest extends TestCase { // Begin: tests to reproduce issue 103 private static class Quantity { + @SuppressWarnings("unused") int q = 10; } private static class MyQuantity extends Quantity { + @SuppressWarnings("unused") int q2 = 20; } private interface Measurable { diff --git a/gson/src/test/java/com/google/gson/metrics/PerformanceTest.java b/gson/src/test/java/com/google/gson/metrics/PerformanceTest.java index 15cdaf83..196a0bae 100644 --- a/gson/src/test/java/com/google/gson/metrics/PerformanceTest.java +++ b/gson/src/test/java/com/google/gson/metrics/PerformanceTest.java @@ -72,6 +72,7 @@ public class PerformanceTest extends TestCase { private static class ExceptionHolder { public final String message; public final String stackTrace; + @SuppressWarnings("unused") public ExceptionHolder() { this("", ""); } @@ -81,6 +82,7 @@ public class PerformanceTest extends TestCase { } } + @SuppressWarnings("unused") private static class CollectionEntry { final String name; final String value; @@ -140,7 +142,7 @@ public class PerformanceTest extends TestCase { for (int i = 0; i < size; ++i) { ba[i] = 0x05; } - String json = gson.toJson(ba); + gson.toJson(ba); System.out.printf("Gson could serialize a byte array of size: %d\n", size); } }