## 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:
  Serializable, 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.

Version:
  $Id: Method.java 386056 2006-03-15 11:31:56Z tcurdt $
See Also:
  Serialized Form

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
`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
`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(Object obj)` Return value as defined by given BCELComparator strategy.
`Type[]` `getArgumentTypes()`
`Code` `getCode()`
`static BCELComparator` `getComparator()`
`ExceptionTable` `getExceptionTable()`
`LineNumberTable` `getLineNumberTable()`
`LocalVariableTable` `getLocalVariableTable()`
`Type` `getReturnType()`
`int` `hashCode()` Return value as defined by given BCELComparator strategy.
`static void` `setComparator(BCELComparator comparator)`
`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, getAttributes, getConstantPool, 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, isVolatile, isVolatile, setAccessFlags, setModifiers`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

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 method
  `name_index` - Points to field name in constant pool
  `signature_index` - Points to encoded signature
  `attributes` - Collection of attributes
  `constant_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 final Code getCode()

  Returns:
    Code attribute of method, if any

### getExceptionTable

    public final ExceptionTable getExceptionTable()

  Returns:
    ExceptionTable attribute of method, if any, i.e., list all exceptions the method may throw not exception handlers!

### getLocalVariableTable

    public final LocalVariableTable getLocalVariableTable()

  Returns:
    LocalVariableTable of code attribute if any, i.e. the call is forwarded to the Code atribute.

### getLineNumberTable

    public final LineNumberTable getLineNumberTable()

  Returns:
    LineNumberTable of code attribute if any, i.e. the call is forwarded to the Code atribute.

### toString

    public final String toString()

  Return string representation close to declaration format, `public static void main(String[] args) throws IOException', e.g.

  Overrides:
    `toString` in class `Object`
  Returns:
    String representation of the method.

### copy

    public final 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(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 class `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 class `Object`
  See Also:
    `Object.hashCode()`

Copyright © 2002-2006 Apache Software Foundation. All Rights Reserved.