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_info
andCONSTANT_InvokeDynamic_info
Structures - 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 TypeFieldDescriptionstatic final int
The tag forCONSTANT_Class
constant kind.static final int
The tag forCONSTANT_Double
constant kind.static final int
The tag forCONSTANT_Dynamic
constant kind.static final int
The tag forCONSTANT_Fieldref
constant kind.static final int
The tag forCONSTANT_Float
constant kind.static final int
The tag forCONSTANT_Integer
constant kind.static final int
The tag forCONSTANT_InterfaceMethodref
constant kind.static final int
The tag forCONSTANT_InvokeDynamic
constant kind.static final int
The tag forCONSTANT_Long
constant kind.static final int
The tag forCONSTANT_MethodHandle
constant kind.static final int
The tag forCONSTANT_MethodType
constant kind.static final int
The tag forCONSTANT_Methodref
constant kind.static final int
The tag forCONSTANT_Module
constant kind.static final int
The tag forCONSTANT_NameAndType
constant kind.static final int
The tag forCONSTANT_Package
constant kind.static final int
The tag forCONSTANT_String
constant kind.static final int
The tag forCONSTANT_Utf8
constant kind. -
Method Summary
Modifier and TypeMethodDescriptiondefault DynamicCallSiteDesc
asSymbol()
Returns a symbolic descriptor for this dynamic call site.default MethodTypeDesc
Returns a symbolic descriptor for the invocation type of this dynamic call site.Methods declared in interface DynamicConstantPoolEntry
bootstrap, bootstrapMethodIndex, name, nameAndType, type
Modifier and TypeMethodDescriptionReturns the entry in the bootstrap method table for this constant.int
Returns index of the entry in the bootstrap method table for this constant.default Utf8Entry
name()
Returns the name indicated by this symbolic reference.Returns the name and the descriptor string indicated by this symbolic reference.default Utf8Entry
type()
Returns the descriptor string indicated by this symbolic reference.Methods declared in interface PoolEntry
constantPool, index, tag, width
Modifier and TypeMethodDescriptionReturns 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
-
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:
-