# Interface NewPrimitiveArrayInstruction

All Superinterfaces:
  `ClassFileElement, CodeElement, Instruction`

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

A new primitive array instruction is composite:

    NewPrimitiveArrayInstruction(TypeKind typeKind)

where `typeKind` is primitive and not `void`.

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

## Method Summary

Modifier and Type
Method
Description
`static NewPrimitiveArrayInstruction`
`of(TypeKind typeKind)`
Returns a new primitive array instruction.
`TypeKind`
`typeKind()`
Returns the component type of the array.

### Methods declared in interface Instruction

`opcode, sizeInBytes`

## Method Details

### typeKind

TypeKind typeKind()
Returns the component type of the array.

API Note:
  The backing array code for this instruction is available through `typeKind().newarrayCode()`.
Returns:
  the component type of the array

### of

static NewPrimitiveArrayInstruction of(TypeKind typeKind)
Returns a new primitive array instruction.

Parameters:
  `typeKind` - the component type of the array
Returns:
  a new primitive array instruction
Throws:
  `IllegalArgumentException` - when `typeKind` is not primitive or is `void`
See Also:
  - `TypeKind::fromNewarrayCode`