Top Description Fields Constructors Methods
org.droidparts.dexmaker.dx.rop.code

public final Class Rops

extends Object
Class Inheritance
Imports
org.droidparts.dexmaker.dx.rop.cst.Constant, .CstBaseMethodRef, .CstMethodRef, .CstType, org.droidparts.dexmaker.dx.rop.type.*

Standard instances of Rop.

Field Summary

Modifier and TypeField and Description
public static final Rop
ADD_CONST_DOUBLE

r,x,c: double :: r = x + c;

public static final Rop
ADD_CONST_FLOAT

r,x,c: float :: r = x + c;

public static final Rop
ADD_CONST_INT

r,x,c: int :: r = x + c;

public static final Rop
ADD_CONST_LONG

r,x,c: long :: r = x + c;

public static final Rop
ADD_DOUBLE

r,x,y: double :: r = x + y;

public static final Rop
ADD_FLOAT

r,x,y: float :: r = x + y;

public static final Rop
ADD_INT

r,x,y: int :: r = x + y;

public static final Rop
ADD_LONG

r,x,y: long :: r = x + y;

public static final Rop
AGET_BOOLEAN

r: boolean; x: boolean[]; y: int :: r = x[y]

public static final Rop
AGET_BYTE

r: byte; x: byte[]; y: int :: r = x[y]

public static final Rop
AGET_CHAR

r: char; x: char[]; y: int :: r = x[y]

public static final Rop
AGET_DOUBLE

r: double; x: double[]; y: int :: r = x[y]

public static final Rop
AGET_FLOAT

r: float; x: float[]; y: int :: r = x[y]

public static final Rop
AGET_INT

r,y: int; x: int[] :: r = x[y]

public static final Rop
AGET_LONG

r: long; x: long[]; y: int :: r = x[y]

public static final Rop
AGET_OBJECT

r: Object; x: Object[]; y: int :: r = x[y]

public static final Rop
AGET_SHORT

r: short; x: short[]; y: int :: r = x[y]

public static final Rop
AND_CONST_INT

r,x,c: int :: r = x & c;

public static final Rop
AND_CONST_LONG

r,x,c: long :: r = x & c;

public static final Rop
AND_INT

r,x,y: int :: r = x & y;

public static final Rop
AND_LONG

r,x,y: long :: r = x & y;

public static final Rop
APUT_BOOLEAN

x: boolean; y: boolean[]; z: int :: y[z] = x

public static final Rop
APUT_BYTE

x: byte; y: byte[]; z: int :: y[z] = x

public static final Rop
APUT_CHAR

x: char; y: char[]; z: int :: y[z] = x

public static final Rop
APUT_DOUBLE

x: double; y: double[]; z: int :: y[z] = x

public static final Rop
APUT_FLOAT

x: float; y: float[]; z: int :: y[z] = x

public static final Rop
APUT_INT

x,z: int; y: int[] :: y[z] = x

public static final Rop
APUT_LONG

x: long; y: long[]; z: int :: y[z] = x

public static final Rop
APUT_OBJECT

x: Object; y: Object[]; z: int :: y[z] = x

public static final Rop
APUT_SHORT

x: short; y: short[]; z: int :: y[z] = x

public static final Rop
ARRAY_LENGTH

T: any type; r: int; x: T[]; :: r = x.length

public static final Rop
CHECK_CAST

T: any non-array object type; x: Object :: (T) x (can throw ClassCastException)

public static final Rop
CMPG_DOUBLE

r: int; x,y: double :: r = cmpg(x, y);

public static final Rop
CMPG_FLOAT

r: int; x,y: float :: r = cmpg(x, y);

public static final Rop
CMPL_DOUBLE

r: int; x,y: double :: r = cmpl(x, y);

public static final Rop
CMPL_FLOAT

r: int; x,y: float :: r = cmpl(x, y);

public static final Rop
CMPL_LONG

r: int; x,y: long :: r = cmp(x, y);

