AnnotationConstantValueEntry, ClassEntry, ConstantDynamicEntry, ConstantValueEntry, DoubleEntry, DynamicConstantPoolEntry, FieldRefEntry, FloatEntry, IntegerEntry, InterfaceMethodRefEntry, InvokeDynamicEntry, LoadableConstantEntry, LongEntry, MemberRefEntry, MethodHandleEntry, MethodRefEntry, MethodTypeEntry, ModuleEntry, NameAndTypeEntry, PackageEntry, StringEntry, Utf8Entrypublic sealed interface PoolEntry permits AnnotationConstantValueEntry, DynamicConstantPoolEntry, LoadableConstantEntry, MemberRefEntry, ModuleEntry, NameAndTypeEntry, PackageEntry
class file. Entries are read from class files, and can be created with a ConstantPoolBuilder to write to class files.
class file. Their index() return a non-positive invalid value, and behaviors of their constantPool() are unspecified. They are considered alien to any contextual constant pool and will be converted when they are written to class files.| Modifier and Type | Field | Description |
|---|---|---|
static final int |
TAG_CLASS |
The tag for CONSTANT_Class constant kind. |
static final int |
TAG_DOUBLE |
The tag for CONSTANT_Double constant kind. |
static final int |
TAG_DYNAMIC |
The tag for CONSTANT_Dynamic constant kind. |
static final int |
TAG_FIELDREF |
The tag for CONSTANT_Fieldref constant kind. |
static final int |
TAG_FLOAT |
The tag for CONSTANT_Float constant kind. |
static final int |
TAG_INTEGER |
The tag for CONSTANT_Integer constant kind. |
static final int |
TAG_INTERFACE_METHODREF |
The tag for CONSTANT_InterfaceMethodref constant kind. |
static final int |
TAG_INVOKE_DYNAMIC |
The tag for CONSTANT_InvokeDynamic constant kind. |
static final int |
TAG_LONG |
The tag for CONSTANT_Long constant kind. |
static final int |
TAG_METHOD_HANDLE |
The tag for CONSTANT_MethodHandle constant kind. |
static final int |
TAG_METHOD_TYPE |
The tag for CONSTANT_MethodType constant kind. |
static final int |
TAG_METHODREF |
The tag for CONSTANT_Methodref constant kind. |
static final int |
TAG_MODULE |
The tag for CONSTANT_Module constant kind. |
static final int |
TAG_NAME_AND_TYPE |
The tag for CONSTANT_NameAndType constant kind. |
static final int |
TAG_PACKAGE |
The tag for CONSTANT_Package constant kind. |
static final int |
TAG_STRING |
The tag for CONSTANT_String constant kind. |
static final int |
TAG_UTF8 |
The tag for CONSTANT_Utf8 constant kind. |
| Modifier and Type | Method | Description |
|---|---|---|
ConstantPool |
constantPool() |
Returns the constant pool this entry is from. |
int |
index() |
Returns the index within the constant pool corresponding to this entry. |
int |
tag() |
Returns the constant pool tag that describes the type of this entry. |
int |
width() |
Returns the number of constant pool slots this entry consumes. |
static final int TAG_INTERFACE_METHODREF
CONSTANT_InterfaceMethodref constant kind.ConstantPool constantPool()
ConstantPoolBuilder builder and a
PoolEntry entry, use builder.canWriteDirect(entry.constantPool()) instead of object equality of the constant pool to determine if an entry belongs to the builder.int tag()
TAG_-prefixed constants in this class, such as TAG_UTF8, describe the possible return values of this method.int index()
int width()
All pool entries except CONSTANT_Long and CONSTANT_Double have width 1. These two exceptions have width 2, and their subsequent indices at index() + 1 are considered unusable.
ldc or ldc2_w. For example, ConstantDynamicEntry always has width 1, but it must be loaded with ldc2_w if its type is long or double. Use typeKind().slotSize() to determine the loading instruction instead.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/constantpool/PoolEntry.html