Skip to content

Commit af6275a

Browse files
author
Costin Leau
committed
+ small fix to reflection util to avoid accessibility calls
1 parent af8af8c commit af6275a

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

org.springframework.core/src/main/java/org/springframework/util/ReflectionUtils.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,8 @@ public static boolean isToStringMethod(Method method) {
423423
* @see java.lang.reflect.Field#setAccessible
424424
*/
425425
public static void makeAccessible(Field field) {
426-
if (!Modifier.isPublic(field.getModifiers()) || !Modifier.isPublic(field.getDeclaringClass().getModifiers())) {
426+
if ((!Modifier.isPublic(field.getModifiers()) || !Modifier.isPublic(field.getDeclaringClass().getModifiers()))
427+
&& !field.isAccessible()) {
427428
field.setAccessible(true);
428429
}
429430
}
@@ -438,7 +439,8 @@ public static void makeAccessible(Field field) {
438439
* @see java.lang.reflect.Method#setAccessible
439440
*/
440441
public static void makeAccessible(Method method) {
441-
if (!Modifier.isPublic(method.getModifiers()) || !Modifier.isPublic(method.getDeclaringClass().getModifiers())) {
442+
if ((!Modifier.isPublic(method.getModifiers()) || !Modifier.isPublic(method.getDeclaringClass().getModifiers()))
443+
&& !method.isAccessible()) {
442444
method.setAccessible(true);
443445
}
444446
}
@@ -453,7 +455,8 @@ public static void makeAccessible(Method method) {
453455
* @see java.lang.reflect.Constructor#setAccessible
454456
*/
455457
public static void makeAccessible(Constructor<?> ctor) {
456-
if (!Modifier.isPublic(ctor.getModifiers()) || !Modifier.isPublic(ctor.getDeclaringClass().getModifiers())) {
458+
if ((!Modifier.isPublic(ctor.getModifiers()) || !Modifier.isPublic(ctor.getDeclaringClass().getModifiers()))
459+
&& !ctor.isAccessible()) {
457460
ctor.setAccessible(true);
458461
}
459462
}

0 commit comments

Comments
 (0)