public class LocalVariableTableParameterNameDiscoverer extends Object implements 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 discoverer variant is effectively superseded by the Java 8 based
StandardReflectionParameterNameDiscoverer
but included as a fallback still
(for code not compiled with the standard "-parameters" compiler flag).
StandardReflectionParameterNameDiscoverer
,
DefaultParameterNameDiscoverer
Constructor and Description |
---|
LocalVariableTableParameterNameDiscoverer() |
Modifier and Type | Method and Description |
---|---|
String[] |
getParameterNames(Constructor<?> ctor)
Return parameter names for a constructor, or
null if they cannot be determined. |
String[] |
getParameterNames(Method method)
Return parameter names for a method, or
null if they cannot be determined. |
public LocalVariableTableParameterNameDiscoverer()
@Nullable public String[] getParameterNames(Method method)
ParameterNameDiscoverer
null
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.
getParameterNames
in interface ParameterNameDiscoverer
method
- the method to find parameter names fornull
if they cannot@Nullable public String[] getParameterNames(Constructor<?> ctor)
ParameterNameDiscoverer
null
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.
getParameterNames
in interface ParameterNameDiscoverer
ctor
- the constructor to find parameter names fornull
if they cannot