com.android.dx.dex.code
Class Dops

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

public final class Dops
extends Object

Standard instances of Dop and utility methods for getting them.


Field Summary
static Dop ADD_DOUBLE
           
static Dop ADD_DOUBLE_2ADDR
           
static Dop ADD_FLOAT
           
static Dop ADD_FLOAT_2ADDR
           
static Dop ADD_INT
           
static Dop ADD_INT_2ADDR
           
static Dop ADD_INT_LIT16
           
static Dop ADD_INT_LIT8
           
static Dop ADD_LONG
           
static Dop ADD_LONG_2ADDR
           
static Dop AGET
           
static Dop AGET_BOOLEAN
           
static Dop AGET_BYTE
           
static Dop AGET_CHAR
           
static Dop AGET_OBJECT
           
static Dop AGET_SHORT
           
static Dop AGET_WIDE
           
static Dop AND_INT
           
static Dop AND_INT_2ADDR
           
static Dop AND_INT_LIT16
           
static Dop AND_INT_LIT8
           
static Dop AND_LONG
           
static Dop AND_LONG_2ADDR
           
static Dop APUT
           
static Dop APUT_BOOLEAN
           
static Dop APUT_BYTE
           
static Dop APUT_CHAR
           
static Dop APUT_OBJECT
           
static Dop APUT_SHORT
           
static Dop APUT_WIDE
           
static Dop ARRAY_LENGTH
           
static Dop CHECK_CAST
           
static Dop CMP_LONG
           
static Dop CMPG_DOUBLE
           
static Dop CMPG_FLOAT
           
static Dop CMPL_DOUBLE
           
static Dop CMPL_FLOAT
           
static Dop CONST
           
static Dop CONST_16
           
static Dop CONST_4
           
static Dop CONST_CLASS
           
static Dop CONST_HIGH16
           
static Dop CONST_STRING
           
static Dop CONST_STRING_JUMBO
           
static Dop CONST_WIDE
           
static Dop CONST_WIDE_16
           
static Dop CONST_WIDE_32
           
static Dop CONST_WIDE_HIGH16
           
static Dop DIV_DOUBLE
           
static Dop DIV_DOUBLE_2ADDR
           
static Dop DIV_FLOAT
           
static Dop DIV_FLOAT_2ADDR
           
static Dop DIV_INT
           
static Dop DIV_INT_2ADDR
           
static Dop DIV_INT_LIT16
           
static Dop DIV_INT_LIT8
           
static Dop DIV_LONG
           
static Dop DIV_LONG_2ADDR
           
static Dop DOUBLE_TO_FLOAT
           
static Dop DOUBLE_TO_INT
           
static Dop DOUBLE_TO_LONG
           
static Dop FILL_ARRAY_DATA
           
static Dop FILLED_NEW_ARRAY
           
static Dop FILLED_NEW_ARRAY_RANGE
           
static Dop FLOAT_TO_DOUBLE
           
static Dop FLOAT_TO_INT
           
static Dop FLOAT_TO_LONG
           
static Dop GOTO
           
static Dop GOTO_16
           
static Dop GOTO_32
           
static Dop IF_EQ
           
static Dop IF_EQZ
           
static Dop IF_GE
           
static Dop IF_GEZ
           
static Dop IF_GT
           
static Dop IF_GTZ
           
static Dop IF_LE
           
static Dop IF_LEZ
           
static Dop IF_LT
           
static Dop IF_LTZ
           
static Dop IF_NE
           
static Dop IF_NEZ
           
static Dop IGET
           
static Dop IGET_BOOLEAN
           
static Dop IGET_BYTE
           
static Dop IGET_CHAR
           
static Dop IGET_OBJECT
           
static Dop IGET_SHORT
           
static Dop IGET_WIDE
           
static Dop INSTANCE_OF
           
static Dop INT_TO_BYTE
           
static Dop INT_TO_CHAR
           
static Dop INT_TO_DOUBLE
           
static Dop INT_TO_FLOAT
           
static Dop INT_TO_LONG
           
static Dop INT_TO_SHORT
           
static Dop INVOKE_DIRECT
           
static Dop INVOKE_DIRECT_RANGE
           
static Dop INVOKE_INTERFACE
           
static Dop INVOKE_INTERFACE_RANGE
           
static Dop INVOKE_STATIC
           
static Dop INVOKE_STATIC_RANGE
           
static Dop INVOKE_SUPER
           
static Dop INVOKE_SUPER_RANGE
           
static Dop INVOKE_VIRTUAL
           
static Dop INVOKE_VIRTUAL_RANGE
           
static Dop IPUT
           
static Dop IPUT_BOOLEAN
           
static Dop IPUT_BYTE
           
static Dop IPUT_CHAR
           
static Dop IPUT_OBJECT
           
static Dop IPUT_SHORT
           
static Dop IPUT_WIDE
           
