edu.umd.cs.findbugs.ba

Class SignatureConverter

public class SignatureConverter extends Object

Convert part or all of a Java type signature into something closer to what types look like in the source code. Both field and method signatures may be processed by this class. For a field signature, just call parseNext() once. For a method signature, parseNext() must be called multiple times, and the parens around the arguments must be skipped manually (by calling the skip() method).

Author: David Hovemeyer

Constructor Summary
SignatureConverter(String signature)
Constructor.
Method Summary
static Stringconvert(String signature)
Convenience method for converting a single signature component to human-readable form.
static StringconvertMethodSignature(JavaClass javaClass, Method method)
Convenience method for generating a method signature in human readable form.
static StringconvertMethodSignature(MethodGen methodGen)
Convenience method for generating a method signature in human readable form.
static StringconvertMethodSignature(InvokeInstruction inv, ConstantPoolGen cpg)
Convenience method for generating a method signature in human readable form.
static StringconvertMethodSignature(String className, String methodName, String methodSig)
Convenience method for generating a method signature in human readable form.
static StringconvertMethodSignature(XMethod xmethod)
Convenience method for generating a method signature in human readable form.
static StringconvertMethodSignature(String className, String methodName, String methodSig, String pkgName)
Convenience method for generating a method signature in human readable form.
chargetFirst()
Get the first character of the remaining part of the signature.
StringparseNext()
Parse a single type out of the signature, starting at the beginning of the remaining part of the signature.
static Stringshorten(String pkgName, String typeName)
voidskip()
Skip the first character of the remaining part of the signature.

Constructor Detail

SignatureConverter

public SignatureConverter(String signature)
Constructor.

Parameters: signature the field or method signature to convert

Method Detail

convert

public static String convert(String signature)
Convenience method for converting a single signature component to human-readable form.

Parameters: signature the signature

convertMethodSignature

public static String convertMethodSignature(JavaClass javaClass, Method method)
Convenience method for generating a method signature in human readable form.

Parameters: javaClass the class method the method

convertMethodSignature

public static String convertMethodSignature(MethodGen methodGen)
Convenience method for generating a method signature in human readable form.

Parameters: methodGen the method to produce a method signature for

convertMethodSignature

public static String convertMethodSignature(InvokeInstruction inv, ConstantPoolGen cpg)
Convenience method for generating a method signature in human readable form.

Parameters: inv an InvokeInstruction cpg the ConstantPoolGen for the class the instruction belongs to

convertMethodSignature

public static String convertMethodSignature(String className, String methodName, String methodSig)
Convenience method for generating a method signature in human readable form.

Parameters: className name of the class containing the method methodName the name of the method methodSig the signature of the method

convertMethodSignature

public static String convertMethodSignature(XMethod xmethod)
Convenience method for generating a method signature in human readable form.

Parameters: xmethod an XMethod

Returns: the formatted version of that signature

convertMethodSignature

public static String convertMethodSignature(String className, String methodName, String methodSig, String pkgName)
Convenience method for generating a method signature in human readable form.

Parameters: className name of the class containing the method methodName the name of the method methodSig the signature of the method pkgName the name of the package the method is in (used to shorten class names)

getFirst

public char getFirst()
Get the first character of the remaining part of the signature.

parseNext

public String parseNext()
Parse a single type out of the signature, starting at the beginning of the remaining part of the signature. For example, if the first character of the remaining part is "I", then this method will return "int", and the "I" will be consumed. Arrays, reference types, and basic types are all handled.

Returns: the parsed type string

shorten

public static String shorten(String pkgName, String typeName)

skip

public void skip()
Skip the first character of the remaining part of the signature.
FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.