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

# Interface DiscontinuedInstruction

All Superinterfaces:
  `ClassFileElement, CodeElement, Instruction`

All Known Subinterfaces:
  `DiscontinuedInstruction.JsrInstruction, DiscontinuedInstruction.RetInstruction`

public sealed interface DiscontinuedInstruction extends Instruction permits DiscontinuedInstruction.JsrInstruction, DiscontinuedInstruction.RetInstruction
Marker interface for instruction discontinued from the `code` array of a `Code` attribute. Delivered as a `CodeElement` when traversing the elements of a `CodeModel`.

API Note:
  While most instructions have convenience factory methods in `CodeBuilder`, discontinued instructions can only be supplied to code builders explicitly with `CodeBuilder::with` to discourage their use.
See Java Virtual Machine Specification:
  4.9.1 Static Constraints
Sealed Class Hierarchy Graph:
Since:
  24

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `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).

- ## Method Summary

  ### Methods declared in interface Instruction

  `opcode, sizeInBytes`