diff --git a/gson/src/main/java/com/google/gson/FieldAttributes.java b/gson/src/main/java/com/google/gson/FieldAttributes.java index c175db7a..722cd505 100644 --- a/gson/src/main/java/com/google/gson/FieldAttributes.java +++ b/gson/src/main/java/com/google/gson/FieldAttributes.java @@ -56,7 +56,13 @@ public final class FieldAttributes { private Collection annotations; FieldAttributes(Class declaringClazz, Field f) { - this(declaringClazz, f, declaringClazz); + this.declaringClazz = $Preconditions.checkNotNull(declaringClazz); + this.name = f.getName(); + this.declaredType = f.getType(); + this.isSynthetic = f.isSynthetic(); + this.modifiers = f.getModifiers(); + this.field = f; + this.resolvedType = getTypeInfoForField(f, declaringClazz); } /** diff --git a/gson/src/main/java/com/google/gson/ReflectingFieldNavigator.java b/gson/src/main/java/com/google/gson/ReflectingFieldNavigator.java index 6d48c7a1..fee901d9 100644 --- a/gson/src/main/java/com/google/gson/ReflectingFieldNavigator.java +++ b/gson/src/main/java/com/google/gson/ReflectingFieldNavigator.java @@ -77,9 +77,9 @@ final class ReflectingFieldNavigator { if (fields == null) { fields = new ArrayList(); for (Class curr : getInheritanceHierarchy(type)) { - Field[] fields1 = curr.getDeclaredFields(); - AccessibleObject.setAccessible(fields1, true); - Field[] classFields = fields1; + Field[] currentClazzFields = curr.getDeclaredFields(); + AccessibleObject.setAccessible(currentClazzFields, true); + Field[] classFields = currentClazzFields; for (Field f : classFields) { fields.add(new FieldAttributes(curr, f, declaredType)); }