public class CodeAttribute extends AttributeInfo
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
ATTRIBUTE_NAME
Name of the attribute as in the corresponding constant pool entry.
|
SYSTEM_PROPERTY_SKIP_ATTRIBUTESattributesclassFile, debug, SYSTEM_PROPERTY_DEBUG| Constructor and Description |
|---|
CodeAttribute() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
debug(java.lang.String message)
Utility method for derived structures.
|
int |
getAttributeLength()
Get the length of this attribute as a number of bytes.
|
byte[] |
getCode()
Get the code of this code attribute as an array of bytes .
|
ExceptionTableEntry[] |
getExceptionTable()
Get the exception table of this code attribute as an array of
ExceptionTableEntry elements.
|
int |
getMaxLocals()
Get the maximum number of local variables of this code attribute.
|
int |
getMaxStack()
Get the maximum stack depth of this code attribute.
|
void |
read(java.io.DataInput in)
Read this structure from the given DataInput.
|
void |
setCode(byte[] code)
Set the code of this code attribute as an array of bytes .
|
void |
setExceptionTable(ExceptionTableEntry[] exceptionTable)
Set the exception table of this code attribute as an array of
ExceptionTableEntry elements.
|
void |
setMaxLocals(int maxLocals)
Set the maximum number of local variables of this code attribute.
|
void |
setMaxStack(int maxStack)
Set the maximum stack depth of this code attribute.
|
void |
write(java.io.DataOutput out)
Write this structure to the given DataOutput.
|
createOrSkip, getAttributeNameIndex, getInfo, getName, printAccessFlagsVerbose, setAttributeNameIndex, setInfofindAttribute, getAttributes, getTotalAttributesLength, readAttributes, setAttributes, writeAttributesgetClassFile, getDebug, getLength, printAccessFlags, printAccessFlagsVerbose, printBytes, setClassFile, setDebugpublic static final java.lang.String ATTRIBUTE_NAME
public int getMaxStack()
public void setMaxStack(int maxStack)
maxStack - the stack depthpublic int getMaxLocals()
public void setMaxLocals(int maxLocals)
maxLocals - the maximum numberpublic byte[] getCode()
public void setCode(byte[] code)
code - the arraypublic ExceptionTableEntry[] getExceptionTable()
public void setExceptionTable(ExceptionTableEntry[] exceptionTable)
exceptionTable - the arraypublic 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 AttributeInfoin - 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 AttributeInfoout - the DataOutput to which to writeInvalidByteCodeException - if the structure is internally inconsistentjava.io.IOException - if an exception occurs with the DataOutputpublic int getAttributeLength()
AttributeInfogetAttributeLength in class AttributeInfoprotected void debug(java.lang.String message)
AbstractStructuredebug in class AbstractStructuremessage - the debug message