soot.baf.internal
Class BTableSwitchInst

java.lang.Object
  extended by soot.tagkit.AbstractHost
      extended by soot.AbstractUnit
          extended by soot.baf.internal.AbstractInst
              extended by soot.baf.internal.BTableSwitchInst
All Implemented Interfaces:
Serializable, Inst, TableSwitchInst, Context, Host, Unit, Switchable

public class BTableSwitchInst
extends AbstractInst
implements TableSwitchInst

See Also:
Serialized Form

Field Summary
 
Fields inherited from class soot.AbstractUnit
emptyList
 
Constructor Summary
BTableSwitchInst(Unit defaultTarget, int lowIndex, int highIndex, List targets)
           
 
Method Summary
 void apply(Switch sw)
          Used to implement the Switchable construct.
 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.
 boolean fallsThrough()
          Returns true if execution after this statement may continue at the following statement.
 Unit getDefaultTarget()
           
 UnitBox getDefaultTargetBox()
           
 int getHighIndex()
           
 int getInCount()
           
 int getInMachineCount()
           
 int getLowIndex()
           
 String getName()
           
 int getOutCount()
           
 int getOutMachineCount()
           
 Unit getTarget(int index)
           
 UnitBox getTargetBox(int index)
           
 int getTargetCount()
           
 List getTargets()
           
 List getUnitBoxes()
          Returns a list of Boxes containing Units defined in this Unit; typically branch targets.
 void setDefaultTarget(Unit defaultTarget)
           
 void setHighIndex(int highIndex)
           
 void setLowIndex(int lowIndex)
           
 void setTarget(int index, Unit target)
           
 void setTargets(List<Unit> targets)
           
 String toString()
           
 void toString(UnitPrinter up)
           
 
Methods inherited from class soot.baf.internal.AbstractInst
containsArrayRef, containsFieldRef, containsInvokeExpr, containsNewExpr, getNetCount, getNetMachineCount, getParameters
 
Methods inherited from class soot.AbstractUnit
addBoxPointingToThis, clearUnitBoxes, getBoxesPointingToThis, getDefBoxes, getUseAndDefBoxes, getUseBoxes, 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.baf.Inst
containsArrayRef, containsFieldRef, containsInvokeExpr, containsNewExpr, getNetCount, getNetMachineCount
 
Methods inherited from interface soot.Unit
addBoxPointingToThis, clearUnitBoxes, getBoxesPointingToThis, getDefBoxes, getUseAndDefBoxes, getUseBoxes, redirectJumpsToThisTo, removeBoxPointingToThis
 
Methods inherited from interface soot.tagkit.Host
addAllTagsOf, addTag, getTag, getTags, hasTag, removeAllTags, removeTag
 

Constructor Detail

BTableSwitchInst

public BTableSwitchInst(Unit defaultTarget,
                        int lowIndex,
                        int highIndex,
                        List targets)
Method Detail

clone

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

Specified by:
clone in interface Unit
Overrides:
clone in class AbstractInst

getInCount

public int getInCount()
Specified by:
getInCount in interface Inst
Overrides:
getInCount in class AbstractInst

getInMachineCount

public int getInMachineCount()
Specified by:
getInMachineCount in interface Inst
Overrides:
getInMachineCount in class AbstractInst

getOutCount

public int getOutCount()
Specified by:
getOutCount in interface Inst
Overrides:
getOutCount in class AbstractInst

getOutMachineCount

public int getOutMachineCount()
Specified by:
getOutMachineCount in interface Inst
Overrides:
getOutMachineCount in class AbstractInst

getDefaultTarget

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

setDefaultTarget

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

getDefaultTargetBox

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

setLowIndex

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

setHighIndex

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

getLowIndex

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

getHighIndex

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

getTargetCount

public int getTargetCount()

getTarget

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

setTarget

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

setTargets

public void setTargets(List<Unit> targets)
Specified by:
setTargets in interface TableSwitchInst

getTargetBox

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

getTargets

public List getTargets()
Specified by:
getTargets in interface TableSwitchInst

getName

public String getName()
Specified by:
getName in class AbstractInst

toString

public String toString()
Overrides:
toString in class AbstractInst

toString

public void toString(UnitPrinter up)
Specified by:
toString in interface Unit
Overrides:
toString in class AbstractInst

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

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
Overrides:
fallsThrough in class AbstractInst

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
Overrides:
branches in class AbstractInst