org.apache.bcel.generic

## Interface InstructionConstants

- All Known Implementing Classes:
    InstructionFactory, PUSH

  Deprecated.
  (since 6.0) Do not use. Use `InstructionConst` instead.

      @Deprecated
      public interface InstructionConstants

  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 and Description
    --- | ---
    `static class` | `InstructionConstants.Clinit` Deprecated. Deprecated, consider private and ignore.

  - ### Field Summary

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

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

Copyright © 2004–2022 The Apache Software Foundation. All rights reserved.