OperatorInstruction (Java SE 25 & JDK 25)
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`

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