Class LocalVariableTableParameterNameDiscoverer
- All Implemented Interfaces:
ParameterNameDiscoverer
ParameterNameDiscoverer
that uses the LocalVariableTable
information in the method attributes to discover parameter names. Returns
null
if the class file was compiled without debug information.
Uses ObjectWeb's ASM library for analyzing class files. Each discoverer instance caches the ASM discovered information for each introspected Class, in a thread-safe manner. It is recommended to reuse ParameterNameDiscoverer instances as far as possible.
This class is deprecated in the 6.0 generation and scheduled for removal in 6.1
since it is effectively superseded by StandardReflectionParameterNameDiscoverer
.
For the time being, this discoverer logs a warning every time it actually inspects a
class file which is particularly useful for identifying remaining gaps in usage of
the standard "-parameters" compiler flag, and also unintended over-inspection of
e.g. JDK core library classes (which are not compiled with the "-parameters" flag).
- Since:
- 2.0
- Author:
- Adrian Colyer, Costin Leau, Juergen Hoeller, Chris Beams, Sam Brannen
- See Also:
-
Constructor Summary
ConstructorDescriptionDeprecated, for removal: This API element is subject to removal in a future version. -
Method Summary
Modifier and TypeMethodDescriptionString[]
getParameterNames
(Constructor<?> ctor) Deprecated, for removal: This API element is subject to removal in a future version.Return parameter names for a constructor, ornull
if they cannot be determined.String[]
getParameterNames
(Method method) Deprecated, for removal: This API element is subject to removal in a future version.Return parameter names for a method, ornull
if they cannot be determined.
-
Constructor Details
-
LocalVariableTableParameterNameDiscoverer
public LocalVariableTableParameterNameDiscoverer()Deprecated, for removal: This API element is subject to removal in a future version.
-
-
Method Details
-
getParameterNames
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:ParameterNameDiscoverer
Return parameter names for a method, ornull
if they cannot be determined.Individual entries in the array may be
null
if parameter names are only available for some parameters of the given method but not for others. However, it is recommended to use stub parameter names instead wherever feasible.- Specified by:
getParameterNames
in interfaceParameterNameDiscoverer
- Parameters:
method
- the method to find parameter names for- Returns:
- an array of parameter names if the names can be resolved,
or
null
if they cannot
-
getParameterNames
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:ParameterNameDiscoverer
Return parameter names for a constructor, ornull
if they cannot be determined.Individual entries in the array may be
null
if parameter names are only available for some parameters of the given constructor but not for others. However, it is recommended to use stub parameter names instead wherever feasible.- Specified by:
getParameterNames
in interfaceParameterNameDiscoverer
- Parameters:
ctor
- the constructor to find parameter names for- Returns:
- an array of parameter names if the names can be resolved,
or
null
if they cannot
-
StandardReflectionParameterNameDiscoverer
(with the "-parameters" compiler flag)