Module io.github.dmlloyd.classfile
Interface PoolEntry
- All Known Subinterfaces:
AnnotationConstantValueEntry,ClassEntry,ConstantDynamicEntry,ConstantValueEntry,DoubleEntry,DynamicConstantPoolEntry,FieldRefEntry,FloatEntry,IntegerEntry,InterfaceMethodRefEntry,InvokeDynamicEntry,LoadableConstantEntry,LongEntry,MemberRefEntry,MethodHandleEntry,MethodRefEntry,MethodTypeEntry,ModuleEntry,NameAndTypeEntry,PackageEntry,StringEntry,Utf8Entry
public sealed interface PoolEntry
permits AnnotationConstantValueEntry, DynamicConstantPoolEntry, LoadableConstantEntry, MemberRefEntry, ModuleEntry, NameAndTypeEntry, PackageEntry
Models an entry in the constant pool of a
class file. Entries are
read from class files, and can be created with a ConstantPoolBuilder to write to class files.- Since:
- 24
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe tag forCONSTANT_Classconstant kind.static final intThe tag forCONSTANT_Doubleconstant kind.static final intThe tag forCONSTANT_Dynamicconstant kind.static final intThe tag forCONSTANT_Fieldrefconstant kind.static final intThe tag forCONSTANT_Floatconstant kind.static final intThe tag forCONSTANT_Integerconstant kind.static final intThe tag forCONSTANT_InterfaceMethodrefconstant kind.static final intThe tag forCONSTANT_InvokeDynamicconstant kind.static final intThe tag forCONSTANT_Longconstant kind.static final intThe tag forCONSTANT_MethodHandleconstant kind.static final intThe tag forCONSTANT_MethodTypeconstant kind.static final intThe tag forCONSTANT_Methodrefconstant kind.static final intThe tag forCONSTANT_Moduleconstant kind.static final intThe tag forCONSTANT_NameAndTypeconstant kind.static final intThe tag forCONSTANT_Packageconstant kind.static final intThe tag forCONSTANT_Stringconstant kind.static final intThe tag forCONSTANT_Utf8constant kind. -
Method Summary
Modifier and TypeMethodDescriptionReturns the constant pool this entry is from.intindex()Returns the index within the constant pool corresponding to this entry.inttag()Returns the constant pool tag that describes the type of this entry.intwidth()Returns the number of constant pool slots this entry consumes.
-
Field Details
-
TAG_CLASS
static final int TAG_CLASSThe tag forCONSTANT_Classconstant kind.- See Also:
-
TAG_DOUBLE
static final int TAG_DOUBLEThe tag forCONSTANT_Doubleconstant kind.- See Also:
-
TAG_DYNAMIC
static final int TAG_DYNAMICThe tag forCONSTANT_Dynamicconstant kind.- See Also:
-
TAG_FIELDREF
static final int TAG_FIELDREFThe tag forCONSTANT_Fieldrefconstant kind.- See Also:
-
TAG_FLOAT
static final int TAG_FLOATThe tag forCONSTANT_Floatconstant kind.- See Also:
-
TAG_INTEGER
static final int TAG_INTEGERThe tag forCONSTANT_Integerconstant kind.- See Also:
-
TAG_INTERFACE_METHODREF
static final int TAG_INTERFACE_METHODREFThe tag forCONSTANT_InterfaceMethodrefconstant kind.- See Also:
-
TAG_INVOKE_DYNAMIC
static final int TAG_INVOKE_DYNAMICThe tag forCONSTANT_InvokeDynamicconstant kind.- See Also:
-
TAG_LONG
static final int TAG_LONGThe tag forCONSTANT_Longconstant kind.- See Also:
-
TAG_METHOD_HANDLE
static final int TAG_METHOD_HANDLEThe tag forCONSTANT_MethodHandleconstant kind.- See Also:
-
TAG_METHODREF
static final int TAG_METHODREFThe tag forCONSTANT_Methodrefconstant kind.- See Also:
-
TAG_METHOD_TYPE
static final int TAG_METHOD_TYPEThe tag forCONSTANT_MethodTypeconstant kind.- See Also:
-
TAG_MODULE
static final int TAG_MODULEThe tag forCONSTANT_Moduleconstant kind.- See Also:
-
TAG_NAME_AND_TYPE
static final int TAG_NAME_AND_TYPEThe tag forCONSTANT_NameAndTypeconstant kind.- See Also:
-
TAG_PACKAGE
static final int TAG_PACKAGEThe tag forCONSTANT_Packageconstant kind.- See Also:
-
TAG_STRING
static final int TAG_STRINGThe tag forCONSTANT_Stringconstant kind.- See Also:
-
TAG_UTF8
static final int TAG_UTF8The tag forCONSTANT_Utf8constant kind.- See Also:
-
-
Method Details
-
constantPool
ConstantPool constantPool()Returns the constant pool this entry is from.- Returns:
- the constant pool this entry is from
- See Also:
-
tag
int tag()Returns the constant pool tag that describes the type of this entry.- Returns:
- the constant pool tag that describes the type of this entry
-
index
int index()Returns the index within the constant pool corresponding to this entry. A valid index is always positive; if the index is non-positive, this entry is unbound.- Returns:
- the index within the constant pool corresponding to this entry
- See Also:
-
width
int width()Returns the number of constant pool slots this entry consumes.All pool entries except
CONSTANT_LongandCONSTANT_Doublehave width1. These two exceptions have width2, and their subsequent indices atindex() + 1are considered unusable.- Returns:
- the number of constant pool slots this entry consumes
- See Also:
-