Package org.apache.bcel.generic

# Interface InstructionConstants

All Known Implementing Classes:
  `InstructionFactory`, `PUSH`

@Deprecated public interface InstructionConstants
Deprecated.
(since 6.0) Do not use. Use `InstructionConst` instead.
Contains shareable instruction objects.

In order to save memory you can use some instructions multiply, since they have an immutable state and are directly derived from Instruction. I.e. they have no instance fields that could be changed. Since some of these instructions like ICONST_0 occur very frequently this can save a lot of time and space. This feature is an adaptation of the FlyWeight design pattern, we just use an array instead of a factory.

The Instructions can also accessed directly under their names, so it's possible to write il.append(Instruction.ICONST_0);

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static class`
  `InstructionConstants.Clinit`
  Deprecated.
  Deprecated, consider private and ignore.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final ArrayInstruction`
  `AALOAD`
  Deprecated.
  `static final ArrayInstruction`
  `AASTORE`
  Deprecated.
  `static final Instruction`
  `ACONST_NULL`
  Deprecated.
  `static final LocalVariableInstruction`
  `ALOAD_0`
  Deprecated.
  `static final LocalVariableInstruction`
  `ALOAD_1`
  Deprecated.
  `static final LocalVariableInstruction`
  `ALOAD_2`
  Deprecated.
  `static final ReturnInstruction`
  `ARETURN`
  Deprecated.
  `static final Instruction`
  `ARRAYLENGTH`
  Deprecated.
  `static final LocalVariableInstruction`
  `ASTORE_0`
  Deprecated.
  `static final LocalVariableInstruction`
  `ASTORE_1`
  Deprecated.
  `static final LocalVariableInstruction`
  `ASTORE_2`
  Deprecated.
  `static final Instruction`
  `ATHROW`
  Deprecated.
  `static final ArrayInstruction`
  `BALOAD`
  Deprecated.
  `static final ArrayInstruction`
  `BASTORE`
  Deprecated.
  `static final InstructionConstants.Clinit`
  `bla`
  Deprecated.
  Interfaces may have no static initializers, so we simulate this with an inner class.
  `static final ArrayInstruction`
  `CALOAD`
  Deprecated.
  `static final ArrayInstruction`
  `CASTORE`
  Deprecated.
  `static final ConversionInstruction`
  `D2F`
  Deprecated.
  `static final ConversionInstruction`
  `D2I`
  Deprecated.
  `static final ConversionInstruction`
  `D2L`
  Deprecated.
  `static final ArithmeticInstruction`
  `DADD`
  Deprecated.
  `static final ArrayInstruction`
  `DALOAD`
  Deprecated.
  `static final ArrayInstruction`
  `DASTORE`
  Deprecated.
  `static final Instruction`
  `DCMPG`
  Deprecated.
  `static final Instruction`
  `DCMPL`
  Deprecated.
  `static final Instruction`
  `DCONST_0`
  Deprecated.
  `static final Instruction`
  `DCONST_1`
  Deprecated.
  `static final ArithmeticInstruction`
  `DDIV`
  Deprecated.
  `static final ArithmeticInstruction`
  `DMUL`
  Deprecated.
  `static final ArithmeticInstruction`
  `DNEG`
  Deprecated.
  `static final ArithmeticInstruction`
  `DREM`
  Deprecated.
  `static final ReturnInstruction`
  `DRETURN`
  Deprecated.
  `static final ArithmeticInstruction`
  `DSUB`
  Deprecated.
  `static final StackInstruction`
  `DUP`
  Deprecated.
  `static final StackInstruction`
  `DUP_X1`
  Deprecated.
  `static final StackInstruction`
  `DUP_X2`
  Deprecated.
  `static final StackInstruction`
  `DUP2`
  Deprecated.
  `static final StackInstruction`
  `DUP2_X1`
  Deprecated.
  `static final StackInstruction`
  `DUP2_X2`
  Deprecated.
  `static final ConversionInstruction`
  `F2D`
  Deprecated.
  `static final ConversionInstruction`
  `F2I`
  Deprecated.
  `static final ConversionInstruction`
  `F2L`
  Deprecated.
  `static final ArithmeticInstruction`
  `FADD`
  Deprecated.
  `static final ArrayInstruction`
  `FALOAD`
  Deprecated.
  `static final ArrayInstruction`
  `FASTORE`
  Deprecated.
  `static final Instruction`
  `FCMPG`
  Deprecated.
  `static final Instruction`
  `FCMPL`
  Deprecated.
  `static final Instruction`
  `FCONST_0`
  Deprecated.
  `static final Instruction`
  `FCONST_1`
  Deprecated.
  `static final Instruction`
  `FCONST_2`
  Deprecated.
  `static final ArithmeticInstruction`
  `FDIV`
  Deprecated.
  `static final ArithmeticInstruction`
  `FMUL`
  Deprecated.
  `static final ArithmeticInstruction`
  `FNEG`
  Deprecated.
  `static final ArithmeticInstruction`
  `FREM`
  Deprecated.
  `static final ReturnInstruction`
  `FRETURN`
  Deprecated.
  `static final ArithmeticInstruction`
  `FSUB`
  Deprecated.
  `static final ConversionInstruction`
  `I2B`
  Deprecated.
  `static final ConversionInstruction`
  `I2C`
  Deprecated.
  `static final ConversionInstruction`
  `I2D`
  Deprecated.
  `static final ConversionInstruction`
  `I2F`
  Deprecated.
  `static final ConversionInstruction`
  `I2L`
  Deprecated.
  `static final ConversionInstruction`
  `I2S`
  Deprecated.
  `static final ArithmeticInstruction`
  `IADD`
  Deprecated.
  `static final ArrayInstruction`
  `IALOAD`
  Deprecated.
  `static final ArithmeticInstruction`
  `IAND`
  Deprecated.
  `static final ArrayInstruction`
  `IASTORE`
  Deprecated.
  `static final Instruction`
  `ICONST_0`
  Deprecated.
  `static final Instruction`
  `ICONST_1`
  Deprecated.
  `static final Instruction`
  `ICONST_2`
  Deprecated.
  `static final Instruction`
  `ICONST_3`
  Deprecated.
  `static final Instruction`
  `ICONST_4`
  Deprecated.
  `static final Instruction`
  `ICONST_5`
  Deprecated.
  `static final Instruction`
  `ICONST_M1`
  Deprecated.
  `static final ArithmeticInstruction`
  `IDIV`
  Deprecated.
  `static final LocalVariableInstruction`
  `ILOAD_0`
  Deprecated.
  `static final LocalVariableInstruction`
  `ILOAD_1`
  Deprecated.
  `static final LocalVariableInstruction`
  `ILOAD_2`
  Deprecated.
  `static final ArithmeticInstruction`
  `IMUL`
  Deprecated.
  `static final ArithmeticInstruction`
  `INEG`
  Deprecated.
  `static final Instruction[]`
  `INSTRUCTIONS`
  Deprecated.
  Gets object via its opcode, for immutable instructions like branch instructions entries are set to null.
  `static final ArithmeticInstruction`
  `IOR`
  Deprecated.
  `static final ArithmeticInstruction`
  `IREM`
  Deprecated.
  `static final ReturnInstruction`
  `IRETURN`
  Deprecated.
  `static final ArithmeticInstruction`
  `ISHL`
  Deprecated.
  `static final ArithmeticInstruction`
  `ISHR`
  Deprecated.
  `static final LocalVariableInstruction`
  `ISTORE_0`
  Deprecated.
  `static final LocalVariableInstruction`
  `ISTORE_1`
  Deprecated.
  `static final LocalVariableInstruction`
  `ISTORE_2`
  Deprecated.
  `static final ArithmeticInstruction`
  `ISUB`
  Deprecated.
  `static final ArithmeticInstruction`
  `IUSHR`
  Deprecated.
  `static final ArithmeticInstruction`
  `IXOR`
  Deprecated.
  `static final ConversionInstruction`
  `L2D`
  Deprecated.
  `static final ConversionInstruction`
  `L2F`
  Deprecated.
  `static final ConversionInstruction`
  `L2I`
  Deprecated.
  `static final ArithmeticInstruction`
  `LADD`
  Deprecated.
  `static final ArrayInstruction`
  `LALOAD`
  Deprecated.
  `static final ArithmeticInstruction`
  `LAND`
  Deprecated.
  `static final ArrayInstruction`
  `LASTORE`
  Deprecated.
  `static final Instruction`
  `LCMP`
  Deprecated.
  `static final Instruction`
  `LCONST_0`
  Deprecated.
  `static final Instruction`
  `LCONST_1`
  Deprecated.
  `static final ArithmeticInstruction`
  `LDIV`
  Deprecated.
  `static final ArithmeticInstruction`
  `LMUL`
  Deprecated.
  `static final ArithmeticInstruction`
  `LNEG`
  Deprecated.
  `static final ArithmeticInstruction`
  `LOR`
  Deprecated.
  `static final ArithmeticInstruction`
  `LREM`
  Deprecated.
  `static final ReturnInstruction`
  `LRETURN`
  Deprecated.
  `static final ArithmeticInstruction`
  `LSHL`
  Deprecated.
  `static final ArithmeticInstruction`
  `LSHR`
  Deprecated.
  `static final ArithmeticInstruction`
  `LSUB`
  Deprecated.
  `static final ArithmeticInstruction`
  `LUSHR`
  Deprecated.
  `static final ArithmeticInstruction`
  `LXOR`
  Deprecated.
  `static final Instruction`
  `MONITORENTER`
  Deprecated.
  `static final Instruction`
  `MONITOREXIT`
  Deprecated.
  `static final Instruction`
  `NOP`
  Deprecated.
  `static final StackInstruction`
  `POP`
  Deprecated.
  `static final StackInstruction`
  `POP2`
  Deprecated.
  `static final ReturnInstruction`
  `RETURN`
  Deprecated.
  `static final ArrayInstruction`
  `SALOAD`
  Deprecated.
  `static final ArrayInstruction`
  `SASTORE`
  Deprecated.
  `static final StackInstruction`
  `SWAP`
  Deprecated.
  `static final LocalVariableInstruction`
  `THIS`
  Deprecated.
  You can use these constants in multiple places safely, if you can guarantee that you will never alter their internal values, e.g.

