Skip to content

Commit 289d378

Browse files
committed
Polish
This fixes an additional case where invoked methods are public but the declaring class is package private. Fixes gh-29046
1 parent c470262 commit 289d378

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

spring-core-test/src/main/java/org/springframework/aot/agent/InstrumentedBridgeMethods.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,7 @@ public static Object constructornewInstance(Constructor<?> constructor, Object..
316316
.onInstance(constructor).withArguments(arguments);
317317
try {
318318
if (!Modifier.isPublic(constructor.getModifiers()) ||
319-
!Modifier.isPublic(constructor.getDeclaringClass().getModifiers()) || !constructor.canAccess(null)) {
319+
!Modifier.isPublic(constructor.getDeclaringClass().getModifiers())) {
320320
constructor.setAccessible(true);
321321
accessibilityChanged = true;
322322
}
@@ -339,7 +339,8 @@ public static Object methodinvoke(Method method, Object object, Object... argume
339339
Object result = null;
340340
boolean accessibilityChanged = false;
341341
try {
342-
if (!Modifier.isPublic(method.getModifiers())) {
342+
if (!Modifier.isPublic(method.getModifiers())
343+
|| !Modifier.isPublic(method.getDeclaringClass().getModifiers())) {
343344
method.setAccessible(true);
344345
accessibilityChanged = true;
345346
}

0 commit comments

Comments
 (0)