public static final Rop
CONST_DOUBLE

r, literal: double :: r = literal;

public static final Rop
CONST_FLOAT

r, literal: float :: r = literal;

public static final Rop
CONST_INT

r, literal: int :: r = literal;

public static final Rop
CONST_LONG

r, literal: long :: r = literal;

public static final Rop
CONST_OBJECT

r, literal: Object :: r = literal;

public static final Rop
CONST_OBJECT_NOTHROW

r, literal: Object :: r = literal;

public static final Rop
CONV_D2F

r: float; x: double :: r = (float) x

public static final Rop
CONV_D2I

r: int; x: double :: r = (int) x

public static final Rop
CONV_D2L

r: long; x: double :: r = (long) x

public static final Rop
CONV_F2D

r: double; x: float :: r = (double) x

public static final Rop
CONV_F2I

r: int; x: float :: r = (int) x

public static final Rop
CONV_F2L

r: long; x: float :: r = (long) x

public static final Rop
CONV_I2D

r: double; x: int :: r = (double) x

public static final Rop
CONV_I2F

r: float; x: int :: r = (float) x

public static final Rop
CONV_I2L

r: long; x: int :: r = (long) x

public static final Rop
CONV_L2D

r: double; x: long :: r = (double) x

public static final Rop
CONV_L2F

r: float; x: long :: r = (float) x

public static final Rop
CONV_L2I

r: int; x: long :: r = (int) x

public static final Rop
DIV_CONST_DOUBLE

r,x,c: double :: r = x / c;

public static final Rop
DIV_CONST_FLOAT

r,x,c: float :: r = x / c;

public static final Rop
DIV_CONST_INT

r,x,c: int :: r = x / c;

public static final Rop
DIV_CONST_LONG

r,x,c: long :: r = x / c;

public static final Rop
DIV_DOUBLE

r,x,y: double :: r = x / y;

public static final Rop
DIV_FLOAT

r,x,y: float :: r = x / y;

public static final Rop
DIV_INT

r,x,y: int :: r = x / y;

public static final Rop
DIV_LONG

r,x,y: long :: r = x / y;

public static final Rop
FILL_ARRAY_DATA

T: Any primitive type; v0..vx: T :: {v0, ..., vx}

public static final Rop
GET_FIELD_BOOLEAN

r: boolean; x: Object; f: instance field spec of type boolean :: r = x.f

public static final Rop
GET_FIELD_BYTE

r: byte; x: Object; f: instance field spec of type byte :: r = x.f

public static final Rop
GET_FIELD_CHAR

r: char; x: Object; f: instance field spec of type char :: r = x.f

public static final Rop
GET_FIELD_DOUBLE

r: double; x: Object; f: instance field spec of type double :: r = x.f

public static final Rop
GET_FIELD_FLOAT

r: float; x: Object; f: instance field spec of type float :: r = x.f

public static final Rop
GET_FIELD_INT

r: int; x: Object; f: instance field spec of type int :: r = x.f

public static final Rop
GET_FIELD_LONG

r: long; x: Object; f: instance field spec of type long :: r = x.f

public static final Rop
GET_FIELD_OBJECT

r: Object; x: Object; f: instance field spec of type Object :: r = x.f

public static final Rop
GET_FIELD_SHORT

r: short; x: Object; f: instance field spec of type short :: r = x.f

public static final Rop
GET_STATIC_BOOLEAN

r: boolean; f: static field spec of type boolean :: r = f

public static final Rop
GET_STATIC_BYTE

r: byte; f: static field spec of type byte :: r = f

public static final Rop
GET_STATIC_CHAR

r: char; f: static field spec of type char :: r = f

public static final Rop
GET_STATIC_DOUBLE

r: double; f: static field spec of type double :: r = f

public static final Rop
GET_STATIC_FLOAT

r: float; f: static field spec of type float :: r = f

public static final Rop
GET_STATIC_INT

