public abstract class ConstantReference extends CPInfo
| Modifier and Type | Field and Description |
|---|---|
protected int |
classIndex
class_index field.
|
protected int |
nameAndTypeIndex
name_and_type_index field.
|
static int |
SIZE
Length of the constant pool data structure in bytes.
|
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_VERBOSEclassFile, debug, SYSTEM_PROPERTY_DEBUG| Constructor and Description |
|---|
ConstantReference() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object object) |
int |
getClassIndex()
Get the index of the constant pool entry containing the
CONSTANT_Class_info of this entry.
|
ConstantClassInfo |
getClassInfo()
Get the class info for this reference.
|
int |
getNameAndTypeIndex()
Get the index of the constant pool entry containing the
CONSTANT_NameAndType_info of this entry.
|
ConstantNameAndTypeInfo |
getNameAndTypeInfo()
Get the name and type info for this reference.
|
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 |
setClassIndex(int classIndex)
Set the index of the constant pool entry containing the
CONSTANT_Class_info of this entry.
|
void |
setNameAndTypeIndex(int nameAndTypeIndex)
Set the index of the constant pool entry containing the
CONSTANT_NameAndType_info of this entry.
|
void |
write(java.io.DataOutput out)
Write this structure to the given DataOutput.
|
create, getTag, getTagVerbose, printAccessFlagsVerbose, skipdebug, getClassFile, getDebug, getLength, printAccessFlags, printAccessFlagsVerbose, printBytes, setClassFile, setDebugpublic static final int SIZE
protected int classIndex
protected int nameAndTypeIndex
public java.lang.String getVerbose()
throws InvalidByteCodeException
CPInfogetVerbose in class CPInfoInvalidByteCodeException - if the byte code is invalidpublic int getClassIndex()
public void setClassIndex(int classIndex)
classIndex - the indexpublic int getNameAndTypeIndex()
public void setNameAndTypeIndex(int nameAndTypeIndex)
nameAndTypeIndex - the indexpublic ConstantClassInfo getClassInfo() throws InvalidByteCodeException
InvalidByteCodeExceptionpublic ConstantNameAndTypeInfo getNameAndTypeInfo() throws InvalidByteCodeException
InvalidByteCodeExceptionpublic 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 DataOutput