# Interface InvokeDynamicInstruction

All Superinterfaces:
  `ClassFileElement, CodeElement, Instruction`

public sealed interface InvokeDynamicInstruction extends Instruction
Models a dynamically-computed call site invocation instruction in the `code` array of a `Code` attribute. The corresponding opcode is `invokedynamic`. Delivered as a `CodeElement` when traversing the elements of a `CodeModel`.

A dynamically-computed call site invocation instruction is composite:

    InvokeDynamicInstruction(InvokeDynamicEntry invokedynamic)

See Java Virtual Machine Specification:
  6.5.invokedynamic invokedynamic
Since:
  24
See Also:
  - `Opcode.Kind.INVOKE_DYNAMIC`
  - `CodeBuilder::invokedynamic`

## Method Summary

Modifier and Type
Method
Description
`default List<ConstantDesc>`
`bootstrapArgs()`
Returns the bootstrap arguments of the call site.
`default DirectMethodHandleDesc`
`bootstrapMethod()`
Returns the bootstrap method of the call site.
`InvokeDynamicEntry`
`invokedynamic()`
Returns an `InvokeDynamicEntry` describing the call site.
`default Utf8Entry`
`name()`
Returns the invocation name of the call site.
`static InvokeDynamicInstruction`
`of(InvokeDynamicEntry invokedynamic)`
Returns an invokedynamic instruction.
`default Utf8Entry`
`type()`
Returns the invocation type of the call site.
`default MethodTypeDesc`
`typeSymbol()`
Returns the invocation type of the call site, as a symbolic descriptor.

### Methods declared in interface Instruction

`opcode, sizeInBytes`
Modifier and Type
Method
Description
`Opcode`
`opcode()`
Returns the operation of this instruction.
`int`
`sizeInBytes()`
Returns the size in bytes of this instruction.

## Method Details

### invokedynamic

InvokeDynamicEntry invokedynamic()
Returns an `InvokeDynamicEntry` describing the call site.

Returns:
  an `InvokeDynamicEntry` describing the call site

### name

default Utf8Entry name()
Returns the invocation name of the call site.

Returns:
  the invocation name of the call site

### type

default Utf8Entry type()
Returns the invocation type of the call site.

API Note:
  A symbolic descriptor for the invocation typeis available through `typeSymbol()`.
Returns:
  the invocation type of the call site

### typeSymbol

default MethodTypeDesc typeSymbol()
Returns the invocation type of the call site, as a symbolic descriptor.

Returns:
  the invocation type of the call site, as a symbolic descriptor

### bootstrapMethod

default DirectMethodHandleDesc bootstrapMethod()
Returns the bootstrap method of the call site.

Returns:
  the bootstrap method of the call site

### bootstrapArgs

default List<ConstantDesc> bootstrapArgs()
Returns the bootstrap arguments of the call site.

Returns:
  the bootstrap arguments of the call site

### of

static InvokeDynamicInstruction of(InvokeDynamicEntry invokedynamic)
Returns an invokedynamic instruction.

Parameters:
  `invokedynamic` - the constant pool entry describing the call site
Returns:
  an invokedynamic instruction