Interface NameAndTypeEntry
- All Superinterfaces:
PoolEntry
public sealed interface NameAndTypeEntry extends PoolEntry
CONSTANT_NameAndType_info structure, representing a field or method, in the constant pool of a class file. The use of a NameAndTypeEntry is symbolically represented as a String name, and a ClassDesc or a MethodTypeDesc type, depending on where this
NameAndTypeEntry appears. The accessors to the symbolic descriptors for the type is defined on a per-use-site basis, such as FieldRefEntry.typeSymbol() returning a ClassDesc, and MethodRefEntry.typeSymbol() returning a MethodTypeDesc.
A name and type entry is composite:
NameAndTypeEntry(
Utf8Entry name,
Utf8Entry type
)
name is an unqualified name, and type is a field or method descriptor string.- See Java Virtual Machine Specification:
- 4.4.6 The
CONSTANT_NameAndType_infoStructure
- Since:
- 24
Field Summary
Fields declared in interface PoolEntry
TAG_CLASS, TAG_DOUBLE, TAG_DYNAMIC, TAG_FIELDREF, TAG_FLOAT, TAG_INTEGER, TAG_INTERFACE_METHODREF, TAG_INVOKE_DYNAMIC, TAG_LONG, TAG_METHOD_HANDLE, TAG_METHOD_TYPE, TAG_METHODREF, TAG_MODULE, TAG_NAME_AND_TYPE, TAG_PACKAGE, TAG_STRING, TAG_UTF8 | 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. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
Utf8Entry |
name() |
Returns the field or method name. |
Utf8Entry |
type() |
Returns the field or method descriptor string. |
Methods declared in interface PoolEntry
constantPool, index, tag, width | 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. |
Method Details
name
Utf8Entry name()
- Returns:
- the field or method name
type
Utf8Entry type()
(. Otherwise, it is a field descriptor string, and must start with one of the BCDFIJSZL[ characters.- Returns:
- the field or method descriptor string
© 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.