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
Fields inherited from class sootup.apk.frontend.instruction.DexLibAbstractInstruction
codeAddress, instruction, lineNumber, stmt
-
Constructor Summary
ConstructorDescriptionSwitchInstruction
(org.jf.dexlib2.iface.instruction.Instruction instruction, int codeAddress) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addBranchingStmts
(DexBody body) void
computeBranchingStmts
(DexBody body) void
computeLookUpValues
(org.jf.dexlib2.iface.instruction.Instruction targetData) void
deferredJimplify
(DexBody body) Jimplify this instruction with the guarantee that every other (non-deferred) instruction has been jimplified.void
Jimplify this instruction.protected abstract Stmt
switchStatement
(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:DexLibAbstractInstruction
Jimplify this instruction.- Specified by:
jimplify
in classDexLibAbstractInstruction
- Parameters:
body
- to jimplify into.
-
computeLookUpValues
public void computeLookUpValues(org.jf.dexlib2.iface.instruction.Instruction targetData) -
computeBranchingStmts
-
addBranchingStmts
-
deferredJimplify
Description copied from interface:DeferableInstruction
Jimplify this instruction with the guarantee that every other (non-deferred) instruction has been jimplified.- Specified by:
deferredJimplify
in interfaceDeferableInstruction
- Parameters:
body
- to jimplify into
-