Enum Class OpCode

java.lang.Object
java.lang.Enum<OpCode>
com.strobel.assembler.ir.OpCode
All Implemented Interfaces:
Serializable, Comparable<OpCode>, Constable

public enum OpCode extends Enum<OpCode>
  • Enum Constant Details

    • NOP

      public static final OpCode NOP
    • ACONST_NULL

      public static final OpCode ACONST_NULL
    • ICONST_M1

      public static final OpCode ICONST_M1
    • ICONST_0

      public static final OpCode ICONST_0
    • ICONST_1

      public static final OpCode ICONST_1
    • ICONST_2

      public static final OpCode ICONST_2
    • ICONST_3

      public static final OpCode ICONST_3
    • ICONST_4

      public static final OpCode ICONST_4
    • ICONST_5

      public static final OpCode ICONST_5
    • LCONST_0

      public static final OpCode LCONST_0
    • LCONST_1

      public static final OpCode LCONST_1
    • FCONST_0

      public static final OpCode FCONST_0
    • FCONST_1

      public static final OpCode FCONST_1
    • FCONST_2

      public static final OpCode FCONST_2
    • DCONST_0

      public static final OpCode DCONST_0
    • DCONST_1

      public static final OpCode DCONST_1
    • BIPUSH

      public static final OpCode BIPUSH
    • SIPUSH

      public static final OpCode SIPUSH
    • LDC

      public static final OpCode LDC
    • LDC_W

      public static final OpCode LDC_W
    • LDC2_W

      public static final OpCode LDC2_W
    • ILOAD

      public static final OpCode ILOAD
    • LLOAD

      public static final OpCode LLOAD
    • FLOAD

      public static final OpCode FLOAD
    • DLOAD

      public static final OpCode DLOAD
    • ALOAD

      public static final OpCode ALOAD
    • ILOAD_0

      public static final OpCode ILOAD_0
    • ILOAD_1

      public static final OpCode ILOAD_1
    • ILOAD_2

      public static final OpCode ILOAD_2
    • ILOAD_3

      public static final OpCode ILOAD_3
    • LLOAD_0

      public static final OpCode LLOAD_0
    • LLOAD_1

      public static final OpCode LLOAD_1
    • LLOAD_2

      public static final OpCode LLOAD_2
    • LLOAD_3

      public static final OpCode LLOAD_3
    • FLOAD_0

      public static final OpCode FLOAD_0
    • FLOAD_1

      public static final OpCode FLOAD_1
    • FLOAD_2

      public static final OpCode FLOAD_2
    • FLOAD_3

      public static final OpCode FLOAD_3
    • DLOAD_0

      public static final OpCode DLOAD_0
    • DLOAD_1

      public static final OpCode DLOAD_1
    • DLOAD_2

      public static final OpCode DLOAD_2
    • DLOAD_3

      public static final OpCode DLOAD_3
    • ALOAD_0

      public static final OpCode ALOAD_0
    • ALOAD_1

      public static final OpCode ALOAD_1
    • ALOAD_2

      public static final OpCode ALOAD_2
    • ALOAD_3

      public static final OpCode ALOAD_3
    • IALOAD

      public static final OpCode IALOAD
    • LALOAD

      public static final OpCode LALOAD
    • FALOAD

      public static final OpCode FALOAD
    • DALOAD

      public static final OpCode DALOAD
    • AALOAD

      public static final OpCode AALOAD
    • BALOAD

      public static final OpCode BALOAD
    • CALOAD

      public static final OpCode CALOAD
    • SALOAD

      public static final OpCode SALOAD
    • ISTORE

      public static final OpCode ISTORE
    • LSTORE

      public static final OpCode LSTORE
    • FSTORE

      public static final OpCode FSTORE
    • DSTORE

      public static final OpCode DSTORE
    • ASTORE

      public static final OpCode ASTORE
    • ISTORE_0

      public static final OpCode ISTORE_0
    • ISTORE_1

      public static final OpCode ISTORE_1
    • ISTORE_2

      public static final OpCode ISTORE_2
    • ISTORE_3

      public static final OpCode ISTORE_3
    • LSTORE_0

      public static final OpCode LSTORE_0
    • LSTORE_1

      public static final OpCode LSTORE_1
    • LSTORE_2

      public static final OpCode LSTORE_2
    • LSTORE_3

      public static final OpCode LSTORE_3
    • FSTORE_0

      public static final OpCode FSTORE_0
    • FSTORE_1

      public static final OpCode FSTORE_1
    • FSTORE_2

      public static final OpCode FSTORE_2
    • FSTORE_3

      public static final OpCode FSTORE_3
    • DSTORE_0

      public static final OpCode DSTORE_0
    • DSTORE_1

      public static final OpCode DSTORE_1
    • DSTORE_2

      public static final OpCode DSTORE_2
    • DSTORE_3

      public static final OpCode DSTORE_3
    • ASTORE_0

      public static final OpCode ASTORE_0
    • ASTORE_1

      public static final OpCode ASTORE_1
    • ASTORE_2

      public static final OpCode ASTORE_2
    • ASTORE_3

      public static final OpCode ASTORE_3
    • IASTORE

      public static final OpCode IASTORE
    • LASTORE

      public static final OpCode LASTORE
    • FASTORE

      public static final OpCode FASTORE
    • DASTORE

      public static final OpCode DASTORE
    • AASTORE

      public static final OpCode AASTORE
    • BASTORE

      public static final OpCode BASTORE
    • CASTORE

      public static final OpCode CASTORE
    • SASTORE

      public static final OpCode SASTORE
    • POP

      public static final OpCode POP
    • POP2

      public static final OpCode POP2
    • DUP

      public static final OpCode DUP
    • DUP_X1

      public static final OpCode DUP_X1
    • DUP_X2

      public static final OpCode DUP_X2
    • DUP2

      public static final OpCode DUP2
    • DUP2_X1

      public static final OpCode DUP2_X1
    • DUP2_X2

      public static final OpCode DUP2_X2
    • SWAP

      public static final OpCode SWAP
    • IADD

      public static final OpCode IADD
    • LADD

      public static final OpCode LADD
    • FADD

      public static final OpCode FADD
    • DADD

      public static final OpCode DADD
    • ISUB

      public static final OpCode ISUB
    • LSUB

      public static final OpCode LSUB
    • FSUB

      public static final OpCode FSUB
    • DSUB

      public static final OpCode DSUB
    • IMUL

      public static final OpCode IMUL
    • LMUL

      public static final OpCode LMUL
    • FMUL

      public static final OpCode FMUL
    • DMUL

      public static final OpCode DMUL
    • IDIV

      public static final OpCode IDIV
    • LDIV

      public static final OpCode LDIV
    • FDIV

      public static final OpCode FDIV
    • DDIV

      public static final OpCode DDIV
    • IREM

      public static final OpCode IREM
    • LREM

      public static final OpCode LREM
    • FREM

      public static final OpCode FREM
    • DREM

      public static final OpCode DREM
    • INEG

      public static final OpCode INEG
    • LNEG

      public static final OpCode LNEG
    • FNEG

      public static final OpCode FNEG
    • DNEG

      public static final OpCode DNEG
    • ISHL

      public static final OpCode ISHL
    • LSHL

      public static final OpCode LSHL
    • ISHR

      public static final OpCode ISHR
    • LSHR

      public static final OpCode LSHR
    • IUSHR

      public static final OpCode IUSHR
    • LUSHR

      public static final OpCode LUSHR
    • IAND

      public static final OpCode IAND
    • LAND

      public static final OpCode LAND
    • IOR

      public static final OpCode IOR
    • LOR

      public static final OpCode LOR
    • IXOR

      public static final OpCode IXOR
    • LXOR

      public static final OpCode LXOR
    • IINC

      public static final OpCode IINC
    • I2L

      public static final OpCode I2L
    • I2F

      public static final OpCode I2F
    • I2D

      public static final OpCode I2D
    • L2I

      public static final OpCode L2I
    • L2F

      public static final OpCode L2F
    • L2D

      public static final OpCode L2D
    • F2I

      public static final OpCode F2I
    • F2L

      public static final OpCode F2L
    • F2D

      public static final OpCode F2D
    • D2I

      public static final OpCode D2I
    • D2L

      public static final OpCode D2L
    • D2F

      public static final OpCode D2F
    • I2B

      public static final OpCode I2B
    • I2C

      public static final OpCode I2C
    • I2S

      public static final OpCode I2S
    • LCMP

      public static final OpCode LCMP
    • FCMPL

      public static final OpCode FCMPL
    • FCMPG

      public static final OpCode FCMPG
    • DCMPL

      public static final OpCode DCMPL
    • DCMPG

      public static final OpCode DCMPG
    • IFEQ

      public static final OpCode IFEQ
    • IFNE

      public static final OpCode IFNE
    • IFLT

      public static final OpCode IFLT
    • IFGE

      public static final OpCode IFGE
    • IFGT

      public static final OpCode IFGT
    • IFLE

      public static final OpCode IFLE
    • IF_ICMPEQ

      public static final OpCode IF_ICMPEQ
    • IF_ICMPNE

      public static final OpCode IF_ICMPNE
    • IF_ICMPLT

      public static final OpCode IF_ICMPLT
    • IF_ICMPGE

      public static final OpCode IF_ICMPGE
    • IF_ICMPGT

      public static final OpCode IF_ICMPGT
    • IF_ICMPLE

      public static final OpCode IF_ICMPLE
    • IF_ACMPEQ

      public static final OpCode IF_ACMPEQ
    • IF_ACMPNE

      public static final OpCode IF_ACMPNE
    • GOTO

      public static final OpCode GOTO
    • JSR

      public static final OpCode JSR
    • RET

      public static final OpCode RET
    • TABLESWITCH

      public static final OpCode TABLESWITCH
    • LOOKUPSWITCH

      public static final OpCode LOOKUPSWITCH
    • IRETURN

      public static final OpCode IRETURN
    • LRETURN

      public static final OpCode LRETURN
    • FRETURN

      public static final OpCode FRETURN
    • DRETURN

      public static final OpCode DRETURN
    • ARETURN

      public static final OpCode ARETURN
    • RETURN

      public static final OpCode RETURN
    • GETSTATIC

      public static final OpCode GETSTATIC
    • PUTSTATIC

      public static final OpCode PUTSTATIC
    • GETFIELD

      public static final OpCode GETFIELD
    • PUTFIELD

      public static final OpCode PUTFIELD
    • INVOKEVIRTUAL

      public static final OpCode INVOKEVIRTUAL
    • INVOKESPECIAL

      public static final OpCode INVOKESPECIAL
    • INVOKESTATIC

      public static final OpCode INVOKESTATIC
    • INVOKEINTERFACE

      public static final OpCode INVOKEINTERFACE
    • INVOKEDYNAMIC

      public static final OpCode INVOKEDYNAMIC
    • NEW

      public static final OpCode NEW
    • NEWARRAY

      public static final OpCode NEWARRAY
    • ANEWARRAY

      public static final OpCode ANEWARRAY
    • ARRAYLENGTH

      public static final OpCode ARRAYLENGTH
    • ATHROW

      public static final OpCode ATHROW
    • CHECKCAST

      public static final OpCode CHECKCAST
    • INSTANCEOF

      public static final OpCode INSTANCEOF
    • MONITORENTER

      public static final OpCode MONITORENTER
    • MONITOREXIT

      public static final OpCode MONITOREXIT
    • MULTIANEWARRAY

      public static final OpCode MULTIANEWARRAY
    • IFNULL

      public static final OpCode IFNULL
    • IFNONNULL

      public static final OpCode IFNONNULL
    • GOTO_W

      public static final OpCode GOTO_W
    • JSR_W

      public static final OpCode JSR_W
    • BREAKPOINT

      public static final OpCode BREAKPOINT
    • ILOAD_W

      public static final OpCode ILOAD_W
    • LLOAD_W

      public static final OpCode LLOAD_W
    • FLOAD_W

      public static final OpCode FLOAD_W
    • DLOAD_W

      public static final OpCode DLOAD_W
    • ALOAD_W

      public static final OpCode ALOAD_W
    • ISTORE_W

      public static final OpCode ISTORE_W
    • LSTORE_W

      public static final OpCode LSTORE_W
    • FSTORE_W

      public static final OpCode FSTORE_W
    • DSTORE_W

      public static final OpCode DSTORE_W
    • ASTORE_W

      public static final OpCode ASTORE_W
    • IINC_W

      public static final OpCode IINC_W
    • RET_W

      public static final OpCode RET_W
    • LEAVE

      public static final OpCode LEAVE
    • ENDFINALLY

      public static final OpCode ENDFINALLY
  • Field Details

    • _code

      private final int _code
    • _flowControl

      private final FlowControl _flowControl
    • _opCodeType

      private final OpCodeType _opCodeType
    • _operandType

      private final OperandType _operandType
    • _stackBehaviorPop

      private final StackBehavior _stackBehaviorPop
    • _stackBehaviorPush

      private final StackBehavior _stackBehaviorPush
    • STANDARD

      public static final int STANDARD
      The byte prefix for the wide instructions.
      See Also:
    • WIDE

      public static final int WIDE
      See Also:
    • standardOpCodes

      private static final OpCode[] standardOpCodes
    • wideOpCodes

      private static final OpCode[] wideOpCodes
    • stackChange

      private static final byte[] stackChange
  • Constructor Details

  • Method Details

    • values

      public static OpCode[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static OpCode valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • getCode

      public int getCode()
    • isWide

      public boolean isWide()
    • getOperandType

      public OperandType getOperandType()
    • getFlowControl

      public FlowControl getFlowControl()
    • getOpCodeType

      public OpCodeType getOpCodeType()
    • getStackBehaviorPop

      public StackBehavior getStackBehaviorPop()
    • getStackBehaviorPush

      public StackBehavior getStackBehaviorPush()
    • hasVariableStackBehavior

      public boolean hasVariableStackBehavior()
    • isReturn

      public boolean isReturn()
    • isThrow

      public boolean isThrow()
    • isInvoke

      public boolean isInvoke()
    • isJumpToSubroutine

      public boolean isJumpToSubroutine()
    • isReturnFromSubroutine

      public boolean isReturnFromSubroutine()
    • isLeave

      public boolean isLeave()
    • isBranch

      public boolean isBranch()
    • isGoto

      public boolean isGoto()
    • isUnconditionalBranch

      public boolean isUnconditionalBranch()
    • isMoveInstruction

      public boolean isMoveInstruction()
    • isLoad

      public boolean isLoad()
    • isStore

      public boolean isStore()
    • isArrayLoad

      public boolean isArrayLoad()
    • isArrayStore

      public boolean isArrayStore()
    • getSize

      public int getSize()
    • getStackChange

      public int getStackChange()
    • endsUnconditionalJumpBlock

      public boolean endsUnconditionalJumpBlock()
    • canThrow

      public boolean canThrow()
    • negate

      public OpCode negate()
    • get

      public static OpCode get(int code)
      Get the OpCode for a simple standard 1-byte opcode.
    • getOpcodeBlock

      private static OpCode[] getOpcodeBlock(int prefix)