org.eclipse.jdt.core.util
Class ClassFileBytesDisassembler

java.lang.Object
  extended by org.eclipse.jdt.core.util.ClassFileBytesDisassembler
Direct Known Subclasses:
Disassembler

public abstract class ClassFileBytesDisassembler
extends java.lang.Object

This class is intended to be subclassed to disassemble classfile bytes onto a String using the proper line separator.

Since:
2.1

Field Summary
static int COMPACT
          This mode is used to compact the class name to a simple name instead of a qualified name.
static int DEFAULT
          The mode is the default mode to disassemble IClassFileReader.
static int DETAILED
          The mode is the detailed mode to disassemble IClassFileReader.
static int SYSTEM
          This mode corresponds to the detailed mode plus the constant pool contents and any further information that would be useful for debugging purpose.
static int WORKING_COPY
          This mode is used to retrive a pseudo code for working copy purpose.
 
Constructor Summary
ClassFileBytesDisassembler()
           
 
Method Summary
abstract  java.lang.String disassemble(byte[] classFileBytes, java.lang.String lineSeparator)
          Answers back the disassembled string of the classfile bytes using the default mode.
abstract  java.lang.String disassemble(byte[] classFileBytes, java.lang.String lineSeparator, int mode)
          Answers back the disassembled string of the classfile bytes according to the mode.
abstract  java.lang.String getDescription()
          Answers a readable short description of this disassembler
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DETAILED

public static final int DETAILED
The mode is the detailed mode to disassemble IClassFileReader. It returns the magic numbers, the version numbers and field and method descriptors.

See Also:
Constant Field Values

DEFAULT

public static final int DEFAULT
The mode is the default mode to disassemble IClassFileReader.

See Also:
Constant Field Values

SYSTEM

public static final int SYSTEM
This mode corresponds to the detailed mode plus the constant pool contents and any further information that would be useful for debugging purpose.

Since:
3.1
See Also:
Constant Field Values

COMPACT

public static final int COMPACT
This mode is used to compact the class name to a simple name instead of a qualified name.

Since:
3.1
See Also:
Constant Field Values

WORKING_COPY

public static final int WORKING_COPY
This mode is used to retrive a pseudo code for working copy purpose.

Since:
3.2
See Also:
Constant Field Values
Constructor Detail

ClassFileBytesDisassembler

public ClassFileBytesDisassembler()
Method Detail

disassemble

public abstract java.lang.String disassemble(byte[] classFileBytes,
                                             java.lang.String lineSeparator)
                                      throws ClassFormatException
Answers back the disassembled string of the classfile bytes using the default mode. This is an output quite similar to the javap tool, using DEFAULT mode.

Parameters:
classFileBytes - The bytes of the classfile
lineSeparator - the line separator to use.
Returns:
the disassembled string of the IClassFileReader using the default mode.
Throws:
ClassFormatException - if the classfile bytes are ill-formed

disassemble

public abstract java.lang.String disassemble(byte[] classFileBytes,
                                             java.lang.String lineSeparator,
                                             int mode)
                                      throws ClassFormatException
Answers back the disassembled string of the classfile bytes according to the mode. This is an output quite similar to the javap tool.

Parameters:
classFileBytes - The bytes of the classfile
lineSeparator - the line separator to use.
mode - the mode used to disassemble the IClassFileReader
Returns:
the disassembled string of the IClassFileReader according to the mode
Throws:
ClassFormatException - if the classfile bytes are ill-formed

getDescription

public abstract java.lang.String getDescription()
Answers a readable short description of this disassembler

Returns:
String - a string description of the disassembler