# Uses of Interface
java.lang.classfile.Instruction

Packages that use Instruction
Package
Description
java.lang.classfile.instruction
Provides interfaces describing code instructions for the `java.lang.classfile` library.

- ## Uses of Instruction in java.lang.classfile.instruction

  Subinterfaces of Instruction in java.lang.classfile.instruction
  Modifier and Type
  Interface
  Description
  `interface`
  `ArrayLoadInstruction`
  Models an array load instruction in the `code` array of a `Code` attribute.
  `interface`
  `ArrayStoreInstruction`
  Models an array store instruction in the `code` array of a `Code` attribute.
  `interface`
  `BranchInstruction`
  Models a branching instruction (conditional or unconditional) in the `code` array of a `Code` attribute.
  `interface`
  `ConstantInstruction`
  Models a constant-load instruction in the `code` array of a `Code` attribute, including "intrinsic", "argument", and "load" constant instructions.
  `static interface`
  `ConstantInstruction.ArgumentConstantInstruction`
  Models an "argument constant" instruction, which encodes the constant value in the instruction directly.
  `static interface`
  `ConstantInstruction.IntrinsicConstantInstruction`
  Models an "intrinsic constant" instruction, which encodes the constant value in its opcode.
  `static interface`
  `ConstantInstruction.LoadConstantInstruction`
  Models a "load constant" instruction, which encodes the constant value in the constant pool.
  `interface`
  `ConvertInstruction`
  Models a primitive conversion instruction in the `code` array of a `Code` attribute, such as `i2l`.
  `interface`
  `DiscontinuedInstruction`
  Marker interface for instruction discontinued from the `code` array of a `Code` attribute.
  `static interface`
  `DiscontinuedInstruction.JsrInstruction`
  Models jump subroutine instructions discontinued from the `code` array of a `Code` attribute since class file major version 51 (JVMS 4.9.1).
  `static interface`
  `DiscontinuedInstruction.RetInstruction`
  Models return from subroutine instructions discontinued from the `code` array of a `Code` attribute since class file major version 51 (JVMS 4.9.1).
  `interface`
  `FieldInstruction`
  Models a field access instruction in the `code` array of a `Code` attribute.
  `interface`
  `IncrementInstruction`
  Models a local variable increment instruction in the `code` array of a `Code` attribute.
  `interface`
  `InvokeDynamicInstruction`
  Models a dynamically-computed call site invocation instruction in the `code` array of a `Code` attribute.
  `interface`
  `InvokeInstruction`
  Models a method invocation instruction in the `code` array of a `Code` attribute, other than `invokedynamic`.
  `interface`
  `LoadInstruction`
  Models a local variable load instruction in the `code` array of a `Code` attribute.
  `interface`
  `LookupSwitchInstruction`
  Models a `lookupswitch` instruction in the `code` array of a `Code` attribute.
  `interface`
  `MonitorInstruction`
  Models a `monitorenter` or `monitorexit` instruction in the `code` array of a `Code` attribute.
  `interface`
  `NewMultiArrayInstruction`
  Models a `multianewarray` instruction in the `code` array of a `Code` attribute.
  `interface`
  `NewObjectInstruction`
  Models a `new` instruction in the `code` array of a `Code` attribute.
  `interface`
  `NewPrimitiveArrayInstruction`
  Models a `newarray` instruction in the `code` array of a `Code` attribute.
  `interface`
  `NewReferenceArrayInstruction`
  Models a `anewarray` instruction in the `code` array of a `Code` attribute.
  `interface`
  `NopInstruction`
  Models a `nop` instruction in the `code` array of a `Code` attribute.
  `interface`
  `OperatorInstruction`
  Models an arithmetic operator instruction in the `code` array of a `Code` attribute.
  `interface`
  `ReturnInstruction`
  Models a return-from-method instruction in the `code` array of a `Code` attribute.
  `interface`
  `StackInstruction`
  Models a stack manipulation instruction in the `code` array of a `Code` attribute.
  `interface`
  `StoreInstruction`
  Models a local variable store instruction in the `code` array of a `Code` attribute.
  `interface`
  `TableSwitchInstruction`
  Models a `tableswitch` instruction in the `code` array of a `Code` attribute.
  `interface`
  `ThrowInstruction`
  Models an `athrow` instruction in the `code` array of a `Code` attribute.
  `interface`
  `TypeCheckInstruction`
  Models an `instanceof` or a `checkcast` instruction in the `code` array of a `Code` attribute.