soot
Interface Unit
- All Superinterfaces:
- Host, java.io.Serializable, Switchable
- 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:
- AbstractDefinitionStmt, AbstractInst, AbstractStmt, AbstractUnit, BAddInst, BAndInst, BArrayLengthInst, BArrayReadInst, BArrayWriteInst, BCmpgInst, BCmpInst, BCmplInst, BDivInst, BDup1_x1Inst, BDup1Inst, BDup2Inst, BDupInst, BEnterMonitorInst, BExitMonitorInst, BFieldGetInst, BFieldPutInst, BGotoInst, BIdentityInst, BIfCmpEqInst, BIfCmpGeInst, BIfCmpGtInst, BIfCmpLeInst, BIfCmpLtInst, BIfCmpNeInst, BIfEqInst, BIfGeInst, BIfGtInst, BIfLeInst, BIfLtInst, BIfNeInst, BIfNonNullInst, BIfNullInst, BIncInst, BInstanceCastInst, BInstanceOfInst, BInterfaceInvokeInst, BLoadInst, BLookupSwitchInst, BMulInst, BNegInst, BNewArrayInst, BNewInst, BNewMultiArrayInst, BNopInst, BOrInst, BPopInst, BPrimitiveCastInst, BPushInst, BRemInst, BReturnInst, BReturnVoidInst, BShlInst, BShrInst, BSpecialInvokeInst, BStaticGetInst, BStaticInvokeInst, BStaticPutInst, BStoreInst, BSubInst, BSwapInst, BTableSwitchInst, BThrowInst, BUshrInst, BVirtualInvokeInst, BXorInst, GAssignStmt, GEnterMonitorStmt, GExitMonitorStmt, GIdentityStmt, GIfStmt, GInvokeStmt, GLookupSwitchStmt, GReturnStmt, GTableSwitchStmt, GThrowStmt, JAssignStmt, JBreakpointStmt, JEnterMonitorStmt, JExitMonitorStmt, JGotoStmt, JIdentityStmt, JIfStmt, JInvokeStmt, JLookupSwitchStmt, JNopStmt, JRetStmt, JReturnStmt, JReturnVoidStmt, JTableSwitchStmt, JThrowStmt
- public interface Unit
- extends Switchable, Host, java.io.Serializable
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)
|
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()
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)