ej-technologies

org.gjt.jclasslib.structures
Class MethodInfo

java.lang.Object
  extended byorg.gjt.jclasslib.structures.AbstractStructure
      extended byorg.gjt.jclasslib.structures.AbstractStructureWithAttributes
          extended byorg.gjt.jclasslib.structures.ClassMember
              extended byorg.gjt.jclasslib.structures.MethodInfo
All Implemented Interfaces:
AccessFlags

public class MethodInfo
extends ClassMember

Describes a method in a ClassFile structure.

Version:
$Revision: 1.3 $ $Date: 2004/12/28 13:04:32 $
Author:
Ingo Kegel, Vitor Carreira

Field Summary
 
Fields inherited from class org.gjt.jclasslib.structures.ClassMember
accessFlags, descriptorIndex, nameIndex
 
Fields inherited from class org.gjt.jclasslib.structures.AbstractStructureWithAttributes
attributes
 
Fields inherited from class org.gjt.jclasslib.structures.AbstractStructure
classFile, debug, SYSTEM_PROPERTY_DEBUG
 
Fields inherited from interface org.gjt.jclasslib.structures.AccessFlags
ACC_ABSTRACT, ACC_ABSTRACT_VERBOSE, ACC_ANNOTATION, ACC_ANNOTATION_VERBOSE, ACC_BRIDGE, ACC_BRIDGE_VERBOSE, ACC_ENUM, ACC_ENUM_VERBOSE, ACC_FINAL, ACC_FINAL_VERBOSE, ACC_INTERFACE, ACC_INTERFACE_VERBOSE, ACC_NATIVE, ACC_NATIVE_VERBOSE, ACC_PRIVATE, ACC_PRIVATE_VERBOSE, ACC_PROTECTED, ACC_PROTECTED_VERBOSE, ACC_PUBLIC, ACC_PUBLIC_VERBOSE, ACC_STATIC, ACC_STATIC_VERBOSE, ACC_STRICT, ACC_STRICT_VERBOSE, ACC_SUPER, ACC_SUPER_VERBOSE, ACC_SYNCHRONIZED, ACC_SYNCHRONIZED_VERBOSE, ACC_SYNTHETIC, ACC_SYNTHETIC_VERBOSE, ACC_TRANSIENT, ACC_TRANSIENT_VERBOSE, ACC_VARARGS, ACC_VARARGS_VERBOSE, ACC_VOLATILE, ACC_VOLATILE_VERBOSE, CLASS_ACCESS_FLAGS, CLASS_ACCESS_FLAGS_VERBOSE, FIELD_ACCESS_FLAGS, FIELD_ACCESS_FLAGS_VERBOSE, INNER_CLASS_ACCESS_FLAGS, INNER_CLASS_ACCESS_FLAGS_VERBOSE, METHOD_ACCESS_FLAGS, METHOD_ACCESS_FLAGS_VERBOSE
 
Constructor Summary
MethodInfo()
           
 
Method Summary
static MethodInfo create(DataInput in, ClassFile classFile)
          Factory method for creating MethodInfo structures from a DataInput.
protected  void debug(String message)
          Utility method for derived structures.
protected  String printAccessFlagsVerbose(int accessFlags)
          Utility method for derived structures.
 void read(DataInput in)
          Read this structure from the given DataInput.
 void write(DataOutput out)
          Write this structure to the given DataOutput.
 
Methods inherited from class org.gjt.jclasslib.structures.ClassMember
getAccessFlags, getAccessFlagsVerbose, getDescriptor, getDescriptorIndex, getFormattedAccessFlags, getName, getNameIndex, setAccessFlags, setDescriptorIndex, setNameIndex
 
Methods inherited from class org.gjt.jclasslib.structures.AbstractStructureWithAttributes
findAttribute, getAttributes, getTotalAttributesLength, readAttributes, setAttributes, writeAttributes
 
Methods inherited from class org.gjt.jclasslib.structures.AbstractStructure
getClassFile, getDebug, getLength, printAccessFlags, printAccessFlagsVerbose, printBytes, setClassFile, setDebug
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MethodInfo

public MethodInfo()
Method Detail

create

public static MethodInfo create(DataInput in,
                                ClassFile classFile)
                         throws InvalidByteCodeException,
                                IOException
Factory method for creating MethodInfo structures from a DataInput.

Parameters:
in - the DataInput from which to read the MethodInfo structure
classFile - the parent class file of the structure to be created
Returns:
the new MethodInfo structure
Throws:
InvalidByteCodeException - if the byte code is invalid
IOException - if an exception occurs with the DataInput

read

public void read(DataInput in)
          throws InvalidByteCodeException,
                 IOException
Description copied from class: AbstractStructure
Read this structure from the given DataInput.

Excpects DataInput to be in JVM class file format and just before a structure of this kind. No look ahead parsing since the class file format is deterministic.

Overrides:
read in class ClassMember
Throws:
InvalidByteCodeException
IOException

write

public void write(DataOutput out)
           throws InvalidByteCodeException,
                  IOException
Description copied from class: AbstractStructure
Write this structure to the given DataOutput.

The written bytes are in JVM class file format.

Overrides:
write in class ClassMember
Throws:
InvalidByteCodeException
IOException

debug

protected void debug(String message)
Description copied from class: AbstractStructure
Utility method for derived structures. Dump a specific debug message.

Overrides:
debug in class AbstractStructure
Parameters:
message - the debug message

printAccessFlagsVerbose

protected String printAccessFlagsVerbose(int accessFlags)
Description copied from class: AbstractStructure
Utility method for derived structures. Print an access flag as a space separated list of verbose java access modifiers.

Specified by:
printAccessFlagsVerbose in class AbstractStructure
Parameters:
accessFlags - the unsigned short value to print as a hex string
Returns:
the hex string

ej-technologies