Enum Opcode

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

    public enum Opcode
    extends java.lang.Enum<Opcode>
    • Enum Constant Detail

      • NOP

        public static final Opcode NOP
      • MOVE

        public static final Opcode MOVE
      • MOVE_FROM16

        public static final Opcode MOVE_FROM16
      • MOVE_16

        public static final Opcode MOVE_16
      • MOVE_WIDE

        public static final Opcode MOVE_WIDE
      • MOVE_WIDE_FROM16

        public static final Opcode MOVE_WIDE_FROM16
      • MOVE_WIDE_16

        public static final Opcode MOVE_WIDE_16
      • MOVE_OBJECT

        public static final Opcode MOVE_OBJECT
      • MOVE_OBJECT_FROM16

        public static final Opcode MOVE_OBJECT_FROM16
      • MOVE_OBJECT_16

        public static final Opcode MOVE_OBJECT_16
      • MOVE_RESULT

        public static final Opcode MOVE_RESULT
      • MOVE_RESULT_WIDE

        public static final Opcode MOVE_RESULT_WIDE
      • MOVE_RESULT_OBJECT

        public static final Opcode MOVE_RESULT_OBJECT
      • MOVE_EXCEPTION

        public static final Opcode MOVE_EXCEPTION
      • RETURN_VOID

        public static final Opcode RETURN_VOID
      • RETURN

        public static final Opcode RETURN
      • RETURN_WIDE

        public static final Opcode RETURN_WIDE
      • RETURN_OBJECT

        public static final Opcode RETURN_OBJECT
      • CONST_4

        public static final Opcode CONST_4
      • CONST_16

        public static final Opcode CONST_16
      • CONST

        public static final Opcode CONST
      • CONST_HIGH16

        public static final Opcode CONST_HIGH16
      • CONST_WIDE_16

        public static final Opcode CONST_WIDE_16
      • CONST_WIDE_32

        public static final Opcode CONST_WIDE_32
      • CONST_WIDE

        public static final Opcode CONST_WIDE
      • CONST_WIDE_HIGH16

        public static final Opcode CONST_WIDE_HIGH16
      • CONST_STRING

        public static final Opcode CONST_STRING
      • CONST_STRING_JUMBO

        public static final Opcode CONST_STRING_JUMBO
      • CONST_CLASS

        public static final Opcode CONST_CLASS
      • MONITOR_ENTER

        public static final Opcode MONITOR_ENTER
      • MONITOR_EXIT

        public static final Opcode MONITOR_EXIT
      • CHECK_CAST

        public static final Opcode CHECK_CAST
      • INSTANCE_OF

        public static final Opcode INSTANCE_OF
      • ARRAY_LENGTH

        public static final Opcode ARRAY_LENGTH
      • NEW_INSTANCE

        public static final Opcode NEW_INSTANCE
      • NEW_ARRAY

        public static final Opcode NEW_ARRAY
      • FILLED_NEW_ARRAY

        public static final Opcode FILLED_NEW_ARRAY
      • FILLED_NEW_ARRAY_RANGE

        public static final Opcode FILLED_NEW_ARRAY_RANGE
      • FILL_ARRAY_DATA

        public static final Opcode FILL_ARRAY_DATA
      • THROW

        public static final Opcode THROW
      • GOTO

        public static final Opcode GOTO
      • GOTO_16

        public static final Opcode GOTO_16
      • GOTO_32

        public static final Opcode GOTO_32
      • PACKED_SWITCH

        public static final Opcode PACKED_SWITCH
      • SPARSE_SWITCH

        public static final Opcode SPARSE_SWITCH
      • CMPL_FLOAT

        public static final Opcode CMPL_FLOAT
      • CMPG_FLOAT

        public static final Opcode CMPG_FLOAT
      • CMPL_DOUBLE

        public static final Opcode CMPL_DOUBLE
      • CMPG_DOUBLE

        public static final Opcode CMPG_DOUBLE
      • CMP_LONG

        public static final Opcode CMP_LONG
      • IF_EQ

        public static final Opcode IF_EQ
      • IF_NE

        public static final Opcode IF_NE
      • IF_LT

        public static final Opcode IF_LT
      • IF_GE

        public static final Opcode IF_GE
      • IF_GT

        public static final Opcode IF_GT
      • IF_LE

        public static final Opcode IF_LE
      • IF_EQZ

        public static final Opcode IF_EQZ
      • IF_NEZ

        public static final Opcode IF_NEZ
      • IF_LTZ

        public static final Opcode IF_LTZ
      • IF_GEZ

        public static final Opcode IF_GEZ
      • IF_GTZ

        public static final Opcode IF_GTZ
      • IF_LEZ

        public static final Opcode IF_LEZ
      • AGET

        public static final Opcode AGET
      • AGET_WIDE

        public static final Opcode AGET_WIDE
      • AGET_OBJECT

        public static final Opcode AGET_OBJECT
      • AGET_BOOLEAN

        public static final Opcode AGET_BOOLEAN
      • AGET_BYTE

        public static final Opcode AGET_BYTE
      • AGET_CHAR

        public static final Opcode AGET_CHAR
      • AGET_SHORT

        public static final Opcode AGET_SHORT
      • APUT

        public static final Opcode APUT
      • APUT_WIDE

        public static final Opcode APUT_WIDE
      • APUT_OBJECT

        public static final Opcode APUT_OBJECT
      • APUT_BOOLEAN

        public static final Opcode APUT_BOOLEAN
      • APUT_BYTE

        public static final Opcode APUT_BYTE
      • APUT_CHAR

        public static final Opcode APUT_CHAR
      • APUT_SHORT

        public static final Opcode APUT_SHORT
      • IGET

        public static final Opcode IGET
      • IGET_WIDE

        public static final Opcode IGET_WIDE
      • IGET_OBJECT

        public static final Opcode IGET_OBJECT
      • IGET_BOOLEAN

        public static final Opcode IGET_BOOLEAN
      • IGET_BYTE

        public static final Opcode IGET_BYTE
      • IGET_CHAR

        public static final Opcode IGET_CHAR
      • IGET_SHORT

        public static final Opcode IGET_SHORT
      • IPUT

        public static final Opcode IPUT
      • IPUT_WIDE

        public static final Opcode IPUT_WIDE
      • IPUT_OBJECT

        public static final Opcode IPUT_OBJECT
      • IPUT_BOOLEAN

        public static final Opcode IPUT_BOOLEAN
      • IPUT_BYTE

        public static final Opcode IPUT_BYTE
      • IPUT_CHAR

        public static final Opcode IPUT_CHAR
      • IPUT_SHORT

        public static final Opcode IPUT_SHORT
      • SGET

        public static final Opcode SGET
      • SGET_WIDE

        public static final Opcode SGET_WIDE
      • SGET_OBJECT

        public static final Opcode SGET_OBJECT
      • SGET_BOOLEAN

        public static final Opcode SGET_BOOLEAN
      • SGET_BYTE

        public static final Opcode SGET_BYTE
      • SGET_CHAR

        public static final Opcode SGET_CHAR
      • SGET_SHORT

        public static final Opcode SGET_SHORT
      • SPUT

        public static final Opcode SPUT
      • SPUT_WIDE

        public static final Opcode SPUT_WIDE
      • SPUT_OBJECT

        public static final Opcode SPUT_OBJECT
      • SPUT_BOOLEAN

        public static final Opcode SPUT_BOOLEAN
      • SPUT_BYTE

        public static final Opcode SPUT_BYTE
      • SPUT_CHAR

        public static final Opcode SPUT_CHAR
      • SPUT_SHORT

        public static final Opcode SPUT_SHORT
      • INVOKE_VIRTUAL

        public static final Opcode INVOKE_VIRTUAL
      • INVOKE_SUPER

        public static final Opcode INVOKE_SUPER
      • INVOKE_DIRECT

        public static final Opcode INVOKE_DIRECT
      • INVOKE_STATIC

        public static final Opcode INVOKE_STATIC
      • INVOKE_INTERFACE

        public static final Opcode INVOKE_INTERFACE
      • INVOKE_VIRTUAL_RANGE

        public static final Opcode INVOKE_VIRTUAL_RANGE
      • INVOKE_SUPER_RANGE

        public static final Opcode INVOKE_SUPER_RANGE
      • INVOKE_DIRECT_RANGE

        public static final Opcode INVOKE_DIRECT_RANGE
      • INVOKE_STATIC_RANGE

        public static final Opcode INVOKE_STATIC_RANGE
      • INVOKE_INTERFACE_RANGE

        public static final Opcode INVOKE_INTERFACE_RANGE
      • NEG_INT

        public static final Opcode NEG_INT
      • NOT_INT

        public static final Opcode NOT_INT
      • NEG_LONG

        public static final Opcode NEG_LONG
      • NOT_LONG

        public static final Opcode NOT_LONG
      • NEG_FLOAT

        public static final Opcode NEG_FLOAT
      • NEG_DOUBLE

        public static final Opcode NEG_DOUBLE
      • INT_TO_LONG

        public static final Opcode INT_TO_LONG
      • INT_TO_FLOAT

        public static final Opcode INT_TO_FLOAT
      • INT_TO_DOUBLE

        public static final Opcode INT_TO_DOUBLE
      • LONG_TO_INT

        public static final Opcode LONG_TO_INT
      • LONG_TO_FLOAT

        public static final Opcode LONG_TO_FLOAT
      • LONG_TO_DOUBLE

        public static final Opcode LONG_TO_DOUBLE
      • FLOAT_TO_INT

        public static final Opcode FLOAT_TO_INT
      • FLOAT_TO_LONG

        public static final Opcode FLOAT_TO_LONG
      • FLOAT_TO_DOUBLE

        public static final Opcode FLOAT_TO_DOUBLE
      • DOUBLE_TO_INT

        public static final Opcode DOUBLE_TO_INT
      • DOUBLE_TO_LONG

        public static final Opcode DOUBLE_TO_LONG
      • DOUBLE_TO_FLOAT

        public static final Opcode DOUBLE_TO_FLOAT
      • INT_TO_BYTE

        public static final Opcode INT_TO_BYTE
      • INT_TO_CHAR

        public static final Opcode INT_TO_CHAR
      • INT_TO_SHORT

        public static final Opcode INT_TO_SHORT
      • ADD_INT

        public static final Opcode ADD_INT
      • SUB_INT

        public static final Opcode SUB_INT
      • MUL_INT

        public static final Opcode MUL_INT
      • DIV_INT

        public static final Opcode DIV_INT
      • REM_INT

        public static final Opcode REM_INT
      • AND_INT

        public static final Opcode AND_INT
      • OR_INT

        public static final Opcode OR_INT
      • XOR_INT

        public static final Opcode XOR_INT
      • SHL_INT

        public static final Opcode SHL_INT
      • SHR_INT

        public static final Opcode SHR_INT
      • USHR_INT

        public static final Opcode USHR_INT
      • ADD_LONG

        public static final Opcode ADD_LONG
      • SUB_LONG

        public static final Opcode SUB_LONG
      • MUL_LONG

        public static final Opcode MUL_LONG
      • DIV_LONG

        public static final Opcode DIV_LONG
      • REM_LONG

        public static final Opcode REM_LONG
      • AND_LONG

        public static final Opcode AND_LONG
      • OR_LONG

        public static final Opcode OR_LONG
      • XOR_LONG

        public static final Opcode XOR_LONG
      • SHL_LONG

        public static final Opcode SHL_LONG
      • SHR_LONG

        public static final Opcode SHR_LONG
      • USHR_LONG

        public static final Opcode USHR_LONG
      • ADD_FLOAT

        public static final Opcode ADD_FLOAT
      • SUB_FLOAT

        public static final Opcode SUB_FLOAT
      • MUL_FLOAT

        public static final Opcode MUL_FLOAT
      • DIV_FLOAT

        public static final Opcode DIV_FLOAT
      • REM_FLOAT

        public static final Opcode REM_FLOAT
      • ADD_DOUBLE

        public static final Opcode ADD_DOUBLE
      • SUB_DOUBLE

        public static final Opcode SUB_DOUBLE
      • MUL_DOUBLE

        public static final Opcode MUL_DOUBLE
      • DIV_DOUBLE

        public static final Opcode DIV_DOUBLE
      • REM_DOUBLE

        public static final Opcode REM_DOUBLE
      • ADD_INT_2ADDR

        public static final Opcode ADD_INT_2ADDR
      • SUB_INT_2ADDR

        public static final Opcode SUB_INT_2ADDR
      • MUL_INT_2ADDR

        public static final Opcode MUL_INT_2ADDR
      • DIV_INT_2ADDR

        public static final Opcode DIV_INT_2ADDR
      • REM_INT_2ADDR

        public static final Opcode REM_INT_2ADDR
      • AND_INT_2ADDR

        public static final Opcode AND_INT_2ADDR
      • OR_INT_2ADDR

        public static final Opcode OR_INT_2ADDR
      • XOR_INT_2ADDR

        public static final Opcode XOR_INT_2ADDR
      • SHL_INT_2ADDR

        public static final Opcode SHL_INT_2ADDR
      • SHR_INT_2ADDR

        public static final Opcode SHR_INT_2ADDR
      • USHR_INT_2ADDR

        public static final Opcode USHR_INT_2ADDR
      • ADD_LONG_2ADDR

        public static final Opcode ADD_LONG_2ADDR
      • SUB_LONG_2ADDR

        public static final Opcode SUB_LONG_2ADDR
      • MUL_LONG_2ADDR

        public static final Opcode MUL_LONG_2ADDR
      • DIV_LONG_2ADDR

        public static final Opcode DIV_LONG_2ADDR
      • REM_LONG_2ADDR

        public static final Opcode REM_LONG_2ADDR
      • AND_LONG_2ADDR

        public static final Opcode AND_LONG_2ADDR
      • OR_LONG_2ADDR

        public static final Opcode OR_LONG_2ADDR
      • XOR_LONG_2ADDR

        public static final Opcode XOR_LONG_2ADDR
      • SHL_LONG_2ADDR

        public static final Opcode SHL_LONG_2ADDR
      • SHR_LONG_2ADDR

        public static final Opcode SHR_LONG_2ADDR
      • USHR_LONG_2ADDR

        public static final Opcode USHR_LONG_2ADDR
      • ADD_FLOAT_2ADDR

        public static final Opcode ADD_FLOAT_2ADDR
      • SUB_FLOAT_2ADDR

        public static final Opcode SUB_FLOAT_2ADDR
      • MUL_FLOAT_2ADDR

        public static final Opcode MUL_FLOAT_2ADDR
      • DIV_FLOAT_2ADDR

        public static final Opcode DIV_FLOAT_2ADDR
      • REM_FLOAT_2ADDR

        public static final Opcode REM_FLOAT_2ADDR
      • ADD_DOUBLE_2ADDR

        public static final Opcode ADD_DOUBLE_2ADDR
      • SUB_DOUBLE_2ADDR

        public static final Opcode SUB_DOUBLE_2ADDR
      • MUL_DOUBLE_2ADDR

        public static final Opcode MUL_DOUBLE_2ADDR
      • DIV_DOUBLE_2ADDR

        public static final Opcode DIV_DOUBLE_2ADDR
      • REM_DOUBLE_2ADDR

        public static final Opcode REM_DOUBLE_2ADDR
      • ADD_INT_LIT16

        public static final Opcode ADD_INT_LIT16
      • RSUB_INT

        public static final Opcode RSUB_INT
      • MUL_INT_LIT16

        public static final Opcode MUL_INT_LIT16
      • DIV_INT_LIT16

        public static final Opcode DIV_INT_LIT16
      • REM_INT_LIT16

        public static final Opcode REM_INT_LIT16
      • AND_INT_LIT16

        public static final Opcode AND_INT_LIT16
      • OR_INT_LIT16

        public static final Opcode OR_INT_LIT16
      • XOR_INT_LIT16

        public static final Opcode XOR_INT_LIT16
      • ADD_INT_LIT8

        public static final Opcode ADD_INT_LIT8
      • RSUB_INT_LIT8

        public static final Opcode RSUB_INT_LIT8
      • MUL_INT_LIT8

        public static final Opcode MUL_INT_LIT8
      • DIV_INT_LIT8

        public static final Opcode DIV_INT_LIT8
      • REM_INT_LIT8

        public static final Opcode REM_INT_LIT8
      • AND_INT_LIT8

        public static final Opcode AND_INT_LIT8
      • OR_INT_LIT8

        public static final Opcode OR_INT_LIT8
      • XOR_INT_LIT8

        public static final Opcode XOR_INT_LIT8
      • SHL_INT_LIT8

        public static final Opcode SHL_INT_LIT8
      • SHR_INT_LIT8

        public static final Opcode SHR_INT_LIT8
      • USHR_INT_LIT8

        public static final Opcode USHR_INT_LIT8
      • IGET_VOLATILE

        public static final Opcode IGET_VOLATILE
      • IPUT_VOLATILE

        public static final Opcode IPUT_VOLATILE
      • SGET_VOLATILE

        public static final Opcode SGET_VOLATILE
      • SPUT_VOLATILE

        public static final Opcode SPUT_VOLATILE
      • IGET_OBJECT_VOLATILE

        public static final Opcode IGET_OBJECT_VOLATILE
      • IGET_WIDE_VOLATILE

        public static final Opcode IGET_WIDE_VOLATILE
      • IPUT_WIDE_VOLATILE

        public static final Opcode IPUT_WIDE_VOLATILE
      • SGET_WIDE_VOLATILE

        public static final Opcode SGET_WIDE_VOLATILE
      • SPUT_WIDE_VOLATILE

        public static final Opcode SPUT_WIDE_VOLATILE
      • THROW_VERIFICATION_ERROR

        public static final Opcode THROW_VERIFICATION_ERROR
      • EXECUTE_INLINE

        public static final Opcode EXECUTE_INLINE
      • EXECUTE_INLINE_RANGE

        public static final Opcode EXECUTE_INLINE_RANGE
      • INVOKE_DIRECT_EMPTY

        public static final Opcode INVOKE_DIRECT_EMPTY
      • INVOKE_OBJECT_INIT_RANGE

        public static final Opcode INVOKE_OBJECT_INIT_RANGE
      • RETURN_VOID_BARRIER

        public static final Opcode RETURN_VOID_BARRIER
      • RETURN_VOID_NO_BARRIER

        public static final Opcode RETURN_VOID_NO_BARRIER
      • IGET_QUICK

        public static final Opcode IGET_QUICK
      • IGET_WIDE_QUICK

        public static final Opcode IGET_WIDE_QUICK
      • IGET_OBJECT_QUICK

        public static final Opcode IGET_OBJECT_QUICK
      • IPUT_QUICK

        public static final Opcode IPUT_QUICK
      • IPUT_WIDE_QUICK

        public static final Opcode IPUT_WIDE_QUICK
      • IPUT_OBJECT_QUICK

        public static final Opcode IPUT_OBJECT_QUICK
      • IPUT_BOOLEAN_QUICK

        public static final Opcode IPUT_BOOLEAN_QUICK
      • IPUT_BYTE_QUICK

        public static final Opcode IPUT_BYTE_QUICK
      • IPUT_CHAR_QUICK

        public static final Opcode IPUT_CHAR_QUICK
      • IPUT_SHORT_QUICK

        public static final Opcode IPUT_SHORT_QUICK
      • IGET_BOOLEAN_QUICK

        public static final Opcode IGET_BOOLEAN_QUICK
      • IGET_BYTE_QUICK

        public static final Opcode IGET_BYTE_QUICK
      • IGET_CHAR_QUICK

        public static final Opcode IGET_CHAR_QUICK
      • IGET_SHORT_QUICK

        public static final Opcode IGET_SHORT_QUICK
      • INVOKE_VIRTUAL_QUICK

        public static final Opcode INVOKE_VIRTUAL_QUICK
      • INVOKE_VIRTUAL_QUICK_RANGE

        public static final Opcode INVOKE_VIRTUAL_QUICK_RANGE
      • INVOKE_SUPER_QUICK

        public static final Opcode INVOKE_SUPER_QUICK
      • INVOKE_SUPER_QUICK_RANGE

        public static final Opcode INVOKE_SUPER_QUICK_RANGE
      • IPUT_OBJECT_VOLATILE

        public static final Opcode IPUT_OBJECT_VOLATILE
      • SGET_OBJECT_VOLATILE

        public static final Opcode SGET_OBJECT_VOLATILE
      • SPUT_OBJECT_VOLATILE

        public static final Opcode SPUT_OBJECT_VOLATILE
      • PACKED_SWITCH_PAYLOAD

        public static final Opcode PACKED_SWITCH_PAYLOAD
      • SPARSE_SWITCH_PAYLOAD

        public static final Opcode SPARSE_SWITCH_PAYLOAD
      • ARRAY_PAYLOAD

        public static final Opcode ARRAY_PAYLOAD
      • INVOKE_POLYMORPHIC

        public static final Opcode INVOKE_POLYMORPHIC
      • INVOKE_POLYMORPHIC_RANGE

        public static final Opcode INVOKE_POLYMORPHIC_RANGE
      • INVOKE_CUSTOM

        public static final Opcode INVOKE_CUSTOM
      • INVOKE_CUSTOM_RANGE

        public static final Opcode INVOKE_CUSTOM_RANGE
      • CONST_METHOD_HANDLE

        public static final Opcode CONST_METHOD_HANDLE
      • CONST_METHOD_TYPE

        public static final Opcode CONST_METHOD_TYPE
    • Field Detail

      • VOLATILE_FIELD_ACCESSOR

        public static final int VOLATILE_FIELD_ACCESSOR
        See Also:
        Constant Field Values
      • CAN_INITIALIZE_REFERENCE

        public static final int CAN_INITIALIZE_REFERENCE
        See Also:
        Constant Field Values
      • apiToValueMap

        public final com.google.common.collect.RangeMap<java.lang.Integer,​java.lang.Short> apiToValueMap
      • artVersionToValueMap

        public final com.google.common.collect.RangeMap<java.lang.Integer,​java.lang.Short> artVersionToValueMap
      • name

        public final java.lang.String name
      • referenceType

        public final int referenceType
      • format

        public final Format format
      • flags

        public final int flags
      • referenceType2

        public final int referenceType2
    • Method Detail

      • values

        public static Opcode[] 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 (Opcode c : Opcode.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static Opcode 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
      • canThrow

        public final boolean canThrow()
      • odexOnly

        public final boolean odexOnly()
      • canContinue

        public final boolean canContinue()
      • setsResult

        public final boolean setsResult()
      • setsRegister

        public final boolean setsRegister()
      • setsWideRegister

        public final boolean setsWideRegister()
      • isQuickFieldaccessor

        public final boolean isQuickFieldaccessor()
      • isVolatileFieldAccessor

        public final boolean isVolatileFieldAccessor()
      • isStaticFieldAccessor

        public final boolean isStaticFieldAccessor()
      • isJumboOpcode

        public final boolean isJumboOpcode()
      • canInitializeReference

        public final boolean canInitializeReference()