Interface InvokeDynamicEntry
- All Superinterfaces:
DynamicConstantPoolEntry, PoolEntry
Models a
where the
CONSTANT_InvokeDynamic_info structure, or the symbolic
reference to a dynamically-computed call site, in the
constant pool of a class file.
The use of a InvokeDynamicEntry is modeled by a DynamicCallSiteDesc symbolic descriptor. It can be obtained from InvokeDynamicEntry::asSymbol and converted back to a constant
pool entry through ConstantPoolBuilder::invokeDynamicEntry.
An invoke dynamic entry is composite:
InvokeDynamicEntry(
BootstrapMethodEntry bootstrap,
NameAndTypeEntry nameAndType
)
type in the nameAndType is a method descriptor string.- API Note:
- A dynamically-computed call site is frequently called a dynamic call site, or an indy, from the abbreviation of "invoke dynamic".
- See Java Virtual Machine Specification:
-
4.4.10 The
CONSTANT_Dynamic_infoandCONSTANT_InvokeDynamic_infoStructures - 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 TypeMethodDescriptiondefault DynamicCallSiteDescasSymbol()Returns a symbolic descriptor for this dynamic call site.default MethodTypeDescReturns a symbolic descriptor for the invocation type of this dynamic call site.Methods declared in interface DynamicConstantPoolEntry
bootstrap, bootstrapMethodIndex, name, nameAndType, typeModifier and TypeMethodDescriptionReturns the entry in the bootstrap method table for this constant.intReturns index of the entry in the bootstrap method table for this constant.default Utf8Entryname()Returns the name indicated by this symbolic reference.Returns the name and the descriptor string indicated by this symbolic reference.default Utf8Entrytype()Returns the descriptor string indicated by this symbolic reference.Methods 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
-
typeSymbol
Returns a symbolic descriptor for the invocation type of this dynamic call site.- Returns:
- a symbolic descriptor for the invocation type of this dynamic call site
-
asSymbol
Returns a symbolic descriptor for this dynamic call site.- Returns:
- a symbolic descriptor for this dynamic call site
- See Also:
-