public abstract class SwitchInstruction extends PseudoInstruction implements DeferableInstruction
Modifier and Type | Field and Description |
---|---|
protected Unit |
markerUnit |
codeAddress, instruction, lineNumber, unit
Constructor and Description |
---|
SwitchInstruction(Instruction instruction,
int codeAdress) |
Modifier and Type | Method and Description |
---|---|
void |
deferredJimplify(DexBody body)
Jimplify this instruction with the guarantee that every other
(non-deferred) instruction has been jimplified.
|
void |
jimplify(DexBody body)
Jimplify this instruction.
|
protected abstract Stmt |
switchStatement(DexBody body,
Instruction targetData,
Local key)
Return a switch statement based on given target data on the given key.
|
computeDataOffsets, getData, getDataFirstByte, getDataLastByte, getDataSize, isLoaded, setData, setDataFirstByte, setDataLastByte, setDataSize, setLoaded
addTags, getInstruction, getLineNumber, getUnit, getUsedRegistersNums, getUsedRegistersNums, introducedTypes, setLineNumber, setUnit
protected Unit markerUnit
public SwitchInstruction(Instruction instruction, int codeAdress)
protected abstract Stmt switchStatement(DexBody body, Instruction targetData, Local key)
public void jimplify(DexBody body)
DexlibAbstractInstruction
jimplify
in class DexlibAbstractInstruction
body
- to jimplify into.public void deferredJimplify(DexBody body)
DeferableInstruction
deferredJimplify
in interface DeferableInstruction
body
- to jimplify into