static Dop LONG_TO_DOUBLE
           
static Dop LONG_TO_FLOAT
           
static Dop LONG_TO_INT
           
static Dop MONITOR_ENTER
           
static Dop MONITOR_EXIT
           
static Dop MOVE
           
static Dop MOVE_16
           
static Dop MOVE_EXCEPTION
           
static Dop MOVE_FROM16
           
static Dop MOVE_OBJECT
           
static Dop MOVE_OBJECT_16
           
static Dop MOVE_OBJECT_FROM16
           
static Dop MOVE_RESULT
           
static Dop MOVE_RESULT_OBJECT
           
static Dop MOVE_RESULT_WIDE
           
static Dop MOVE_WIDE
           
static Dop MOVE_WIDE_16
           
static Dop MOVE_WIDE_FROM16
           
static Dop MUL_DOUBLE
           
static Dop MUL_DOUBLE_2ADDR
           
static Dop MUL_FLOAT
           
static Dop MUL_FLOAT_2ADDR
           
static Dop MUL_INT
           
static Dop MUL_INT_2ADDR
           
static Dop MUL_INT_LIT16
           
static Dop MUL_INT_LIT8
           
static Dop MUL_LONG
           
static Dop MUL_LONG_2ADDR
           
static Dop NEG_DOUBLE
           
static Dop NEG_FLOAT
           
static Dop NEG_INT
           
static Dop NEG_LONG
           
static Dop NEW_ARRAY
           
static Dop NEW_INSTANCE
           
static Dop NOP
           
static Dop NOT_INT
           
static Dop NOT_LONG
           
static Dop OR_INT
           
static Dop OR_INT_2ADDR
           
static Dop OR_INT_LIT16
           
static Dop OR_INT_LIT8
           
static Dop OR_LONG
           
static Dop OR_LONG_2ADDR
           
static Dop PACKED_SWITCH
           
static Dop REM_DOUBLE
           
static Dop REM_DOUBLE_2ADDR
           
static Dop REM_FLOAT
           
static Dop REM_FLOAT_2ADDR
           
static Dop REM_INT
           
static Dop REM_INT_2ADDR
           
static Dop REM_INT_LIT16
           
static Dop REM_INT_LIT8
           
static Dop REM_LONG
           
static Dop REM_LONG_2ADDR
           
static Dop RETURN
           
static Dop RETURN_OBJECT
           
static Dop RETURN_VOID
           
static Dop RETURN_WIDE
           
static Dop RSUB_INT
           
static Dop RSUB_INT_LIT8
           
static Dop SGET
           
static Dop SGET_BOOLEAN
           
static Dop SGET_BYTE
           
static Dop SGET_CHAR
           
static Dop SGET_OBJECT
           
static Dop SGET_SHORT
           
static Dop SGET_WIDE
           
static Dop SHL_INT
           
static Dop SHL_INT_2ADDR
           
static Dop SHL_INT_LIT8
           
static Dop SHL_LONG
           
static Dop SHL_LONG_2ADDR
           
static Dop SHR_INT
           
static Dop SHR_INT_2ADDR
           
static Dop SHR_INT_LIT8
           
static Dop SHR_LONG
           
static Dop SHR_LONG_2ADDR
           
static Dop SPARSE_SWITCH
           
static Dop SPECIAL_FORMAT
          pseudo-opcode used for nonstandard formatted "instructions" (which are mostly not actually instructions, though they do appear in instruction lists).
static Dop SPUT
           
static Dop SPUT_BOOLEAN
           
static Dop SPUT_BYTE
           
static Dop SPUT_CHAR
           
static Dop SPUT_OBJECT
           
static Dop SPUT_SHORT
           
static Dop SPUT_WIDE
           
static Dop SUB_DOUBLE
           
static Dop SUB_DOUBLE_2ADDR
           
static Dop SUB_FLOAT
           
static Dop SUB_FLOAT_2ADDR
           
static Dop SUB_INT
           
static Dop SUB_INT_2ADDR
           
static Dop SUB_LONG
           
static Dop SUB_LONG_2ADDR
           
static Dop THROW
           
static Dop USHR_INT
           
static Dop USHR_INT_2ADDR
           
static Dop USHR_INT_LIT8
           
static Dop USHR_LONG
           
static Dop USHR_LONG_2ADDR
           
static Dop XOR_INT
           
static Dop XOR_INT_2ADDR
           
static Dop XOR_INT_LIT16
           
static Dop XOR_INT_LIT8
           
static Dop XOR_LONG
           
static Dop XOR_LONG_2ADDR
           
 
Method Summary
static Dop get(int opcode)
          Gets the Dop for the given opcode value.
static Dop getNextOrNull(Dop opcode, DexOptions options)
          Gets the next Dop in the instruction fitting chain after the given instance, if any.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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
Method Detail

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


Copyright © 2015. All rights reserved.