File tree 1 file changed +11
-5
lines changed
spring-core/src/main/java/org/springframework/core
1 file changed +11
-5
lines changed Original file line number Diff line number Diff line change 25
25
* debug information in the class file.
26
26
*
27
27
* <p>If Kotlin is present, {@link KotlinReflectionParameterNameDiscoverer} is added first
28
- * in the list and used for Kotlin classes and interfaces.
28
+ * in the list and used for Kotlin classes and interfaces. When compiling or running as
29
+ * a Graal native image, no {@link ParameterNameDiscoverer} is used.
29
30
*
30
31
* <p>Further discoverers may be added through {@link #addDiscoverer(ParameterNameDiscoverer)}.
31
32
*
@@ -41,13 +42,18 @@ public class DefaultParameterNameDiscoverer extends PrioritizedParameterNameDisc
41
42
private static final boolean kotlinPresent =
42
43
ClassUtils .isPresent ("kotlin.Unit" , DefaultParameterNameDiscoverer .class .getClassLoader ());
43
44
45
+ // See https://github.com/oracle/graal/blob/master/sdk/src/org.graalvm.nativeimage/src/org/graalvm/nativeimage/ImageInfo.java
46
+ private static final boolean inImageCode = (System .getProperty ("org.graalvm.nativeimage.imagecode" ) != null );
47
+
44
48
45
49
public DefaultParameterNameDiscoverer () {
46
- if (kotlinPresent ) {
47
- addDiscoverer (new KotlinReflectionParameterNameDiscoverer ());
50
+ if (!inImageCode ) {
51
+ if (kotlinPresent ) {
52
+ addDiscoverer (new KotlinReflectionParameterNameDiscoverer ());
53
+ }
54
+ addDiscoverer (new StandardReflectionParameterNameDiscoverer ());
55
+ addDiscoverer (new LocalVariableTableParameterNameDiscoverer ());
48
56
}
49
- addDiscoverer (new StandardReflectionParameterNameDiscoverer ());
50
- addDiscoverer (new LocalVariableTableParameterNameDiscoverer ());
51
57
}
52
58
53
59
}
You can’t perform that action at this time.
0 commit comments