Interface MethodHandleEntry
- All Superinterfaces:
LoadableConstantEntry, PoolEntry
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_UTF8Modifier 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 TypeMethodDescriptionasSymbol()Returns a symbolic descriptor for this method handle.default ConstantDescReturns a symbolic descriptor of this constant.intkind()Returns the reference kind of this method handle (JVMS 4.4.8).Returns the constant pool entry describing the field or method, according to the reference kind.Methods declared in interface LoadableConstantEntry
typeKindMethods declared in interface PoolEntry
constantPool, index, tag, widthModifier 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.
-
Method Details
-
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:
-