Class LocalVariableTableParameterNameDiscoverer

  • All Implemented Interfaces:
    ParameterNameDiscoverer

    public class LocalVariableTableParameterNameDiscoverer
    extends Object
    implements ParameterNameDiscoverer
    Implementation of 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.

    Since:
    2.0
    Author:
    Adrian Colyer, Costin Leau, Juergen Hoeller, Chris Beams, Sam Brannen
    • Method Detail

      • getParameterNames

        @Nullable
        public String[] getParameterNames​(Method method)
        Description copied from interface: ParameterNameDiscoverer
        Return parameter names for a method, or 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.

        Specified by:
        getParameterNames in interface ParameterNameDiscoverer
        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

        @Nullable
        public String[] getParameterNames​(Constructor<?> ctor)
        Description copied from interface: ParameterNameDiscoverer
        Return parameter names for a constructor, or 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.

        Specified by:
        getParameterNames in interface ParameterNameDiscoverer
        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