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
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
FieldsModifier and TypeFieldDescriptionprivate static BCELComparator
<Method> static final Method[]
Empty array constant.(package private) static final Method[]
Empty array.private ParameterAnnotationEntry[]
Annotations defined on the parameters of a method.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
ConstructorsConstructorDescriptionMethod()
Empty constructor, all attributes have to be defined via 'setXXX' methods.Method
(int accessFlags, int nameIndex, int signatureIndex, Attribute[] attributes, ConstantPool constantPool) Method
(DataInput file, ConstantPool constantPool) Constructs object from file stream.Initialize from another object. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.copy
(ConstantPool constantPool) boolean
Return value as defined by given BCELComparator strategy.Type[]
getCode()
static BCELComparator
<Method> int
hashCode()
Return value as defined by given BCELComparator strategy.static void
setComparator
(BCELComparator<Method> comparator) 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
-
Field Details
-
EMPTY_ARRAY
Empty array constant.- Since:
- 6.6.0
-
bcelComparator
-
EMPTY_METHOD_ARRAY
Empty array. -
parameterAnnotationEntries
Annotations defined on the parameters of a method.
-
-
Constructor Details
-
Method
public Method()Empty constructor, all attributes have to be defined via 'setXXX' methods. Use at your own risk. -
Method
Method(DataInput file, ConstantPool constantPool) throws IOException, ClassFormatException Constructs object from file stream.- Parameters:
file
- Input stream- Throws:
IOException
- if an I/O error occurs.ClassFormatException
- if a class is malformed or cannot be interpreted as a class file
-
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
Initialize from another object. Note that both objects use the same references (shallow copy). Use clone() for a physical copy.- Parameters:
c
- Source to copy.
-
-
Method Details
-
getComparator
- Returns:
- Comparison strategy object.
-
setComparator
- Parameters:
comparator
- Comparison strategy object.
-
accept
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
- Returns:
- deep copy of this method
-
equals
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. -
getArgumentTypes
- Returns:
- array of method argument types
-
getCode
- Returns:
- Code attribute of method, if any
-
getExceptionTable
- Returns:
- ExceptionTable attribute of method, if any, i.e., list all exceptions the method may throw not exception handlers!
-
getLineNumberTable
- Returns:
- LineNumberTable of code attribute if any, i.e. the call is forwarded to the Code atribute.
-
getLocalVariableTable
- Returns:
- LocalVariableTable of code attribute if any, i.e. the call is forwarded to the Code atribute.
-
getParameterAnnotationEntries
- Returns:
- Annotations on the parameters of a method
- Since:
- 6.0
-
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. -
toString
Return string representation close to declaration format, 'public static void main(String[] args) throws IOException', e.g.
-