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