Enum Op

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<Op>, CFG

    public enum Op
    extends java.lang.Enum<Op>
    implements CFG
    • Enum Constant Detail

      • 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
      • BAD_OP

        public static final Op BAD_OP
    • Field Detail

      • opcode

        public final int opcode
      • displayName

        public final java.lang.String displayName
      • ops

        public static final Op[] ops
      • changeFrame

        public final boolean changeFrame
    • Method Detail

      • values

        public static Op[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (Op c : Op.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static Op valueOf​(java.lang.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:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.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 java.lang.String toString()
        Overrides:
        toString in class java.lang.Enum<Op>