Package com.thoughtworks.paranamer
Class BytecodeReadingParanamer
- java.lang.Object
-
- com.thoughtworks.paranamer.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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
BytecodeReadingParanamer.ClassReader
A Java class parser to make a Class Visitor visit an existing class.private static class
BytecodeReadingParanamer.MethodCollector
Objects of this class collects information from a specific method.private static class
BytecodeReadingParanamer.Type
A Java type.private static class
BytecodeReadingParanamer.TypeCollector
The type collector waits for an specific method in order to start a method collector.
-
Field Summary
Fields Modifier and Type Field Description private static java.util.Map<java.lang.String,java.lang.String>
primitives
-
Fields inherited from interface com.thoughtworks.paranamer.Paranamer
EMPTY_NAMES
-
-
Constructor Summary
Constructors Constructor Description BytecodeReadingParanamer()
-
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.
-
-
-
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 interfaceParanamer
- Parameters:
methodOrConstructor
- theMethod
orConstructor
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 interfaceParanamer
- Parameters:
methodOrCtor
- theMethod
orConstructor
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)
-
-