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.intReturn the constant pool index of theClassEntrydescribing the owning class of this entity.Return the referencedNameAndTypeEntry.intReturn the constant pool index of theNameAndTypeEntrydescribing this entity.(package private) voidThis method is called after reading the entry type from bytecode.voidsetClassIndex(int classIndex) Set the constant pool index of theClassEntrydescribing the owning class of this entity.voidsetNameAndTypeIndex(int nameAndTypeIndex) Set the constant pool index of theNameAndTypeEntrydescribing this entity.(package private) voidwriteData(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, writeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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 theClassEntrydescribing the owner of this entitynameAndTypeIndex- the constant pool index of theNameAndTypeEntrydescribing this entity
-
-
Method Details
-
getClassIndex
public int getClassIndex()Return the constant pool index of theClassEntrydescribing the owning class of this entity. Defaults to 0. -
setClassIndex
public void setClassIndex(int classIndex) Set the constant pool index of theClassEntrydescribing 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 theNameAndTypeEntrydescribing this entity. -
setNameAndTypeIndex
public void setNameAndTypeIndex(int nameAndTypeIndex) Set the constant pool index of theNameAndTypeEntrydescribing 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:EntryThis 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:
readDatain classEntry- Throws:
IOException
-
writeData
Description copied from class:EntryThis method is called after writing the entry type to bytecode. It should write all data for this entry to the given stream.- Specified by:
writeDatain classEntry- Throws:
IOException
-