| Package | Description |
|---|---|
| com.android.dx.dex.code | |
| com.android.dx.rop.code |
Classes relating to a register-based opcode system.
|
| com.android.dx.ssa |
| Modifier and Type | Method and Description |
|---|---|
static Dop |
RopToDop.dopFor(Insn insn)
Returns the dalvik opcode appropriate for the given register-based
instruction.
|
| Modifier and Type | Class and Description |
|---|---|
class |
CstInsn
Instruction which contains an explicit reference to a constant.
|
class |
FillArrayDataInsn
Instruction which fills a newly created array with a predefined list of
constant values.
|
class |
InvokePolymorphicInsn
An invoke-polymorphic instruction.
|
class |
PlainCstInsn
Instruction which contains an explicit reference to a constant
but which cannot throw an exception.
|
class |
PlainInsn
Plain instruction, which has no embedded data and which cannot possibly
throw an exception.
|
class |
SwitchInsn
Instruction which contains switch cases.
|
class |
ThrowingCstInsn
Instruction which contains an explicit reference to a constant
and which might throw an exception.
|
class |
ThrowingInsn
Instruction which possibly throws.
|
| Modifier and Type | Method and Description |
|---|---|
Insn |
Insn.copy()
Returns an exact copy of this Insn
|
Insn |
InsnList.get(int n)
Gets the element at the given index.
|
Insn |
BasicBlock.getFirstInsn()
Gets the first instruction of this block.
|
Insn |
InsnList.getLast()
Gets the last instruction.
|
Insn |
BasicBlock.getLastInsn()
Gets the last instruction of this block.
|
Insn |
PlainCstInsn.withAddedCatch(Type type)
Returns an instance that is just like this one, except that it
has a catch list with the given item appended to the end.
|
abstract Insn |
Insn.withAddedCatch(Type type)
Returns an instance that is just like this one, except that it
has a catch list with the given item appended to the end.
|
Insn |
PlainInsn.withAddedCatch(Type type)
Returns an instance that is just like this one, except that it
has a catch list with the given item appended to the end.
|
Insn |
ThrowingInsn.withAddedCatch(Type type)
Returns an instance that is just like this one, except that it
has a catch list with the given item appended to the end.
|
Insn |
ThrowingCstInsn.withAddedCatch(Type type)
Returns an instance that is just like this one, except that it
has a catch list with the given item appended to the end.
|
Insn |
SwitchInsn.withAddedCatch(Type type)
Returns an instance that is just like this one, except that it
has a catch list with the given item appended to the end.
|
Insn |
InvokePolymorphicInsn.withAddedCatch(Type type)
Returns an instance that is just like this one, except that it
has a catch list with the given item appended to the end.
|
Insn |
FillArrayDataInsn.withAddedCatch(Type type)
Returns an instance that is just like this one, except that it
has a catch list with the given item appended to the end.
|
Insn |
PlainCstInsn.withNewRegisters(RegisterSpec result,
RegisterSpecList sources)
Returns an instance that is just like this one, except
with new result and source registers.
|
abstract Insn |
Insn.withNewRegisters(RegisterSpec result,
RegisterSpecList sources)
Returns an instance that is just like this one, except
with new result and source registers.
|
Insn |
PlainInsn.withNewRegisters(RegisterSpec result,
RegisterSpecList sources)
Returns an instance that is just like this one, except
with new result and source registers.
|
Insn |
ThrowingInsn.withNewRegisters(RegisterSpec result,
RegisterSpecList sources)
Returns an instance that is just like this one, except
with new result and source registers.
|
Insn |
ThrowingCstInsn.withNewRegisters(RegisterSpec result,
RegisterSpecList sources)
Returns an instance that is just like this one, except
with new result and source registers.
|
Insn |
SwitchInsn.withNewRegisters(RegisterSpec result,
RegisterSpecList sources)
Returns an instance that is just like this one, except
with new result and source registers.
|
Insn |
InvokePolymorphicInsn.withNewRegisters(RegisterSpec result,
RegisterSpecList sources)
Returns an instance that is just like this one, except
with new result and source registers.
|
Insn |
FillArrayDataInsn.withNewRegisters(RegisterSpec result,
RegisterSpecList sources)
Returns an instance that is just like this one, except
with new result and source registers.
|
Insn |
PlainCstInsn.withRegisterOffset(int delta)
Returns an instance that is just like this one, except that all
register references have been offset by the given delta.
|
abstract Insn |
Insn.withRegisterOffset(int delta)
Returns an instance that is just like this one, except that all
register references have been offset by the given delta.
|
Insn |
PlainInsn.withRegisterOffset(int delta)
Returns an instance that is just like this one, except that all
register references have been offset by the given delta.
|
Insn |
ThrowingInsn.withRegisterOffset(int delta)
Returns an instance that is just like this one, except that all
register references have been offset by the given delta.
|
Insn |
ThrowingCstInsn.withRegisterOffset(int delta)
Returns an instance that is just like this one, except that all
register references have been offset by the given delta.
|
Insn |
SwitchInsn.withRegisterOffset(int delta)
Returns an instance that is just like this one, except that all
register references have been offset by the given delta.
|
Insn |
InvokePolymorphicInsn.withRegisterOffset(int delta)
Returns an instance that is just like this one, except that all
register references have been offset by the given delta.
|
Insn |
FillArrayDataInsn.withRegisterOffset(int delta)
Returns an instance that is just like this one, except that all
register references have been offset by the given delta.
|
Insn |
Insn.withSourceLiteral()
Returns an instance that is just like this one, except that, if
possible, the insn is converted into a version in which a source
(if it is a constant) is represented directly rather than as a
register reference.
|
Insn |
PlainInsn.withSourceLiteral()
Returns an instance that is just like this one, except that, if
possible, the insn is converted into a version in which a source
(if it is a constant) is represented directly rather than as a
register reference.
|
| Modifier and Type | Method and Description |
|---|---|
void |
LocalVariableInfo.addAssignment(Insn insn,
RegisterSpec spec)
Adds an assignment association for the given instruction and
register spec.
|
boolean |
Insn.contentEquals(Insn b)
Compares Insn contents, since
Insn.equals() is defined
to be an identity compare. |
boolean |
CstInsn.contentEquals(Insn b)
Compares Insn contents, since
Insn.equals() is defined
to be an identity compare. |
boolean |
SwitchInsn.contentEquals(Insn b)
Compares Insn contents, since
Insn.equals() is defined
to be an identity compare. |
RegisterSpec |
LocalVariableInfo.getAssignment(Insn insn)
Gets the named register being assigned by the given instruction, if
previously stored in this instance.
|
void |
InsnList.set(int n,
Insn insn)
Sets the instruction at the given index.
|
| Modifier and Type | Method and Description |
|---|---|
abstract Insn |
SsaInsn.getOriginalRopInsn()
Returns the original Rop insn for this insn, or null if this is
a phi insn.
|
Insn |
NormalSsaInsn.getOriginalRopInsn()
Returns the original Rop insn for this insn, or null if this is
a phi insn.
|
Insn |
PhiInsn.getOriginalRopInsn()
Returns the original Rop insn for this insn, or null if this is
a phi insn.
|
abstract Insn |
SsaInsn.toRopInsn()
Transform back to ROP form.
|
Insn |
NormalSsaInsn.toRopInsn()
Transform back to ROP form.
|
Insn |
PhiInsn.toRopInsn()
Always throws an exeption, since a phi insn may not be
converted back to rop form.
|
| Modifier and Type | Method and Description |
|---|---|
void |
SsaBasicBlock.addInsnToHead(Insn insn)
Adds an insn to the head of this basic block, just after any phi
insns.
|
static SsaInsn |
SsaInsn.makeFromRop(Insn insn,
SsaBasicBlock block)
Makes a new SSA insn form a rop insn.
|
void |
SsaBasicBlock.replaceLastInsn(Insn insn)
Replaces the last insn in this block.
|
Copyright © 2020. All Rights Reserved.