soot.jimple.internal
Class JTableSwitchStmt
java.lang.Object
soot.tagkit.AbstractHost
soot.AbstractUnit
soot.jimple.internal.AbstractStmt
soot.jimple.internal.JTableSwitchStmt
- All Implemented Interfaces:
- Serializable, Context, ConvertToBaf, Stmt, TableSwitchStmt, Host, Unit, Switchable
- Direct Known Subclasses:
- GTableSwitchStmt
public class JTableSwitchStmt
- extends AbstractStmt
- implements TableSwitchStmt
- See Also:
- Serialized Form
|
Constructor Summary |
protected |
JTableSwitchStmt(ValueBox keyBox,
int lowIndex,
int highIndex,
UnitBox[] targetBoxes,
UnitBox defaultTargetBox)
|
|
JTableSwitchStmt(Value key,
int lowIndex,
int highIndex,
List<Object> targets,
UnitBox defaultTarget)
|
|
JTableSwitchStmt(Value key,
int lowIndex,
int highIndex,
List targets,
Unit defaultTarget)
|
JTableSwitchStmt
public JTableSwitchStmt(Value key,
int lowIndex,
int highIndex,
List targets,
Unit defaultTarget)
JTableSwitchStmt
public JTableSwitchStmt(Value key,
int lowIndex,
int highIndex,
List<Object> targets,
UnitBox defaultTarget)
JTableSwitchStmt
protected JTableSwitchStmt(ValueBox keyBox,
int lowIndex,
int highIndex,
UnitBox[] targetBoxes,
UnitBox defaultTargetBox)
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()
- Overrides:
toString in class Object
toString
public void toString(UnitPrinter up)
- Specified by:
toString in interface Stmt- Specified by:
toString in interface Unit
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<Unit> 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 class:
AbstractUnit
- Returns a list of Boxes containing Values used in this Unit.
The list of boxes is dynamically updated as the structure changes.
Note that they are returned in usual evaluation order.
(this is important for aggregation)
- Specified by:
getUseBoxes in interface Unit- Overrides:
getUseBoxes in class AbstractUnit
getUnitBoxes
public List getUnitBoxes()
- Description copied from class:
AbstractUnit
- Returns a list of Boxes containing Units defined in this Unit; typically
branch targets.
The list of boxes is dynamically updated as the structure changes.
- Specified by:
getUnitBoxes in interface Unit- Overrides:
getUnitBoxes in class AbstractUnit
apply
public void apply(Switch sw)
- Description copied from class:
AbstractUnit
- Used to implement the Switchable construct.
- Specified by:
apply in interface Switchable- Overrides:
apply in class AbstractUnit
convertToBaf
public void convertToBaf(JimpleToBafContext context,
List<Unit> 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