Enum Op

java.lang.Object
java.lang.Enum<Op>
com.googlecode.d2j.reader.Op
All Implemented Interfaces:
CFG, Serializable, Comparable<Op>, java.lang.constant.Constable

public enum Op extends Enum<Op> implements CFG
  • Enum Constant Details

    • NOP

      public static final Op NOP
    • MOVE

      public static final Op MOVE
    • MOVE_FROM16

      public static final Op MOVE_FROM16
    • MOVE_16

      public static final Op MOVE_16
    • MOVE_WIDE

      public static final Op MOVE_WIDE
    • MOVE_WIDE_FROM16

      public static final Op MOVE_WIDE_FROM16
    • MOVE_WIDE_16

      public static final Op MOVE_WIDE_16
    • MOVE_OBJECT

      public static final Op MOVE_OBJECT
    • MOVE_OBJECT_FROM16

      public static final Op MOVE_OBJECT_FROM16
    • MOVE_OBJECT_16

      public static final Op MOVE_OBJECT_16
    • MOVE_RESULT

      public static final Op MOVE_RESULT
    • MOVE_RESULT_WIDE

      public static final Op MOVE_RESULT_WIDE
    • MOVE_RESULT_OBJECT

      public static final Op MOVE_RESULT_OBJECT
    • MOVE_EXCEPTION

      public static final Op MOVE_EXCEPTION
    • RETURN_VOID

      public static final Op RETURN_VOID
    • RETURN

      public static final Op RETURN
    • RETURN_WIDE

      public static final Op RETURN_WIDE
    • RETURN_OBJECT

      public static final Op RETURN_OBJECT
    • CONST_4

      public static final Op CONST_4
    • CONST_16

      public static final Op CONST_16
    • CONST

      public static final Op CONST
    • CONST_HIGH16

      public static final Op CONST_HIGH16
    • CONST_WIDE_16

      public static final Op CONST_WIDE_16
    • CONST_WIDE_32

      public static final Op CONST_WIDE_32
    • CONST_WIDE

      public static final Op CONST_WIDE
    • CONST_WIDE_HIGH16

      public static final Op CONST_WIDE_HIGH16
    • CONST_STRING

      public static final Op CONST_STRING
    • CONST_STRING_JUMBO

      public static final Op CONST_STRING_JUMBO
    • CONST_CLASS

      public static final Op CONST_CLASS
    • MONITOR_ENTER

      public static final Op MONITOR_ENTER
    • MONITOR_EXIT

      public static final Op MONITOR_EXIT
    • CHECK_CAST

      public static final Op CHECK_CAST
    • INSTANCE_OF

      public static final Op INSTANCE_OF
    • ARRAY_LENGTH

      public static final Op ARRAY_LENGTH
    • NEW_INSTANCE

      public static final Op NEW_INSTANCE
    • NEW_ARRAY

      public static final Op NEW_ARRAY
    • FILLED_NEW_ARRAY

      public static final Op FILLED_NEW_ARRAY
    • FILLED_NEW_ARRAY_RANGE

      public static final Op FILLED_NEW_ARRAY_RANGE
    • FILL_ARRAY_DATA

      public static final Op FILL_ARRAY_DATA
    • THROW

      public static final Op THROW
    • GOTO

      public static final Op GOTO
    • GOTO_16

      public static final Op GOTO_16
    • GOTO_32

      public static final Op GOTO_32
    • PACKED_SWITCH

      public static final Op PACKED_SWITCH
    • SPARSE_SWITCH

      public static final Op SPARSE_SWITCH
    • CMPL_FLOAT

      public static final Op CMPL_FLOAT
    • CMPG_FLOAT

      public static final Op CMPG_FLOAT
    • CMPL_DOUBLE

      public static final Op CMPL_DOUBLE
    • CMPG_DOUBLE

      public static final Op CMPG_DOUBLE
    • CMP_LONG

      public static final Op CMP_LONG
    • IF_EQ

      public static final Op IF_EQ
    • IF_NE

      public static final Op IF_NE
    • IF_LT

      public static final Op IF_LT
    • IF_GE

      public static final Op IF_GE
    • IF_GT

      public static final Op IF_GT
    • IF_LE

      public static final Op IF_LE
    • IF_EQZ

      public static final Op IF_EQZ
    • IF_NEZ

      public static final Op IF_NEZ
    • IF_LTZ

      public static final Op IF_LTZ
    • IF_GEZ

      public static final Op IF_GEZ
    • IF_GTZ

      public static final Op IF_GTZ
    • IF_LEZ

      public static final Op IF_LEZ
    • AGET

      public static final Op AGET
    • AGET_WIDE

      public static final Op AGET_WIDE
    • AGET_OBJECT

      public static final Op AGET_OBJECT
    • AGET_BOOLEAN

      public static final Op AGET_BOOLEAN
    • AGET_BYTE

      public static final Op AGET_BYTE
    • AGET_CHAR

      public static final Op AGET_CHAR
    • AGET_SHORT

      public static final Op AGET_SHORT
    • APUT

      public static final Op APUT
    • APUT_WIDE

      public static final Op APUT_WIDE
    • APUT_OBJECT

      public static final Op APUT_OBJECT
    • APUT_BOOLEAN

      public static final Op APUT_BOOLEAN
    • APUT_BYTE

      public static final Op APUT_BYTE
    • APUT_CHAR

      public static final Op APUT_CHAR
    • APUT_SHORT

      public static final Op APUT_SHORT
    • IGET

      public static final Op IGET
    • IGET_WIDE

      public static final Op IGET_WIDE
    • IGET_OBJECT

      public static final Op IGET_OBJECT
    • IGET_BOOLEAN

      public static final Op IGET_BOOLEAN
    • IGET_BYTE

      public static final Op IGET_BYTE
    • IGET_CHAR

      public static final Op IGET_CHAR
    • IGET_SHORT

      public static final Op IGET_SHORT
    • IPUT

      public static final Op IPUT
    • IPUT_WIDE

      public static final Op IPUT_WIDE
    • IPUT_OBJECT

      public static final Op IPUT_OBJECT
    • IPUT_BOOLEAN

      public static final Op IPUT_BOOLEAN
    • IPUT_BYTE

      public static final Op IPUT_BYTE
    • IPUT_CHAR

      public static final Op IPUT_CHAR
    • IPUT_SHORT

      public static final Op IPUT_SHORT
    • SGET

      public static final Op SGET
    • SGET_WIDE

      public static final Op SGET_WIDE
    • SGET_OBJECT

      public static final Op SGET_OBJECT
    • SGET_BOOLEAN

      public static final Op SGET_BOOLEAN
    • SGET_BYTE

      public static final Op SGET_BYTE
    • SGET_CHAR

      public static final Op SGET_CHAR
    • SGET_SHORT

      public static final Op SGET_SHORT
    • SPUT

      public static final Op SPUT
    • SPUT_WIDE

      public static final Op SPUT_WIDE
    • SPUT_OBJECT

      public static final Op SPUT_OBJECT
    • SPUT_BOOLEAN

      public static final Op SPUT_BOOLEAN
    • SPUT_BYTE

      public static final Op SPUT_BYTE
    • SPUT_CHAR

      public static final Op SPUT_CHAR
    • SPUT_SHORT

      public static final Op SPUT_SHORT
    • INVOKE_VIRTUAL

      public static final Op INVOKE_VIRTUAL
    • INVOKE_SUPER

      public static final Op INVOKE_SUPER
      Behavior changed in 037, interface-method is allowed
    • INVOKE_DIRECT

      public static final Op INVOKE_DIRECT
    • INVOKE_STATIC

      public static final Op INVOKE_STATIC
    • INVOKE_INTERFACE

      public static final Op INVOKE_INTERFACE
    • INVOKE_VIRTUAL_RANGE

      public static final Op INVOKE_VIRTUAL_RANGE
    • INVOKE_SUPER_RANGE

      public static final Op INVOKE_SUPER_RANGE
    • INVOKE_DIRECT_RANGE

      public static final Op INVOKE_DIRECT_RANGE
    • INVOKE_STATIC_RANGE

      public static final Op INVOKE_STATIC_RANGE
    • INVOKE_INTERFACE_RANGE

      public static final Op INVOKE_INTERFACE_RANGE
    • NEG_INT

      public static final Op NEG_INT
    • NOT_INT

      public static final Op NOT_INT
    • NEG_LONG

      public static final Op NEG_LONG
    • NOT_LONG

      public static final Op NOT_LONG
    • NEG_FLOAT

      public static final Op NEG_FLOAT
    • NEG_DOUBLE

      public static final Op NEG_DOUBLE
    • INT_TO_LONG

      public static final Op INT_TO_LONG
    • INT_TO_FLOAT

      public static final Op INT_TO_FLOAT
    • INT_TO_DOUBLE

      public static final Op INT_TO_DOUBLE
    • LONG_TO_INT

      public static final Op LONG_TO_INT
    • LONG_TO_FLOAT

      public static final Op LONG_TO_FLOAT
    • LONG_TO_DOUBLE

      public static final Op LONG_TO_DOUBLE
    • FLOAT_TO_INT

      public static final Op FLOAT_TO_INT
    • FLOAT_TO_LONG

      public static final Op FLOAT_TO_LONG
    • FLOAT_TO_DOUBLE

      public static final Op FLOAT_TO_DOUBLE
    • DOUBLE_TO_INT

      public static final Op DOUBLE_TO_INT
    • DOUBLE_TO_LONG

      public static final Op DOUBLE_TO_LONG
    • DOUBLE_TO_FLOAT

      public static final Op DOUBLE_TO_FLOAT
    • INT_TO_BYTE

      public static final Op INT_TO_BYTE
    • INT_TO_CHAR

      public static final Op INT_TO_CHAR
    • INT_TO_SHORT

      public static final Op INT_TO_SHORT
    • ADD_INT

      public static final Op ADD_INT
    • SUB_INT

      public static final Op SUB_INT
    • MUL_INT

      public static final Op MUL_INT
    • DIV_INT

      public static final Op DIV_INT
    • REM_INT

      public static final Op REM_INT
    • AND_INT

      public static final Op AND_INT
    • OR_INT

      public static final Op OR_INT
    • XOR_INT

      public static final Op XOR_INT
    • SHL_INT

      public static final Op SHL_INT
    • SHR_INT

      public static final Op SHR_INT
    • USHR_INT

      public static final Op USHR_INT
    • ADD_LONG

      public static final Op ADD_LONG
    • SUB_LONG

      public static final Op SUB_LONG
    • MUL_LONG

      public static final Op MUL_LONG
    • DIV_LONG

      public static final Op DIV_LONG
    • REM_LONG

      public static final Op REM_LONG
    • AND_LONG

      public static final Op AND_LONG
    • OR_LONG

      public static final Op OR_LONG
    • XOR_LONG

      public static final Op XOR_LONG
    • SHL_LONG

      public static final Op SHL_LONG
    • SHR_LONG

      public static final Op SHR_LONG
    • USHR_LONG

      public static final Op USHR_LONG
    • ADD_FLOAT

      public static final Op ADD_FLOAT
    • SUB_FLOAT

      public static final Op SUB_FLOAT
    • MUL_FLOAT

      public static final Op MUL_FLOAT
    • DIV_FLOAT

      public static final Op DIV_FLOAT
    • REM_FLOAT

      public static final Op REM_FLOAT
    • ADD_DOUBLE

      public static final Op ADD_DOUBLE
    • SUB_DOUBLE

      public static final Op SUB_DOUBLE
    • MUL_DOUBLE

      public static final Op MUL_DOUBLE
    • DIV_DOUBLE

      public static final Op DIV_DOUBLE
    • REM_DOUBLE

      public static final Op REM_DOUBLE
    • ADD_INT_2ADDR

      public static final Op ADD_INT_2ADDR
    • SUB_INT_2ADDR

      public static final Op SUB_INT_2ADDR
    • MUL_INT_2ADDR

      public static final Op MUL_INT_2ADDR
    • DIV_INT_2ADDR

      public static final Op DIV_INT_2ADDR
    • REM_INT_2ADDR

      public static final Op REM_INT_2ADDR
    • AND_INT_2ADDR

      public static final Op AND_INT_2ADDR
    • OR_INT_2ADDR

      public static final Op OR_INT_2ADDR
    • XOR_INT_2ADDR

      public static final Op XOR_INT_2ADDR
    • SHL_INT_2ADDR

      public static final Op SHL_INT_2ADDR
    • SHR_INT_2ADDR

      public static final Op SHR_INT_2ADDR
    • USHR_INT_2ADDR

      public static final Op USHR_INT_2ADDR
    • ADD_LONG_2ADDR

      public static final Op ADD_LONG_2ADDR
    • SUB_LONG_2ADDR

      public static final Op SUB_LONG_2ADDR
    • MUL_LONG_2ADDR

      public static final Op MUL_LONG_2ADDR
    • DIV_LONG_2ADDR

      public static final Op DIV_LONG_2ADDR
    • REM_LONG_2ADDR

      public static final Op REM_LONG_2ADDR
    • AND_LONG_2ADDR

      public static final Op AND_LONG_2ADDR
    • OR_LONG_2ADDR

      public static final Op OR_LONG_2ADDR
    • XOR_LONG_2ADDR

      public static final Op XOR_LONG_2ADDR
    • SHL_LONG_2ADDR

      public static final Op SHL_LONG_2ADDR
    • SHR_LONG_2ADDR

      public static final Op SHR_LONG_2ADDR
    • USHR_LONG_2ADDR

      public static final Op USHR_LONG_2ADDR
    • ADD_FLOAT_2ADDR

      public static final Op ADD_FLOAT_2ADDR
    • SUB_FLOAT_2ADDR

      public static final Op SUB_FLOAT_2ADDR
    • MUL_FLOAT_2ADDR

      public static final Op MUL_FLOAT_2ADDR
    • DIV_FLOAT_2ADDR

      public static final Op DIV_FLOAT_2ADDR
    • REM_FLOAT_2ADDR

      public static final Op REM_FLOAT_2ADDR
    • ADD_DOUBLE_2ADDR

      public static final Op ADD_DOUBLE_2ADDR
    • SUB_DOUBLE_2ADDR

      public static final Op SUB_DOUBLE_2ADDR
    • MUL_DOUBLE_2ADDR

      public static final Op MUL_DOUBLE_2ADDR
    • DIV_DOUBLE_2ADDR

      public static final Op DIV_DOUBLE_2ADDR
    • REM_DOUBLE_2ADDR

      public static final Op REM_DOUBLE_2ADDR
    • ADD_INT_LIT16

      public static final Op ADD_INT_LIT16
    • RSUB_INT

      public static final Op RSUB_INT
    • MUL_INT_LIT16

      public static final Op MUL_INT_LIT16
    • DIV_INT_LIT16

      public static final Op DIV_INT_LIT16
    • REM_INT_LIT16

      public static final Op REM_INT_LIT16
    • AND_INT_LIT16

      public static final Op AND_INT_LIT16
    • OR_INT_LIT16

      public static final Op OR_INT_LIT16
    • XOR_INT_LIT16

      public static final Op XOR_INT_LIT16
    • ADD_INT_LIT8

      public static final Op ADD_INT_LIT8
    • RSUB_INT_LIT8

      public static final Op RSUB_INT_LIT8
    • MUL_INT_LIT8

      public static final Op MUL_INT_LIT8
    • DIV_INT_LIT8

      public static final Op DIV_INT_LIT8
    • REM_INT_LIT8

      public static final Op REM_INT_LIT8
    • AND_INT_LIT8

      public static final Op AND_INT_LIT8
    • OR_INT_LIT8

      public static final Op OR_INT_LIT8
    • XOR_INT_LIT8

      public static final Op XOR_INT_LIT8
    • SHL_INT_LIT8

      public static final Op SHL_INT_LIT8
    • SHR_INT_LIT8

      public static final Op SHR_INT_LIT8
    • USHR_INT_LIT8

      public static final Op USHR_INT_LIT8
    • INVOKE_POLYMORPHIC

      public static final Op INVOKE_POLYMORPHIC
    • INVOKE_POLYMORPHIC_RANGE

      public static final Op INVOKE_POLYMORPHIC_RANGE
    • INVOKE_CUSTOM

      public static final Op INVOKE_CUSTOM
    • INVOKE_CUSTOM_RANGE

      public static final Op INVOKE_CUSTOM_RANGE
    • CONST_METHOD_HANDLE

      public static final Op CONST_METHOD_HANDLE
    • CONST_METHOD_TYPE

      public static final Op CONST_METHOD_TYPE
    • BAD_OP

      public static final Op BAD_OP
  • Field Details

    • opcode

      public final int opcode
    • format

      public final InstructionFormat format
    • displayName

      public final String displayName
    • OPS

      public static final Op[] OPS
    • changeFrame

      public final boolean changeFrame
  • Method Details

    • values

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

      public static Op valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (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 type has no constant with the specified name
      NullPointerException - if the argument is null
    • canBranch

      public boolean canBranch()
    • canContinue

      public boolean canContinue()
    • canReturn

      public boolean canReturn()
    • canSwitch

      public boolean canSwitch()
    • canThrow

      public boolean canThrow()
    • toString

      public String toString()
      Overrides:
      toString in class Enum<Op>