Package org.apache.bcel.classfile
Class Method
- java.lang.Object
-
- org.apache.bcel.classfile.AccessFlags
-
- org.apache.bcel.classfile.FieldOrMethod
-
- org.apache.bcel.classfile.Method
-
- All Implemented Interfaces:
java.lang.Cloneable
,Node
public final class Method extends FieldOrMethod
This class represents the method info structure, i.e., the representation for a method in the class. See JVM specification for details. A method has access flags, a name, a signature and a number of attributes.
-
-
Field Summary
Fields Modifier and Type Field Description static Method[]
EMPTY_ARRAY
Empty array constant.-
Fields inherited from class org.apache.bcel.classfile.FieldOrMethod
attributes, attributes_count, constant_pool, name_index, signature_index
-
Fields inherited from class org.apache.bcel.classfile.AccessFlags
access_flags
-
-
Constructor Summary
Constructors Constructor Description Method()
Empty constructor, all attributes have to be defined via 'setXXX' methods.Method(int accessFlags, int nameIndex, int signatureIndex, Attribute[] attributes, ConstantPool constantPool)
Method(Method c)
Initialize from another object.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.Method
copy(ConstantPool constantPool)
boolean
equals(java.lang.Object obj)
Return value as defined by given BCELComparator strategy.Type[]
getArgumentTypes()
Code
getCode()
static BCELComparator<Method>
getComparator()
ExceptionTable
getExceptionTable()
LineNumberTable
getLineNumberTable()
LocalVariableTable
getLocalVariableTable()
LocalVariableTypeTable
getLocalVariableTypeTable()
Gets the local variable type table attributeLocalVariableTypeTable
.ParameterAnnotationEntry[]
getParameterAnnotationEntries()
Type
getReturnType()
int
hashCode()
Return value as defined by given BCELComparator strategy.static void
setComparator(BCELComparator<Method> comparator)
java.lang.String
toString()
Return string representation close to declaration format, 'public static void main(String[] args) throws IOException', e.g.-
Methods inherited from class org.apache.bcel.classfile.FieldOrMethod
copy_, dump, getAnnotationEntries, getAttribute, getAttributes, getConstantPool, getGenericSignature, getName, getNameIndex, getSignature, getSignatureIndex, setAttributes, setConstantPool, setNameIndex, setSignatureIndex
-
Methods inherited from class org.apache.bcel.classfile.AccessFlags
getAccessFlags, getModifiers, isAbstract, isAbstract, isAnnotation, isAnnotation, isEnum, isEnum, isFinal, isFinal, isInterface, isInterface, isNative, isNative, isPrivate, isPrivate, isProtected, isProtected, isPublic, isPublic, isStatic, isStatic, isStrictfp, isStrictfp, isSynchronized, isSynchronized, isSynthetic, isSynthetic, isTransient, isTransient, isVarArgs, isVarArgs, isVolatile, isVolatile, setAccessFlags, setModifiers
-
-
-
-
Field Detail
-
EMPTY_ARRAY
public static final Method[] EMPTY_ARRAY
Empty array constant.- Since:
- 6.6.0
-
-
Constructor Detail
-
Method
public Method()
Empty constructor, all attributes have to be defined via 'setXXX' methods. Use at your own risk.
-
Method
public Method(int accessFlags, int nameIndex, int signatureIndex, Attribute[] attributes, ConstantPool constantPool)
- Parameters:
accessFlags
- Access rights of methodnameIndex
- Points to field name in constant poolsignatureIndex
- Points to encoded signatureattributes
- Collection of attributesconstantPool
- Array of constants
-
-
Method Detail
-
getComparator
public static BCELComparator<Method> getComparator()
- Returns:
- Comparison strategy object.
-
setComparator
public static void setComparator(BCELComparator<Method> comparator)
- Parameters:
comparator
- Comparison strategy object.
-
accept
public void accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.- Parameters:
v
- Visitor object
-
copy
public Method copy(ConstantPool constantPool)
- Returns:
- deep copy of this method
-
equals
public boolean equals(java.lang.Object obj)
Return value as defined by given BCELComparator strategy. By default two method objects are said to be equal when their names and signatures are equal.- Overrides:
equals
in classjava.lang.Object
- See Also:
Object.equals(Object)
-
getArgumentTypes
public Type[] getArgumentTypes()
- Returns:
- array of method argument types
-
getExceptionTable
public ExceptionTable getExceptionTable()
- Returns:
- ExceptionTable attribute of method, if any, i.e., list all exceptions the method may throw not exception handlers!
-
getLineNumberTable
public LineNumberTable getLineNumberTable()
- Returns:
- LineNumberTable of code attribute if any, i.e. the call is forwarded to the Code atribute.
-
getLocalVariableTable
public LocalVariableTable getLocalVariableTable()
- Returns:
- LocalVariableTable of code attribute if any, i.e. the call is forwarded to the Code attribute.
-
getLocalVariableTypeTable
public LocalVariableTypeTable getLocalVariableTypeTable()
Gets the local variable type table attributeLocalVariableTypeTable
.- Returns:
- LocalVariableTypeTable of code attribute if any, i.e. the call is forwarded to the Code attribute.
- Since:
- 6.10.0
-
getParameterAnnotationEntries
public ParameterAnnotationEntry[] getParameterAnnotationEntries()
- Returns:
- Annotations on the parameters of a method
- Since:
- 6.0
-
getReturnType
public Type getReturnType()
- Returns:
- return type of method
-
hashCode
public int hashCode()
Return value as defined by given BCELComparator strategy. By default return the hash code of the method's name XOR signature.- Overrides:
hashCode
in classjava.lang.Object
- See Also:
Object.hashCode()
-
toString
public java.lang.String toString()
Return string representation close to declaration format, 'public static void main(String[] args) throws IOException', e.g.- Overrides:
toString
in classjava.lang.Object
- Returns:
- String representation of the method.
-
-