Package | Description |
---|---|
soot.dexpler.instructions |
Modifier and Type | Method and Description |
---|---|
protected List<Local> |
MethodInvocationInstruction.buildParameters(DexBody body,
boolean isStatic)
Build the parameters of this invocation.
|
protected List<Local> |
MethodInvocationInstruction.buildParameters(DexBody body,
boolean isStatic)
Build the parameters of this invocation.
|
void |
FillArrayDataInstruction.computeDataOffsets(DexBody body) |
void |
PackedSwitchInstruction.computeDataOffsets(DexBody body) |
abstract void |
PseudoInstruction.computeDataOffsets(DexBody body) |
void |
SparseSwitchInstruction.computeDataOffsets(DexBody body) |
void |
SparseSwitchInstruction.computeDataOffsets(DexBody body) |
void |
PackedSwitchInstruction.computeDataOffsets(DexBody body) |
abstract void |
PseudoInstruction.computeDataOffsets(DexBody body) |
void |
FillArrayDataInstruction.computeDataOffsets(DexBody body) |
void |
ConditionalJumpInstruction.deferredJimplify(DexBody body) |
void |
DeferableInstruction.deferredJimplify(DexBody body)
Jimplify this instruction with the guarantee that every other
(non-deferred) instruction has been jimplified.
|
void |
GotoInstruction.deferredJimplify(DexBody body) |
void |
SwitchInstruction.deferredJimplify(DexBody body) |
void |
DeferableInstruction.deferredJimplify(DexBody body)
Jimplify this instruction with the guarantee that every other
(non-deferred) instruction has been jimplified.
|
void |
ConditionalJumpInstruction.deferredJimplify(DexBody body) |
void |
GotoInstruction.deferredJimplify(DexBody body) |
void |
SwitchInstruction.deferredJimplify(DexBody body) |
void |
DanglingInstruction.finalize(DexBody body,
DexlibAbstractInstruction successor)
Finalize this instruction taking the successor into consideration.
|
void |
FilledArrayInstruction.finalize(DexBody body,
DexlibAbstractInstruction successor) |
void |
MethodInvocationInstruction.finalize(DexBody body,
DexlibAbstractInstruction successor) |
void |
DanglingInstruction.finalize(DexBody body,
DexlibAbstractInstruction successor)
Finalize this instruction taking the successor into consideration.
|
void |
FilledArrayInstruction.finalize(DexBody body,
DexlibAbstractInstruction successor) |
void |
MethodInvocationInstruction.finalize(DexBody body,
DexlibAbstractInstruction successor) |
protected AssignStmt |
FieldInstruction.getAssignStmt(DexBody body,
Local sourceValue,
ConcreteRef instanceField)
Check if the field type equals the type of the value that will be stored in the field.
|
protected AssignStmt |
FieldInstruction.getAssignStmt(DexBody body,
Local sourceValue,
ConcreteRef instanceField)
Check if the field type equals the type of the value that will be stored in the field.
|
protected ConditionExpr |
ConditionalJumpInstruction.getComparisonExpr(DexBody body,
int reg)
Get comparison expression depending on opcode against zero or null.
|
protected ConditionExpr |
ConditionalJumpInstruction.getComparisonExpr(DexBody body,
int reg)
Get comparison expression depending on opcode against zero or null.
|
protected DexlibAbstractInstruction |
JumpInstruction.getTargetInstruction(DexBody body) |
protected DexlibAbstractInstruction |
JumpInstruction.getTargetInstruction(DexBody body) |
protected Type |
AputInstruction.getTargetType(DexBody body) |
protected Type |
FieldInstruction.getTargetType(DexBody body)
Return the target type for put instructions.
|
protected Type |
IputInstruction.getTargetType(DexBody body) |
protected Type |
SputInstruction.getTargetType(DexBody body) |
protected Type |
IputInstruction.getTargetType(DexBody body) |
protected Type |
AputInstruction.getTargetType(DexBody body) |
protected Type |
FieldInstruction.getTargetType(DexBody body)
Return the target type for put instructions.
|
protected Type |
SputInstruction.getTargetType(DexBody body) |
protected abstract IfStmt |
ConditionalJumpInstruction.ifStatement(DexBody body)
Return an if statement depending on the instruction.
|
protected IfStmt |
IfTestInstruction.ifStatement(DexBody body) |
protected IfStmt |
IfTestzInstruction.ifStatement(DexBody body) |
protected abstract IfStmt |
ConditionalJumpInstruction.ifStatement(DexBody body)
Return an if statement depending on the instruction.
|
protected IfStmt |
IfTestInstruction.ifStatement(DexBody body) |
protected IfStmt |
IfTestzInstruction.ifStatement(DexBody body) |
protected boolean |
MethodInvocationInstruction.isUsedAsFloatingPoint(DexBody body,
int register,
boolean isStatic)
Determine if register is used as floating point.
|
protected boolean |
MethodInvocationInstruction.isUsedAsFloatingPoint(DexBody body,
int register,
boolean isStatic)
Determine if register is used as floating point.
|
protected boolean |
MethodInvocationInstruction.isUsedAsObject(DexBody body,
int register,
boolean isStatic)
Determine if register is used as object.
|
protected boolean |
MethodInvocationInstruction.isUsedAsObject(DexBody body,
int register,
boolean isStatic)
Determine if register is used as object.
|
void |
AgetInstruction.jimplify(DexBody body) |
void |
AputInstruction.jimplify(DexBody body) |
void |
ArrayLengthInstruction.jimplify(DexBody body) |
void |
Binop2addrInstruction.jimplify(DexBody body) |
void |
BinopInstruction.jimplify(DexBody body) |
void |
BinopLitInstruction.jimplify(DexBody body) |
void |
CastInstruction.jimplify(DexBody body) |
void |
CheckCastInstruction.jimplify(DexBody body) |
void |
CmpInstruction.jimplify(DexBody body) |
void |
ConditionalJumpInstruction.jimplify(DexBody body) |
void |
ConstClassInstruction.jimplify(DexBody body) |
void |
ConstInstruction.jimplify(DexBody body) |
void |
ConstStringInstruction.jimplify(DexBody body) |
abstract void |
DexlibAbstractInstruction.jimplify(DexBody body)
Jimplify this instruction.
|
void |
ExecuteInlineInstruction.jimplify(DexBody body) |
void |
FillArrayDataInstruction.jimplify(DexBody body) |
void |
FilledNewArrayInstruction.jimplify(DexBody body) |
void |
FilledNewArrayRangeInstruction.jimplify(DexBody body) |
void |
GotoInstruction.jimplify(DexBody body) |
void |
IgetInstruction.jimplify(DexBody body) |
void |
InstanceOfInstruction.jimplify(DexBody body) |
void |
InvokeInterfaceInstruction.jimplify(DexBody body) |
void |
InvokeSpecialInstruction.jimplify(DexBody body) |
void |
InvokeStaticInstruction.jimplify(DexBody body) |
void |
InvokeVirtualInstruction.jimplify(DexBody body) |
void |
IputInstruction.jimplify(DexBody body) |
void |
MonitorEnterInstruction.jimplify(DexBody body) |
void |
MonitorExitInstruction.jimplify(DexBody body) |
void |
MoveExceptionInstruction.jimplify(DexBody body) |
void |
MoveInstruction.jimplify(DexBody body) |
void |
MoveResultInstruction.jimplify(DexBody body) |
void |
NewArrayInstruction.jimplify(DexBody body) |
void |
NewInstanceInstruction.jimplify(DexBody body) |
void |
NopInstruction.jimplify(DexBody body) |
void |
ReturnInstruction.jimplify(DexBody body) |
void |
ReturnVoidInstruction.jimplify(DexBody body) |
void |
SgetInstruction.jimplify(DexBody body) |
void |
SputInstruction.jimplify(DexBody body) |
void |
SwitchInstruction.jimplify(DexBody body) |
void |
ThrowInstruction.jimplify(DexBody body) |
void |
UnopInstruction.jimplify(DexBody body) |
void |
InvokeStaticInstruction.jimplify(DexBody body) |
void |
CheckCastInstruction.jimplify(DexBody body) |
void |
MoveExceptionInstruction.jimplify(DexBody body) |
void |
ArrayLengthInstruction.jimplify(DexBody body) |
void |
NewArrayInstruction.jimplify(DexBody body) |
void |
ConditionalJumpInstruction.jimplify(DexBody body) |
void |
MonitorEnterInstruction.jimplify(DexBody body) |
void |
InvokeInterfaceInstruction.jimplify(DexBody body) |
void |
MonitorExitInstruction.jimplify(DexBody body) |
void |
ConstStringInstruction.jimplify(DexBody body) |
void |
NopInstruction.jimplify(DexBody body) |
void |
IputInstruction.jimplify(DexBody body) |
void |
NewInstanceInstruction.jimplify(DexBody body) |
void |
SgetInstruction.jimplify(DexBody body) |
void |
InvokeSpecialInstruction.jimplify(DexBody body) |
void |
ReturnInstruction.jimplify(DexBody body) |
void |
ThrowInstruction.jimplify(DexBody body) |
void |
InvokeVirtualInstruction.jimplify(DexBody body) |
void |
AputInstruction.jimplify(DexBody body) |
void |
MoveInstruction.jimplify(DexBody body) |
void |
IgetInstruction.jimplify(DexBody body) |
void |
ConstClassInstruction.jimplify(DexBody body) |
void |
Binop2addrInstruction.jimplify(DexBody body) |
void |
ConstInstruction.jimplify(DexBody body) |
void |
CmpInstruction.jimplify(DexBody body) |
void |
GotoInstruction.jimplify(DexBody body) |
void |
FilledNewArrayInstruction.jimplify(DexBody body) |
void |
BinopLitInstruction.jimplify(DexBody body) |
void |
FilledNewArrayRangeInstruction.jimplify(DexBody body) |
void |
ReturnVoidInstruction.jimplify(DexBody body) |
void |
ExecuteInlineInstruction.jimplify(DexBody body) |
void |
InstanceOfInstruction.jimplify(DexBody body) |
void |
CastInstruction.jimplify(DexBody body) |
void |
SwitchInstruction.jimplify(DexBody body) |
abstract void |
DexlibAbstractInstruction.jimplify(DexBody body)
Jimplify this instruction.
|
void |
FillArrayDataInstruction.jimplify(DexBody body) |
void |
BinopInstruction.jimplify(DexBody body) |
void |
AgetInstruction.jimplify(DexBody body) |
void |
UnopInstruction.jimplify(DexBody body) |
void |
MoveResultInstruction.jimplify(DexBody body) |
void |
SputInstruction.jimplify(DexBody body) |
protected void |
MethodInvocationInstruction.jimplifyInterface(DexBody body)
Executes the "jimplify" operation for an interface invocation
|
protected void |
MethodInvocationInstruction.jimplifyInterface(DexBody body)
Executes the "jimplify" operation for an interface invocation
|
protected void |
MethodInvocationInstruction.jimplifySpecial(DexBody body)
Executes the "jimplify" operation for a special invocation
|
protected void |
MethodInvocationInstruction.jimplifySpecial(DexBody body)
Executes the "jimplify" operation for a special invocation
|
protected void |
MethodInvocationInstruction.jimplifyStatic(DexBody body)
Executes the "jimplify" operation for a static invocation
|
protected void |
MethodInvocationInstruction.jimplifyStatic(DexBody body)
Executes the "jimplify" operation for a static invocation
|
protected void |
MethodInvocationInstruction.jimplifyVirtual(DexBody body)
Executes the "jimplify" operation for a virtual invocation
|
protected void |
MethodInvocationInstruction.jimplifyVirtual(DexBody body)
Executes the "jimplify" operation for a virtual invocation
|
void |
MoveExceptionInstruction.setRealType(DexBody body,
Type t) |
void |
RetypeableInstruction.setRealType(DexBody body,
Type t)
Swap generic exception type with the given one.
|
void |
MoveExceptionInstruction.setRealType(DexBody body,
Type t) |
void |
RetypeableInstruction.setRealType(DexBody body,
Type t)
Swap generic exception type with the given one.
|
protected Stmt |
PackedSwitchInstruction.switchStatement(DexBody body,
Instruction targetData,
Local key) |
protected Stmt |
SparseSwitchInstruction.switchStatement(DexBody body,
Instruction targetData,
Local key) |
protected abstract Stmt |
SwitchInstruction.switchStatement(DexBody body,
Instruction targetData,
Local key)
Return a switch statement based on given target data on the given key.
|
protected Stmt |
SparseSwitchInstruction.switchStatement(DexBody body,
Instruction targetData,
Local key) |
protected Stmt |
PackedSwitchInstruction.switchStatement(DexBody body,
Instruction targetData,
Local key) |
protected abstract Stmt |
SwitchInstruction.switchStatement(DexBody body,
Instruction targetData,
Local key)
Return a switch statement based on given target data on the given key.
|