Skip to content

Commit f8fa9d6

Browse files
committed
Do not use LocalVariableTableParameterNameDiscoverer in native images
1 parent da12481 commit f8fa9d6

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

spring-core/src/main/java/org/springframework/core/DefaultParameterNameDiscoverer.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@
1919
/**
2020
* Default implementation of the {@link ParameterNameDiscoverer} strategy interface,
2121
* using the Java 8 standard reflection mechanism (if available), and falling back
22-
* to the ASM-based {@link LocalVariableTableParameterNameDiscoverer} for checking
23-
* debug information in the class file.
22+
* on the JVM (not in native images) to the ASM-based
23+
* {@link LocalVariableTableParameterNameDiscoverer} for checking debug information
24+
* in the class file.
2425
*
2526
* <p>If a Kotlin reflection implementation is present,
2627
* {@link KotlinReflectionParameterNameDiscoverer} is added first in the list and
@@ -43,7 +44,9 @@ public DefaultParameterNameDiscoverer() {
4344
addDiscoverer(new KotlinReflectionParameterNameDiscoverer());
4445
}
4546
addDiscoverer(new StandardReflectionParameterNameDiscoverer());
46-
addDiscoverer(new LocalVariableTableParameterNameDiscoverer());
47+
if (!NativeDetector.inNativeImage()) {
48+
addDiscoverer(new LocalVariableTableParameterNameDiscoverer());
49+
}
4750
}
4851

4952
}

0 commit comments

Comments
 (0)