- ## Field Details

  - ### NOP

    static final Instruction NOP
    Deprecated.

  - ### ACONST_NULL

    static final Instruction ACONST_NULL
    Deprecated.

  - ### ICONST_M1

    static final Instruction ICONST_M1
    Deprecated.

  - ### ICONST_0

    static final Instruction ICONST_0
    Deprecated.

  - ### ICONST_1

    static final Instruction ICONST_1
    Deprecated.

  - ### ICONST_2

    static final Instruction ICONST_2
    Deprecated.

  - ### ICONST_3

    static final Instruction ICONST_3
    Deprecated.

  - ### ICONST_4

    static final Instruction ICONST_4
    Deprecated.

  - ### ICONST_5

    static final Instruction ICONST_5
    Deprecated.

  - ### LCONST_0

    static final Instruction LCONST_0
    Deprecated.

  - ### LCONST_1

    static final Instruction LCONST_1
    Deprecated.

  - ### FCONST_0

    static final Instruction FCONST_0
    Deprecated.

  - ### FCONST_1

    static final Instruction FCONST_1
    Deprecated.

  - ### FCONST_2

    static final Instruction FCONST_2
    Deprecated.

  - ### DCONST_0

    static final Instruction DCONST_0
    Deprecated.

  - ### DCONST_1

    static final Instruction DCONST_1
    Deprecated.

  - ### IALOAD

    static final ArrayInstruction IALOAD
    Deprecated.

  - ### LALOAD

    static final ArrayInstruction LALOAD
    Deprecated.

  - ### FALOAD

    static final ArrayInstruction FALOAD
    Deprecated.

  - ### DALOAD

    static final ArrayInstruction DALOAD
    Deprecated.

  - ### AALOAD

    static final ArrayInstruction AALOAD
    Deprecated.

  - ### BALOAD

    static final ArrayInstruction BALOAD
    Deprecated.

  - ### CALOAD

    static final ArrayInstruction CALOAD
    Deprecated.

  - ### SALOAD

    static final ArrayInstruction SALOAD
    Deprecated.

  - ### IASTORE

    static final ArrayInstruction IASTORE
    Deprecated.

  - ### LASTORE

    static final ArrayInstruction LASTORE
    Deprecated.

  - ### FASTORE

    static final ArrayInstruction FASTORE
    Deprecated.

  - ### DASTORE

    static final ArrayInstruction DASTORE
    Deprecated.

  - ### AASTORE

    static final ArrayInstruction AASTORE
    Deprecated.

  - ### BASTORE

    static final ArrayInstruction BASTORE
    Deprecated.

  - ### CASTORE

    static final ArrayInstruction CASTORE
    Deprecated.

  - ### SASTORE

    static final ArrayInstruction SASTORE
    Deprecated.

  - ### POP

    static final StackInstruction POP
    Deprecated.

  - ### POP2

    static final StackInstruction POP2
    Deprecated.

  - ### DUP

    static final StackInstruction DUP
    Deprecated.

  - ### DUP_X1

    static final StackInstruction DUP_X1
    Deprecated.

  - ### DUP_X2

    static final StackInstruction DUP_X2
    Deprecated.

  - ### DUP2

    static final StackInstruction DUP2
    Deprecated.

  - ### DUP2_X1

    static final StackInstruction DUP2_X1
    Deprecated.

  - ### DUP2_X2

    static final StackInstruction DUP2_X2
    Deprecated.

  - ### SWAP

    static final StackInstruction SWAP
    Deprecated.

  - ### IADD

    static final ArithmeticInstruction IADD
    Deprecated.

  - ### LADD

    static final ArithmeticInstruction LADD
    Deprecated.

  - ### FADD

    static final ArithmeticInstruction FADD
    Deprecated.

  - ### DADD

    static final ArithmeticInstruction DADD
    Deprecated.

  - ### ISUB

    static final ArithmeticInstruction ISUB
    Deprecated.

  - ### LSUB

    static final ArithmeticInstruction LSUB
    Deprecated.

  - ### FSUB

    static final ArithmeticInstruction FSUB
    Deprecated.

  - ### DSUB

    static final ArithmeticInstruction DSUB
    Deprecated.

  - ### IMUL

    static final ArithmeticInstruction IMUL
    Deprecated.

  - ### LMUL

    static final ArithmeticInstruction LMUL
    Deprecated.

  - ### FMUL

    static final ArithmeticInstruction FMUL
    Deprecated.

  - ### DMUL

    static final ArithmeticInstruction DMUL
    Deprecated.

  - ### IDIV

    static final ArithmeticInstruction IDIV
    Deprecated.

  - ### LDIV

    static final ArithmeticInstruction LDIV
    Deprecated.

  - ### FDIV

    static final ArithmeticInstruction FDIV
    Deprecated.

  - ### DDIV

    static final ArithmeticInstruction DDIV
    Deprecated.

  - ### IREM

    static final ArithmeticInstruction IREM
    Deprecated.

  - ### LREM

    static final ArithmeticInstruction LREM
    Deprecated.

  - ### FREM

    static final ArithmeticInstruction FREM
    Deprecated.

  - ### DREM

    static final ArithmeticInstruction DREM
    Deprecated.

  - ### INEG

    static final ArithmeticInstruction INEG
    Deprecated.

  - ### LNEG

    static final ArithmeticInstruction LNEG
    Deprecated.

  - ### FNEG

    static final ArithmeticInstruction FNEG
    Deprecated.

  - ### DNEG

    static final ArithmeticInstruction DNEG
    Deprecated.

  - ### ISHL

    static final ArithmeticInstruction ISHL
    Deprecated.

  - ### LSHL

    static final ArithmeticInstruction LSHL
    Deprecated.

  - ### ISHR

    static final ArithmeticInstruction ISHR
    Deprecated.

  - ### LSHR

    static final ArithmeticInstruction LSHR
    Deprecated.

  - ### IUSHR

    static final ArithmeticInstruction IUSHR
    Deprecated.

  - ### LUSHR

    static final ArithmeticInstruction LUSHR
    Deprecated.

  - ### IAND

    static final ArithmeticInstruction IAND
    Deprecated.

  - ### LAND

    static final ArithmeticInstruction LAND
    Deprecated.

  - ### IOR

    static final ArithmeticInstruction IOR
    Deprecated.

  - ### LOR

    static final ArithmeticInstruction LOR
    Deprecated.

  - ### IXOR

    static final ArithmeticInstruction IXOR
    Deprecated.

  - ### LXOR

    static final ArithmeticInstruction LXOR
    Deprecated.

  - ### I2L

    static final ConversionInstruction I2L
    Deprecated.

  - ### I2F

    static final ConversionInstruction I2F
    Deprecated.

  - ### I2D

    static final ConversionInstruction I2D
    Deprecated.

  - ### L2I

    static final ConversionInstruction L2I
    Deprecated.

  - ### L2F

    static final ConversionInstruction L2F
    Deprecated.

  - ### L2D

    static final ConversionInstruction L2D
    Deprecated.

  - ### F2I

    static final ConversionInstruction F2I
    Deprecated.

  - ### F2L

    static final ConversionInstruction F2L
    Deprecated.

  - ### F2D

    static final ConversionInstruction F2D
    Deprecated.

  - ### D2I

    static final ConversionInstruction D2I
    Deprecated.

  - ### D2L

    static final ConversionInstruction D2L
    Deprecated.

  - ### D2F

    static final ConversionInstruction D2F
    Deprecated.

  - ### I2B

    static final ConversionInstruction I2B
    Deprecated.

  - ### I2C

    static final ConversionInstruction I2C
    Deprecated.

  - ### I2S

    static final ConversionInstruction I2S
    Deprecated.

  - ### LCMP

    static final Instruction LCMP
    Deprecated.

  - ### FCMPL

    static final Instruction FCMPL
    Deprecated.

  - ### FCMPG

    static final Instruction FCMPG
    Deprecated.

  - ### DCMPL

    static final Instruction DCMPL
    Deprecated.

  - ### DCMPG

    static final Instruction DCMPG
    Deprecated.

  - ### IRETURN

    static final ReturnInstruction IRETURN
    Deprecated.

  - ### LRETURN

    static final ReturnInstruction LRETURN
    Deprecated.

  - ### FRETURN

    static final ReturnInstruction FRETURN
    Deprecated.

  - ### DRETURN

    static final ReturnInstruction DRETURN
    Deprecated.

  - ### ARETURN

    static final ReturnInstruction ARETURN
    Deprecated.

  - ### RETURN

    static final ReturnInstruction RETURN
    Deprecated.

  - ### ARRAYLENGTH

    static final Instruction ARRAYLENGTH
    Deprecated.

  - ### ATHROW

    static final Instruction ATHROW
    Deprecated.

  - ### MONITORENTER

    static final Instruction MONITORENTER
    Deprecated.

  - ### MONITOREXIT

    static final Instruction MONITOREXIT
    Deprecated.

  - ### THIS

    static final LocalVariableInstruction THIS
    Deprecated.
    You can use these constants in multiple places safely, if you can guarantee that you will never alter their internal values, e.g. call setIndex().

  - ### ALOAD_0

    static final LocalVariableInstruction ALOAD_0
    Deprecated.

  - ### ALOAD_1

    static final LocalVariableInstruction ALOAD_1
    Deprecated.

  - ### ALOAD_2

    static final LocalVariableInstruction ALOAD_2
    Deprecated.

  - ### ILOAD_0

    static final LocalVariableInstruction ILOAD_0
    Deprecated.

  - ### ILOAD_1

    static final LocalVariableInstruction ILOAD_1
    Deprecated.

  - ### ILOAD_2

    static final LocalVariableInstruction ILOAD_2
    Deprecated.

  - ### ASTORE_0

    static final LocalVariableInstruction ASTORE_0
    Deprecated.

  - ### ASTORE_1

    static final LocalVariableInstruction ASTORE_1
    Deprecated.

  - ### ASTORE_2

    static final LocalVariableInstruction ASTORE_2
    Deprecated.

  - ### ISTORE_0

    static final LocalVariableInstruction ISTORE_0
    Deprecated.

  - ### ISTORE_1

    static final LocalVariableInstruction ISTORE_1
    Deprecated.

  - ### ISTORE_2

    static final LocalVariableInstruction ISTORE_2
    Deprecated.

  - ### INSTRUCTIONS

    static final Instruction[] INSTRUCTIONS
    Deprecated.
    Gets object via its opcode, for immutable instructions like branch instructions entries are set to null.

  - ### bla

    static final InstructionConstants.Clinit bla
    Deprecated.
    Interfaces may have no static initializers, so we simulate this with an inner class.