You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2014/01/30 22:36:38 UTC
svn commit: r1562985 -
/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java
Author: ggregory
Date: Thu Jan 30 21:36:38 2014
New Revision: 1562985
URL: http://svn.apache.org/r1562985
Log:
removeFinalModifier does not clean up after itself.
Modified:
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java
Modified: commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java?rev=1562985&r1=1562984&r2=1562985&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java (original)
+++ commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java Thu Jan 30 21:36:38 2014
@@ -680,7 +680,11 @@ public class FieldUtils {
if (Modifier.isFinal(field.getModifiers())) {
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
- modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
+ try {
+ modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
+ } finally {
+ modifiersField.setAccessible(false);
+ }
}
} catch (NoSuchFieldException ignored) {
// The field class contains always a modifiers field