soot.jimple.internal
Class JLookupSwitchStmt
java.lang.Object
soot.tagkit.AbstractHost
soot.AbstractUnit
soot.jimple.internal.AbstractStmt
soot.jimple.internal.JLookupSwitchStmt
- All Implemented Interfaces:
- Serializable, Context, ConvertToBaf, LookupSwitchStmt, Stmt, Host, Unit, Switchable
- Direct Known Subclasses:
- GLookupSwitchStmt
public class JLookupSwitchStmt
- extends AbstractStmt
- implements LookupSwitchStmt
- See Also:
- Serialized Form
targetBoxes
protected UnitBox[] targetBoxes
JLookupSwitchStmt
public JLookupSwitchStmt(Value key,
List lookupValues,
List targets,
Unit defaultTarget)
- Constructs a new JLookupSwitchStmt. lookupValues should be a list of IntConst s.
JLookupSwitchStmt
public JLookupSwitchStmt(Value key,
List<Object> lookupValues,
List<Object> targets,
UnitBox defaultTarget)
- Constructs a new JLookupSwitchStmt. lookupValues should be a list of IntConst s.
JLookupSwitchStmt
protected JLookupSwitchStmt(ValueBox keyBox,
List lookupValues,
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 LookupSwitchStmt
setDefaultTarget
public void setDefaultTarget(Unit defaultTarget)
- Specified by:
setDefaultTarget
in interface LookupSwitchStmt
getDefaultTargetBox
public UnitBox getDefaultTargetBox()
- Specified by:
getDefaultTargetBox
in interface LookupSwitchStmt
getKey
public Value getKey()
- Specified by:
getKey
in interface LookupSwitchStmt
setKey
public void setKey(Value key)
- Specified by:
setKey
in interface LookupSwitchStmt
getKeyBox
public ValueBox getKeyBox()
- Specified by:
getKeyBox
in interface LookupSwitchStmt
setLookupValues
public void setLookupValues(List lookupValues)
- Specified by:
setLookupValues
in interface LookupSwitchStmt
setLookupValue
public void setLookupValue(int index,
int value)
- Specified by:
setLookupValue
in interface LookupSwitchStmt
getLookupValue
public int getLookupValue(int index)
- Specified by:
getLookupValue
in interface LookupSwitchStmt
getLookupValues
public List getLookupValues()
- Specified by:
getLookupValues
in interface LookupSwitchStmt
getTargetCount
public int getTargetCount()
- Specified by:
getTargetCount
in interface LookupSwitchStmt
getTarget
public Unit getTarget(int index)
- Specified by:
getTarget
in interface LookupSwitchStmt
getTargetBox
public UnitBox getTargetBox(int index)
- Specified by:
getTargetBox
in interface LookupSwitchStmt
setTarget
public void setTarget(int index,
Unit target)
- Specified by:
setTarget
in interface LookupSwitchStmt
getTargets
public List getTargets()
- Specified by:
getTargets
in interface LookupSwitchStmt
setTargets
public void setTargets(Unit[] targets)
- Specified by:
setTargets
in interface LookupSwitchStmt
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