Package soot.dexpler.instructions
Class SwitchInstruction
- java.lang.Object
-
- soot.dexpler.instructions.DexlibAbstractInstruction
-
- soot.dexpler.instructions.PseudoInstruction
-
- soot.dexpler.instructions.SwitchInstruction
-
- All Implemented Interfaces:
DeferableInstruction
- Direct Known Subclasses:
PackedSwitchInstruction,SparseSwitchInstruction
public abstract class SwitchInstruction extends PseudoInstruction implements DeferableInstruction
-
-
Field Summary
Fields Modifier and Type Field Description protected UnitmarkerUnit-
Fields inherited from class soot.dexpler.instructions.PseudoInstruction
data, dataFirstByte, dataLastByte, dataSize, loaded
-
Fields inherited from class soot.dexpler.instructions.DexlibAbstractInstruction
codeAddress, instruction, lineNumber, unit
-
-
Constructor Summary
Constructors Constructor Description SwitchInstruction(org.jf.dexlib2.iface.instruction.Instruction instruction, int codeAdress)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voiddeferredJimplify(DexBody body)Jimplify this instruction with the guarantee that every other (non-deferred) instruction has been jimplified.voidjimplify(DexBody body)Jimplify this instruction.protected abstract StmtswitchStatement(DexBody body, org.jf.dexlib2.iface.instruction.Instruction targetData, Local key)Return a switch statement based on given target data on the given key.-
Methods inherited from class soot.dexpler.instructions.PseudoInstruction
computeDataOffsets, getData, getDataFirstByte, getDataLastByte, getDataSize, isLoaded, setData, setDataFirstByte, setDataLastByte, setDataSize, setLoaded
-
Methods inherited from class soot.dexpler.instructions.DexlibAbstractInstruction
addTags, getInstruction, getLineNumber, getUnit, getUsedRegistersNums, getUsedRegistersNums, introducedTypes, setLineNumber, setUnit
-
-
-
-
Field Detail
-
markerUnit
protected Unit markerUnit
-
-
Method Detail
-
switchStatement
protected abstract Stmt switchStatement(DexBody body, org.jf.dexlib2.iface.instruction.Instruction targetData, Local key)
Return a switch statement based on given target data on the given key.
-
jimplify
public void jimplify(DexBody body)
Description copied from class:DexlibAbstractInstructionJimplify this instruction.- Specified by:
jimplifyin classDexlibAbstractInstruction- Parameters:
body- to jimplify into.
-
deferredJimplify
public void deferredJimplify(DexBody body)
Description copied from interface:DeferableInstructionJimplify this instruction with the guarantee that every other (non-deferred) instruction has been jimplified.- Specified by:
deferredJimplifyin interfaceDeferableInstruction- Parameters:
body- to jimplify into
-
-