Class Dops

java.lang.Object
com.android.dx.dex.code.Dops

public final class Dops extends Object
Standard instances of Dop and utility methods for getting them.
  • Field Details

    • SPECIAL_FORMAT

      public static final Dop SPECIAL_FORMAT
      pseudo-opcode used for nonstandard formatted "instructions" (which are mostly not actually instructions, though they do appear in instruction lists). TODO: Retire the usage of this constant.
    • NOP

      public static final Dop NOP
    • MOVE

      public static final Dop MOVE
    • MOVE_FROM16

      public static final Dop MOVE_FROM16
    • MOVE_16

      public static final Dop MOVE_16
    • MOVE_WIDE

      public static final Dop MOVE_WIDE
    • MOVE_WIDE_FROM16

      public static final Dop MOVE_WIDE_FROM16
    • MOVE_WIDE_16

      public static final Dop MOVE_WIDE_16
    • MOVE_OBJECT

      public static final Dop MOVE_OBJECT
    • MOVE_OBJECT_FROM16

      public static final Dop MOVE_OBJECT_FROM16
    • MOVE_OBJECT_16

      public static final Dop MOVE_OBJECT_16
    • MOVE_RESULT

      public static final Dop MOVE_RESULT
    • MOVE_RESULT_WIDE

      public static final Dop MOVE_RESULT_WIDE
    • MOVE_RESULT_OBJECT

      public static final Dop MOVE_RESULT_OBJECT
    • MOVE_EXCEPTION

      public static final Dop MOVE_EXCEPTION
    • RETURN_VOID

      public static final Dop RETURN_VOID
    • RETURN

      public static final Dop RETURN
    • RETURN_WIDE

      public static final Dop RETURN_WIDE
    • RETURN_OBJECT

      public static final Dop RETURN_OBJECT
    • CONST_4

      public static final Dop CONST_4
    • CONST_16

      public static final Dop CONST_16
    • CONST

      public static final Dop CONST
    • CONST_HIGH16

      public static final Dop CONST_HIGH16
    • CONST_WIDE_16

      public static final Dop CONST_WIDE_16
    • CONST_WIDE_32

      public static final Dop CONST_WIDE_32
    • CONST_WIDE

      public static final Dop CONST_WIDE
    • CONST_WIDE_HIGH16

      public static final Dop CONST_WIDE_HIGH16
    • CONST_STRING

      public static final Dop CONST_STRING
    • CONST_STRING_JUMBO

      public static final Dop CONST_STRING_JUMBO
    • CONST_CLASS

      public static final Dop CONST_CLASS
    • MONITOR_ENTER

      public static final Dop MONITOR_ENTER
    • MONITOR_EXIT

      public static final Dop MONITOR_EXIT
    • CHECK_CAST

      public static final Dop CHECK_CAST
    • INSTANCE_OF

      public static final Dop INSTANCE_OF
    • ARRAY_LENGTH

      public static final Dop ARRAY_LENGTH
    • NEW_INSTANCE

      public static final Dop NEW_INSTANCE
    • NEW_ARRAY

      public static final Dop NEW_ARRAY
    • FILLED_NEW_ARRAY

      public static final Dop FILLED_NEW_ARRAY
    • FILLED_NEW_ARRAY_RANGE

      public static final Dop FILLED_NEW_ARRAY_RANGE
    • FILL_ARRAY_DATA

      public static final Dop FILL_ARRAY_DATA
    • THROW

      public static final Dop THROW
    • GOTO

      public static final Dop GOTO
    • GOTO_16

      public static final Dop GOTO_16
    • GOTO_32

      public static final Dop GOTO_32
    • PACKED_SWITCH

      public static final Dop PACKED_SWITCH
    • SPARSE_SWITCH

      public static final Dop SPARSE_SWITCH
    • CMPL_FLOAT

      public static final Dop CMPL_FLOAT
    • CMPG_FLOAT

      public static final Dop CMPG_FLOAT
    • CMPL_DOUBLE

      public static final Dop CMPL_DOUBLE
    • CMPG_DOUBLE

      public static final Dop CMPG_DOUBLE
    • CMP_LONG

      public static final Dop CMP_LONG
    • IF_EQ

      public static final Dop IF_EQ
    • IF_NE

      public static final Dop IF_NE
    • IF_LT

      public static final Dop IF_LT
    • IF_GE

      public static final Dop IF_GE
    • IF_GT

      public static final Dop IF_GT
    • IF_LE

      public static final Dop IF_LE
    • IF_EQZ

      public static final Dop IF_EQZ
    • IF_NEZ

      public static final Dop IF_NEZ
    • IF_LTZ

      public static final Dop IF_LTZ
    • IF_GEZ

      public static final Dop IF_GEZ
    • IF_GTZ

      public static final Dop IF_GTZ
    • IF_LEZ

      public static final Dop IF_LEZ
    • AGET

      public static final Dop AGET
    • AGET_WIDE

      public static final Dop AGET_WIDE
    • AGET_OBJECT

      public static final Dop AGET_OBJECT
    • AGET_BOOLEAN

      public static final Dop AGET_BOOLEAN
    • AGET_BYTE

      public static final Dop AGET_BYTE
    • AGET_CHAR

      public static final Dop AGET_CHAR
    • AGET_SHORT

      public static final Dop AGET_SHORT
    • APUT

      public static final Dop APUT
    • APUT_WIDE

      public static final Dop APUT_WIDE
    • APUT_OBJECT

      public static final Dop APUT_OBJECT
    • APUT_BOOLEAN

      public static final Dop APUT_BOOLEAN
    • APUT_BYTE

      public static final Dop APUT_BYTE
    • APUT_CHAR

      public static final Dop APUT_CHAR
    • APUT_SHORT

      public static final Dop APUT_SHORT
    • IGET

      public static final Dop IGET
    • IGET_WIDE

      public static final Dop IGET_WIDE
    • IGET_OBJECT

      public static final Dop IGET_OBJECT
    • IGET_BOOLEAN

      public static final Dop IGET_BOOLEAN
    • IGET_BYTE

      public static final Dop IGET_BYTE
    • IGET_CHAR

      public static final Dop IGET_CHAR
    • IGET_SHORT

      public static final Dop IGET_SHORT
    • IPUT

      public static final Dop IPUT
    • IPUT_WIDE

      public static final Dop IPUT_WIDE
    • IPUT_OBJECT

      public static final Dop IPUT_OBJECT
    • IPUT_BOOLEAN

      public static final Dop IPUT_BOOLEAN
    • IPUT_BYTE

      public static final Dop IPUT_BYTE
    • IPUT_CHAR

      public static final Dop IPUT_CHAR
    • IPUT_SHORT

      public static final Dop IPUT_SHORT
    • SGET

      public static final Dop SGET
    • SGET_WIDE

      public static final Dop SGET_WIDE
    • SGET_OBJECT

      public static final Dop SGET_OBJECT
    • SGET_BOOLEAN

      public static final Dop SGET_BOOLEAN
    • SGET_BYTE

      public static final Dop SGET_BYTE
    • SGET_CHAR

      public static final Dop SGET_CHAR
    • SGET_SHORT

      public static final Dop SGET_SHORT
    • SPUT

      public static final Dop SPUT
    • SPUT_WIDE

      public static final Dop SPUT_WIDE
    • SPUT_OBJECT

      public static final Dop SPUT_OBJECT
    • SPUT_BOOLEAN

      public static final Dop SPUT_BOOLEAN
    • SPUT_BYTE

      public static final Dop SPUT_BYTE
    • SPUT_CHAR

      public static final Dop SPUT_CHAR
    • SPUT_SHORT

      public static final Dop SPUT_SHORT
    • INVOKE_VIRTUAL

      public static final Dop INVOKE_VIRTUAL
    • INVOKE_SUPER

      public static final Dop INVOKE_SUPER
    • INVOKE_DIRECT

      public static final Dop INVOKE_DIRECT
    • INVOKE_STATIC

      public static final Dop INVOKE_STATIC
    • INVOKE_INTERFACE

      public static final Dop INVOKE_INTERFACE
    • INVOKE_VIRTUAL_RANGE

      public static final Dop INVOKE_VIRTUAL_RANGE
    • INVOKE_SUPER_RANGE

      public static final Dop INVOKE_SUPER_RANGE
    • INVOKE_DIRECT_RANGE

      public static final Dop INVOKE_DIRECT_RANGE
    • INVOKE_STATIC_RANGE

      public static final Dop INVOKE_STATIC_RANGE
    • INVOKE_INTERFACE_RANGE

      public static final Dop INVOKE_INTERFACE_RANGE
    • NEG_INT

      public static final Dop NEG_INT
    • NOT_INT

      public static final Dop NOT_INT
    • NEG_LONG

      public static final Dop NEG_LONG
    • NOT_LONG

      public static final Dop NOT_LONG
    • NEG_FLOAT

      public static final Dop NEG_FLOAT
    • NEG_DOUBLE

      public static final Dop NEG_DOUBLE
    • INT_TO_LONG

      public static final Dop INT_TO_LONG
    • INT_TO_FLOAT

      public static final Dop INT_TO_FLOAT
    • INT_TO_DOUBLE

      public static final Dop INT_TO_DOUBLE
    • LONG_TO_INT

      public static final Dop LONG_TO_INT
    • LONG_TO_FLOAT

      public static final Dop LONG_TO_FLOAT
    • LONG_TO_DOUBLE

      public static final Dop LONG_TO_DOUBLE
    • FLOAT_TO_INT

      public static final Dop FLOAT_TO_INT
    • FLOAT_TO_LONG

      public static final Dop FLOAT_TO_LONG
    • FLOAT_TO_DOUBLE

      public static final Dop FLOAT_TO_DOUBLE
    • DOUBLE_TO_INT

      public static final Dop DOUBLE_TO_INT
    • DOUBLE_TO_LONG

      public static final Dop DOUBLE_TO_LONG
    • DOUBLE_TO_FLOAT

      public static final Dop DOUBLE_TO_FLOAT
    • INT_TO_BYTE

      public static final Dop INT_TO_BYTE
    • INT_TO_CHAR

      public static final Dop INT_TO_CHAR
    • INT_TO_SHORT

      public static final Dop INT_TO_SHORT
    • ADD_INT

      public static final Dop ADD_INT
    • SUB_INT

      public static final Dop SUB_INT
    • MUL_INT

      public static final Dop MUL_INT
    • DIV_INT

      public static final Dop DIV_INT
    • REM_INT

      public static final Dop REM_INT
    • AND_INT

      public static final Dop AND_INT
    • OR_INT

      public static final Dop OR_INT
    • XOR_INT

      public static final Dop XOR_INT
    • SHL_INT

      public static final Dop SHL_INT
    • SHR_INT

      public static final Dop SHR_INT
    • USHR_INT

      public static final Dop USHR_INT
    • ADD_LONG

      public static final Dop ADD_LONG
    • SUB_LONG

      public static final Dop SUB_LONG
    • MUL_LONG

      public static final Dop MUL_LONG
    • DIV_LONG

      public static final Dop DIV_LONG
    • REM_LONG

      public static final Dop REM_LONG
    • AND_LONG

      public static final Dop AND_LONG
    • OR_LONG

      public static final Dop OR_LONG
    • XOR_LONG

      public static final Dop XOR_LONG
    • SHL_LONG

      public static final Dop SHL_LONG
    • SHR_LONG

      public static final Dop SHR_LONG
    • USHR_LONG

      public static final Dop USHR_LONG
    • ADD_FLOAT

      public static final Dop ADD_FLOAT
    • SUB_FLOAT

      public static final Dop SUB_FLOAT
    • MUL_FLOAT

      public static final Dop MUL_FLOAT
    • DIV_FLOAT

      public static final Dop DIV_FLOAT
    • REM_FLOAT

      public static final Dop REM_FLOAT
    • ADD_DOUBLE

      public static final Dop ADD_DOUBLE
    • SUB_DOUBLE

      public static final Dop SUB_DOUBLE
    • MUL_DOUBLE

      public static final Dop MUL_DOUBLE
    • DIV_DOUBLE

      public static final Dop DIV_DOUBLE
    • REM_DOUBLE

      public static final Dop REM_DOUBLE
    • ADD_INT_2ADDR

      public static final Dop ADD_INT_2ADDR
    • SUB_INT_2ADDR

      public static final Dop SUB_INT_2ADDR
    • MUL_INT_2ADDR

      public static final Dop MUL_INT_2ADDR
    • DIV_INT_2ADDR

      public static final Dop DIV_INT_2ADDR
    • REM_INT_2ADDR

      public static final Dop REM_INT_2ADDR
    • AND_INT_2ADDR

      public static final Dop AND_INT_2ADDR
    • OR_INT_2ADDR

      public static final Dop OR_INT_2ADDR
    • XOR_INT_2ADDR

      public static final Dop XOR_INT_2ADDR
    • SHL_INT_2ADDR

      public static final Dop SHL_INT_2ADDR
    • SHR_INT_2ADDR

      public static final Dop SHR_INT_2ADDR
    • USHR_INT_2ADDR

      public static final Dop USHR_INT_2ADDR
    • ADD_LONG_2ADDR

      public static final Dop ADD_LONG_2ADDR
    • SUB_LONG_2ADDR

      public static final Dop SUB_LONG_2ADDR
    • MUL_LONG_2ADDR

      public static final Dop MUL_LONG_2ADDR
    • DIV_LONG_2ADDR

      public static final Dop DIV_LONG_2ADDR
    • REM_LONG_2ADDR

      public static final Dop REM_LONG_2ADDR
    • AND_LONG_2ADDR

      public static final Dop AND_LONG_2ADDR
    • OR_LONG_2ADDR

      public static final Dop OR_LONG_2ADDR
    • XOR_LONG_2ADDR

      public static final Dop XOR_LONG_2ADDR
    • SHL_LONG_2ADDR

      public static final Dop SHL_LONG_2ADDR
    • SHR_LONG_2ADDR

      public static final Dop SHR_LONG_2ADDR
    • USHR_LONG_2ADDR

      public static final Dop USHR_LONG_2ADDR
    • ADD_FLOAT_2ADDR

      public static final Dop ADD_FLOAT_2ADDR
    • SUB_FLOAT_2ADDR

      public static final Dop SUB_FLOAT_2ADDR
    • MUL_FLOAT_2ADDR

      public static final Dop MUL_FLOAT_2ADDR
    • DIV_FLOAT_2ADDR

      public static final Dop DIV_FLOAT_2ADDR
    • REM_FLOAT_2ADDR

      public static final Dop REM_FLOAT_2ADDR
    • ADD_DOUBLE_2ADDR

      public static final Dop ADD_DOUBLE_2ADDR
    • SUB_DOUBLE_2ADDR

      public static final Dop SUB_DOUBLE_2ADDR
    • MUL_DOUBLE_2ADDR

      public static final Dop MUL_DOUBLE_2ADDR
    • DIV_DOUBLE_2ADDR

      public static final Dop DIV_DOUBLE_2ADDR
    • REM_DOUBLE_2ADDR

      public static final Dop REM_DOUBLE_2ADDR
    • ADD_INT_LIT16

      public static final Dop ADD_INT_LIT16
    • RSUB_INT

      public static final Dop RSUB_INT
    • MUL_INT_LIT16

      public static final Dop MUL_INT_LIT16
    • DIV_INT_LIT16

      public static final Dop DIV_INT_LIT16
    • REM_INT_LIT16

      public static final Dop REM_INT_LIT16
    • AND_INT_LIT16

      public static final Dop AND_INT_LIT16
    • OR_INT_LIT16

      public static final Dop OR_INT_LIT16
    • XOR_INT_LIT16

      public static final Dop XOR_INT_LIT16
    • ADD_INT_LIT8

      public static final Dop ADD_INT_LIT8
    • RSUB_INT_LIT8

      public static final Dop RSUB_INT_LIT8
    • MUL_INT_LIT8

      public static final Dop MUL_INT_LIT8
    • DIV_INT_LIT8

      public static final Dop DIV_INT_LIT8
    • REM_INT_LIT8

      public static final Dop REM_INT_LIT8
    • AND_INT_LIT8

      public static final Dop AND_INT_LIT8
    • OR_INT_LIT8

      public static final Dop OR_INT_LIT8
    • XOR_INT_LIT8

      public static final Dop XOR_INT_LIT8
    • SHL_INT_LIT8

      public static final Dop SHL_INT_LIT8
    • SHR_INT_LIT8

      public static final Dop SHR_INT_LIT8
    • USHR_INT_LIT8

      public static final Dop USHR_INT_LIT8
    • INVOKE_POLYMORPHIC

      public static final Dop INVOKE_POLYMORPHIC
    • INVOKE_POLYMORPHIC_RANGE

      public static final Dop INVOKE_POLYMORPHIC_RANGE
    • INVOKE_CUSTOM

      public static final Dop INVOKE_CUSTOM
    • INVOKE_CUSTOM_RANGE

      public static final Dop INVOKE_CUSTOM_RANGE
    • CONST_METHOD_HANDLE

      public static final Dop CONST_METHOD_HANDLE
    • CONST_METHOD_TYPE

      public static final Dop CONST_METHOD_TYPE
  • Method Details

    • get

      public static Dop get(int opcode)
      Gets the Dop for the given opcode value.
      Parameters:
      opcode - Opcodes.MIN_VALUE..Opcodes.MAX_VALUE; the opcode value
      Returns:
      non-null; the associated opcode instance
    • getNextOrNull

      public static Dop getNextOrNull(Dop opcode, DexOptions options)
      Gets the next Dop in the instruction fitting chain after the given instance, if any.
      Parameters:
      opcode - non-null; the opcode
      options - non-null; options, used to determine which opcodes are potentially off-limits
      Returns:
      null-ok; the next opcode in the same family, in the chain of opcodes to try, or null if the given opcode is the last in its chain