# Interface NewMultiArrayInstruction

All Superinterfaces:
  `ClassFileElement, CodeElement, Instruction`

public sealed interface NewMultiArrayInstruction extends Instruction
Models a `multianewarray` instruction in the `code` array of a `Code` attribute. Delivered as a `CodeElement` when traversing the elements of a `CodeModel`.

A new multi-dimensional array instruction is composite:

    NewMultiArrayInstruction(
        ClassEntry arrayType,
        int dimensions
    )

where the `arrayType` is an array class.

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

## Method Summary

Modifier and Type
Method
Description
`ClassEntry`
`arrayType()`
Returns the type of the array.
`int`
`dimensions()`
Returns the number of dimensions of the array.
`static NewMultiArrayInstruction`
`of(ClassEntry arrayTypeEntry, int dimensions)`
Returns a new multi-dimensional array instruction.

### Methods declared in interface Instruction

`opcode, sizeInBytes`

## Method Details

### arrayType

ClassEntry arrayType()
Returns the type of the array.

Returns:
  the type of the array

### dimensions

int dimensions()
Returns the number of dimensions of the array.

Returns:
  the number of dimensions of the array

### of

static NewMultiArrayInstruction of(ClassEntry arrayTypeEntry, int dimensions)
Returns a new multi-dimensional array instruction.

Parameters:
  `arrayTypeEntry` - the type of the array
  `dimensions` - the number of dimensions of the array
Returns:
  a new multi-dimensional array instruction
Throws:
  `IllegalArgumentException` - if `dimensions` is out of range