Package sootup.apk.frontend.instruction
Class SwitchInstruction
java.lang.Object
sootup.apk.frontend.instruction.DexLibAbstractInstruction
sootup.apk.frontend.instruction.SwitchInstruction
- All Implemented Interfaces:
DeferableInstruction
- Direct Known Subclasses:
PackedSwitchInstruction,SparseSwitchInstruction
public abstract class SwitchInstruction
extends DexLibAbstractInstruction
implements DeferableInstruction
-
Field Summary
FieldsFields inherited from class sootup.apk.frontend.instruction.DexLibAbstractInstruction
codeAddress, instruction, lineNumber, stmt -
Constructor Summary
ConstructorsConstructorDescriptionSwitchInstruction(org.jf.dexlib2.iface.instruction.Instruction instruction, int codeAddress) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddBranchingStmts(DexBody body) voidcomputeBranchingStmts(DexBody body) voidcomputeLookUpValues(org.jf.dexlib2.iface.instruction.Instruction targetData) voiddeferredJimplify(DexBody body) Jimplify this instruction with the guarantee that every other (non-deferred) instruction has been jimplified.voidJimplify this instruction.protected abstract StmtswitchStatement(DexBody body, org.jf.dexlib2.iface.instruction.Instruction targetData, Local key) Methods inherited from class sootup.apk.frontend.instruction.DexLibAbstractInstruction
getInstruction, getLineNumber, getStmt, getUsedRegistersNums, getUsedRegistersNums, setLineNumber, setStmt
-
Field Details
-
markerUnit
-
-
Constructor Details
-
SwitchInstruction
public SwitchInstruction(org.jf.dexlib2.iface.instruction.Instruction instruction, int codeAddress) - Parameters:
instruction- the underlying dexlib instructioncodeAddress- the bytecode address of this instruction
-
-
Method Details
-
switchStatement
-
jimplify
Description copied from class:DexLibAbstractInstructionJimplify this instruction.- Specified by:
jimplifyin classDexLibAbstractInstruction- Parameters:
body- to jimplify into.
-
computeLookUpValues
public void computeLookUpValues(org.jf.dexlib2.iface.instruction.Instruction targetData) -
computeBranchingStmts
-
addBranchingStmts
-
deferredJimplify
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
-