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 extends BagOfPrimitives> 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 extends T> listOfWildcardTypeParameters;
private final List extends T>[] 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);
}
}