OperatorInstruction (Java SE 26 & JDK 26)
Description: declaration: module: java.base, package: java.lang.classfile.instruction, interface: OperatorInstruction
Keywords: java.lang.classfile.instruction.OperatorInstruction interface

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

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