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 Details

    • markerUnit

      protected Stmt markerUnit
  • Constructor Details

    • SwitchInstruction

      public SwitchInstruction(org.jf.dexlib2.iface.instruction.Instruction instruction, int codeAddress)
      Parameters:
      instruction - the underlying dexlib instruction
      codeAddress - the bytecode address of this instruction
  • Method Details

    • switchStatement

      protected abstract Stmt switchStatement(DexBody body, org.jf.dexlib2.iface.instruction.Instruction targetData, Local key)
    • jimplify

      public void jimplify(DexBody body)
      Description copied from class: DexLibAbstractInstruction
      Jimplify this instruction.
      Specified by:
      jimplify in class DexLibAbstractInstruction
      Parameters:
      body - to jimplify into.
    • computeLookUpValues

      public void computeLookUpValues(org.jf.dexlib2.iface.instruction.Instruction targetData)
    • computeBranchingStmts

      public void computeBranchingStmts(DexBody body)
    • addBranchingStmts

      public void addBranchingStmts(DexBody body)
    • deferredJimplify

      public void deferredJimplify(DexBody body)
      Description copied from interface: DeferableInstruction
      Jimplify this instruction with the guarantee that every other (non-deferred) instruction has been jimplified.
      Specified by:
      deferredJimplify in interface DeferableInstruction
      Parameters:
      body - to jimplify into