# Interface InvokeDynamicEntry

All Superinterfaces:
  `DynamicConstantPoolEntry, PoolEntry`

public sealed interface InvokeDynamicEntry extends DynamicConstantPoolEntry
Models a `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
    )

where the `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` and `CONSTANT_InvokeDynamic_info` Structures
Since:
  24
See Also:
  - `ConstantPoolBuilder::invokeDynamicEntry`
  - `DynamicCallSiteDesc`
  - Dynamically-computed call sites

## 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`

## Method Summary

Modifier and Type
Method
Description
`default DynamicCallSiteDesc`
`asSymbol()`
Returns a symbolic descriptor for this dynamic call site.
`default MethodTypeDesc`
`typeSymbol()`
Returns a symbolic descriptor for the invocation type of this dynamic call site.

### Methods declared in interface DynamicConstantPoolEntry

`bootstrap, bootstrapMethodIndex, name, nameAndType, type`

### Methods declared in interface PoolEntry

`constantPool, index, tag, width`

## Method Details

### typeSymbol

default MethodTypeDesc 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

default DynamicCallSiteDesc asSymbol()
Returns a symbolic descriptor for this dynamic call site.

Returns:
  a symbolic descriptor for this dynamic call site
See Also:
  - `ConstantPoolBuilder::invokeDynamicEntry(DynamicCallSiteDesc)`