public class ConstantMethodHandleInfo extends CPInfo
Modifier and Type | Field and Description |
---|---|
static int |
SIZE
Length of the constant pool data structure in bytes.
|
static int |
TYPE_GET_FIELD |
static int |
TYPE_GET_STATIC |
static int |
TYPE_INVOKE_INTERFACE |
static int |
TYPE_INVOKE_SPECIAL |
static int |
TYPE_INVOKE_STATIC |
static int |
TYPE_INVOKE_VIRTUAL |
static int |
TYPE_NEW_INVOKE_SPECIAL |
static int |
TYPE_PUT_FIELD |
static int |
TYPE_PUT_STATIC |
CONSTANT_CLASS, CONSTANT_CLASS_VERBOSE, CONSTANT_DOUBLE, CONSTANT_DOUBLE_VERBOSE, CONSTANT_FIELDREF, CONSTANT_FIELDREF_VERBOSE, CONSTANT_FLOAT, CONSTANT_FLOAT_VERBOSE, CONSTANT_INTEGER, CONSTANT_INTEGER_VERBOSE, CONSTANT_INTERFACE_METHODREF, CONSTANT_INTERFACE_METHODREF_VERBOSE, CONSTANT_LONG, CONSTANT_LONG_VERBOSE, CONSTANT_METHOD_HANDLE, CONSTANT_METHOD_HANDLE_VERBOSE, CONSTANT_METHOD_TYPE, CONSTANT_METHOD_TYPE_VERBOSE, CONSTANT_METHODREF, CONSTANT_METHODREF_VERBOSE, CONSTANT_NAME_AND_TYPE, CONSTANT_NAME_AND_TYPE_VERBOSE, CONSTANT_STRING, CONSTANT_STRING_VERBOSE, CONSTANT_UTF8, CONSTANT_UTF8_VERBOSE
classFile, debug, SYSTEM_PROPERTY_DEBUG
Constructor and Description |
---|
ConstantMethodHandleInfo() |
Modifier and Type | Method and Description |
---|---|
protected void |
debug(java.lang.String message)
Utility method for derived structures.
|
boolean |
equals(java.lang.Object object) |
java.lang.String |
getName()
Get the descriptor.
|
int |
getReferenceIndex()
Get the index of the constant pool entry containing the reference.
|
byte |
getTag()
Get the value of the tag field of the cp_info structure.
|
java.lang.String |
getTagVerbose()
Get the verbose description of the tag field of the
cp_info structure.
|
int |
getType() |
java.lang.String |
getVerbose()
Get the verbose description of the content of the constant pool entry.
|
int |
hashCode() |
void |
read(java.io.DataInput in)
Read this structure from the given DataInput.
|
void |
setReferenceIndex(int referenceIndex)
Set the index of the constant pool entry containing the reference.
|
void |
setType(int type) |
void |
write(java.io.DataOutput out)
Write this structure to the given DataOutput.
|
create, printAccessFlagsVerbose, skip
getClassFile, getDebug, getLength, printAccessFlags, printAccessFlagsVerbose, printBytes, setClassFile, setDebug
public static final int SIZE
public static final int TYPE_GET_FIELD
public static final int TYPE_GET_STATIC
public static final int TYPE_PUT_FIELD
public static final int TYPE_PUT_STATIC
public static final int TYPE_INVOKE_VIRTUAL
public static final int TYPE_INVOKE_STATIC
public static final int TYPE_INVOKE_SPECIAL
public static final int TYPE_NEW_INVOKE_SPECIAL
public static final int TYPE_INVOKE_INTERFACE
public byte getTag()
CPInfo
public java.lang.String getTagVerbose()
CPInfo
getTagVerbose
in class CPInfo
public java.lang.String getVerbose() throws InvalidByteCodeException
CPInfo
getVerbose
in class CPInfo
InvalidByteCodeException
- if the byte code is invalidpublic int getReferenceIndex()
public void setReferenceIndex(int referenceIndex)
referenceIndex
- the indexpublic int getType()
public void setType(int type)
public java.lang.String getName() throws InvalidByteCodeException
InvalidByteCodeException
- if the byte code is invalidpublic void read(java.io.DataInput in) throws InvalidByteCodeException, java.io.IOException
AbstractStructure
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.
read
in class AbstractStructure
in
- 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
AbstractStructure
The written bytes are in JVM class file format.
write
in class AbstractStructure
out
- 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)
AbstractStructure
debug
in class AbstractStructure
message
- the debug message