Class BytecodeReadingParanamer

  • All Implemented Interfaces:
    Paranamer

    public class BytecodeReadingParanamer
    extends java.lang.Object
    implements Paranamer
    An ASM-based implementation of Paranamer. It relies on debug information compiled with the "-g" javac option to retrieve parameter names.

    Portions of this source file are a fork of ASM.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static java.util.Map<java.lang.String,​java.lang.String> primitives  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private java.io.InputStream getClassAsStream​(java.lang.Class<?> clazz)  
      private java.io.InputStream getClassAsStream​(java.lang.ClassLoader classLoader, java.lang.String className)  
      java.lang.String[] lookupParameterNames​(java.lang.reflect.AccessibleObject methodOrConstructor)
      Lookup the parameter names of a given method.
      java.lang.String[] lookupParameterNames​(java.lang.reflect.AccessibleObject methodOrCtor, boolean throwExceptionIfMissing)
      Lookup the parameter names of a given method.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • primitives

        private static final java.util.Map<java.lang.String,​java.lang.String> primitives
    • Constructor Detail

      • BytecodeReadingParanamer

        public BytecodeReadingParanamer()
    • Method Detail

      • lookupParameterNames

        public java.lang.String[] lookupParameterNames​(java.lang.reflect.AccessibleObject methodOrConstructor)
        Description copied from interface: Paranamer
        Lookup the parameter names of a given method.
        Specified by:
        lookupParameterNames in interface Paranamer
        Parameters:
        methodOrConstructor - the Method or Constructor for which the parameter names are looked up.
        Returns:
        A list of the parameter names.
      • lookupParameterNames

        public java.lang.String[] lookupParameterNames​(java.lang.reflect.AccessibleObject methodOrCtor,
                                                       boolean throwExceptionIfMissing)
        Description copied from interface: Paranamer
        Lookup the parameter names of a given method.
        Specified by:
        lookupParameterNames in interface Paranamer
        Parameters:
        methodOrCtor - the Method or Constructor for which the parameter names are looked up.
        throwExceptionIfMissing - whether to throw an exception if no Paranamer data found (versus return null).
        Returns:
        A list of the parameter names.
      • getClassAsStream

        private java.io.InputStream getClassAsStream​(java.lang.Class<?> clazz)
      • getClassAsStream

        private java.io.InputStream getClassAsStream​(java.lang.ClassLoader classLoader,
                                                     java.lang.String className)