soot
Interface Unit

All Known Subinterfaces:
AddInst, AndInst, ArrayLengthInst, ArrayReadInst, ArrayWriteInst, AssignStmt, BreakpointStmt, CmpgInst, CmpInst, CmplInst, DefinitionStmt, DivInst, Dup1_x1Inst, Dup1_x2Inst, Dup1Inst, Dup2_x1Inst, Dup2_x2Inst, Dup2Inst, DupInst, EnterMonitorInst, EnterMonitorStmt, ExitMonitorInst, ExitMonitorStmt, FieldArgInst, FieldGetInst, FieldPutInst, GotoInst, GotoStmt, IdentityInst, IdentityStmt, IdentityUnit, IfCmpEqInst, IfCmpGeInst, IfCmpGtInst, IfCmpLeInst, IfCmpLtInst, IfCmpNeInst, IfEqInst, IfGeInst, IfGtInst, IfLeInst, IfLtInst, IfNeInst, IfNonNullInst, IfNullInst, IfStmt, IncInst, Inst, InstanceCastInst, InstanceOfInst, InterfaceInvokeInst, InvokeStmt, LoadInst, LookupSwitchInst, LookupSwitchStmt, MethodArgInst, MonitorStmt, MulInst, NegInst, NewArrayInst, NewInst, NewMultiArrayInst, NoArgInst, NopInst, NopStmt, OpTypeArgInst, OrInst, PopInst, PrimitiveCastInst, PushInst, RemInst, RetInst, RetStmt, ReturnInst, ReturnStmt, ReturnVoidInst, ReturnVoidStmt, ShlInst, ShrInst, SpecialInvokeInst, StaticGetInst, StaticInvokeInst, StaticPutInst, Stmt, StoreInst, SubInst, SwapInst, TableSwitchInst, TableSwitchStmt, TargetArgInst, ThrowInst, ThrowStmt, UshrInst, VirtualInvokeInst, XorInst
All Known Implementing Classes:
AbstractUnit

public interface Unit
extends Switchable, Directed, Host

A code fragment (eg Stmt or Inst), used within Body classes. Intermediate representations must use an implementation of Unit for their code. In general, a unit denotes some sort of unit for execution.


Method Summary
 boolean branches()
          Returns true if execution after this statement is not the following statement.
 java.lang.Object clone()
           
 boolean fallsThrough()
          Returns true if execution after this statement may continue at the following statement.
 java.util.List getBoxesPointingToThis()
          Returns a list of Boxes pointing to this Unit.
 java.util.List getDefBoxes()
          Returns a list of Boxes containing Values defined in this Unit.
 java.util.List getUnitBoxes()
          Returns a list of Boxes containing Units defined in this Unit; typically branch targets.
 java.util.List getUseAndDefBoxes()
          Returns a list of Boxes containing any Value either used or defined in this Unit.
 java.util.List getUseBoxes()
          Returns a list of Boxes containing Values used in this Unit.
 void redirectJumpsToThisTo(Unit newLocation)
           
 java.lang.String toBriefString()
           
 java.lang.String toBriefString(java.util.Map stmtToName, java.lang.String indentation)
           
 java.lang.String toString(java.util.Map stmtToName, java.lang.String indentation)
           
 
Methods inherited from interface soot.util.Switchable
apply
 
Methods inherited from interface soot.tagkit.Host
addTag, getTag, getTags, hasTag, removeTag
 

Method Detail

getUseBoxes

public java.util.List getUseBoxes()
Returns a list of Boxes containing Values used in this Unit.

getDefBoxes

public java.util.List getDefBoxes()
Returns a list of Boxes containing Values defined in this Unit.

getUnitBoxes

public java.util.List getUnitBoxes()
Returns a list of Boxes containing Units defined in this Unit; typically branch targets.

getBoxesPointingToThis

public java.util.List getBoxesPointingToThis()
Returns a list of Boxes pointing to this Unit.

getUseAndDefBoxes

public java.util.List getUseAndDefBoxes()
Returns a list of Boxes containing any Value either used or defined in this Unit.

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object

fallsThrough

public boolean fallsThrough()
Returns true if execution after this statement may continue at the following statement. GotoStmt will return false.

branches

public boolean branches()
Returns true if execution after this statement is not the following statement.

toBriefString

public java.lang.String toBriefString()

toBriefString

public java.lang.String toBriefString(java.util.Map stmtToName,
                                      java.lang.String indentation)

toString

public java.lang.String toString(java.util.Map stmtToName,
                                 java.lang.String indentation)

redirectJumpsToThisTo

public void redirectJumpsToThisTo(Unit newLocation)