r: int; f: static field spec of type int :: r = f

public static final Rop
GET_STATIC_LONG

r: long; f: static field spec of type long :: r = f

public static final Rop
GET_STATIC_OBJECT

r: Object; f: static field spec of type Object :: r = f

public static final Rop
GET_STATIC_SHORT

r: short; f: static field spec of type short :: r = f

public static final Rop
GOTO

goto label

public static final Rop
IF_EQ_INT

x,y: int :: if (x == y) goto label

public static final Rop
IF_EQ_OBJECT

x,y: Object :: if (x == y) goto label

public static final Rop
IF_EQZ_INT

x: int :: if (x == 0) goto label

public static final Rop
IF_EQZ_OBJECT

x: Object :: if (x == null) goto label

public static final Rop
IF_GE_INT

x,y: int :: if (x >= y) goto label

public static final Rop
IF_GEZ_INT

x: int :: if (x >= 0) goto label

public static final Rop
IF_GT_INT

x,y: int :: if (x > y) goto label

public static final Rop
IF_GTZ_INT

x: int :: if (x > 0) goto label

public static final Rop
IF_LE_INT

x,y: int :: if (x <= y) goto label

public static final Rop
IF_LEZ_INT

x: int :: if (x <= 0) goto label

public static final Rop
IF_LT_INT

x,y: int :: if (x < y) goto label

public static final Rop
IF_LTZ_INT

x: int :: if (x < 0) goto label

public static final Rop
IF_NE_INT

x,y: int :: if (x != y) goto label

public static final Rop
IF_NE_OBJECT

x,y: Object :: if (x != y) goto label

public static final Rop
IF_NEZ_INT

x: int :: if (x != 0) goto label

public static final Rop
IF_NEZ_OBJECT

x: Object :: if (x != null) goto label

public static final Rop
INSTANCE_OF

T: any non-array object type; x: Object :: x instanceof T.

public static final Rop
MARK_LOCAL_DOUBLE

x: Double :: local variable begins in x

public static final Rop
MARK_LOCAL_FLOAT

x: Float :: local variable begins in x

public static final Rop
MARK_LOCAL_INT

x: Int :: local variable begins in x

public static final Rop
MARK_LOCAL_LONG

x: Long :: local variable begins in x

public static final Rop
MARK_LOCAL_OBJECT

x: Object :: local variable begins in x

public static final Rop
MONITOR_ENTER

x: Object :: monitorenter(x)

public static final Rop
MONITOR_EXIT

x: Object :: monitorexit(x)

public static final Rop
MOVE_DOUBLE

r,x: double :: r = x;

public static final Rop
MOVE_FLOAT

r,x: float :: r = x;

public static final Rop
MOVE_INT

r,x: int :: r = x;

public static final Rop
MOVE_LONG

r,x: long :: r = x;

public static final Rop
MOVE_OBJECT

r,x: Object :: r = x;

public static final Rop
MOVE_PARAM_DOUBLE

r,param(x): double :: r = param(x);

public static final Rop
MOVE_PARAM_FLOAT

r,param(x): float :: r = param(x);

public static final Rop
MOVE_PARAM_INT

r,param(x): int :: r = param(x);

public static final Rop
MOVE_PARAM_LONG

r,param(x): long :: r = param(x);

public static final Rop
MOVE_PARAM_OBJECT

r,param(x): Object :: r = param(x);

public static final Rop
MOVE_RETURN_ADDRESS

r,x: ReturnAddress :: r = x; Note that this rop-form instruction has no dex-form equivilent and must be removed before the dex conversion.

public static final Rop
MUL_CONST_DOUBLE

r,x,c: double :: r = x * c;

public static final Rop
MUL_CONST_FLOAT

r,x,c: float :: r = x * c;

public static final Rop
MUL_CONST_INT

r,x,c: int :: r = x * c;

public static final Rop
MUL_CONST_LONG

r,x,c: long :: r = x * c;

