Package serp.bytecode.lowlevel
Class ClassEntry
java.lang.Object
serp.bytecode.lowlevel.Entry
serp.bytecode.lowlevel.ClassEntry
- All Implemented Interfaces:
ConstantEntry
,VisitAcceptor
A constant pool entry describing a class.
Class entries are used to refer to the current class, the superclass,
implemented interfaces, etc. Each class entry contains the constant pool
index of the
UTF8Entry
that stores the class name, which is
represented in internal form.-
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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
acceptVisit
(BCVisitor visit) Accept a visit from aBCVisitor
, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this one.Return the value of the constant held by this entry.Return the referencedUTF8Entry
.int
Return the constant pool index of theUTF8Entry
containing the class name.int
getType()
Return the type code for this entry type.(package private) void
This method is called after reading the entry type from bytecode.void
setConstant
(Object value) Set the value of the constant held by this entry.void
setNameIndex
(int nameIndex) Set the constant pool index of theUTF8Entry
containing the class name.(package private) void
writeData
(DataOutput out) This method is called after writing the entry type to bytecode.
-
Field Details
-
_nameIndex
private int _nameIndex
-
-
Constructor Details
-
ClassEntry
public ClassEntry()Default constructor. -
ClassEntry
public ClassEntry(int nameIndex) Constructor.- Parameters:
nameIndex
- the constant pool index of theUTF8Entry
containing the class name
-
-
Method Details
-
getNameIndex
public int getNameIndex()Return the constant pool index of theUTF8Entry
containing the class name. Defaults to 0. -
setNameIndex
public void setNameIndex(int nameIndex) Set the constant pool index of theUTF8Entry
containing the class name. -
getNameEntry
Return the referencedUTF8Entry
. This method can only be run for entries that have been added to a constant pool. -
getType
public int getType()Description copied from class:Entry
Return the type code for this entry type. -
getConstant
Description copied from interface:ConstantEntry
Return the value of the constant held by this entry.- Specified by:
getConstant
in interfaceConstantEntry
-
setConstant
Description copied from interface:ConstantEntry
Set the value of the constant held by this entry.- Specified by:
setConstant
in interfaceConstantEntry
-
acceptVisit
Description copied from interface:VisitAcceptor
Accept a visit from aBCVisitor
, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this one.- Specified by:
acceptVisit
in interfaceVisitAcceptor
-
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
-