soot.jimple.internal
Class JTableSwitchStmt

java.lang.Object
  extended bysoot.tagkit.AbstractHost
      extended bysoot.AbstractUnit
          extended bysoot.jimple.internal.AbstractStmt
              extended bysoot.jimple.internal.JTableSwitchStmt
All Implemented Interfaces:
Context, ConvertToBaf, Host, Serializable, Stmt, Switchable, TableSwitchStmt, Unit
Direct Known Subclasses:
GTableSwitchStmt

public class JTableSwitchStmt
extends AbstractStmt
implements TableSwitchStmt

See Also:
Serialized Form

Field Summary
 
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, List targets, Unit defaultTarget)
           
  JTableSwitchStmt(Value key, int lowIndex, int highIndex, 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 does not necessarily continue at the following statement.
 Object clone()
          Returns a deep clone of this object.
 void convertToBaf(JimpleToBafContext context, 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)
           
 List getTargets()
           
 List getUnitBoxes()
          Returns a list of Boxes containing Units defined in this Unit; typically branch targets.
 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(List targets)
           
 String toString()
           
 void toString(UnitPrinter up)
           
 
Methods inherited from class soot.jimple.internal.AbstractStmt
containsArrayRef, containsFieldRef, containsInvokeExpr, getArrayRef, getArrayRefBox, getFieldRef, getFieldRefBox, getInvokeExpr, getInvokeExprBox
 
Methods inherited from class soot.AbstractUnit
addBoxPointingToThis, clearUnitBoxes, getBoxesPointingToThis, getDefBoxes, getUseAndDefBoxes, redirectJumpsToThisTo, removeBoxPointingToThis
 
Methods inherited from class soot.tagkit.AbstractHost
addAllTagsOf, addTag, getTag, getTags, hasTag, removeAllTags, removeTag
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface soot.jimple.Stmt
containsArrayRef, containsFieldRef, containsInvokeExpr, getArrayRef, getArrayRefBox, getFieldRef, getFieldRefBox, getInvokeExpr, getInvokeExprBox
 
Methods inherited from interface soot.Unit
addBoxPointingToThis, clearUnitBoxes, getBoxesPointingToThis, getDefBoxes, getUseAndDefBoxes, redirectJumpsToThisTo, removeBoxPointingToThis
 
Methods inherited from interface soot.tagkit.Host
addAllTagsOf, addTag, getTag, getTags, hasTag, removeAllTags, removeTag
 

Constructor Detail

JTableSwitchStmt

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

JTableSwitchStmt

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

JTableSwitchStmt

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

clone

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

Specified by:
clone in interface Unit
Specified by:
clone in class AbstractUnit

toString

public String toString()

toString

public void toString(UnitPrinter up)
Specified by:
toString in interface Stmt

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 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(List targets)
Specified by:
setTargets in interface TableSwitchStmt

getTargetBox

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

getUseBoxes

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

Specified by:
getUseBoxes in interface Unit
Overrides:
getUseBoxes in class AbstractUnit

getUnitBoxes

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

Specified by:
getUnitBoxes in interface Unit
Overrides:
getUnitBoxes in class AbstractUnit

apply

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

Specified by:
apply in interface Switchable
Overrides:
apply in class AbstractUnit

convertToBaf

public void convertToBaf(JimpleToBafContext context,
                         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 but IfStmt will return true.

Specified by:
fallsThrough in interface Unit

branches

public boolean branches()
Description copied from interface: Unit
Returns true if execution after this statement does not necessarily continue at the following statement. GotoStmt and IfStmt will both return true.

Specified by:
branches in interface Unit