public static final Rop
MUL_DOUBLE

r,x,y: double :: r = x * y;

public static final Rop
MUL_FLOAT

r,x,y: float :: r = x * y;

public static final Rop
MUL_INT

r,x,y: int :: r = x * y;

public static final Rop
MUL_LONG

r,x,y: long :: r = x * y;

public static final Rop
NEG_DOUBLE

r,x: double :: r = -x;

public static final Rop
NEG_FLOAT

r,x: float :: r = -x;

public static final Rop
NEG_INT

r,x: int :: r = -x;

public static final Rop
NEG_LONG

r,x: long :: r = -x;

public static final Rop
NEW_ARRAY_BOOLEAN

r: boolean[]; x: int :: r = new boolean[x]

public static final Rop
NEW_ARRAY_BYTE

r: byte[]; x: int :: r = new byte[x]

public static final Rop
NEW_ARRAY_CHAR

r: char[]; x: int :: r = new char[x]

public static final Rop
NEW_ARRAY_DOUBLE

r: double[]; x: int :: r = new double[x]

public static final Rop
NEW_ARRAY_FLOAT

r: float[]; x: int :: r = new float[x]

public static final Rop
NEW_ARRAY_INT

r: int[]; x: int :: r = new int[x]

public static final Rop
NEW_ARRAY_LONG

r: long[]; x: int :: r = new long[x]

public static final Rop
NEW_ARRAY_SHORT

r: short[]; x: int :: r = new short[x]

public static final Rop
NEW_INSTANCE

T: any non-array object type :: r = alloc(T) (allocate heap space for an object)

public static final Rop
NOP

nop()

public static final Rop
NOT_INT

r,x: int :: r = ~x;

public static final Rop
NOT_LONG

r,x: long :: r = ~x;

public static final Rop
OR_CONST_INT

r,x,c: int :: r = x | c;

public static final Rop
OR_CONST_LONG

r,x,c: long :: r = x | c;

public static final Rop
OR_INT

r,x,y: int :: r = x | y;

public static final Rop
OR_LONG

r,x,y: long :: r = x | y;

public static final Rop
PUT_FIELD_BOOLEAN

x: int; y: Object; f: instance field spec of type boolean :: y.f = x

public static final Rop
PUT_FIELD_BYTE

x: int; y: Object; f: instance field spec of type byte :: y.f = x

public static final Rop
PUT_FIELD_CHAR

x: int; y: Object; f: instance field spec of type char :: y.f = x

public static final Rop
PUT_FIELD_DOUBLE

x: double; y: Object; f: instance field spec of type double :: y.f = x

public static final Rop
PUT_FIELD_FLOAT

x: float; y: Object; f: instance field spec of type float :: y.f = x

public static final Rop
PUT_FIELD_INT

x: int; y: Object; f: instance field spec of type int :: y.f = x

public static final Rop
PUT_FIELD_LONG

x: long; y: Object; f: instance field spec of type long :: y.f = x

public static final Rop
PUT_FIELD_OBJECT

x: Object; y: Object; f: instance field spec of type Object :: y.f = x

public static final Rop
PUT_FIELD_SHORT

x: int; y: Object; f: instance field spec of type short :: y.f = x

public static final Rop
PUT_STATIC_BOOLEAN

f: static field spec of type boolean; x: boolean :: f = x

public static final Rop
PUT_STATIC_BYTE

f: static field spec of type byte; x: byte :: f = x

public static final Rop
PUT_STATIC_CHAR

f: static field spec of type char; x: char :: f = x

public static final Rop
PUT_STATIC_DOUBLE

f: static field spec of type double; x: double :: f = x

public static final Rop
PUT_STATIC_FLOAT

f: static field spec of type float; x: float :: f = x

public static final Rop
PUT_STATIC_INT

f: static field spec of type int; x: int :: f = x

public static final Rop
PUT_STATIC_LONG

f: static field spec of type long; x: long :: f = x

