From 4a58dc3e2a160d5c90a2c39553d764314b53d41d Mon Sep 17 00:00:00 2001 From: Inderjeet Singh Date: Thu, 24 Mar 2011 22:16:25 +0000 Subject: [PATCH] Moving AccessibleObject.setAccessible to where the fields are obtained by reflection. --- .../src/main/java/com/google/gson/ReflectingFieldNavigator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gson/src/main/java/com/google/gson/ReflectingFieldNavigator.java b/gson/src/main/java/com/google/gson/ReflectingFieldNavigator.java index cf8dd30e..482fc7cf 100644 --- a/gson/src/main/java/com/google/gson/ReflectingFieldNavigator.java +++ b/gson/src/main/java/com/google/gson/ReflectingFieldNavigator.java @@ -63,7 +63,6 @@ final class ReflectingFieldNavigator { private void navigateClassFields(Object obj, Type objType, Class classInInheritanceHierarchyForObj, Visitor visitor) { Field[] fields = getFields(classInInheritanceHierarchyForObj); - AccessibleObject.setAccessible(fields, true); for (Field f : fields) { FieldAttributes fieldAttributes = new FieldAttributes(classInInheritanceHierarchyForObj, f); if (exclusionStrategy.shouldSkipField(fieldAttributes) @@ -87,6 +86,7 @@ final class ReflectingFieldNavigator { Field[] fields = fieldsCache.get(clazz); if (fields == null) { fields = clazz.getDeclaredFields(); + AccessibleObject.setAccessible(fields, true); fieldsCache.put(clazz, fields); } return fields;