# Interface OperatorInstruction

All Superinterfaces:
  `ClassFileElement, CodeElement, Instruction`

public sealed interface OperatorInstruction extends Instruction
Models an arithmetic operator instruction in the `code` array of a `Code` attribute. Corresponding opcodes have a kind of `Opcode.Kind.OPERATOR`. Delivered as a `CodeElement` when traversing the elements of a `CodeModel`.

An operator instruction is composite:

    OperatorInstruction(Opcode opcode)

Since:
  24
See Also:
  - `Opcode.Kind.OPERATOR`

## Method Summary

Modifier and Type
Method
Description
`static OperatorInstruction`
`of(Opcode op)`
Returns an operator instruction.
`TypeKind`
`typeKind()`
Returns the operand type of the instruction.

### Methods declared in interface Instruction

`opcode, sizeInBytes`

## Method Details

### typeKind

TypeKind typeKind()
Returns the operand type of the instruction. This is derived from the `opcode`.

Returns:
  the operand type of the instruction

### of

static OperatorInstruction of(Opcode op)
Returns an operator instruction.

Parameters:
  `op` - the opcode for the specific type of operator instruction, which must be of kind `Opcode.Kind.OPERATOR`
Returns:
  an operator instruction
Throws:
  `IllegalArgumentException` - if the opcode kind is not `Opcode.Kind.OPERATOR`.