public static final Rop
PUT_STATIC_OBJECT

f: static field spec of type Object; x: Object :: f = x

public static final Rop
PUT_STATIC_SHORT

f: static field spec of type short; x: short :: f = x

public static final Rop
REM_CONST_DOUBLE

r,x,c: double :: r = x % c;

public static final Rop
REM_CONST_FLOAT

r,x,c: float :: r = x % c;

public static final Rop
REM_CONST_INT

r,x,c: int :: r = x % c;

public static final Rop
REM_CONST_LONG

r,x,c: long :: r = x % c;

public static final Rop
REM_DOUBLE

r,x,y: double :: r = x % y;

public static final Rop
REM_FLOAT

r,x,y: float :: r = x % y;

public static final Rop
REM_INT

r,x,y: int :: r = x % y;

public static final Rop
REM_LONG

r,x,y: long :: r = x % y;

public static final Rop
RETURN_DOUBLE

x: double; return x

public static final Rop
RETURN_FLOAT

x: float; return x

public static final Rop
RETURN_INT

x: int; return x

public static final Rop
RETURN_LONG

x: long; return x

public static final Rop
RETURN_OBJECT

x: Object; return x

public static final Rop
RETURN_VOID

return void

public static final Rop
SHL_CONST_INT

r,x,c: int :: r = x << c;

public static final Rop
SHL_CONST_LONG

r,x: long; c: int :: r = x << c;

public static final Rop
SHL_INT

r,x,y: int :: r = x << y;

public static final Rop
SHL_LONG

r,x: long; y: int :: r = x << y;

public static final Rop
SHR_CONST_INT

r,x,c: int :: r = x >> c;

public static final Rop
SHR_CONST_LONG

r,x: long; c: int :: r = x >> c;

public static final Rop
SHR_INT

r,x,y: int :: r = x >> y;

public static final Rop
SHR_LONG

r,x: long; y: int :: r = x >> y;

public static final Rop
SUB_CONST_DOUBLE

r,x,c: double :: r = x - c;

public static final Rop
SUB_CONST_FLOAT

r,x,c: float :: r = x - c;

public static final Rop
SUB_CONST_INT

r,x,c: int :: r = x - c;

public static final Rop
SUB_CONST_LONG

r,x,c: long :: r = x - c;

public static final Rop
SUB_DOUBLE

r,x,y: double :: r = x - y;

public static final Rop
SUB_FLOAT

r,x,y: float :: r = x - y;

public static final Rop
SUB_INT

r,x,y: int :: r = x - y;

public static final Rop
SUB_LONG

r,x,y: long :: r = x - y;

public static final Rop
SWITCH

x: int :: goto switchtable[x]

public static final Rop
THROW

x: Throwable :: throw(x)

public static final Rop
TO_BYTE

r,x: int :: r = (x << 24) >> 24 (Java-style convert int to byte)

public static final Rop
TO_CHAR

r,x: int :: r = x & 0xffff (Java-style convert int to char)

public static final Rop
TO_SHORT

r,x: int :: r = (x << 16) >> 16 (Java-style convert int to short)

public static final Rop
USHR_CONST_INT

r,x,c: int :: r = x >>> c;

public static final Rop
USHR_CONST_LONG

r,x: long; c: int :: r = x >>> c;

public static final Rop
USHR_INT

r,x,y: int :: r = x >>> y;

public static final Rop
USHR_LONG

r,x: long; y: int :: r = x >>> y;

public static final Rop
XOR_CONST_INT

r,x,c: int :: r = x ^ c;

public static final Rop
XOR_CONST_LONG

r,x,c: long :: r = x ^ c;

public static final Rop
XOR_INT

r,x,y: int :: r = x ^ y;

public static final Rop
XOR_LONG

r,x,y: long :: r = x ^ y;

Constructor Summary

AccessConstructor and Description
private
Rops()

This class is uninstantiable.

Method Summary

