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 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 access_flags, int name_index, int signature_index, Attribute[] attributes, ConstantPool constant_pool)
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 implicitely defined by the contents of a Java class.Method
copy(ConstantPool _constant_pool)
boolean
equals(java.lang.Object obj)
Return value as defined by given BCELComparator strategy.Type[]
getArgumentTypes()
Code
getCode()
static BCELComparator
getComparator()
ExceptionTable
getExceptionTable()
LineNumberTable
getLineNumberTable()
LocalVariableTable
getLocalVariableTable()
ParameterAnnotationEntry[]
getParameterAnnotationEntries()
Type
getReturnType()
int
hashCode()
Return value as defined by given BCELComparator strategy.static void
setComparator(BCELComparator 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, 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
-
-
-
-
Constructor Detail
-
Method
public Method()
Empty constructor, all attributes have to be defined via `setXXX' methods. Use at your own risk.
-
Method
public Method(Method c)
Initialize from another object. Note that both objects use the same references (shallow copy). Use clone() for a physical copy.
-
Method
public Method(int access_flags, int name_index, int signature_index, Attribute[] attributes, ConstantPool constant_pool)
- Parameters:
access_flags
- Access rights of methodname_index
- Points to field name in constant poolsignature_index
- Points to encoded signatureattributes
- Collection of attributesconstant_pool
- Array of constants
-
-
Method Detail
-
accept
public void accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitely 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
-
getCode
public Code getCode()
- Returns:
- Code attribute of method, if any
-
getExceptionTable
public ExceptionTable getExceptionTable()
- Returns:
- ExceptionTable attribute of method, if any, i.e., list all exceptions the method may throw not exception handlers!
-
getLocalVariableTable
public LocalVariableTable getLocalVariableTable()
- Returns:
- LocalVariableTable of code attribute if any, i.e. the call is forwarded to the Code atribute.
-
getLineNumberTable
public LineNumberTable getLineNumberTable()
- Returns:
- LineNumberTable of code attribute if any, i.e. the call is forwarded to the Code atribute.
-
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.
-
copy
public Method copy(ConstantPool _constant_pool)
- Returns:
- deep copy of this method
-
getReturnType
public Type getReturnType()
- Returns:
- return type of method
-
getArgumentTypes
public Type[] getArgumentTypes()
- Returns:
- array of method argument types
-
getComparator
public static BCELComparator getComparator()
- Returns:
- Comparison strategy object
-
setComparator
public static void setComparator(BCELComparator comparator)
- Parameters:
comparator
- Comparison strategy object
-
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(java.lang.Object)
-
hashCode
public int hashCode()
Return value as defined by given BCELComparator strategy. By default return the hashcode of the method's name XOR signature.- Overrides:
hashCode
in classjava.lang.Object
- See Also:
Object.hashCode()
-
getParameterAnnotationEntries
public ParameterAnnotationEntry[] getParameterAnnotationEntries()
- Returns:
- Annotations on the parameters of a method
- Since:
- 6.0
-
-