Package serp.bytecode.lowlevel
Class ComplexEntry
java.lang.Object
serp.bytecode.lowlevel.Entry
serp.bytecode.lowlevel.ComplexEntry
- All Implemented Interfaces:
VisitAcceptor
- Direct Known Subclasses:
FieldEntry
,InterfaceMethodEntry
,MethodEntry
Base class for field, method, and interface method constant pool
entries. All complex entries reference the
ClassEntry
of the
class that owns the entity and a NameAndTypeEntry
describing
the entity.-
Field Summary
FieldsFields inherited from class serp.bytecode.lowlevel.Entry
CLASS, DOUBLE, FIELD, FLOAT, INT, INTERFACEMETHOD, INVOKEDYNAMIC, LONG, METHOD, METHODHANDLE, METHODTYPE, NAMEANDTYPE, STRING, UTF8
-
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.ComplexEntry
(int classIndex, int nameAndTypeIndex) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionReturn the referencedClassEntry
.int
Return the constant pool index of theClassEntry
describing the owning class of this entity.Return the referencedNameAndTypeEntry
.int
Return the constant pool index of theNameAndTypeEntry
describing this entity.(package private) void
This method is called after reading the entry type from bytecode.void
setClassIndex
(int classIndex) Set the constant pool index of theClassEntry
describing the owning class of this entity.void
setNameAndTypeIndex
(int nameAndTypeIndex) Set the constant pool index of theNameAndTypeEntry
describing this entity.(package private) void
writeData
(DataOutput out) This method is called after writing the entry type to bytecode.Methods inherited from class serp.bytecode.lowlevel.Entry
afterModify, beforeModify, create, getIndex, getPool, getType, isWide, read, setIndex, setPool, write
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface serp.bytecode.visitor.VisitAcceptor
acceptVisit
-
Field Details
-
_classIndex
private int _classIndex -
_nameAndTypeIndex
private int _nameAndTypeIndex
-
-
Constructor Details
-
ComplexEntry
public ComplexEntry()Default constructor. -
ComplexEntry
public ComplexEntry(int classIndex, int nameAndTypeIndex) Constructor.- Parameters:
classIndex
- the constant pool index of theClassEntry
describing the owner of this entitynameAndTypeIndex
- the constant pool index of theNameAndTypeEntry
describing this entity
-
-
Method Details
-
getClassIndex
public int getClassIndex()Return the constant pool index of theClassEntry
describing the owning class of this entity. Defaults to 0. -
setClassIndex
public void setClassIndex(int classIndex) Set the constant pool index of theClassEntry
describing the owning class of this entity. -
getClassEntry
Return the referencedClassEntry
. This method can only be run for entries that have been added to a constant pool. -
getNameAndTypeIndex
public int getNameAndTypeIndex()Return the constant pool index of theNameAndTypeEntry
describing this entity. -
setNameAndTypeIndex
public void setNameAndTypeIndex(int nameAndTypeIndex) Set the constant pool index of theNameAndTypeEntry
describing this entity. -
getNameAndTypeEntry
Return the referencedNameAndTypeEntry
. This method can only be run for entries that have been added to a constant pool. -
readData
Description copied from class:Entry
This method is called after reading the entry type from bytecode. It should read all the data for this entry from the given stream.- Specified by:
readData
in classEntry
- Throws:
IOException
-
writeData
Description copied from class:Entry
This method is called after writing the entry type to bytecode. It should write all data for this entry to the given stream.- Specified by:
writeData
in classEntry
- Throws:
IOException
-