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