Package com.tonic.parser.constpool
Class NameAndTypeRefItem
- java.lang.Object
-
- com.tonic.parser.constpool.Item<NameAndType>
-
- com.tonic.parser.constpool.NameAndTypeRefItem
-
public class NameAndTypeRefItem extends Item<NameAndType>
A CONSTANT_NameAndType constant pool entry, holding the name and descriptor indices of a member.
-
-
Field Summary
-
Fields inherited from class com.tonic.parser.constpool.Item
ITEM_CLASS_REF, ITEM_DOUBLE, ITEM_DYNAMIC, ITEM_FIELD_REF, ITEM_FLOAT, ITEM_INTEGER, ITEM_INTERFACE_REF, ITEM_INVOKEDYNAMIC, ITEM_LONG, ITEM_METHOD_HANDLE, ITEM_METHOD_REF, ITEM_METHOD_TYPE, ITEM_MODULE, ITEM_NAME_TYPE_REF, ITEM_PACKAGE, ITEM_STRING_REF, ITEM_UTF_8
-
-
Constructor Summary
Constructors Constructor Description NameAndTypeRefItem()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConstPoolgetConstPool()StringgetDescriptor()Resolves the descriptor string through the bound constant pool.StringgetName()Resolves the name string through the bound constant pool.bytegetType()Returns the type of the constant pool item.NameAndTypegetValue()Returns the value held by the constant pool item.voidread(ClassFile classFile)Reads the constant pool item from the class file.voidsetConstPool(ConstPool constPool)Binds the pool used to resolve the name and descriptor indices.voidsetDescIndex(int descIndex)Repoints this entry at a different descriptor.voidsetNameIndex(int nameIndex)Repoints this entry at a different name.voidsetValue(NameAndType value)Replaces the name and descriptor index pair this entry holds.voidwrite(DataOutputStream dos)Writes the item to the output stream (excluding the tag byte, which is written by the caller).-
Methods inherited from class com.tonic.parser.constpool.Item
accept, getIndex, setClassFile
-
-
-
-
Method Detail
-
getConstPool
public ConstPool getConstPool()
- Returns:
- the const pool
-
setConstPool
public void setConstPool(ConstPool constPool)
Binds the pool used to resolve the name and descriptor indices.- Parameters:
constPool- the owning constant pool
-
setValue
public void setValue(NameAndType value)
Replaces the name and descriptor index pair this entry holds.- Parameters:
value- the new pair
-
read
public void read(ClassFile classFile)
Description copied from class:ItemReads the constant pool item from the class file.- Specified by:
readin classItem<NameAndType>- Parameters:
classFile- The ClassFile utility to read data.
-
write
public void write(DataOutputStream dos) throws IOException
Description copied from class:ItemWrites the item to the output stream (excluding the tag byte, which is written by the caller).- Specified by:
writein classItem<NameAndType>- Parameters:
dos- The output stream to write to.- Throws:
IOException- If an I/O error occurs.
-
getType
public byte getType()
Description copied from class:ItemReturns the type of the constant pool item.- Specified by:
getTypein classItem<NameAndType>- Returns:
- The constant pool tag.
-
getValue
public NameAndType getValue()
Description copied from class:ItemReturns the value held by the constant pool item.- Specified by:
getValuein classItem<NameAndType>- Returns:
- The value of type T.
-
getDescriptor
public String getDescriptor()
Resolves the descriptor string through the bound constant pool.- Returns:
- the descriptor string
- Throws:
IllegalStateException- if no pool is bound or the descriptor index is unresolvable
-
getName
public String getName()
Resolves the name string through the bound constant pool.- Returns:
- the name string
- Throws:
IllegalStateException- if no pool is bound or the name index is unresolvable
-
setNameIndex
public void setNameIndex(int nameIndex)
Repoints this entry at a different name.- Parameters:
nameIndex- the constant pool index of the new name
-
setDescIndex
public void setDescIndex(int descIndex)
Repoints this entry at a different descriptor.- Parameters:
descIndex- the constant pool index of the new descriptor
-
-