Interface MethodHandleEntry
- All Superinterfaces:
LoadableConstantEntry, PoolEntry
public sealed interface MethodHandleEntry extends LoadableConstantEntry
Models a where
CONSTANT_MethodHandle_info structure, or a symbolic reference to a method handle, in the constant pool of a class file. The method handle directly accesses an accessible method, field, or constructor. The use of a MethodHandleEntry is modeled by a DirectMethodHandleDesc. Conversions are through ConstantPoolBuilder.methodHandleEntry(DirectMethodHandleDesc) and asSymbol().
A method handle entry is composite:
MethodHandleEntry(
int refKind,
MemberRefEntry reference
)
refKind is in the range [1, 9].- See Java Virtual Machine Specification:
- 4.4.8 The
CONSTANT_MethodHandle_infoStructure
- Since:
- 24
- See Also:
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 |
|---|---|---|
DirectMethodHandleDesc |
asSymbol() |
Returns a symbolic descriptor for this method handle. |
default ConstantDesc |
constantValue() |
Returns a symbolic descriptor of this constant. |
int |
kind() |
Returns the reference kind of this method handle (JVMS §4.4.8). |
MemberRefEntry |
reference() |
Returns the constant pool entry describing the field or method, according to the reference kind. |
Methods declared in interface LoadableConstantEntry
typeKind | Modifier and Type | Method | Description |
|---|---|---|
default TypeKind |
typeKind() |
Returns the data type of this constant. |
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
constantValue
default ConstantDesc constantValue()
Returns a symbolic descriptor of this constant.
This is equivalent to asSymbol().
- Specified by:
-
constantValuein interfaceLoadableConstantEntry - Returns:
- a symbolic descriptor of this constant
- See Also:
kind
reference
MemberRefEntry reference()
Returns the constant pool entry describing the field or method, according to the reference kind.
- Returns:
- the constant pool entry describing the field or method, according to the reference kind
asSymbol
DirectMethodHandleDesc asSymbol()
Returns a symbolic descriptor for this method handle.
- Returns:
- a symbolic descriptor for this method handle
- See Also:
© 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.