Package com.android.dx.cf.code
Class ByteOps
java.lang.Object
com.android.dx.cf.code.ByteOps
Constants and utility methods for dealing with bytecode arrays at an
opcode level.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
"c": flag bit for valid cp type forClass
static final int
"D": flag bit for valid cp type forDouble
static final int
"f": flag bit for valid cp type forFieldref
static final int
"F": flag bit for valid cp type forFloat
static final int
"I": flag bit for valid cp type forInteger
static final int
"i": flag bit for valid cp type forInterfaceMethodref
static final int
"J": flag bit for valid cp type forLong
static final int
"m": flag bit for valid cp type forMethodref
static final int
"s": flag bit for valid cp type forString
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
"b":op target target
static final int
"p":op #cpi #cpi
; constant restricted as specifiedstatic final int
invalidstatic final int
"I":invokeinterface cpi cpi count 0
static final int
"L":ldc #cpi
; constant restricted as specifiedstatic final int
"y":op #byte
(bipush
andnewarray
)static final int
"l":op local
; category-1 local; impliesmax_locals
is at least two more than the given local numberstatic final int
"m":op local
; category-2 local; impliesmax_locals
is at least two more than the given local numberstatic final int
"U":lookupswitch ...
static final int
mask for the bits representing the opcode formatstatic final int
"M":multianewarray cpi cpi dims
static final int
"-":op
static final int
"0":op
; impliesmax_locals >= 1
static final int
"1":op
; impliesmax_locals >= 2
static final int
"2":op
; impliesmax_locals >= 3
static final int
"3":op
; impliesmax_locals >= 4
static final int
"4":op
; impliesmax_locals >= 5
static final int
"S":sipush #byte #byte
static final int
"T":tableswitch ...
static final int
"W":wide ...
static final int
"c":op target target target target
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
-
Method Summary
-
Field Details
-
NOP
public static final int NOP- See Also:
-
ACONST_NULL
public static final int ACONST_NULL- See Also:
-
ICONST_M1
public static final int ICONST_M1- See Also:
-
ICONST_0
public static final int ICONST_0- See Also:
-
ICONST_1
public static final int ICONST_1- See Also:
-
ICONST_2
public static final int ICONST_2- See Also:
-
ICONST_3
public static final int ICONST_3- See Also:
-
ICONST_4
public static final int ICONST_4- See Also:
-
ICONST_5
public static final int ICONST_5- See Also:
-
LCONST_0
public static final int LCONST_0- See Also:
-
LCONST_1
public static final int LCONST_1- See Also:
-
FCONST_0
public static final int FCONST_0- See Also:
-
FCONST_1
public static final int FCONST_1- See Also:
-
FCONST_2
public static final int FCONST_2- See Also:
-
DCONST_0
public static final int DCONST_0- See Also:
-
DCONST_1
public static final int DCONST_1- See Also:
-
BIPUSH
public static final int BIPUSH- See Also:
-
SIPUSH
public static final int SIPUSH- See Also:
-
LDC
public static final int LDC- See Also:
-
LDC_W
public static final int LDC_W- See Also:
-
LDC2_W
public static final int LDC2_W- See Also:
-
ILOAD
public static final int ILOAD- See Also:
-
LLOAD
public static final int LLOAD- See Also:
-
FLOAD
public static final int FLOAD- See Also:
-
DLOAD
public static final int DLOAD- See Also:
-
ALOAD
public static final int ALOAD- See Also:
-
ILOAD_0
public static final int ILOAD_0- See Also:
-
ILOAD_1
public static final int ILOAD_1- See Also:
-
ILOAD_2
public static final int ILOAD_2- See Also:
-
ILOAD_3
public static final int ILOAD_3- See Also:
-
LLOAD_0
public static final int LLOAD_0- See Also:
-
LLOAD_1
public static final int LLOAD_1- See Also:
-
LLOAD_2
public static final int LLOAD_2- See Also:
-
LLOAD_3
public static final int LLOAD_3- See Also:
-
FLOAD_0
public static final int FLOAD_0- See Also:
-
FLOAD_1
public static final int FLOAD_1- See Also:
-
FLOAD_2
public static final int FLOAD_2- See Also:
-
FLOAD_3
public static final int FLOAD_3- See Also:
-
DLOAD_0
public static final int DLOAD_0- See Also:
-
DLOAD_1
public static final int DLOAD_1- See Also:
-
DLOAD_2
public static final int DLOAD_2- See Also:
-
DLOAD_3
public static final int DLOAD_3- See Also:
-
ALOAD_0
public static final int ALOAD_0- See Also:
-
ALOAD_1
public static final int ALOAD_1- See Also:
-
ALOAD_2
public static final int ALOAD_2- See Also:
-
ALOAD_3
public static final int ALOAD_3- See Also:
-
IALOAD
public static final int IALOAD- See Also:
-
LALOAD
public static final int LALOAD- See Also:
-
FALOAD
public static final int FALOAD- See Also:
-
DALOAD
public static final int DALOAD- See Also:
-
AALOAD
public static final int AALOAD- See Also:
-
BALOAD
public static final int BALOAD- See Also:
-
CALOAD
public static final int CALOAD- See Also:
-
SALOAD
public static final int SALOAD- See Also:
-
ISTORE
public static final int ISTORE- See Also:
-
LSTORE
public static final int LSTORE- See Also:
-
FSTORE
public static final int FSTORE- See Also:
-
DSTORE
public static final int DSTORE- See Also:
-
ASTORE
public static final int ASTORE- See Also:
-
ISTORE_0
public static final int ISTORE_0- See Also:
-
ISTORE_1
public static final int ISTORE_1- See Also:
-
ISTORE_2
public static final int ISTORE_2- See Also:
-
ISTORE_3
public static final int ISTORE_3- See Also:
-
LSTORE_0
public static final int LSTORE_0- See Also:
-
LSTORE_1
public static final int LSTORE_1- See Also:
-
LSTORE_2
public static final int LSTORE_2- See Also:
-
LSTORE_3
public static final int LSTORE_3- See Also:
-
FSTORE_0
public static final int FSTORE_0- See Also:
-
FSTORE_1
public static final int FSTORE_1- See Also:
-
FSTORE_2
public static final int FSTORE_2- See Also:
-
FSTORE_3
public static final int FSTORE_3- See Also:
-
DSTORE_0
public static final int DSTORE_0- See Also:
-
DSTORE_1
public static final int DSTORE_1- See Also:
-
DSTORE_2
public static final int DSTORE_2- See Also:
-
DSTORE_3
public static final int DSTORE_3- See Also:
-
ASTORE_0
public static final int ASTORE_0- See Also:
-
ASTORE_1
public static final int ASTORE_1- See Also:
-
ASTORE_2
public static final int ASTORE_2- See Also:
-
ASTORE_3
public static final int ASTORE_3- See Also:
-
IASTORE
public static final int IASTORE- See Also:
-
LASTORE
public static final int LASTORE- See Also:
-
FASTORE
public static final int FASTORE- See Also:
-
DASTORE
public static final int DASTORE- See Also:
-
AASTORE
public static final int AASTORE- See Also:
-
BASTORE
public static final int BASTORE- See Also:
-
CASTORE
public static final int CASTORE- See Also:
-
SASTORE
public static final int SASTORE- See Also:
-
POP
public static final int POP- See Also:
-
POP2
public static final int POP2- See Also:
-
DUP
public static final int DUP- See Also:
-
DUP_X1
public static final int DUP_X1- See Also:
-
DUP_X2
public static final int DUP_X2- See Also:
-
DUP2
public static final int DUP2- See Also:
-
DUP2_X1
public static final int DUP2_X1- See Also:
-
DUP2_X2
public static final int DUP2_X2- See Also:
-
SWAP
public static final int SWAP- See Also:
-
IADD
public static final int IADD- See Also:
-
LADD
public static final int LADD- See Also:
-
FADD
public static final int FADD- See Also:
-
DADD
public static final int DADD- See Also:
-
ISUB
public static final int ISUB- See Also:
-
LSUB
public static final int LSUB- See Also:
-
FSUB
public static final int FSUB- See Also:
-
DSUB
public static final int DSUB- See Also:
-
IMUL
public static final int IMUL- See Also:
-
LMUL
public static final int LMUL- See Also:
-
FMUL
public static final int FMUL- See Also:
-
DMUL
public static final int DMUL- See Also:
-
IDIV
public static final int IDIV- See Also:
-
LDIV
public static final int LDIV- See Also:
-
FDIV
public static final int FDIV- See Also:
-
DDIV
public static final int DDIV- See Also:
-
IREM
public static final int IREM- See Also:
-
LREM
public static final int LREM- See Also:
-
FREM
public static final int FREM- See Also:
-
DREM
public static final int DREM- See Also:
-
INEG
public static final int INEG- See Also:
-
LNEG
public static final int LNEG- See Also:
-
FNEG
public static final int FNEG- See Also:
-
DNEG
public static final int DNEG- See Also:
-
ISHL
public static final int ISHL- See Also:
-
LSHL
public static final int LSHL- See Also:
-
ISHR
public static final int ISHR- See Also:
-
LSHR
public static final int LSHR- See Also:
-
IUSHR
public static final int IUSHR- See Also:
-
LUSHR
public static final int LUSHR- See Also:
-
IAND
public static final int IAND- See Also:
-
LAND
public static final int LAND- See Also:
-
IOR
public static final int IOR- See Also:
-
LOR
public static final int LOR- See Also:
-
IXOR
public static final int IXOR- See Also:
-
LXOR
public static final int LXOR- See Also:
-
IINC
public static final int IINC- See Also:
-
I2L
public static final int I2L- See Also:
-
I2F
public static final int I2F- See Also:
-
I2D
public static final int I2D- See Also:
-
L2I
public static final int L2I- See Also:
-
L2F
public static final int L2F- See Also:
-
L2D
public static final int L2D- See Also:
-
F2I
public static final int F2I- See Also:
-
F2L
public static final int F2L- See Also:
-
F2D
public static final int F2D- See Also:
-
D2I
public static final int D2I- See Also:
-
D2L
public static final int D2L- See Also:
-
D2F
public static final int D2F- See Also:
-
I2B
public static final int I2B- See Also:
-
I2C
public static final int I2C- See Also:
-
I2S
public static final int I2S- See Also:
-
LCMP
public static final int LCMP- See Also:
-
FCMPL
public static final int FCMPL- See Also:
-
FCMPG
public static final int FCMPG- See Also:
-
DCMPL
public static final int DCMPL- See Also:
-
DCMPG
public static final int DCMPG- See Also:
-
IFEQ
public static final int IFEQ- See Also:
-
IFNE
public static final int IFNE- See Also:
-
IFLT
public static final int IFLT- See Also:
-
IFGE
public static final int IFGE- See Also:
-
IFGT
public static final int IFGT- See Also:
-
IFLE
public static final int IFLE- See Also:
-
IF_ICMPEQ
public static final int IF_ICMPEQ- See Also:
-
IF_ICMPNE
public static final int IF_ICMPNE- See Also:
-
IF_ICMPLT
public static final int IF_ICMPLT- See Also:
-
IF_ICMPGE
public static final int IF_ICMPGE- See Also:
-
IF_ICMPGT
public static final int IF_ICMPGT- See Also:
-
IF_ICMPLE
public static final int IF_ICMPLE- See Also:
-
IF_ACMPEQ
public static final int IF_ACMPEQ- See Also:
-
IF_ACMPNE
public static final int IF_ACMPNE- See Also:
-
GOTO
public static final int GOTO- See Also:
-
JSR
public static final int JSR- See Also:
-
RET
public static final int RET- See Also:
-
TABLESWITCH
public static final int TABLESWITCH- See Also:
-
LOOKUPSWITCH
public static final int LOOKUPSWITCH- See Also:
-
IRETURN
public static final int IRETURN- See Also:
-
LRETURN
public static final int LRETURN- See Also:
-
FRETURN
public static final int FRETURN- See Also:
-
DRETURN
public static final int DRETURN- See Also:
-
ARETURN
public static final int ARETURN- See Also:
-
RETURN
public static final int RETURN- See Also:
-
GETSTATIC
public static final int GETSTATIC- See Also:
-
PUTSTATIC
public static final int PUTSTATIC- See Also:
-
GETFIELD
public static final int GETFIELD- See Also:
-
PUTFIELD
public static final int PUTFIELD- See Also:
-
INVOKEVIRTUAL
public static final int INVOKEVIRTUAL- See Also:
-
INVOKESPECIAL
public static final int INVOKESPECIAL- See Also:
-
INVOKESTATIC
public static final int INVOKESTATIC- See Also:
-
INVOKEINTERFACE
public static final int INVOKEINTERFACE- See Also:
-
INVOKEDYNAMIC
public static final int INVOKEDYNAMIC- See Also:
-
NEW
public static final int NEW- See Also:
-
NEWARRAY
public static final int NEWARRAY- See Also:
-
ANEWARRAY
public static final int ANEWARRAY- See Also:
-
ARRAYLENGTH
public static final int ARRAYLENGTH- See Also:
-
ATHROW
public static final int ATHROW- See Also:
-
CHECKCAST
public static final int CHECKCAST- See Also:
-
INSTANCEOF
public static final int INSTANCEOF- See Also:
-
MONITORENTER
public static final int MONITORENTER- See Also:
-
MONITOREXIT
public static final int MONITOREXIT- See Also:
-
WIDE
public static final int WIDE- See Also:
-
MULTIANEWARRAY
public static final int MULTIANEWARRAY- See Also:
-
IFNULL
public static final int IFNULL- See Also:
-
IFNONNULL
public static final int IFNONNULL- See Also:
-
GOTO_W
public static final int GOTO_W- See Also:
-
JSR_W
public static final int JSR_W- See Also:
-
NEWARRAY_BOOLEAN
public static final int NEWARRAY_BOOLEAN- See Also:
-
NEWARRAY_CHAR
public static final int NEWARRAY_CHAR- See Also:
-
NEWARRAY_FLOAT
public static final int NEWARRAY_FLOAT- See Also:
-
NEWARRAY_DOUBLE
public static final int NEWARRAY_DOUBLE- See Also:
-
NEWARRAY_BYTE
public static final int NEWARRAY_BYTE- See Also:
-
NEWARRAY_SHORT
public static final int NEWARRAY_SHORT- See Also:
-
NEWARRAY_INT
public static final int NEWARRAY_INT- See Also:
-
NEWARRAY_LONG
public static final int NEWARRAY_LONG- See Also:
-
FMT_INVALID
public static final int FMT_INVALIDinvalid- See Also:
-
FMT_NO_ARGS
public static final int FMT_NO_ARGS"-":op
- See Also:
-
FMT_NO_ARGS_LOCALS_1
public static final int FMT_NO_ARGS_LOCALS_1"0":op
; impliesmax_locals >= 1
- See Also:
-
FMT_NO_ARGS_LOCALS_2
public static final int FMT_NO_ARGS_LOCALS_2"1":op
; impliesmax_locals >= 2
- See Also:
-
FMT_NO_ARGS_LOCALS_3
public static final int FMT_NO_ARGS_LOCALS_3"2":op
; impliesmax_locals >= 3
- See Also:
-
FMT_NO_ARGS_LOCALS_4
public static final int FMT_NO_ARGS_LOCALS_4"3":op
; impliesmax_locals >= 4
- See Also:
-
FMT_NO_ARGS_LOCALS_5
public static final int FMT_NO_ARGS_LOCALS_5"4":op
; impliesmax_locals >= 5
- See Also:
-
FMT_BRANCH
public static final int FMT_BRANCH"b":op target target
- See Also:
-
FMT_WIDE_BRANCH
public static final int FMT_WIDE_BRANCH"c":op target target target target
- See Also:
-
FMT_CPI
public static final int FMT_CPI"p":op #cpi #cpi
; constant restricted as specified- See Also:
-
FMT_LOCAL_1
public static final int FMT_LOCAL_1"l":op local
; category-1 local; impliesmax_locals
is at least two more than the given local number- See Also:
-
FMT_LOCAL_2
public static final int FMT_LOCAL_2"m":op local
; category-2 local; impliesmax_locals
is at least two more than the given local number- See Also:
-
FMT_LITERAL_BYTE
public static final int FMT_LITERAL_BYTE"y":op #byte
(bipush
andnewarray
)- See Also:
-
FMT_INVOKEINTERFACE
public static final int FMT_INVOKEINTERFACE"I":invokeinterface cpi cpi count 0
- See Also:
-
FMT_LDC
public static final int FMT_LDC"L":ldc #cpi
; constant restricted as specified- See Also:
-
FMT_SIPUSH
public static final int FMT_SIPUSH"S":sipush #byte #byte
- See Also:
-
FMT_TABLESWITCH
public static final int FMT_TABLESWITCH"T":tableswitch ...
- See Also:
-
FMT_LOOKUPSWITCH
public static final int FMT_LOOKUPSWITCH"U":lookupswitch ...
- See Also:
-
FMT_MULTIANEWARRAY
public static final int FMT_MULTIANEWARRAY"M":multianewarray cpi cpi dims
- See Also:
-
FMT_WIDE
public static final int FMT_WIDE"W":wide ...
- See Also:
-
FMT_MASK
public static final int FMT_MASKmask for the bits representing the opcode format- See Also:
-
CPOK_Integer
public static final int CPOK_Integer"I": flag bit for valid cp type forInteger
- See Also:
-
CPOK_Float
public static final int CPOK_Float"F": flag bit for valid cp type forFloat
- See Also:
-
CPOK_Long
public static final int CPOK_Long"J": flag bit for valid cp type forLong
- See Also:
-
CPOK_Double
public static final int CPOK_Double"D": flag bit for valid cp type forDouble
- See Also:
-
CPOK_Class
public static final int CPOK_Class"c": flag bit for valid cp type forClass
- See Also:
-
CPOK_String
public static final int CPOK_String"s": flag bit for valid cp type forString
- See Also:
-
CPOK_Fieldref
public static final int CPOK_Fieldref"f": flag bit for valid cp type forFieldref
- See Also:
-
CPOK_Methodref
public static final int CPOK_Methodref"m": flag bit for valid cp type forMethodref
- See Also:
-
CPOK_InterfaceMethodref
public static final int CPOK_InterfaceMethodref"i": flag bit for valid cp type forInterfaceMethodref
- See Also:
-
-
Method Details
-
opName
Gets the name of the given opcode.- Parameters:
opcode
->= 0, <= 255;
the opcode- Returns:
non-null;
its name
-
opInfo
public static int opInfo(int opcode) Gets the format and allowed cp types of the given opcode.- Parameters:
opcode
->= 0, <= 255;
the opcode- Returns:
- its format and allowed cp types
-