Package edu.umd.cs.findbugs.ba
Class SignatureParser
- java.lang.Object
-
- edu.umd.cs.findbugs.ba.SignatureParser
-
public class SignatureParser extends java.lang.ObjectA simple class to parse method signatures.- Author:
- David Hovemeyer
-
-
Constructor Summary
Constructors Constructor Description SignatureParser(java.lang.String signature)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String[]getArguments()intgetNumParameters()Get the number of parameters in the signature.static intgetNumParametersForInvocation(org.apache.bcel.generic.InvokeInstruction inv, org.apache.bcel.generic.ConstantPoolGen cpg)Get the number of parameters passed to method invocation.static intgetNumSlotsForType(java.lang.String sig)Return how many stack frame slots a type whose signature is given will occupy.java.lang.StringgetParameter(int pos)java.lang.StringgetReturnTypeSignature()Get the method return type signature.intgetSlotsFromTopOfStackForParameter(int paramNum)intgetTotalArgumentSize()booleanhasReferenceParameters()static booleanisReferenceType(java.lang.String signature)Determine whether or not given signature denotes a reference type.static voidmain(java.lang.String[] args)java.util.Iterator<java.lang.String>parameterSignatureIterator()Get an Iterator over signatures of the method parameters.java.lang.Iterable<java.lang.String>parameterSignatures()java.lang.StringtoString()
-
-
-
Method Detail
-
getTotalArgumentSize
public int getTotalArgumentSize()
-
getSlotsFromTopOfStackForParameter
public int getSlotsFromTopOfStackForParameter(int paramNum)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getArguments
public java.lang.String[] getArguments()
-
parameterSignatureIterator
public java.util.Iterator<java.lang.String> parameterSignatureIterator()
Get an Iterator over signatures of the method parameters.- Returns:
- Iterator which returns the parameter type signatures in order
-
parameterSignatures
public java.lang.Iterable<java.lang.String> parameterSignatures()
-
getReturnTypeSignature
public java.lang.String getReturnTypeSignature()
Get the method return type signature.- Returns:
- the method return type signature
-
getNumParameters
public int getNumParameters()
Get the number of parameters in the signature.- Returns:
- the number of parameters
-
hasReferenceParameters
public boolean hasReferenceParameters()
-
getParameter
public java.lang.String getParameter(int pos)
-
isReferenceType
public static boolean isReferenceType(java.lang.String signature)
Determine whether or not given signature denotes a reference type.- Parameters:
signature- a signature- Returns:
- true if signature denotes a reference type, false otherwise
-
getNumParametersForInvocation
public static int getNumParametersForInvocation(org.apache.bcel.generic.InvokeInstruction inv, org.apache.bcel.generic.ConstantPoolGen cpg)Get the number of parameters passed to method invocation.- Parameters:
inv-cpg-- Returns:
- int number of parameters
-
getNumSlotsForType
public static int getNumSlotsForType(java.lang.String sig)
Return how many stack frame slots a type whose signature is given will occupy. long and double values take 2 slots, while all other kinds of values take 1 slot.- Parameters:
sig- a type signature- Returns:
- number of stack frame slots a value of the given type will occupy
-
main
public static void main(java.lang.String[] args)
-
-