Modifier and TypeMethod and Description
public static Rop

Returns:

non-null; an appropriate instance
opAdd
(TypeList
non-null; types of the sources
types
)

Returns the appropriate add rop for the given types.

public static Rop

Returns:

non-null; an appropriate instance
opAget
(TypeBearer
non-null; element type of array being accessed
type
)

Returns the appropriate aget rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opAnd
(TypeList
non-null; types of the sources
types
)

Returns the appropriate and rop for the given types.

public static Rop

Returns:

non-null; an appropriate instance
opAput
(TypeBearer
non-null; element type of array being accessed
type
)

Returns the appropriate aput rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opCmpg
(TypeBearer
non-null; type of value being compared
type
)

Returns the appropriate cmpg rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opCmpl
(TypeBearer
non-null; type of value being compared
type
)

Returns the appropriate cmpl rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opConst
(TypeBearer
non-null; type of the constant
type
)

Returns the appropriate const rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opConv
(TypeBearer
non-null; target value type
dest
,
TypeBearer
non-null; source value type
source
)

Returns the appropriate conv rop for the given types.

public static Rop

Returns:

non-null; an appropriate instance
opDiv
(TypeList
non-null; types of the sources
types
)

Returns the appropriate div rop for the given types.

public static Rop

Returns:

non-null; an appropriate instance
opFilledNewArray
(TypeBearer
non-null; type of array being created
arrayType
,
int
>= 0; number of elements that the array should have
count
)

Returns the appropriate filled-new-array rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opGetField
(TypeBearer
non-null; type of the field in question
type
)

Returns the appropriate get-field rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opGetStatic
(TypeBearer
non-null; type of the field in question
type
)

Returns the appropriate get-static rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opIfEq
(TypeList
non-null; source types
types
)

Returns the appropriate if-eq rop for the given sources.

public static Rop

Returns:

non-null; an appropriate instance
opIfGe
(TypeList
non-null; source types
types
)

Returns the appropriate if-ge rop for the given sources.

public static Rop

Returns:

non-null; an appropriate instance
opIfGt
(TypeList
non-null; source types
types
)

Returns the appropriate if-gt rop for the given sources.

public static Rop

Returns:

non-null; an appropriate instance
opIfLe
(TypeList
non-null; source types
types
)

Returns the appropriate if-le rop for the given sources.

public static Rop

Returns:

non-null; an appropriate instance
opIfLt
(TypeList
non-null; source types
types
)

Returns the appropriate if-lt rop for the given sources.

public static Rop

Returns:

non-null; an appropriate instance
opIfNe
(TypeList
non-null; source types
types
)

Returns the appropriate if-ne rop for the given sources.

public static Rop

Returns:

non-null; an appropriate instance
opInvokeDirect
(Prototype
non-null; descriptor of the method, including the this parameter
meth
)

Returns the appropriate invoke-direct rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opInvokeInterface
(Prototype
non-null; descriptor of the method, including the this parameter
meth
)

Returns the appropriate invoke-interface rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opInvokeStatic
(Prototype
non-null; descriptor of the method
meth
)

Returns the appropriate invoke-static rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opInvokeSuper
(Prototype
non-null; descriptor of the method, including the this parameter
meth
)

Returns the appropriate invoke-super rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opInvokeVirtual
(Prototype
non-null; descriptor of the method, including the this parameter
meth
)

Returns the appropriate invoke-virtual rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opMarkLocal
(TypeBearer
non-null; type of value being marked
type
)

Returns the appropriate mark-local rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opMove
(TypeBearer
non-null; type of value being moved
type
)

Returns the appropriate move rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opMoveException
(TypeBearer
non-null; type of the exception
type
)

Returns the appropriate move-exception rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opMoveParam
(TypeBearer
non-null; type of value being moved
type
)

Returns the appropriate move-param rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opMoveResult
(TypeBearer
non-null; type of the parameter
type
)

