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
-
TAG_DOUBLE
-
TAG_DYNAMIC
-
TAG_FIELDREF
-
TAG_FLOAT
-
TAG_INTEGER
-
TAG_INTERFACE_METHODREF
static final int TAG_INTERFACE_METHODREFThe tag forCONSTANT_InterfaceMethodrefconstant kind.- See Also:
-
TAG_INVOKE_DYNAMIC
-
TAG_LONG
-
TAG_METHOD_HANDLE
-
TAG_METHODREF
-
TAG_METHOD_TYPE
-
TAG_MODULE
-
TAG_NAME_AND_TYPE
-
TAG_PACKAGE
-
TAG_STRING
-
TAG_UTF8
-
-
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:
-