soot.jimple.internal
Class JTableSwitchStmt

java.lang.Object
  |
  +--soot.AbstractHost
        |
        +--soot.AbstractUnit
              |
              +--soot.jimple.internal.AbstractStmt
                    |
                    +--soot.jimple.internal.JTableSwitchStmt
Direct Known Subclasses:
GTableSwitchStmt

public class JTableSwitchStmt
extends AbstractStmt
implements TableSwitchStmt, ConvertToBaf


Fields inherited from class soot.AbstractUnit
emptyList
 
Constructor Summary
protected JTableSwitchStmt(ValueBox keyBox, int lowIndex, int highIndex, UnitBox[] targetBoxes, UnitBox defaultTargetBox)
           
  JTableSwitchStmt(Value key, int lowIndex, int highIndex, java.util.List targets, Unit defaultTarget)
           
  JTableSwitchStmt(Value key, int lowIndex, int highIndex, java.util.List targets, UnitBox defaultTarget)
           
 
Method Summary
 void apply(Switch sw)
          Called when this object is visited.
 boolean branches()
          Returns true if execution after this statement is not the following statement.
 java.lang.Object clone()
          Returns a deep clone of this object.
 void convertToBaf(JimpleToBafContext context, java.util.List out)
           
 boolean fallsThrough()
          Returns true if execution after this statement may continue at the following statement.
 Unit getDefaultTarget()
           
 UnitBox getDefaultTargetBox()
           
 int getHighIndex()
           
 Value getKey()
           
 ValueBox getKeyBox()
           
 int getLowIndex()
           
 Unit getTarget(int index)
           
 UnitBox getTargetBox(int index)
           
 java.util.List getTargets()
           
 java.util.List getUnitBoxes()
          Returns a list of Boxes containing Units defined in this Unit; typically branch targets.
 java.util.List getUseBoxes()
          Returns a list of Boxes containing Values used in this Unit.
 void setDefaultTarget(Unit defaultTarget)
           
 void setHighIndex(int highIndex)
           
 void setKey(Value key)
           
 void setLowIndex(int lowIndex)
           
 void setTarget(int index, Unit target)
           
 void setTargets(java.util.List targets)
           
protected  java.lang.String toString(boolean isBrief, java.util.Map stmtToName, java.lang.String indentation)
          Returns a textual representation of this object, with the given briefness, Map and indentation.
 
Methods inherited from class soot.jimple.internal.AbstractStmt
containsInvokeExpr, getInvokeExpr, getInvokeExprBox
 
Methods inherited from class soot.AbstractUnit
getBoxesPointingToThis, getDefBoxes, getUseAndDefBoxes, redirectJumpsToThisTo, toBriefString, toBriefString, toBriefString, toBriefString, toString, toString, toString, toString
 
Methods inherited from class soot.AbstractHost
destroyTag, getTag, getTags, getTagValue, hasTag, incTagValue, incTagValue, incTagValue, newTag, newTag, setTagValue
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JTableSwitchStmt

public JTableSwitchStmt(Value key,
                        int lowIndex,
                        int highIndex,
                        java.util.List targets,
                        Unit defaultTarget)

JTableSwitchStmt

public JTableSwitchStmt(Value key,
                        int lowIndex,
                        int highIndex,
                        java.util.List targets,
                        UnitBox defaultTarget)

JTableSwitchStmt

protected JTableSwitchStmt(ValueBox keyBox,
                           int lowIndex,
                           int highIndex,
                           UnitBox[] targetBoxes,
                           UnitBox defaultTargetBox)
Method Detail

clone

public java.lang.Object clone()
Description copied from class: AbstractUnit
Returns a deep clone of this object.
Overrides:
clone in class AbstractUnit

toString

protected java.lang.String toString(boolean isBrief,
                                    java.util.Map stmtToName,
                                    java.lang.String indentation)
Description copied from class: AbstractUnit
Returns a textual representation of this object, with the given briefness, Map and indentation.
Overrides:
toString in class AbstractUnit

getDefaultTarget

public Unit getDefaultTarget()
Specified by:
getDefaultTarget in interface TableSwitchStmt

setDefaultTarget

public void setDefaultTarget(Unit defaultTarget)
Specified by:
setDefaultTarget in interface TableSwitchStmt

getDefaultTargetBox

public UnitBox getDefaultTargetBox()
Specified by:
getDefaultTargetBox in interface TableSwitchStmt

getKey

public Value getKey()
Specified by:
getKey in interface TableSwitchStmt

setKey

public void setKey(Value key)
Specified by:
setKey in interface TableSwitchStmt

getKeyBox

public ValueBox getKeyBox()
Specified by:
getKeyBox in interface TableSwitchStmt

setLowIndex

public void setLowIndex(int lowIndex)
Specified by:
setLowIndex in interface TableSwitchStmt

setHighIndex

public void setHighIndex(int highIndex)
Specified by:
setHighIndex in interface TableSwitchStmt

getLowIndex

public int getLowIndex()
Specified by:
getLowIndex in interface TableSwitchStmt

getHighIndex

public int getHighIndex()
Specified by:
getHighIndex in interface TableSwitchStmt

getTargets

public java.util.List getTargets()
Specified by:
getTargets in interface TableSwitchStmt

getTarget

public Unit getTarget(int index)
Specified by:
getTarget in interface TableSwitchStmt

setTarget

public void setTarget(int index,
                      Unit target)
Specified by:
setTarget in interface TableSwitchStmt

setTargets

public void setTargets(java.util.List targets)
Specified by:
setTargets in interface TableSwitchStmt

getTargetBox

public UnitBox getTargetBox(int index)
Specified by:
getTargetBox in interface TableSwitchStmt

getUseBoxes

public java.util.List getUseBoxes()
Description copied from interface: Unit
Returns a list of Boxes containing Values used in this Unit.
Overrides:
getUseBoxes in class AbstractUnit

getUnitBoxes

public java.util.List getUnitBoxes()
Description copied from interface: Unit
Returns a list of Boxes containing Units defined in this Unit; typically branch targets.
Overrides:
getUnitBoxes in class AbstractUnit

apply

public void apply(Switch sw)
Description copied from interface: Switchable
Called when this object is visited.
Overrides:
apply in class AbstractUnit

convertToBaf

public void convertToBaf(JimpleToBafContext context,
                         java.util.List out)
Specified by:
convertToBaf in interface ConvertToBaf
Overrides:
convertToBaf in class AbstractStmt

fallsThrough

public boolean fallsThrough()
Description copied from interface: Unit
Returns true if execution after this statement may continue at the following statement. GotoStmt will return false.

branches

public boolean branches()
Description copied from interface: Unit
Returns true if execution after this statement is not the following statement.