Returns the appropriate move-result rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opMoveResultPseudo
(TypeBearer
non-null; type of the parameter
type
)

Returns the appropriate move-result-pseudo rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opMul
(TypeList
non-null; types of the sources
types
)

Returns the appropriate mul rop for the given types.

public static Rop

Returns:

non-null; an appropriate instance
opNeg
(TypeBearer
non-null; type of value being operated on
type
)

Returns the appropriate neg rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opNewArray
(TypeBearer
non-null; array type of array being created
arrayType
)

Returns the appropriate new-array rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opNot
(TypeBearer
non-null; type of value being operated on
type
)

Returns the appropriate not rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opOr
(TypeList
non-null; types of the sources
types
)

Returns the appropriate or rop for the given types.

public static Rop

Returns:

non-null; an appropriate instance
opPutField
(TypeBearer
non-null; type of the field in question
type
)

Returns the appropriate put-field rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opPutStatic
(TypeBearer
non-null; type of the field in question
type
)

Returns the appropriate put-static rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opRem
(TypeList
non-null; types of the sources
types
)

Returns the appropriate rem rop for the given types.

public static Rop

Returns:

non-null; an appropriate instance
opReturn
(TypeBearer
non-null; type of value being returned
type
)

Returns the appropriate return rop for the given type.

public static Rop

Returns:

non-null; an appropriate instance
opShl
(TypeList
non-null; types of the sources
types
)

Returns the appropriate shl rop for the given types.

public static Rop

Returns:

non-null; an appropriate instance
opShr
(TypeList
non-null; types of the sources
types
)

Returns the appropriate shr rop for the given types.

public static Rop

Returns:

non-null; an appropriate instance
opSub
(TypeList
non-null; types of the sources
types
)

Returns the appropriate sub rop for the given types.

public static Rop

Returns:

non-null; an appropriate instance
opUshr
(TypeList
non-null; types of the sources
types
)

Returns the appropriate ushr rop for the given types.

public static Rop

Returns:

non-null; an appropriate instance
opXor
(TypeList
non-null; types of the sources
types
)

Returns the appropriate xor rop for the given types.

private static Rop

Returns:

non-null; an appropriate instance
pickBinaryOp
(TypeList
non-null; sources of the operation
types
,
Rop
non-null; the int-to-constant rop
int1
,
Rop
non-null; the long-to-constant rop
long1
,
Rop
null-ok; the float-to-constant rop, if any
float1
,
Rop
null-ok; the double-to-constant rop, if any
double1
,
Rop
non-null; the int-to-int rop
int2
,
Rop
non-null; the long-to-long or long-to-int rop
long2
,
Rop
null-ok; the float-to-float rop, if any
float2
,
Rop
null-ok; the double-to-double rop, if any
double2
)

Returns the appropriate binary arithmetic rop for the given type and arguments.

private static Rop

Returns:

non-null; the appropriate instance
pickIf
(TypeList
non-null; the types
types
,
Rop
non-null; the int-to-0 comparison
intZ
,
Rop
null-ok; the object-to-null comparison
objZ
,
Rop
non-null; the int-to-int comparison
intInt
,
Rop
non-null; the object-to-object comparison
objObj
)

Helper for all the if*-related methods, which checks types and picks one of the four variants, throwing if there's a problem.

public static Rop

Returns:

non-null; an appropriate instance
ropFor
(int
the opcode
opcode
,
TypeBearer
non-null; destination (result) type, or Type#VOID if none
dest
,
TypeList
non-null; list of source types
sources
,
Constant
null-ok; associated constant, if any
cst
)

Returns the appropriate rop for the given opcode, destination, and sources.

private static Rop

Returns:

never
throwBadType
(TypeBearer
non-null; the bad type
type
)

Throws the right exception to complain about a bogus type.

private static Rop

Returns:

never
throwBadTypes
(TypeList
non-null; the bad types
types
)

Throws the right exception to complain about a bogus list of types.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait