public class DexBody
extends java.lang.Object
| Modifier and Type | Method and Description |
|---|---|
void |
add(Unit u)
Add unit to this body.
|
void |
addDeferredJimplification(DeferableInstruction i)
Add a deferred instruction to this body.
|
void |
addRetype(RetypeableInstruction i)
Add a retypeable instruction to this body.
|
Body |
getBody()
Return the associated JimpleBody.
|
protected CopyPropagator |
getCopyPopagator() |
protected LocalSplitter |
getLocalSplitter() |
Local |
getRegisterLocal(int num)
Return the Local that are associated with the number in the current
register state.
|
Local[] |
getRegisterLocals()
Return the Locals that are associated with the current register state.
|
Local |
getStoreResultLocal() |
protected UnreachableCodeEliminator |
getUnreachableCodeEliminator() |
DexlibAbstractInstruction |
instructionAtAddress(int address)
Return the instruction that is present at the byte code address.
|
java.util.List<DexlibAbstractInstruction> |
instructionsAfter(DexlibAbstractInstruction instruction)
Return the instructions that appear (lexically) after the given
instruction.
|
java.util.List<DexlibAbstractInstruction> |
instructionsBefore(DexlibAbstractInstruction instruction)
Return the instructions that appear (lexically) before the given
instruction.
|
Body |
jimplify(Body b,
SootMethod m)
Return the jimple equivalent of this body.
|
void |
setDanglingInstruction(DanglingInstruction i)
Set a dangling instruction for this body.
|
java.util.Set<Type> |
usedTypes()
Return the types that are used in this body.
|
public java.util.Set<Type> usedTypes()
public void add(Unit u)
u - Unit to add.public void addDeferredJimplification(DeferableInstruction i)
i - the deferred instruction.public void addRetype(RetypeableInstruction i)
i - the retypeable instruction.public Body getBody()
java.lang.RuntimeException - if no jimplification happened yet.public Local[] getRegisterLocals()
public Local getRegisterLocal(int num) throws InvalidDalvikBytecodeException
num - the register numberInvalidDalvikBytecodeExceptionpublic Local getStoreResultLocal()
public DexlibAbstractInstruction instructionAtAddress(int address)
address - the byte code address.java.lang.RuntimeException - if address is not part of this body.public Body jimplify(Body b, SootMethod m)
m - the SootMethod that contains this bodyprotected LocalSplitter getLocalSplitter()
protected UnreachableCodeEliminator getUnreachableCodeEliminator()
protected CopyPropagator getCopyPopagator()
public void setDanglingInstruction(DanglingInstruction i)
public java.util.List<DexlibAbstractInstruction> instructionsAfter(DexlibAbstractInstruction instruction)
instruction - the instruction which successors will be returned.public java.util.List<DexlibAbstractInstruction> instructionsBefore(DexlibAbstractInstruction instruction)
instruction - the instruction which successors will be returned.