public abstract class DexlibAbstractInstruction
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected int |
codeAddress |
protected Instruction |
instruction |
protected int |
lineNumber |
protected Unit |
unit |
Constructor and Description |
---|
DexlibAbstractInstruction(Instruction instruction,
int codeAddress) |
Modifier and Type | Method and Description |
---|---|
protected void |
addTags(Host host)
Tag the passed host with: - this instructions line number (if one is set)
- the original bytecode offset
|
Instruction |
getInstruction() |
int |
getLineNumber() |
Unit |
getUnit() |
protected java.util.List<java.lang.Integer> |
getUsedRegistersNums(FiveRegisterInstruction instruction)
Return the indices used in the given instruction.
|
protected java.util.List<java.lang.Integer> |
getUsedRegistersNums(RegisterRangeInstruction instruction)
Return the indices used in the given instruction.
|
java.util.Set<Type> |
introducedTypes()
Return the types that are be introduced by this instruction.
|
abstract void |
jimplify(DexBody body)
Jimplify this instruction.
|
void |
setLineNumber(int lineNumber) |
protected void |
setUnit(Unit u)
Set the Jimple Unit, that comprises this instruction.
|
protected int lineNumber
protected Instruction instruction
protected int codeAddress
protected Unit unit
public DexlibAbstractInstruction(Instruction instruction, int codeAddress)
instruction
- the underlying dexlib instructioncodeAddress
- the bytecode address of this instructionpublic Instruction getInstruction()
public abstract void jimplify(DexBody body)
body
- to jimplify into.public java.util.Set<Type> introducedTypes()
public int getLineNumber()
public void setLineNumber(int lineNumber)
protected void addTags(Host host)
host
- the host to tagpublic Unit getUnit()
protected void setUnit(Unit u)
protected java.util.List<java.lang.Integer> getUsedRegistersNums(RegisterRangeInstruction instruction)
instruction
- a range invocation instructionprotected java.util.List<java.lang.Integer> getUsedRegistersNums(FiveRegisterInstruction instruction)
instruction
- a invocation instruction