public class ExceptionTableEntry extends AbstractStructure
| Modifier and Type | Field and Description |
|---|---|
static int |
LENGTH
Length in bytes of an exception table entry.
|
classFile, debug, SYSTEM_PROPERTY_DEBUG| Constructor and Description |
|---|
ExceptionTableEntry()
Constructor.
|
ExceptionTableEntry(int startPc,
int endPc,
int handlerPc,
int catchType)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
static ExceptionTableEntry |
create(java.io.DataInput in,
ClassFile classFile)
Factory method for creating ExceptionTableEntry structures.
|
protected void |
debug(java.lang.String message)
Utility method for derived structures.
|
int |
getCatchType()
Get the constant pool index for the catch type of this exception table entry.
|
int |
getEndPc()
Get the end_pc of this exception table entry.
|
int |
getHandlerPc()
Get the handler_pc of this exception table entry.
|
int |
getStartPc()
Get the start_pc of this exception table entry.
|
protected java.lang.String |
printAccessFlagsVerbose(int accessFlags)
Utility method for derived structures.
|
void |
read(java.io.DataInput in)
Read this structure from the given DataInput.
|
void |
setCatchType(int catchType)
Set the constant pool index for the catch type of this exception table entry.
|
void |
setEndPc(int endPc)
Set the end_pc of this exception table entry.
|
void |
setHandlerPc(int handlerPc)
Set the handler_pc of this exception table entry.
|
void |
setStartPc(int startPc)
Set the start_pc of this exception table entry.
|
void |
write(java.io.DataOutput out)
Write this structure to the given DataOutput.
|
getClassFile, getDebug, getLength, printAccessFlags, printAccessFlagsVerbose, printBytes, setClassFile, setDebugpublic static final int LENGTH
public ExceptionTableEntry()
public ExceptionTableEntry(int startPc,
int endPc,
int handlerPc,
int catchType)
startPc - the start_pcendPc - the end_pchandlerPc - the handler_pccatchType - the constant pool index for the catch type of this exception table entrypublic static ExceptionTableEntry create(java.io.DataInput in, ClassFile classFile) throws InvalidByteCodeException, java.io.IOException
in - the DataInput from which to read the
ExceptionTableEntry structureclassFile - the parent class file of the structure to be createdInvalidByteCodeException - if the byte code is invalidjava.io.IOException - if an exception occurs with the DataInputpublic int getStartPc()
public void setStartPc(int startPc)
startPc - the start_pcpublic int getEndPc()
public void setEndPc(int endPc)
endPc - the end_pcpublic int getHandlerPc()
public void setHandlerPc(int handlerPc)
handlerPc - the handler_pcpublic int getCatchType()
public void setCatchType(int catchType)
catchType - the indexpublic void read(java.io.DataInput in)
throws InvalidByteCodeException,
java.io.IOException
AbstractStructureExcpects 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.
read in class AbstractStructurein - the DataInput from which to readInvalidByteCodeException - if the byte code is invalidjava.io.IOException - if an exception occurs with the DataInputpublic void write(java.io.DataOutput out)
throws InvalidByteCodeException,
java.io.IOException
AbstractStructureThe written bytes are in JVM class file format.
write in class AbstractStructureout - the DataOutput to which to writeInvalidByteCodeException - if the structure is internally inconsistentjava.io.IOException - if an exception occurs with the DataOutputprotected void debug(java.lang.String message)
AbstractStructuredebug in class AbstractStructuremessage - the debug messageprotected java.lang.String printAccessFlagsVerbose(int accessFlags)
AbstractStructureprintAccessFlagsVerbose in class AbstractStructureaccessFlags - the unsigned short value to print as a hex string