| com.pnfsoftware.jeb.core.units.code.android.dex.IDalvikInstruction |
| Constants | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| int | INDEX_IS_FIELD_OFFSET | ||||||||||
| int | INDEX_IS_INLINE_OFFSET | ||||||||||
| int | INDEX_IS_VTABLE_OFFSET | ||||||||||
| int | INDEX_TO_CALL_SITE | ||||||||||
| int | INDEX_TO_FIELD | ||||||||||
| int | INDEX_TO_METHOD | ||||||||||
| int | INDEX_TO_METHOD_HANDLE | ||||||||||
| int | INDEX_TO_PROTOTYPE | ||||||||||
| int | INDEX_TO_STRING | ||||||||||
| int | INDEX_TO_TYPE | ||||||||||
| int | TYPE_BRA | Operand type for branch target. | |||||||||
| int | TYPE_IDX | Operand type for an index into a constant pool (which pool is instruction specific). | |||||||||
| int | TYPE_IDX2 | Operand type for a second index into the prototype pool. | |||||||||
| int | TYPE_IMM | Operand type for an immediate. | |||||||||
| int | TYPE_REG | Operand type for a register. | |||||||||
| int | TYPE_RGR | Operand type for a register range. | |||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| abstract IDalvikInstructionArrayData |
getArrayData()
Get the instruction array data.
| ||||||||||
| abstract byte[] |
getCode()
Get the binary code that makes up this instruction.
For pseudo-instructions, additional data bytes can be retrieved via | ||||||||||
| abstract int |
getOpcode()
Get the Dalvik instruction opcode, as defined in
DalvikInstructionOpcodes. | ||||||||||
| abstract int |
getParameterFirstIndexType()
If this instruction has an index parameter (of type
TYPE_IDX), retrieve the kind of
pool that is referenced by this parameter index value. | ||||||||||
| abstract int |
getParameterIndexType()
This method is deprecated.
No replacement.
| ||||||||||
| abstract int |
getParameterSecondIndexType()
If this instruction has a second index parameter (of type
TYPE_IDX2), retrieve the
kind of pool that is referenced by this parameter index value. | ||||||||||
| abstract IDalvikInstructionParameter[] |
getParameters()
Get the instruction operands typed as proper Dalvik parameters.
| ||||||||||
| abstract IDalvikInstructionSwitchData |
getSwitchData()
Get the instruction switch data.
| ||||||||||
| abstract boolean |
isArray()
Determine if the instruction is an array initializer.
| ||||||||||
| abstract boolean |
isPseudoInstruction()
Determine if this instruction is a so-called pseudo instruction, that is, a switch or an
array-initialization instruction.
| ||||||||||
| abstract boolean |
isSwitch()
Determine if the instruction is a switch.
| ||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From interface
com.pnfsoftware.jeb.core.units.code.IInstruction
| |||||||||||
From interface
com.pnfsoftware.jeb.core.units.code.ILocatedInstruction
| |||||||||||
Operand type for branch target.
Value: signed int, relative displacement in code units (2 bytes) from current instruction
address
Operand type for an index into a constant pool (which pool is instruction specific). The
index may reference a type, a string, a field, a method, or a call site. It cannot be used to
reference a prototype (see TYPE_IDX2. An instruction can have at most one such
index.
Value: an unsigned int
Operand type for a second index into the prototype pool. An instruction can have at most
one such index, and only if it also has a first index parameters (type
TYPE_IDX).
Value: an unsigned int
Operand type for an immediate.
Value: long, sign-extended, could be anything from a boolean to a double
Operand type for a register.
Value: int, the register index (or first register index , in case of a pair)
Operand type for a register range.
Value: long, made up of 2 ints as follows: low-int=first register index, high-int=last
register index (inclusive)
Get the instruction array data.
fill-array-data
Get the binary code that makes up this instruction.
For pseudo-instructions, additional data bytes can be retrieved via getArrayData()
or getSwitchData().
Get the Dalvik instruction opcode, as defined in DalvikInstructionOpcodes.
If this instruction has an index parameter (of type TYPE_IDX), retrieve the kind of
pool that is referenced by this parameter index value.
INDEX_xxx constant defined in this class, or 0 if the
instruction does not have a first index parameter
If this instruction has a second index parameter (of type TYPE_IDX2), retrieve the
kind of pool that is referenced by this parameter index value.
INDEX_xxx constant defined in this class, or 0 if the
instruction does not have a second index parameter
Get the instruction operands typed as proper Dalvik parameters.
This method is a convenience method, that does the same thing as getOperands() but
returns Dalvik-typed parameters instead of generic IInstructionOperand-typed object.
Get the instruction switch data.
packed-switch nor sparse-switch
Determine if the instruction is an array initializer.
Determine if this instruction is a so-called pseudo instruction, that is, a switch or an array-initialization instruction.
Determine if the instruction is a switch.