Deprecate LocalVariableTableParameterNameDiscoverer completely

LocalVariableTableParameterNameDiscoverer is not registered by default anymore now.
Java sources should be compiled with `-parameters` instead (available since Java 8).
Also retaining standard Java parameter names for all of Spring's Kotlin sources now.

Closes gh-29531
This commit is contained in:
Juergen Hoeller
2022-11-22 19:26:15 +01:00
parent 7e52b803be
commit 459e8a1ea5
13 changed files with 37 additions and 40 deletions

View File

@@ -18,9 +18,7 @@ package org.springframework.core;
/**
* Default implementation of the {@link ParameterNameDiscoverer} strategy interface,
* using the Java 8 standard reflection mechanism (if available), and falling back
* to the ASM-based {@link LocalVariableTableParameterNameDiscoverer} (when not in
* a native image) for checking debug information in the class file.
* delegating to the Java 8 standard reflection mechanism.
*
* <p>If a Kotlin reflection implementation is present,
* {@link KotlinReflectionParameterNameDiscoverer} is added first in the list and
@@ -33,7 +31,6 @@ package org.springframework.core;
* @author Sam Brannen
* @since 4.0
* @see StandardReflectionParameterNameDiscoverer
* @see LocalVariableTableParameterNameDiscoverer
* @see KotlinReflectionParameterNameDiscoverer
*/
public class DefaultParameterNameDiscoverer extends PrioritizedParameterNameDiscoverer {
@@ -43,9 +40,6 @@ public class DefaultParameterNameDiscoverer extends PrioritizedParameterNameDisc
addDiscoverer(new KotlinReflectionParameterNameDiscoverer());
}
addDiscoverer(new StandardReflectionParameterNameDiscoverer());
if (!NativeDetector.inNativeImage()) {
addDiscoverer(new LocalVariableTableParameterNameDiscoverer());
}
}
}

View File

@@ -53,7 +53,9 @@ import org.springframework.util.ClassUtils;
* @author Chris Beams
* @author Sam Brannen
* @since 2.0
* @deprecated as of 6.0.1, in favor of {@link StandardReflectionParameterNameDiscoverer}
*/
@Deprecated
public class LocalVariableTableParameterNameDiscoverer implements ParameterNameDiscoverer {
private static final Log logger = LogFactory.getLog(LocalVariableTableParameterNameDiscoverer.class);