Uses of Interface
soot.Unit
-
Packages that use Unit Package Description soot Base Soot classes, shared by different intermediate representations.soot.baf Public classes for the Baf intermediate representation.soot.baf.internal Internal, messy, implementation-specific classes for the Baf intermediate representation.soot.baf.toolkits.base A toolkit to optimize the Baf IR.soot.dava soot.dava.internal.AST soot.dava.internal.javaRep soot.dexpler soot.dexpler.instructions soot.dotnet.instructions soot.dotnet.members soot.dotnet.members.method soot.grimp Public classes for the Grimp intermediate representation.soot.grimp.internal Internal, messy, implementation-specific classes for the Grimp intermediate representation.soot.JastAddJ soot.jbco.bafTransformations soot.jbco.jimpleTransformations soot.jbco.util soot.jimple Public classes for the Jimple intermediate representation.soot.jimple.internal Internal, messy, implementation-specific classes for the Jimple intermediate representation.soot.jimple.spark.fieldrw soot.jimple.toolkits.annotation.nullcheck Classes that carry out an analysis to determine whether or not null pointer checks are necessary.soot.jimple.toolkits.annotation.parity soot.jimple.toolkits.annotation.purity soot.jimple.toolkits.annotation.tags Tags and aggregators to store and combine information about array bounds and null pointer checks.soot.jimple.toolkits.base A toolkit to optimize the Jimple IR.soot.jimple.toolkits.callgraph soot.jimple.toolkits.ide soot.jimple.toolkits.ide.exampleproblems soot.jimple.toolkits.ide.icfg soot.jimple.toolkits.ide.icfg.dotexport soot.jimple.toolkits.infoflow soot.jimple.toolkits.invoke A toolkit to deal with Jimple and invoke statements.soot.jimple.toolkits.pointer soot.jimple.toolkits.scalar A toolkit for scalar optimization of Jimple.soot.jimple.toolkits.scalar.pre Particial redundency elimination.soot.jimple.toolkits.thread.mhp soot.jimple.toolkits.thread.mhp.findobject soot.jimple.toolkits.thread.mhp.stmt soot.jimple.toolkits.thread.synchronization soot.jimple.toolkits.typing Implements a typing algorithm for Jimple.soot.shimple Public classes for the SSA Shimple intermediate representation.soot.shimple.internal Shimple internal messy stuff.soot.shimple.toolkits.scalar Some analyses based on Shimple.soot.tagkit Classes supporting classfile annotation in Soot.soot.toDex soot.toDex.instructions soot.toolkits.exceptions soot.toolkits.graph Toolkit to produce and manipulate various types of control flow graphs.soot.toolkits.graph.pdg soot.toolkits.scalar A number of scalar optimizations, and the flow analysis framework.soot.util Generally useful utility classes for Soot.soot.validation -
-
Uses of Unit in soot
Classes in soot with type parameters of type Unit Modifier and Type Class Description class
PatchingChain<E extends Unit>
An implementation of a Chain which can contain only Units, and handles patching to deal with element insertions and removals.Subinterfaces of Unit in soot Modifier and Type Interface Description interface
IdentityUnit
A unit that assigns to a variable from one of {parameters, this, caughtexception}.interface
NopUnit
Classes in soot that implement Unit Modifier and Type Class Description class
AbstractUnit
Provides default implementations for the methods in Unit.Fields in soot declared as Unit Modifier and Type Field Description protected E
PatchingChain.PatchingIterator. lastObject
protected Unit
AbstractUnitBox. unit
Fields in soot with type parameters of type Unit Modifier and Type Field Description protected Map<Unit,String>
LabeledUnitPrinter. labels
branch targetsprotected Map<Unit,String>
LabeledUnitPrinter. references
for unit references in Phi nodesprotected Map<Unit,Integer>
AbstractJasminClass. subroutineToReturnAddressSlot
protected Map<Unit,String>
AbstractJasminClass. unitToLabel
Methods in soot with type parameters of type Unit Modifier and Type Method Description protected static <E extends Unit>
voidPatchingChain. patchBeforeRemoval(Chain<E> chain, E removing)
Methods in soot that return Unit Modifier and Type Method Description Unit
AbstractTrap. getBeginUnit()
Unit
Trap. getBeginUnit()
Returns the first trapped unit, unless thisTrap
does not trap any units at all.Unit
AbstractTrap. getEndUnit()
Unit
Trap. getEndUnit()
Returns the unit following the last trapped unit (that is, the first succeeding untrapped unit in the underlyingChain
), unless thisTrap
does not trap any units at all.Unit
AbstractTrap. getHandlerUnit()
Unit
Trap. getHandlerUnit()
Returns the unit handling the exception being trapped.Unit
Body. getThisUnit()
Return unit containing the \@this-assignmentUnit
AbstractUnitBox. getUnit()
Unit
UnitBox. getUnit()
Returns the unit contained within this box.Methods in soot that return types with arguments of type Unit Modifier and Type Method Description static Set<Unit>
TrapManager. getTrappedUnitsOf(Body b)
Returns a set of units which lie inside the range of any trap.Map<Unit,String>
LabeledUnitPrinter. labels()
Map<Unit,String>
LabeledUnitPrinter. references()
Methods in soot with parameters of type Unit Modifier and Type Method Description boolean
UnitBox. canContainUnit(Unit u)
Returns true if this box can contain the given Unit.void
AbstractUnitPrinter. endUnit(Unit u)
void
AttributesUnitPrinter. endUnit(Unit u)
void
UnitPrinter. endUnit(Unit u)
static List<RefType>
TrapManager. getExceptionTypesOf(Unit u, Body body)
Given a body and a unit handling an exception, returns the list of exception types possibly caught by the handler.static List<Trap>
TrapManager. getTrapsAt(Unit unit, Body b)
Returns the list of traps caught at Unit u in Body b.void
UnitPatchingChain. insertOnEdge(Collection<? extends Unit> toInsert, Unit point_src, Unit point_tgt)
Inserts instrumentation in a manner such that the resulting control flow graph (CFG) of the program will containtoInsert
on an edge that is defined bypoint_source
andpoint_target
.void
UnitPatchingChain. insertOnEdge(List<Unit> toInsert, Unit point_src, Unit point_tgt)
Inserts instrumentation in a manner such that the resulting control flow graph (CFG) of the program will containtoInsert
on an edge that is defined bypoint_source
andpoint_target
.void
UnitPatchingChain. insertOnEdge(Unit toInsert, Unit point_src, Unit point_tgt)
Inserts instrumentation in a manner such that the resulting control flow graph (CFG) of the program will containtoInsert
on an edge that is defined bypoint_source
andpoint_target
.void
UnitPatchingChain. insertOnEdge(Chain<Unit> toInsert, Unit point_src, Unit point_tgt)
Inserts instrumentation in a manner such that the resulting control flow graph (CFG) of the program will containtoInsert
on an edge that is defined bypoint_source
andpoint_target
.static boolean
TrapManager. isExceptionCaughtAt(SootClass e, Unit u, Body b)
If exception e is caught at unit u in body b, return true; otherwise, return false.void
AbstractUnit. redirectJumpsToThisTo(Unit newLocation)
void
Unit. redirectJumpsToThisTo(Unit newLocation)
Redirects jumps to this Unit to newLocation.void
AbstractTrap. setBeginUnit(Unit beginUnit)
void
Trap. setBeginUnit(Unit beginUnit)
Sets the value to be returned byTrap.getBeginUnit()
tobeginUnit
.void
AbstractTrap. setEndUnit(Unit endUnit)
void
Trap. setEndUnit(Unit endUnit)
Sets the value to be returned byTrap.getEndUnit()
toendUnit
.void
AbstractTrap. setHandlerUnit(Unit handlerUnit)
void
Trap. setHandlerUnit(Unit handlerUnit)
Sets the unit handling the exception tohandlerUnit
.void
AbstractUnitBox. setUnit(Unit unit)
void
UnitBox. setUnit(Unit u)
Sets this box to contain the given unit.static void
TrapManager. splitTrapsAgainst(Body b, Unit rangeStart, Unit rangeEnd)
Splits all traps so that they do not cross the range rangeStart - rangeEnd.void
AbstractUnitPrinter. startUnit(Unit u)
void
AttributesUnitPrinter. startUnit(Unit u)
void
BriefUnitPrinter. startUnit(Unit u)
void
UnitPrinter. startUnit(Unit u)
boolean
SideEffectTester. unitCanReadFrom(Unit u, Value v)
boolean
SideEffectTester. unitCanWriteTo(Unit u, Value v)
void
LabeledUnitPrinter. unitRef(Unit u, boolean branchTarget)
void
UnitPrinter. unitRef(Unit u, boolean branchTarget)
Method parameters in soot with type arguments of type Unit Modifier and Type Method Description void
UnitPatchingChain. insertOnEdge(Collection<? extends Unit> toInsert, Unit point_src, Unit point_tgt)
Inserts instrumentation in a manner such that the resulting control flow graph (CFG) of the program will containtoInsert
on an edge that is defined bypoint_source
andpoint_target
.void
UnitPatchingChain. insertOnEdge(List<Unit> toInsert, Unit point_src, Unit point_tgt)
Inserts instrumentation in a manner such that the resulting control flow graph (CFG) of the program will containtoInsert
on an edge that is defined bypoint_source
andpoint_target
.void
UnitPatchingChain. insertOnEdge(Chain<Unit> toInsert, Unit point_src, Unit point_tgt)
Inserts instrumentation in a manner such that the resulting control flow graph (CFG) of the program will containtoInsert
on an edge that is defined bypoint_source
andpoint_target
.Constructor parameters in soot with type arguments of type Unit Constructor Description UnitPatchingChain(Chain<Unit> aChain)
-
Uses of Unit in soot.baf
Subinterfaces of Unit in soot.baf Modifier and Type Interface Description interface
AddInst
interface
AndInst
interface
ArrayLengthInst
interface
ArrayReadInst
interface
ArrayWriteInst
interface
CmpgInst
interface
CmpInst
interface
CmplInst
interface
DivInst
interface
Dup1_x1Inst
interface
Dup1_x2Inst
interface
Dup1Inst
interface
Dup2_x1Inst
interface
Dup2_x2Inst
interface
Dup2Inst
interface
DupInst
interface
DynamicInvokeInst
interface
EnterMonitorInst
interface
ExitMonitorInst
interface
FieldArgInst
interface
FieldGetInst
interface
FieldPutInst
interface
GotoInst
interface
IdentityInst
interface
IfCmpEqInst
interface
IfCmpGeInst
interface
IfCmpGtInst
interface
IfCmpLeInst
interface
IfCmpLtInst
interface
IfCmpNeInst
interface
IfEqInst
interface
IfGeInst
interface
IfGtInst
interface
IfLeInst
interface
IfLtInst
interface
IfNeInst
interface
IfNonNullInst
interface
IfNullInst
interface
IncInst
interface
Inst
interface
InstanceCastInst
interface
InstanceOfInst
interface
InterfaceInvokeInst
interface
JSRInst
interface
LoadInst
interface
LookupSwitchInst
interface
MethodArgInst
interface
MulInst
interface
NegInst
interface
NewArrayInst
interface
NewInst
interface
NewMultiArrayInst
interface
NoArgInst
interface
NopInst
interface
OpTypeArgInst
interface
OrInst
interface
PopInst
interface
PrimitiveCastInst
interface
PushInst
interface
RemInst
interface
RetInst
interface
ReturnInst
interface
ReturnVoidInst
interface
ShlInst
interface
ShrInst
interface
SpecialInvokeInst
interface
StaticGetInst
interface
StaticInvokeInst
interface
StaticPutInst
interface
StoreInst
interface
SubInst
interface
SwapInst
interface
SwitchInst
interface
TableSwitchInst
interface
TargetArgInst
interface
ThrowInst
interface
UshrInst
interface
VirtualInvokeInst
interface
XorInst
Classes in soot.baf that implement Unit Modifier and Type Class Description class
PlaceholderInst
Fields in soot.baf with type parameters of type Unit Modifier and Type Field Description protected Map<Unit,org.objectweb.asm.Label>
BafASMBackend. branchTargetLabels
Methods in soot.baf that return Unit Modifier and Type Method Description Unit
SwitchInst. getDefaultTarget()
Unit
PlaceholderInst. getSource()
Unit
SwitchInst. getTarget(int index)
Unit
TargetArgInst. getTarget()
Methods in soot.baf that return types with arguments of type Unit Modifier and Type Method Description List<Unit>
SwitchInst. getTargets()
Methods in soot.baf with parameters of type Unit Modifier and Type Method Description protected void
BafASMBackend. generateTagsForUnit(org.objectweb.asm.MethodVisitor mv, Unit u)
Writes out the information stored in tags associated with the given unitprotected org.objectweb.asm.Label
BafASMBackend. getBranchTargetLabel(Unit target)
Returns the ASM Label for a given Unit that is the target of a branch or jumpGotoInst
Baf. newGotoInst(Unit unit)
IfCmpEqInst
Baf. newIfCmpEqInst(Type opType, Unit unit)
IfCmpGeInst
Baf. newIfCmpGeInst(Type opType, Unit unit)
IfCmpGtInst
Baf. newIfCmpGtInst(Type opType, Unit unit)
IfCmpLeInst
Baf. newIfCmpLeInst(Type opType, Unit unit)
IfCmpLtInst
Baf. newIfCmpLtInst(Type opType, Unit unit)
IfCmpNeInst
Baf. newIfCmpNeInst(Type opType, Unit unit)
IfEqInst
Baf. newIfEqInst(Unit unit)
IfGeInst
Baf. newIfGeInst(Unit unit)
IfGtInst
Baf. newIfGtInst(Unit unit)
IfLeInst
Baf. newIfLeInst(Unit unit)
IfLtInst
Baf. newIfLtInst(Unit unit)
IfNeInst
Baf. newIfNeInst(Unit unit)
IfNonNullInst
Baf. newIfNonNullInst(Unit unit)
IfNullInst
Baf. newIfNullInst(Unit unit)
UnitBox
Baf. newInstBox(Unit unit)
JSRInst
Baf. newJSRInst(Unit unit)
LookupSwitchInst
Baf. newLookupSwitchInst(Unit defaultTarget, List<IntConstant> lookupValues, List<? extends Unit> targets)
PlaceholderInst
Baf. newPlaceholderInst(Unit source)
TableSwitchInst
Baf. newTableSwitchInst(Unit defaultTarget, int lowIndex, int highIndex, List<? extends Unit> targets)
Trap
Baf. newTrap(SootClass exception, Unit beginUnit, Unit endUnit, Unit handlerUnit)
Constructs a new BTrap for the given exception on the given Unit range with the given Unit handler.void
SwitchInst. setDefaultTarget(Unit defTarget)
void
SwitchInst. setTarget(int index, Unit target)
void
TargetArgInst. setTarget(Unit target)
Method parameters in soot.baf with type arguments of type Unit Modifier and Type Method Description TableSwitchInst
Baf. newTableSwitchInst(Unit defaultTarget, int lowIndex, int highIndex, List<? extends Unit> targets)
void
SwitchInst. setTargets(List<Unit> targets)
-
Uses of Unit in soot.baf.internal
Methods in soot.baf.internal that return Unit Modifier and Type Method Description Unit
AbstractSwitchInst. getDefaultTarget()
Unit
AbstractBranchInst. getTarget()
Unit
AbstractSwitchInst. getTarget(int index)
Methods in soot.baf.internal that return types with arguments of type Unit Modifier and Type Method Description List<Unit>
AbstractSwitchInst. getTargets()
Methods in soot.baf.internal with parameters of type Unit Modifier and Type Method Description void
AbstractSwitchInst. setDefaultTarget(Unit defaultTarget)
void
AbstractBranchInst. setTarget(Unit target)
void
AbstractSwitchInst. setTarget(int index, Unit target)
Method parameters in soot.baf.internal with type arguments of type Unit Modifier and Type Method Description void
AbstractSwitchInst. setTargets(List<Unit> targets)
Constructors in soot.baf.internal with parameters of type Unit Constructor Description AbstractSwitchInst(Unit defaultTarget, List<? extends Unit> targets)
BGotoInst(Unit target)
BIfCmpEqInst(Type opType, Unit target)
BIfCmpGeInst(Type opType, Unit target)
BIfCmpGtInst(Type opType, Unit target)
BIfCmpLeInst(Type opType, Unit target)
BIfCmpLtInst(Type opType, Unit target)
BIfCmpNeInst(Type opType, Unit target)
BIfEqInst(Unit target)
BIfGeInst(Unit target)
BIfGtInst(Unit target)
BIfLeInst(Unit target)
BIfLtInst(Unit target)
BIfNeInst(Unit target)
BIfNonNullInst(Unit target)
BIfNullInst(Unit target)
BJSRInst(Unit target)
BLookupSwitchInst(Unit defaultTarget, List<IntConstant> lookupValues, List<? extends Unit> targets)
BTableSwitchInst(Unit defaultTarget, int lowIndex, int highIndex, List<? extends Unit> targets)
BTrap(SootClass exception, Unit beginStmt, Unit endStmt, Unit handlerStmt)
Constructor parameters in soot.baf.internal with type arguments of type Unit Constructor Description AbstractSwitchInst(Unit defaultTarget, List<? extends Unit> targets)
BTableSwitchInst(Unit defaultTarget, int lowIndex, int highIndex, List<? extends Unit> targets)
-
Uses of Unit in soot.baf.toolkits.base
Methods in soot.baf.toolkits.base that return types with arguments of type Unit Modifier and Type Method Description static Map<Unit,Stack<Type>>
OpStackCalculator. calculateStacks(BafBody b)
-
Uses of Unit in soot.dava
Methods in soot.dava that return Unit Modifier and Type Method Description Unit
DavaBody. get_ConstructorUnit()
Methods in soot.dava with parameters of type Unit Modifier and Type Method Description void
DavaBody. set_ConstructorUnit(Unit s)
void
DavaUnitPrinter. unitRef(Unit u, boolean branchTarget)
-
Uses of Unit in soot.dava.internal.AST
Classes in soot.dava.internal.AST that implement Unit Modifier and Type Class Description class
ASTControlFlowNode
class
ASTDoWhileNode
class
ASTForLoopNode
class
ASTIfElseNode
class
ASTIfNode
class
ASTLabeledBlockNode
class
ASTLabeledNode
class
ASTMethodNode
class
ASTNode
class
ASTStatementSequenceNode
class
ASTSwitchNode
class
ASTSynchronizedBlockNode
class
ASTTryNode
class
ASTUnconditionalLoopNode
class
ASTWhileNode
-
Uses of Unit in soot.dava.internal.javaRep
Classes in soot.dava.internal.javaRep that implement Unit Modifier and Type Class Description class
DAbruptStmt
class
DAssignStmt
class
DDecrementStmt
class
DIdentityStmt
class
DIncrementStmt
class
DShortcutAssignStmt
class
DVariableDeclarationStmt
-
Uses of Unit in soot.dexpler
Fields in soot.dexpler with type parameters of type Unit Modifier and Type Field Description protected List<Unit>
DexDefUseAnalysis. unitList
Methods in soot.dexpler that return types with arguments of type Unit Modifier and Type Method Description protected Set<Unit>
DexDefUseAnalysis. collectDefinitionsWithAliases(Local l)
Collect definitions of l in body including the definitions of aliases of l.protected List<Unit>
DexTransformer. collectDefinitionsWithAliases(Local l, LocalDefs localDefs, LocalUses localUses, Body body)
Collect definitions of l in body including the definitions of aliases of l.List<Unit>
DexDefUseAnalysis. getDefsOf(Local l)
List<Unit>
DexDefUseAnalysis. getDefsOfAt(Local l, Unit s)
Set<Unit>
DexDefUseAnalysis. getUsesOf(Local l)
Methods in soot.dexpler with parameters of type Unit Modifier and Type Method Description void
DexBody. add(Unit u)
Add unit to this body.static void
Util. addExceptionAfterUnit(Body b, String exceptionType, Unit u, String m)
Insert a runtime exception before unit u of body b.protected boolean
DexNumTransformer. examineBinopExpr(Unit u)
List<Unit>
DexDefUseAnalysis. getDefsOfAt(Local l, Unit s)
protected void
AbstractNullTransformer. replaceWithNull(Unit u)
Replace 0 with null in the given unit.Method parameters in soot.dexpler with type arguments of type Unit Modifier and Type Method Description protected Type
DexTransformer. findArrayType(LocalDefs localDefs, Stmt arrayStmt, int depth, Set<Unit> alreadyVisitedDefs)
-
Uses of Unit in soot.dexpler.instructions
Fields in soot.dexpler.instructions declared as Unit Modifier and Type Field Description protected Unit
JumpInstruction. markerUnit
protected Unit
SwitchInstruction. markerUnit
protected Unit
DexlibAbstractInstruction. unit
Methods in soot.dexpler.instructions that return Unit Modifier and Type Method Description Unit
DexlibAbstractInstruction. getUnit()
Methods in soot.dexpler.instructions with parameters of type Unit Modifier and Type Method Description protected void
DexlibAbstractInstruction. setUnit(Unit u)
Set the Jimple Unit, that comprises this instruction. -
Uses of Unit in soot.dotnet.instructions
Methods in soot.dotnet.instructions that return Unit Modifier and Type Method Description Unit
CilBlock. getEntryUnit()
Constructors in soot.dotnet.instructions with parameters of type Unit Constructor Description CatchFilterHandlerBody(DotnetBody dotnetBody, ProtoIlInstructions.IlTryCatchHandlerMsg handlerMsg, Local exceptionVar, Unit nopStmtEnd)
CatchHandlerBody(Local exceptionVariable, ProtoIlInstructions.IlTryCatchHandlerMsg handlerMsg, DotnetBody dotnetBody, Body tryBody, Unit exceptionIdentityStmt, List<Unit> nopsToReplaceWithGoto)
Constructor parameters in soot.dotnet.instructions with type arguments of type Unit Constructor Description CatchHandlerBody(Local exceptionVariable, ProtoIlInstructions.IlTryCatchHandlerMsg handlerMsg, DotnetBody dotnetBody, Body tryBody, Unit exceptionIdentityStmt, List<Unit> nopsToReplaceWithGoto)
-
Uses of Unit in soot.dotnet.members
Methods in soot.dotnet.members that return Unit Modifier and Type Method Description static Unit
ArrayByReferenceWrapperGenerator. createSet(Value holder, Value newValue)
static Unit
ByReferenceWrapperGenerator. getUnwrapCall(SootClass wrapperClass, Value argToUnwrap, Value target)
Returns a call to unwrap objectsstatic Unit
ByReferenceWrapperGenerator. getUpdateWrappedValueCall(Local wrapped, Local unwrapped)
Returns a call to update a wrapped object -
Uses of Unit in soot.dotnet.members.method
Fields in soot.dotnet.members.method with type parameters of type Unit Modifier and Type Field Description HashMap<Unit,String>
BlockEntryPointsManager. gotoTargetsInBody
first goto targets are nop stmts, mapped to the real entry point string_names.Methods in soot.dotnet.members.method that return Unit Modifier and Type Method Description Unit
BlockEntryPointsManager. getBlockEntryPoint(String blockName)
Methods in soot.dotnet.members.method with parameters of type Unit Modifier and Type Method Description void
BlockEntryPointsManager. putBlockEntryPoint(String blockName, Unit entryUnit)
void
BlockEntryPointsManager. swapGotoEntryUnit(Unit in, Unit out)
Swap two elements (out of the chain)Method parameters in soot.dotnet.members.method with type arguments of type Unit Modifier and Type Method Description void
DotnetBodyVariableManager. fillMethodParameter(List<Unit> unwrapCalls, Map<Local,Local> unwrappedToWrapped)
Add parameters of the .NET method to the Jimple Body -
Uses of Unit in soot.grimp
Methods in soot.grimp with parameters of type Unit Modifier and Type Method Description GotoStmt
Grimp. newGotoStmt(Unit target)
Constructs a GotoStmt(Stmt) grammar chunk.IfStmt
Grimp. newIfStmt(Value condition, Unit target)
Constructs a IfStmt(Condition, Stmt) grammar chunk.LookupSwitchStmt
Grimp. newLookupSwitchStmt(Value key, List lookupValues, List targets, Unit defaultTarget)
Constructs a LookupSwitchStmt(Expr, List of Expr, List of Unit, Stmt) grammar chunk.UnitBox
Grimp. newStmtBox(Unit unit)
TableSwitchStmt
Grimp. newTableSwitchStmt(Value key, int lowIndex, int highIndex, List targets, Unit defaultTarget)
Constructs a TableSwitchStmt(Expr, int, int, List of Unit, Stmt) grammar chunk.Trap
Grimp. newTrap(SootClass exception, Unit beginStmt, Unit endStmt, Unit handlerStmt)
Constructs a new Trap for the given exception on the given Stmt range with the given Stmt handler. -
Uses of Unit in soot.grimp.internal
Classes in soot.grimp.internal that implement Unit Modifier and Type Class Description class
GAssignStmt
class
GEnterMonitorStmt
class
GExitMonitorStmt
class
GIdentityStmt
class
GIfStmt
class
GInvokeStmt
class
GLookupSwitchStmt
class
GReturnStmt
class
GTableSwitchStmt
class
GThrowStmt
Constructors in soot.grimp.internal with parameters of type Unit Constructor Description GIfStmt(Value condition, Unit target)
GLookupSwitchStmt(Value key, List<IntConstant> lookupValues, List<? extends Unit> targets, Unit defaultTarget)
GTableSwitchStmt(Value key, int lowIndex, int highIndex, List<? extends Unit> targets, Unit defaultTarget)
GTrap(SootClass exception, Unit beginStmt, Unit endStmt, Unit handlerStmt)
Constructor parameters in soot.grimp.internal with type arguments of type Unit Constructor Description GTableSwitchStmt(Value key, int lowIndex, int highIndex, List<? extends Unit> targets, Unit defaultTarget)
-
Uses of Unit in soot.JastAddJ
Methods in soot.JastAddJ with parameters of type Unit Modifier and Type Method Description GotoStmt
Body. newGotoStmt(Unit target, ASTNode location)
IfStmt
Body. newIfStmt(Value op, Unit target, ASTNode location)
LookupSwitchStmt
Body. newLookupSwitchStmt(Value key, List lookupValues, List targets, Unit defaultTarget, ASTNode location)
TableSwitchStmt
Body. newTableSwitchStmt(Value key, int lowIndex, int highIndex, List targets, Unit defaultTarget, ASTNode location)
-
Uses of Unit in soot.jbco.bafTransformations
Methods in soot.jbco.bafTransformations that return types with arguments of type Unit Modifier and Type Method Description static Map<Unit,Stack<Type>>
StackTypeHeightCalculator. calculateStackHeights(Body b)
static Map<Unit,Stack<Type>>
StackTypeHeightCalculator. calculateStackHeights(Body b, boolean jimpleLocals)
static Map<Unit,Stack<Type>>
StackTypeHeightCalculator. calculateStackHeights(Body b, Map<Local,Local> b2JLocs)
Methods in soot.jbco.bafTransformations with parameters of type Unit Modifier and Type Method Description static Stack<Type>
StackTypeHeightCalculator. getAfterStack(Stack<Type> beforeStack, Unit u)
static Stack<Type>
StackTypeHeightCalculator. getAfterStack(Body b, Unit u)
static Stack<Type>
StackTypeHeightCalculator. updateStack(Unit u, Stack<Type> st)
Method parameters in soot.jbco.bafTransformations with type arguments of type Unit Modifier and Type Method Description static void
StackTypeHeightCalculator. printStack(PatchingChain<Unit> units, Map<Unit,Stack<Type>> stacks, boolean before)
static void
StackTypeHeightCalculator. printStack(PatchingChain<Unit> units, Map<Unit,Stack<Type>> stacks, boolean before)
-
Uses of Unit in soot.jbco.jimpleTransformations
Methods in soot.jbco.jimpleTransformations with parameters of type Unit Modifier and Type Method Description boolean
AddSwitches. checkTraps(Unit u, Body b)
protected void
New2InitFlowAnalysis. flowThrough(FlowSet in, Unit d, FlowSet out)
Constructor parameters in soot.jbco.jimpleTransformations with type arguments of type Unit Constructor Description New2InitFlowAnalysis(DirectedGraph<Unit> graph)
-
Uses of Unit in soot.jbco.util
Methods in soot.jbco.util with parameters of type Unit Modifier and Type Method Description static boolean
BodyBuilder. isBafIf(Unit u)
static boolean
BodyBuilder. isExceptionCaughtAt(Chain<Unit> units, Unit u, Iterator<Trap> trapsIt)
static void
BodyBuilder. updateTraps(Unit oldu, Unit newu, Chain<Trap> traps)
Method parameters in soot.jbco.util with type arguments of type Unit Modifier and Type Method Description static List<Local>
BodyBuilder. buildParameterLocals(PatchingChain<Unit> units, Collection<Local> locals, List<Type> paramTypes)
protected void
SimpleExceptionalGraph. buildSimpleExceptionalEdges(Map<Unit,List<Unit>> unitToSuccs, Map<Unit,List<Unit>> unitToPreds)
protected void
SimpleExceptionalGraph. buildSimpleExceptionalEdges(Map<Unit,List<Unit>> unitToSuccs, Map<Unit,List<Unit>> unitToPreds)
static Local
BodyBuilder. buildThisLocal(PatchingChain<Unit> units, ThisRef tr, Collection<Local> locals)
static boolean
BodyBuilder. isExceptionCaughtAt(Chain<Unit> units, Unit u, Iterator<Trap> trapsIt)
static void
Debugger. printUnits(PatchingChain<Unit> u, String msg)
-
Uses of Unit in soot.jimple
Subinterfaces of Unit in soot.jimple Modifier and Type Interface Description interface
AssignStmt
interface
BranchableStmt
interface
BreakpointStmt
interface
DefinitionStmt
interface
EnterMonitorStmt
interface
ExitMonitorStmt
interface
GotoStmt
interface
IdentityStmt
interface
IfStmt
interface
InvokeStmt
interface
LookupSwitchStmt
interface
MonitorStmt
interface
NopStmt
interface
RetStmt
interface
ReturnStmt
interface
ReturnVoidStmt
interface
Stmt
interface
SwitchStmt
interface
TableSwitchStmt
interface
ThrowStmt
Classes in soot.jimple that implement Unit Modifier and Type Class Description class
PlaceholderStmt
Methods in soot.jimple that return Unit Modifier and Type Method Description Unit
JimpleToBafContext. getCurrentUnit()
Unit
SwitchStmt. getDefaultTarget()
Unit
PlaceholderStmt. getSource()
Unit
BranchableStmt. getTarget()
Unit
GotoStmt. getTarget()
Unit
SwitchStmt. getTarget(int index)
Unit
SwitchStmt. getTargetForValue(int value)
Returns the target unit if a value with value "value" is the keyMethods in soot.jimple that return types with arguments of type Unit Modifier and Type Method Description List<Unit>
SwitchStmt. getTargets()
Methods in soot.jimple with parameters of type Unit Modifier and Type Method Description GotoStmt
Jimple. newGotoStmt(Unit target)
Constructs a GotoStmt(Stmt) grammar chunk.IfStmt
Jimple. newIfStmt(Value condition, Unit target)
Constructs a IfStmt(Condition, Stmt) grammar chunk.LookupSwitchStmt
Jimple. newLookupSwitchStmt(Value key, List<IntConstant> lookupValues, List<? extends Unit> targets, Unit defaultTarget)
Constructs a LookupSwitchStmt(Immediate, List of Immediate, List of Unit, Stmt) grammar chunk.UnitBox
Jimple. newStmtBox(Unit unit)
TableSwitchStmt
Jimple. newTableSwitchStmt(Value key, int lowIndex, int highIndex, List<? extends Unit> targets, Unit defaultTarget)
Constructs a TableSwitchStmt(Immediate, int, int, List of Unit, Stmt) grammar chunk.Trap
Jimple. newTrap(SootClass exception, Unit beginStmt, Unit endStmt, Unit handlerStmt)
Constructs a new JTrap for the given exception on the given Stmt range with the given Stmt handler.void
JimpleToBafContext. setCurrentUnit(Unit u)
void
SwitchStmt. setDefaultTarget(Unit defaultTarget)
void
BranchableStmt. setTarget(Unit target)
void
GotoStmt. setTarget(Unit target)
void
IfStmt. setTarget(Unit target)
void
SwitchStmt. setTarget(int index, Unit target)
void
LookupSwitchStmt. setTargets(Unit[] targets)
boolean
NaiveSideEffectTester. unitCanReadFrom(Unit u, Value v)
Returns true if the unit can read from v.boolean
NaiveSideEffectTester. unitCanWriteTo(Unit u, Value v)
Method parameters in soot.jimple with type arguments of type Unit Modifier and Type Method Description void
Constant. convertToBaf(JimpleToBafContext context, List<Unit> out)
Adds a Baf instruction pushing this constant to the stack ontoout
.void
ConvertToBaf. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
StaticFieldRef. convertToBaf(JimpleToBafContext context, List<Unit> out)
TableSwitchStmt
Jimple. newTableSwitchStmt(Value key, int lowIndex, int highIndex, List<? extends Unit> targets, Unit defaultTarget)
Constructs a TableSwitchStmt(Immediate, int, int, List of Unit, Stmt) grammar chunk.void
TableSwitchStmt. setTargets(List<? extends Unit> targets)
-
Uses of Unit in soot.jimple.internal
Classes in soot.jimple.internal that implement Unit Modifier and Type Class Description class
AbstractDefinitionStmt
class
AbstractOpStmt
class
AbstractStmt
class
AbstractSwitchStmt
class
JAssignStmt
class
JBreakpointStmt
class
JEnterMonitorStmt
class
JExitMonitorStmt
class
JGotoStmt
class
JIdentityStmt
class
JIfStmt
class
JInvokeStmt
class
JLookupSwitchStmt
class
JNopStmt
class
JRetStmt
class
JReturnStmt
class
JReturnVoidStmt
class
JTableSwitchStmt
class
JThrowStmt
Methods in soot.jimple.internal that return Unit Modifier and Type Method Description Unit
AbstractSwitchStmt. getDefaultTarget()
Unit
AbstractSwitchStmt. getTarget(int index)
Unit
JGotoStmt. getTarget()
Unit
JLookupSwitchStmt. getTargetForValue(int value)
Unit
JTableSwitchStmt. getTargetForValue(int value)
protected abstract Unit
AbstractJimpleFloatBinopExpr. makeBafInst(Type opType)
protected abstract Unit
AbstractJimpleIntBinopExpr. makeBafInst(Type opType)
protected abstract Unit
AbstractJimpleIntLongBinopExpr. makeBafInst(Type opType)
protected Unit
JAddExpr. makeBafInst(Type opType)
protected Unit
JAndExpr. makeBafInst(Type opType)
protected Unit
JCmpExpr. makeBafInst(Type opType)
protected Unit
JCmpgExpr. makeBafInst(Type opType)
protected Unit
JCmplExpr. makeBafInst(Type opType)
protected Unit
JDivExpr. makeBafInst(Type opType)
protected Unit
JEqExpr. makeBafInst(Type opType)
protected Unit
JGeExpr. makeBafInst(Type opType)
protected Unit
JGtExpr. makeBafInst(Type opType)
protected Unit
JLeExpr. makeBafInst(Type opType)
protected Unit
JLtExpr. makeBafInst(Type opType)
protected Unit
JMulExpr. makeBafInst(Type opType)
protected Unit
JNeExpr. makeBafInst(Type opType)
protected Unit
JOrExpr. makeBafInst(Type opType)
protected Unit
JRemExpr. makeBafInst(Type opType)
protected Unit
JShlExpr. makeBafInst(Type opType)
protected Unit
JShrExpr. makeBafInst(Type opType)
protected Unit
JSubExpr. makeBafInst(Type opType)
protected Unit
JUshrExpr. makeBafInst(Type opType)
protected Unit
JXorExpr. makeBafInst(Type opType)
Methods in soot.jimple.internal that return types with arguments of type Unit Modifier and Type Method Description List<Unit>
AbstractSwitchStmt. getTargets()
Methods in soot.jimple.internal with parameters of type Unit Modifier and Type Method Description boolean
StmtBox. canContainUnit(Unit u)
void
AbstractSwitchStmt. setDefaultTarget(Unit defaultTarget)
void
AbstractSwitchStmt. setTarget(int index, Unit target)
void
JGotoStmt. setTarget(Unit target)
void
JIfStmt. setTarget(Unit target)
void
AbstractSwitchStmt. setTargets(Unit[] targets)
Method parameters in soot.jimple.internal with type arguments of type Unit Modifier and Type Method Description void
AbstractCastExpr. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
AbstractInstanceFieldRef. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
AbstractInterfaceInvokeExpr. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
AbstractJimpleFloatBinopExpr. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
AbstractJimpleIntBinopExpr. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
AbstractJimpleIntLongBinopExpr. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
AbstractNewArrayExpr. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
AbstractNewMultiArrayExpr. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
AbstractSpecialInvokeExpr. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
AbstractStaticInvokeExpr. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
AbstractStmt. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
AbstractVirtualInvokeExpr. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JArrayRef. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JAssignStmt. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JDynamicInvokeExpr. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JEnterMonitorStmt. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JExitMonitorStmt. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JGotoStmt. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JIdentityStmt. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JIfStmt. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JimpleLocal. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JInstanceOfExpr. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JInvokeStmt. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JLengthExpr. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JLookupSwitchStmt. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JNegExpr. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JNewExpr. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JNopStmt. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JReturnStmt. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JReturnVoidStmt. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JTableSwitchStmt. convertToBaf(JimpleToBafContext context, List<Unit> out)
void
JThrowStmt. convertToBaf(JimpleToBafContext context, List<Unit> out)
protected static UnitBox[]
AbstractSwitchStmt. getTargetBoxesArray(List<? extends Unit> targets, Function<Unit,UnitBox> stmtBoxWrap)
protected static UnitBox[]
AbstractSwitchStmt. getTargetBoxesArray(List<? extends Unit> targets, Function<Unit,UnitBox> stmtBoxWrap)
void
AbstractSwitchStmt. setTargets(List<? extends Unit> targets)
Constructors in soot.jimple.internal with parameters of type Unit Constructor Description JGotoStmt(Unit target)
JIfStmt(Value condition, Unit target)
JLookupSwitchStmt(Value key, List<IntConstant> lookupValues, List<? extends Unit> targets, Unit defaultTarget)
Constructs a new JLookupSwitchStmt.JTableSwitchStmt(Value key, int lowIndex, int highIndex, List<? extends Unit> targets, Unit defaultTarget)
JTrap(SootClass exception, Unit beginStmt, Unit endStmt, Unit handlerStmt)
Constructor parameters in soot.jimple.internal with type arguments of type Unit Constructor Description JTableSwitchStmt(Value key, int lowIndex, int highIndex, List<? extends Unit> targets, Unit defaultTarget)
-
Uses of Unit in soot.jimple.spark.fieldrw
Methods in soot.jimple.spark.fieldrw with parameters of type Unit Modifier and Type Method Description void
FieldTagAggregator. considerTag(Tag t, Unit u, LinkedList<Tag> tags, LinkedList<Unit> units)
-
Uses of Unit in soot.jimple.toolkits.annotation.nullcheck
Fields in soot.jimple.toolkits.annotation.nullcheck with type parameters of type Unit Modifier and Type Field Description protected Map<Unit,HashSet<Value>>
BranchedRefVarsAnalysis. unitToAnalyzedChecksSet
Deprecated.protected Map<Unit,HashSet<Value>>
BranchedRefVarsAnalysis. unitToArrayRefChecksSet
Deprecated.protected Map<Unit,FlowSet<RefIntPair>>
BranchedRefVarsAnalysis. unitToGenerateSet
Deprecated.protected Map<Unit,HashSet<Value>>
BranchedRefVarsAnalysis. unitToInstanceFieldRefChecksSet
Deprecated.protected Map<Unit,HashSet<Value>>
BranchedRefVarsAnalysis. unitToInstanceInvokeExprChecksSet
Deprecated.protected Map<Unit,HashSet<Value>>
BranchedRefVarsAnalysis. unitToLengthExprChecksSet
Deprecated.protected Map<Unit,FlowSet<RefIntPair>>
BranchedRefVarsAnalysis. unitToPreserveSet
Deprecated.Methods in soot.jimple.toolkits.annotation.nullcheck with parameters of type Unit Modifier and Type Method Description protected void
BranchedRefVarsAnalysis. flowThrough(FlowSet<RefIntPair> in, Unit stmt, List<FlowSet<RefIntPair>> outFall, List<FlowSet<RefIntPair>> outBranch)
Deprecated.protected void
NullnessAnalysis. flowThrough(NullnessAnalysis.AnalysisInfo in, Unit u, List<NullnessAnalysis.AnalysisInfo> fallOut, List<NullnessAnalysis.AnalysisInfo> branchOuts)
Given the merge of thein
sets, compute thefallOut
andbranchOuts
set fors
.protected void
NullnessAssumptionAnalysis. flowThrough(NullnessAssumptionAnalysis.AnalysisInfo in, Unit unit, NullnessAssumptionAnalysis.AnalysisInfo outValue)
Given the merge of theout
sets, compute thein
set fors
(or in to out, depending on direction).List<List<RefIntPair>>
LocalRefVarsAnalysisWrapper. getListsOfVarsAfterBranch(Unit s)
Deprecated.List<RefIntPair>
LocalRefVarsAnalysisWrapper. getVarsAfterFall(Unit s)
Deprecated.List<RefIntPair>
LocalRefVarsAnalysisWrapper. getVarsBefore(Unit s)
Deprecated.List<RefIntPair>
LocalRefVarsAnalysisWrapper. getVarsDontNeedCheck(Unit s)
Deprecated.List<Object>
LocalRefVarsAnalysisWrapper. getVarsNeedCheck(Unit s)
Deprecated.boolean
NullnessAnalysis. isAlwaysNonNullBefore(Unit s, Immediate i)
Returnstrue
if the analysis could determine that i is always non-null before the statement s.boolean
NullnessAnalysis. isAlwaysNullBefore(Unit s, Immediate i)
Returnstrue
if the analysis could determine that i is always null before the statement s.boolean
NullnessAssumptionAnalysis. isAssumedNonNullBefore(Unit s, Immediate i)
Returnstrue
if the analysis could determine that i is always treated as non-null after and including the statement s.boolean
NullnessAssumptionAnalysis. isAssumedNullBefore(Unit s, Immediate i)
Returnstrue
if the analysis could determine that i is always treated as null after and including the statement s. -
Uses of Unit in soot.jimple.toolkits.annotation.parity
Methods in soot.jimple.toolkits.annotation.parity with parameters of type Unit Modifier and Type Method Description protected void
ParityAnalysis. flowThrough(Map<Value,ParityAnalysis.Parity> in, Unit s, Map<Value,ParityAnalysis.Parity> out)
-
Uses of Unit in soot.jimple.toolkits.annotation.purity
Methods in soot.jimple.toolkits.annotation.purity with parameters of type Unit Modifier and Type Method Description protected void
PurityIntraproceduralAnalysis. flowThrough(PurityGraphBox inValue, Unit unit, PurityGraphBox outValue)
-
Uses of Unit in soot.jimple.toolkits.annotation.tags
Methods in soot.jimple.toolkits.annotation.tags with parameters of type Unit Modifier and Type Method Description void
ArrayNullTagAggregator. considerTag(Tag t, Unit u, LinkedList<Tag> tags, LinkedList<Unit> units)
-
Uses of Unit in soot.jimple.toolkits.base
Methods in soot.jimple.toolkits.base with parameters of type Unit Modifier and Type Method Description Zone
Zonation. getZoneOf(Unit u)
-
Uses of Unit in soot.jimple.toolkits.callgraph
Fields in soot.jimple.toolkits.callgraph with type parameters of type Unit Modifier and Type Field Description protected Map<Unit,Edge>
CallGraph. srcUnitToEdge
Methods in soot.jimple.toolkits.callgraph that return Unit Modifier and Type Method Description Unit
Units. next()
Unit
ContextSensitiveEdge. srcUnit()
The unit at which the call occurs; may be null for calls not occurring at a specific statement (eg.Unit
Edge. srcUnit()
Methods in soot.jimple.toolkits.callgraph with parameters of type Unit Modifier and Type Method Description void
ContextInsensitiveContextManager. addStaticEdge(MethodOrMethodContext src, Unit srcUnit, SootMethod target, Kind kind)
void
ContextManager. addStaticEdge(MethodOrMethodContext src, Unit srcUnit, SootMethod target, Kind kind)
void
ObjSensContextManager. addStaticEdge(MethodOrMethodContext src, Unit srcUnit, SootMethod target, Kind kind)
void
OneCFAContextManager. addStaticEdge(MethodOrMethodContext src, Unit srcUnit, SootMethod target, Kind kind)
void
ContextInsensitiveContextManager. addVirtualEdge(MethodOrMethodContext src, Unit srcUnit, SootMethod target, Kind kind, Context typeContext)
void
ContextManager. addVirtualEdge(MethodOrMethodContext src, Unit srcUnit, SootMethod target, Kind kind, Context typeContext)
void
ObjSensContextManager. addVirtualEdge(MethodOrMethodContext src, Unit srcUnit, SootMethod target, Kind kind, Context typeContext)
void
OneCFAContextManager. addVirtualEdge(MethodOrMethodContext src, Unit srcUnit, SootMethod target, Kind kind, Context typeContext)
Iterator<Edge>
CallGraph. edgesOutOf(Unit u)
Returns an iterator over all edges that have u as their source unit.Iterator<ContextSensitiveEdge>
ContextSensitiveCallGraph. edgesOutOf(Context srcCtxt, SootMethod src, Unit srcUnit)
Returns all ContextSensitiveEdge's out of unit srcUnit in method src in context srcCtxt.Iterator<Edge>
SlowCallGraph. edgesOutOf(Unit u)
Returns an iterator over all edges that have u as their source unit.Edge
CallGraph. findEdge(Unit u, SootMethod callee)
Find the specific call edge that is going out from the callsite u and the call target is callee.protected void
ClinitElimAnalysis. flowThrough(FlowSet<SootMethod> inVal, Unit stmt, FlowSet<SootMethod> outVal)
protected void
ConstantArrayAnalysis. flowThrough(ConstantArrayAnalysis.ArrayState in, Unit d, ConstantArrayAnalysis.ArrayState out)
Iterator<MethodOrMethodContext>
TransitiveTargets. iterator(Unit u)
boolean
CallGraph. removeAllEdgesOutOf(Unit u)
Removes all outgoing edges that start at the given unitConstructors in soot.jimple.toolkits.callgraph with parameters of type Unit Constructor Description Edge(MethodOrMethodContext src, Unit srcUnit, MethodOrMethodContext tgt, Kind kind)
Constructor parameters in soot.jimple.toolkits.callgraph with type arguments of type Unit Constructor Description ConstantArrayAnalysis(DirectedGraph<Unit> graph, Body b)
-
Uses of Unit in soot.jimple.toolkits.ide
Classes in soot.jimple.toolkits.ide with type parameters of type Unit Modifier and Type Class Description class
DefaultJimpleIDETabulationProblem<D,V,I extends heros.InterproceduralCFG<Unit,SootMethod>>
class
DefaultJimpleIFDSTabulationProblem<D,I extends heros.InterproceduralCFG<Unit,SootMethod>>
class
JimpleIDESolver<D,V,I extends heros.InterproceduralCFG<Unit,SootMethod>>
class
JimpleIFDSSolver<D,I extends heros.InterproceduralCFG<Unit,SootMethod>>
Constructor parameters in soot.jimple.toolkits.ide with type arguments of type Unit Constructor Description JimpleIDESolver(heros.IDETabulationProblem<Unit,D,SootMethod,V,I> problem)
JimpleIDESolver(heros.IDETabulationProblem<Unit,D,SootMethod,V,I> problem, boolean dumpResults)
JimpleIFDSSolver(heros.IFDSTabulationProblem<Unit,D,SootMethod,I> problem)
JimpleIFDSSolver(heros.IFDSTabulationProblem<Unit,D,SootMethod,I> problem, boolean dumpResults)
-
Uses of Unit in soot.jimple.toolkits.ide.exampleproblems
Methods in soot.jimple.toolkits.ide.exampleproblems that return types with arguments of type Unit Modifier and Type Method Description heros.FlowFunctions<Unit,Value,SootMethod>
IFDSLiveVariables. createFlowFunctionsFactory()
heros.FlowFunctions<Unit,Local,SootMethod>
IFDSLocalInfoFlow. createFlowFunctionsFactory()
heros.FlowFunctions<Unit,Pair<Value,Type>,SootMethod>
IFDSPossibleTypes. createFlowFunctionsFactory()
heros.FlowFunctions<Unit,Pair<Value,Set<DefinitionStmt>>,SootMethod>
IFDSReachingDefinitions. createFlowFunctionsFactory()
heros.FlowFunctions<Unit,Local,SootMethod>
IFDSUninitializedVariables. createFlowFunctionsFactory()
Map<Unit,Set<Value>>
IFDSLiveVariables. initialSeeds()
Map<Unit,Set<Local>>
IFDSLocalInfoFlow. initialSeeds()
Map<Unit,Set<Pair<Value,Type>>>
IFDSPossibleTypes. initialSeeds()
Map<Unit,Set<Pair<Value,Set<DefinitionStmt>>>>
IFDSReachingDefinitions. initialSeeds()
Map<Unit,Set<Local>>
IFDSUninitializedVariables. initialSeeds()
Constructor parameters in soot.jimple.toolkits.ide.exampleproblems with type arguments of type Unit Constructor Description IFDSLiveVariables(heros.InterproceduralCFG<Unit,SootMethod> icfg)
IFDSLocalInfoFlow(heros.InterproceduralCFG<Unit,SootMethod> icfg)
IFDSPossibleTypes(heros.InterproceduralCFG<Unit,SootMethod> icfg)
IFDSReachingDefinitions(heros.InterproceduralCFG<Unit,SootMethod> icfg)
IFDSUninitializedVariables(heros.InterproceduralCFG<Unit,SootMethod> icfg)
-
Uses of Unit in soot.jimple.toolkits.ide.icfg
Fields in soot.jimple.toolkits.ide.icfg with type parameters of type Unit Modifier and Type Field Description protected com.google.common.cache.LoadingCache<Body,DirectedGraph<Unit>>
AbstractJimpleBasedICFG. bodyToUnitGraph
protected BiDiInterproceduralCFG<Unit,SootMethod>
BackwardsInterproceduralCFG. delegate
protected com.google.common.cache.CacheLoader<SootMethod,Collection<Unit>>
JimpleBasedInterproceduralCFG. loaderMethodToCallers
protected com.google.common.cache.CacheLoader<Unit,Collection<SootMethod>>
JimpleBasedInterproceduralCFG. loaderUnitToCallees
protected com.google.common.cache.LoadingCache<SootMethod,Collection<Unit>>
JimpleBasedInterproceduralCFG. methodToCallers
protected Map<SootMethod,Set<Unit>>
OnTheFlyJimpleBasedICFG. methodToCallers
protected com.google.common.cache.LoadingCache<SootMethod,Set<Unit>>
AbstractJimpleBasedICFG. methodToCallsFromWithin
protected com.google.common.cache.LoadingCache<Unit,Collection<SootMethod>>
JimpleBasedInterproceduralCFG. unitToCallees
protected com.google.common.cache.LoadingCache<Unit,Set<SootMethod>>
OnTheFlyJimpleBasedICFG. unitToCallees
Methods in soot.jimple.toolkits.ide.icfg that return types with arguments of type Unit Modifier and Type Method Description Set<Unit>
AbstractJimpleBasedICFG. allNonCallEndNodes()
Set<Unit>
BackwardsInterproceduralCFG. allNonCallEndNodes()
Set<Unit>
AbstractJimpleBasedICFG. allNonCallStartNodes()
Set<Unit>
BackwardsInterproceduralCFG. allNonCallStartNodes()
protected Map<Unit,Body>
AbstractJimpleBasedICFG. createUnitToOwnerMap()
Creates a new map used for the unitToOwner map.Collection<Unit>
BackwardsInterproceduralCFG. getCallersOf(SootMethod m)
Collection<Unit>
JimpleBasedInterproceduralCFG. getCallersOf(SootMethod m)
Set<Unit>
OnTheFlyJimpleBasedICFG. getCallersOf(SootMethod m)
Set<Unit>
AbstractJimpleBasedICFG. getCallsFromWithin(SootMethod m)
Set<Unit>
BackwardsInterproceduralCFG. getCallsFromWithin(SootMethod m)
protected Set<Unit>
AbstractJimpleBasedICFG. getCallsFromWithinMethod(SootMethod m)
Collection<Unit>
AbstractJimpleBasedICFG. getEndPointsOf(SootMethod m)
Collection<Unit>
BackwardsInterproceduralCFG. getEndPointsOf(SootMethod m)
DirectedGraph<Unit>
AbstractJimpleBasedICFG. getOrCreateUnitGraph(Body body)
DirectedGraph<Unit>
AbstractJimpleBasedICFG. getOrCreateUnitGraph(SootMethod m)
DirectedGraph<Unit>
BackwardsInterproceduralCFG. getOrCreateUnitGraph(SootMethod m)
List<Unit>
AbstractJimpleBasedICFG. getPredsOf(Unit u)
List<Unit>
BackwardsInterproceduralCFG. getPredsOf(Unit u)
List<Unit>
AbstractJimpleBasedICFG. getPredsOfCallAt(Unit u)
List<Unit>
BackwardsInterproceduralCFG. getPredsOfCallAt(Unit u)
Collection<Unit>
AbstractJimpleBasedICFG. getReturnSitesOfCallAt(Unit u)
List<Unit>
BackwardsInterproceduralCFG. getReturnSitesOfCallAt(Unit n)
Collection<Unit>
AbstractJimpleBasedICFG. getStartPointsOf(SootMethod m)
Collection<Unit>
BackwardsInterproceduralCFG. getStartPointsOf(SootMethod m)
List<Unit>
AbstractJimpleBasedICFG. getSuccsOf(Unit u)
List<Unit>
BackwardsInterproceduralCFG. getSuccsOf(Unit n)
protected DirectedGraph<Unit>
AbstractJimpleBasedICFG. makeGraph(Body body)
Methods in soot.jimple.toolkits.ide.icfg with parameters of type Unit Modifier and Type Method Description Body
AbstractJimpleBasedICFG. getBodyOf(Unit u)
Collection<SootMethod>
BackwardsInterproceduralCFG. getCalleesOfCallAt(Unit n)
Collection<SootMethod>
JimpleBasedInterproceduralCFG. getCalleesOfCallAt(Unit u)
Set<SootMethod>
OnTheFlyJimpleBasedICFG. getCalleesOfCallAt(Unit u)
SootMethod
AbstractJimpleBasedICFG. getMethodOf(Unit u)
SootMethod
BackwardsInterproceduralCFG. getMethodOf(Unit n)
List<Unit>
AbstractJimpleBasedICFG. getPredsOf(Unit u)
List<Unit>
BackwardsInterproceduralCFG. getPredsOf(Unit u)
List<Unit>
AbstractJimpleBasedICFG. getPredsOfCallAt(Unit u)
List<Unit>
BackwardsInterproceduralCFG. getPredsOfCallAt(Unit u)
Collection<Unit>
AbstractJimpleBasedICFG. getReturnSitesOfCallAt(Unit u)
List<Unit>
BackwardsInterproceduralCFG. getReturnSitesOfCallAt(Unit n)
List<Unit>
AbstractJimpleBasedICFG. getSuccsOf(Unit u)
List<Unit>
BackwardsInterproceduralCFG. getSuccsOf(Unit n)
boolean
AbstractJimpleBasedICFG. isBranchTarget(Unit u, Unit succ)
boolean
BackwardsInterproceduralCFG. isBranchTarget(Unit stmt, Unit succ)
boolean
AbstractJimpleBasedICFG. isCallStmt(Unit u)
boolean
BackwardsInterproceduralCFG. isCallStmt(Unit stmt)
boolean
AbstractJimpleBasedICFG. isExitStmt(Unit u)
boolean
BackwardsInterproceduralCFG. isExitStmt(Unit stmt)
boolean
AbstractJimpleBasedICFG. isFallThroughSuccessor(Unit u, Unit succ)
boolean
BackwardsInterproceduralCFG. isFallThroughSuccessor(Unit stmt, Unit succ)
boolean
AbstractJimpleBasedICFG. isReachable(Unit u)
boolean
BackwardsInterproceduralCFG. isReachable(Unit u)
boolean
AbstractJimpleBasedICFG. isReturnSite(Unit n)
boolean
BackwardsInterproceduralCFG. isReturnSite(Unit n)
boolean
AbstractJimpleBasedICFG. isStartPoint(Unit u)
boolean
BackwardsInterproceduralCFG. isStartPoint(Unit stmt)
boolean
AbstractJimpleBasedICFG. setOwnerStatement(Unit u, Body b)
Constructor parameters in soot.jimple.toolkits.ide.icfg with type arguments of type Unit Constructor Description BackwardsInterproceduralCFG(BiDiInterproceduralCFG<Unit,SootMethod> fwICFG)
-
Uses of Unit in soot.jimple.toolkits.ide.icfg.dotexport
Constructors in soot.jimple.toolkits.ide.icfg.dotexport with parameters of type Unit Constructor Description ICFGDotVisualizer(String fileName, Unit startPoint, heros.InterproceduralCFG<Unit,SootMethod> icfg)
This class will save your ICFG in DOT format by traversing the ICFG Depth-first!Constructor parameters in soot.jimple.toolkits.ide.icfg.dotexport with type arguments of type Unit Constructor Description ICFGDotVisualizer(String fileName, Unit startPoint, heros.InterproceduralCFG<Unit,SootMethod> icfg)
This class will save your ICFG in DOT format by traversing the ICFG Depth-first! -
Uses of Unit in soot.jimple.toolkits.infoflow
Methods in soot.jimple.toolkits.infoflow with parameters of type Unit Modifier and Type Method Description protected void
SimpleMethodInfoFlowAnalysis. flowThrough(FlowSet<Pair<EquivalentValue,EquivalentValue>> in, Unit unit, FlowSet<Pair<EquivalentValue,EquivalentValue>> out)
-
Uses of Unit in soot.jimple.toolkits.invoke
Methods in soot.jimple.toolkits.invoke that return types with arguments of type Unit Modifier and Type Method Description static List<Unit>
SiteInliner. inlineSite(SootMethod inlinee, Stmt toInline, SootMethod container)
Inlines the methodinlinee
into thecontainer
at the pointtoInline
.static List<Unit>
SiteInliner. inlineSite(SootMethod inlinee, Stmt toInline, SootMethod container, Map<String,String> options)
Inlines the given site. -
Uses of Unit in soot.jimple.toolkits.pointer
Fields in soot.jimple.toolkits.pointer with type parameters of type Unit Modifier and Type Field Description protected Map<Unit,Map<Value,Integer>>
LocalMustAliasAnalysis. mergePointToValueToNumber
maps from a merge point (a unit) and a value to the unique value number of that value at this pointMethods in soot.jimple.toolkits.pointer with parameters of type Unit Modifier and Type Method Description protected void
CastCheckEliminator. flowThrough(soot.jimple.toolkits.pointer.LocalTypeSet in, Unit unit, List<soot.jimple.toolkits.pointer.LocalTypeSet> outFallVals, List<soot.jimple.toolkits.pointer.LocalTypeSet> outBranchVals)
This is the flow function as described in the assignment write-up.protected void
LocalMayAliasAnalysis. flowThrough(Set<Set<Value>> source, Unit unit, Set<Set<Value>> target)
protected void
LocalMustAliasAnalysis. flowThrough(HashMap<Value,Integer> in, Unit u, HashMap<Value,Integer> out)
protected void
LocalMustNotAliasAnalysis. flowThrough(HashMap<Local,Set<NewExpr>> in, Unit unit, HashMap<Local,Set<NewExpr>> out)
boolean
LocalMayAliasAnalysis. mayAlias(Value v1, Value v2, Unit u)
Returns true if v1 and v2 may alias before u.Set<Value>
LocalMayAliasAnalysis. mayAliases(Value v, Unit u)
Returns all values that may-alias with v before u.protected void
LocalMustAliasAnalysis. merge(Unit succUnit, HashMap<Value,Integer> inMap1, HashMap<Value,Integer> inMap2, HashMap<Value,Integer> outMap)
protected RWSet
PASideEffectTester. readSet(Unit u)
boolean
PASideEffectTester. unitCanReadFrom(Unit u, Value v)
Returns true if the unit can read from v.boolean
PASideEffectTester. unitCanWriteTo(Unit u, Value v)
Returns true if the unit can read from v.protected RWSet
PASideEffectTester. writeSet(Unit u)
Constructor parameters in soot.jimple.toolkits.pointer with type arguments of type Unit Constructor Description LocalMustNotAliasAnalysis(DirectedGraph<Unit> directedGraph, Body b)
-
Uses of Unit in soot.jimple.toolkits.scalar
Fields in soot.jimple.toolkits.scalar with type parameters of type Unit Modifier and Type Field Description protected Map<Value,Unit>
FastAvailableExpressionsAnalysis. rhsToContainingStmt
maps an rhs to its containing stmt.protected Map<? extends Unit,List<Object>>
CommonPrecedingEqualValueAnalysis. unitToAliasSet
protected Map<Unit,Chain<EquivalentValue>>
FastAvailableExpressions. unitToEquivsAfter
protected Map<Unit,Chain<EquivalentValue>>
SlowAvailableExpressions. unitToEquivsAfter
protected Map<Unit,Chain<EquivalentValue>>
FastAvailableExpressions. unitToEquivsBefore
protected Map<Unit,Chain<EquivalentValue>>
SlowAvailableExpressions. unitToEquivsBefore
protected Map<Unit,FlowSet<Value>>
FastAvailableExpressionsAnalysis. unitToGenerateSet
protected Map<Unit,BoundedFlowSet<Value>>
SlowAvailableExpressionsAnalysis. unitToGenerateSet
protected Map<Unit,List<UnitValueBoxPair>>
FastAvailableExpressions. unitToPairsAfter
protected Map<Unit,List<UnitValueBoxPair>>
SlowAvailableExpressions. unitToPairsAfter
protected Map<Unit,List<UnitValueBoxPair>>
FastAvailableExpressions. unitToPairsBefore
protected Map<Unit,List<UnitValueBoxPair>>
SlowAvailableExpressions. unitToPairsBefore
protected Map<Unit,BoundedFlowSet<Value>>
SlowAvailableExpressionsAnalysis. unitToPreserveSet
Methods in soot.jimple.toolkits.scalar with parameters of type Unit Modifier and Type Method Description protected void
CommonPrecedingEqualValueAnalysis. flowThrough(FlowSet<Object> in, Unit unit, FlowSet<Object> out)
protected void
EqualLocalsAnalysis. flowThrough(FlowSet<Object> in, Unit unit, FlowSet<Object> out)
protected void
EqualUsesAnalysis. flowThrough(FlowSet<Object> in, Unit unit, FlowSet<Object> out)
Deprecated.protected void
FastAvailableExpressionsAnalysis. flowThrough(FlowSet<Value> in, Unit u, FlowSet<Value> out)
protected void
SlowAvailableExpressionsAnalysis. flowThrough(FlowSet<Value> in, Unit unit, FlowSet<Value> out)
Chain<EquivalentValue>
AvailableExpressions. getAvailableEquivsAfter(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available after u.Chain<EquivalentValue>
FastAvailableExpressions. getAvailableEquivsAfter(Unit u)
Returns a List containing the UnitValueBox pairs corresponding to expressions available after u.Chain<EquivalentValue>
SlowAvailableExpressions. getAvailableEquivsAfter(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available after u.Chain<EquivalentValue>
AvailableExpressions. getAvailableEquivsBefore(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available before u.Chain<EquivalentValue>
FastAvailableExpressions. getAvailableEquivsBefore(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available before u.Chain<EquivalentValue>
SlowAvailableExpressions. getAvailableEquivsBefore(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available before u.List<UnitValueBoxPair>
AvailableExpressions. getAvailablePairsAfter(Unit u)
Returns a List containing the UnitValueBox pairs corresponding to expressions available after u.List<UnitValueBoxPair>
FastAvailableExpressions. getAvailablePairsAfter(Unit u)
Returns a List containing the EquivalentValue corresponding to expressions available after u.List<UnitValueBoxPair>
SlowAvailableExpressions. getAvailablePairsAfter(Unit u)
Returns a List containing the UnitValueBox pairs corresponding to expressions available after u.List<UnitValueBoxPair>
AvailableExpressions. getAvailablePairsBefore(Unit u)
Returns a List containing the UnitValueBox pairs corresponding to expressions available before u.List<UnitValueBoxPair>
FastAvailableExpressions. getAvailablePairsBefore(Unit u)
Returns a List containing the UnitValueBox pairs corresponding to expressions available before u.List<UnitValueBoxPair>
SlowAvailableExpressions. getAvailablePairsBefore(Unit u)
Returns a List containing the UnitValueBox pairs corresponding to expressions available before u.Method parameters in soot.jimple.toolkits.scalar with type arguments of type Unit Modifier and Type Method Description List<Object>
CommonPrecedingEqualValueAnalysis. getCommonAncestorValuesOf(Map<? extends Unit,List<Object>> unitToAliasSet, Stmt s)
Returns a list of EquivalentLocals that must always be equal to l at sConstructor parameters in soot.jimple.toolkits.scalar with type arguments of type Unit Constructor Description FastAvailableExpressionsAnalysis(DirectedGraph<Unit> dg, SootMethod m, SideEffectTester st)
PessimisticAvailableExpressionsAnalysis(DirectedGraph<Unit> dg, SootMethod m, SideEffectTester st)
SlowAvailableExpressionsAnalysis(DirectedGraph<Unit> dg)
-
Uses of Unit in soot.jimple.toolkits.scalar.pre
Methods in soot.jimple.toolkits.scalar.pre with parameters of type Unit Modifier and Type Method Description static Value
SootFilter. binopRhs(Unit unit)
only lets binary RHS through.protected void
DelayabilityAnalysis. flowThrough(FlowSet<EquivalentValue> in, Unit u, FlowSet<EquivalentValue> out)
protected void
DownSafetyAnalysis. flowThrough(FlowSet<EquivalentValue> in, Unit u, FlowSet<EquivalentValue> out)
protected void
NotIsolatedAnalysis. flowThrough(FlowSet<EquivalentValue> in, Unit unit, FlowSet<EquivalentValue> out)
protected void
UpSafetyAnalysis. flowThrough(FlowSet<EquivalentValue> in, Unit u, FlowSet<EquivalentValue> out)
static Value
SootFilter. noExceptionThrowingRhs(Unit unit)
filters out RHS that don't throw any exception.static Value
SootFilter. noInvokeRhs(Unit unit)
filters out RHS that aren't invokes.static Value
SootFilter. rhs(Unit unit)
filters out the RHS of an assignmentStmt.Constructor parameters in soot.jimple.toolkits.scalar.pre with type arguments of type Unit Constructor Description DelayabilityAnalysis(DirectedGraph<Unit> dg)
Deprecated.DelayabilityAnalysis(DirectedGraph<Unit> dg, EarliestnessComputation earliest, Map<Unit,EquivalentValue> equivRhsMap)
Automatically performs the Delayability-analysis on the graphdg
and the Earliest-computationearliest
.
theequivRhsMap
is only here to avoid doing these things again...DelayabilityAnalysis(DirectedGraph<Unit> dg, EarliestnessComputation earliest, Map<Unit,EquivalentValue> equivRhsMap)
Automatically performs the Delayability-analysis on the graphdg
and the Earliest-computationearliest
.
theequivRhsMap
is only here to avoid doing these things again...DelayabilityAnalysis(DirectedGraph<Unit> dg, EarliestnessComputation earliest, Map<Unit,EquivalentValue> equivRhsMap, BoundedFlowSet<EquivalentValue> set)
Automatically performs the Delayability-analysis on the graphdg
and the Earliest-computationearliest
.
theequivRhsMap
is only here to avoid doing these things again...
as set-operations are usually more efficient, if the sets come from one source, sets should be shared around analyses, if the analyses are to be combined.DelayabilityAnalysis(DirectedGraph<Unit> dg, EarliestnessComputation earliest, Map<Unit,EquivalentValue> equivRhsMap, BoundedFlowSet<EquivalentValue> set)
Automatically performs the Delayability-analysis on the graphdg
and the Earliest-computationearliest
.
theequivRhsMap
is only here to avoid doing these things again...
as set-operations are usually more efficient, if the sets come from one source, sets should be shared around analyses, if the analyses are to be combined.DownSafetyAnalysis(DirectedGraph<Unit> dg)
Deprecated.DownSafetyAnalysis(DirectedGraph<Unit> dg, Map<Unit,EquivalentValue> unitToGen, SideEffectTester sideEffect)
This constructor automatically performs the DownSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()).DownSafetyAnalysis(DirectedGraph<Unit> dg, Map<Unit,EquivalentValue> unitToGen, SideEffectTester sideEffect)
This constructor automatically performs the DownSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()).DownSafetyAnalysis(DirectedGraph<Unit> dg, Map<Unit,EquivalentValue> unitToGen, SideEffectTester sideEffect, BoundedFlowSet<EquivalentValue> set)
This constructor automatically performs the DownSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()).
as sets-operations are usually more efficient, if the original set comes from the same source, this allows to share sets.DownSafetyAnalysis(DirectedGraph<Unit> dg, Map<Unit,EquivalentValue> unitToGen, SideEffectTester sideEffect, BoundedFlowSet<EquivalentValue> set)
This constructor automatically performs the DownSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()).
as sets-operations are usually more efficient, if the original set comes from the same source, this allows to share sets.LatestComputation(UnitGraph unitGraph, DelayabilityAnalysis delayed, Map<Unit,EquivalentValue> equivRhsMap)
given a DelayabilityAnalysis and the computations of each unit, calculates the latest computation-point for each expression.LatestComputation(UnitGraph unitGraph, DelayabilityAnalysis delayed, Map<Unit,EquivalentValue> equivRhsMap, BoundedFlowSet<EquivalentValue> set)
given a DelayabilityAnalysis and the computations of each unit, calculates the latest computation-point for each expression.
theequivRhsMap
could be calculated on the fly, but it is very likely that it already exists (as similar maps are used for calculating Earliestness, Delayed,...
the shared set allows more efficient set-operations, when they the computation is merged with other analyses/computations.NotIsolatedAnalysis(DirectedGraph<Unit> dg, LatestComputation latest, Map<Unit,EquivalentValue> equivRhsMap)
Automatically performs the Isolation-analysis on the graphdg
using the Latest-computationlatest
.
theequivRhsMap
is only here to avoid doing these things again...NotIsolatedAnalysis(DirectedGraph<Unit> dg, LatestComputation latest, Map<Unit,EquivalentValue> equivRhsMap)
Automatically performs the Isolation-analysis on the graphdg
using the Latest-computationlatest
.
theequivRhsMap
is only here to avoid doing these things again...NotIsolatedAnalysis(DirectedGraph<Unit> dg, LatestComputation latest, Map<Unit,EquivalentValue> equivRhsMap, BoundedFlowSet<EquivalentValue> set)
Automatically performs the Isolation-analysis on the graphdg
using the Latest-computationlatest
.
theequivRhsMap
is only here to avoid doing these things again...
the shared set allows more efficient set-operations, when this analysis is joined with other analyses/computations.NotIsolatedAnalysis(DirectedGraph<Unit> dg, LatestComputation latest, Map<Unit,EquivalentValue> equivRhsMap, BoundedFlowSet<EquivalentValue> set)
Automatically performs the Isolation-analysis on the graphdg
using the Latest-computationlatest
.
theequivRhsMap
is only here to avoid doing these things again...
the shared set allows more efficient set-operations, when this analysis is joined with other analyses/computations.UpSafetyAnalysis(DirectedGraph<Unit> dg)
Deprecated.UpSafetyAnalysis(DirectedGraph<Unit> dg, Map<Unit,EquivalentValue> unitToGen, SideEffectTester sideEffect)
This constructor automatically performs the UpSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()).UpSafetyAnalysis(DirectedGraph<Unit> dg, Map<Unit,EquivalentValue> unitToGen, SideEffectTester sideEffect)
This constructor automatically performs the UpSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()).UpSafetyAnalysis(DirectedGraph<Unit> dg, Map<Unit,EquivalentValue> unitToGen, SideEffectTester sideEffect, BoundedFlowSet<EquivalentValue> set)
This constructor automatically performs the UpSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()).
As usually flowset-operations are more efficient if shared, this allows to share sets over several analyses.UpSafetyAnalysis(DirectedGraph<Unit> dg, Map<Unit,EquivalentValue> unitToGen, SideEffectTester sideEffect, BoundedFlowSet<EquivalentValue> set)
This constructor automatically performs the UpSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()).
As usually flowset-operations are more efficient if shared, this allows to share sets over several analyses. -
Uses of Unit in soot.jimple.toolkits.thread.mhp
Methods in soot.jimple.toolkits.thread.mhp that return types with arguments of type Unit Modifier and Type Method Description protected Set<Unit>
PegGraph. getExceHandlers()
Methods in soot.jimple.toolkits.thread.mhp with parameters of type Unit Modifier and Type Method Description List<SootMethod>
TargetMethodsFinder. find(Unit unit, CallGraph cg, boolean canBeNullList, boolean canBeNative)
boolean
MhpTester. mayHappenInParallel(SootMethod m1, Unit u1, SootMethod m2, Unit u2)
boolean
SynchObliviousMhpAnalysis. mayHappenInParallel(SootMethod m1, Unit u1, SootMethod m2, Unit u2)
-
Uses of Unit in soot.jimple.toolkits.thread.mhp.findobject
Methods in soot.jimple.toolkits.thread.mhp.findobject with parameters of type Unit Modifier and Type Method Description protected void
MultiRunStatementsFinder. flowThrough(BitSet in, Unit unit, BitSet out)
-
Uses of Unit in soot.jimple.toolkits.thread.mhp.stmt
Fields in soot.jimple.toolkits.thread.mhp.stmt declared as Unit Modifier and Type Field Description protected Unit
JPegStmt. unit
Methods in soot.jimple.toolkits.thread.mhp.stmt that return Unit Modifier and Type Method Description Unit
JPegStmt. getUnit()
Methods in soot.jimple.toolkits.thread.mhp.stmt with parameters of type Unit Modifier and Type Method Description protected void
JPegStmt. setUnit(Unit un)
Constructors in soot.jimple.toolkits.thread.mhp.stmt with parameters of type Unit Constructor Description JoinStmt(String obj, String ca, Unit un, UnitGraph ug, SootMethod sm)
JPegStmt(String obj, String na, String ca, Unit un, UnitGraph ug, SootMethod sm)
MonitorEntryStmt(String obj, String ca, Unit un, UnitGraph ug, SootMethod sm)
MonitorExitStmt(String obj, String ca, Unit un, UnitGraph ug, SootMethod sm)
NotifyAllStmt(String obj, String ca, Unit un, UnitGraph ug, SootMethod sm)
NotifyStmt(String obj, String ca, Unit un, UnitGraph ug, SootMethod sm)
OtherStmt(String obj, String na, String ca, Unit un, UnitGraph ug, SootMethod sm)
StartStmt(String obj, String ca, Unit un, UnitGraph ug, SootMethod sm)
WaitStmt(String obj, String ca, Unit un, UnitGraph ug, SootMethod sm)
-
Uses of Unit in soot.jimple.toolkits.thread.synchronization
Methods in soot.jimple.toolkits.thread.synchronization with parameters of type Unit Modifier and Type Method Description protected void
LockableReferenceAnalysis. flowThrough(soot.jimple.toolkits.thread.synchronization.LocksetFlowInfo inInfo, Unit u, soot.jimple.toolkits.thread.synchronization.LocksetFlowInfo outInfo)
protected void
SynchronizedRegionFinder. flowThrough(FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> in, Unit unit, FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> out)
OUT is the same as (IN minus killSet) plus the genSet.void
LockAllocationBodyTransformer. redirectTraps(Body b, Unit oldUnit, Unit newUnit)
Method parameters in soot.jimple.toolkits.thread.synchronization with type arguments of type Unit Modifier and Type Method Description InstanceFieldRef
LockAllocationBodyTransformer. reconstruct(Body b, PatchingChain<Unit> units, InstanceFieldRef lock, Stmt insertBefore, boolean redirect)
-
Uses of Unit in soot.jimple.toolkits.typing
Methods in soot.jimple.toolkits.typing that return Unit Modifier and Type Method Description static Unit
Util. findFirstNonIdentityUnit(Body b, Stmt s)
Returns the first statement after all the "identity statements".static Unit
Util. findLastIdentityUnit(Body b, Stmt s)
A new "normal" statement cannot be inserted in the middle of special "identity statements" (a = @parameter or b = @this in Jimple). -
Uses of Unit in soot.shimple
Methods in soot.shimple that return Unit Modifier and Type Method Description Unit
PiExpr. getCondStmt()
Unit
PhiExpr. getPred(int index)
Returns the control flow predecessor Unit for the given index into the PhiExpr.Methods in soot.shimple that return types with arguments of type Unit Modifier and Type Method Description List<Unit>
PhiExpr. getPreds()
Returns a list of the control flow predecessor Units being tracked by this PhiExprMethods in soot.shimple with parameters of type Unit Modifier and Type Method Description boolean
PhiExpr. addArg(Value arg, Unit predTailUnit)
Add the given argument associated with the given CFG predecessor.ValueUnitPair
PhiExpr. getArgBox(Unit predTailUnit)
Returns the argument pair corresponding to the given CFG predecessor.int
PhiExpr. getArgIndex(Unit predTailUnit)
Returns the index of the argument associated with the given control flow predecessor Unit.static Local
Shimple. getLhsLocal(Unit unit)
Returns the corresponding left Local if the unit is a Shimple node, null otherwise.static PhiExpr
Shimple. getPhiExpr(Unit unit)
Returns the corresponding PhiExpr if the unit is a Phi node, null otherwise.static PiExpr
Shimple. getPiExpr(Unit unit)
Value
PhiExpr. getValue(Unit predTailUnit)
Get the PhiExpr argument corresponding to the given control flow predecessor, returns null if not available.static boolean
Shimple. isPhiNode(Unit unit)
Returns true if the unit is a Phi node, false otherwise.static boolean
Shimple. isPiNode(Unit unit)
PiExpr
Shimple. newPiExpr(Local local, Unit predicate, Object targetKey)
static void
Shimple. redirectPointers(Unit oldLocation, Unit newLocation)
Redirects PhiExpr pointers referencing the first Unit to instead reference the second Unit.static void
Shimple. redirectToPreds(Body body, Unit remove)
If you are removing a Unit from a Unit chain which contains PhiExpr's, you might want to call this utility function in order to update any PhiExpr pointers to the Unit to point to the Unit's predecessor(s).boolean
PhiExpr. removeArg(Unit predTailUnit)
Remove the argument corresponding to the given CFG predecessor.boolean
PhiExpr. setArg(int index, Value arg, Unit predTailUnit)
Modify the PhiExpr argument at the given index with the given information.void
PiExpr. setCondStmt(Unit cs)
boolean
PhiExpr. setPred(int index, Unit predTailUnit)
Update the CFG predecessor associated with the PhiExpr argument at the given index.boolean
PhiExpr. setValue(Unit predTailUnit, Value arg)
Locate the argument associated with the given CFG predecessor unit and set the value. -
Uses of Unit in soot.shimple.internal
Fields in soot.shimple.internal with type parameters of type Unit Modifier and Type Field Description protected Map<UnitBox,Unit>
SPatchingChain. boxToPhiNode
Map from UnitBox to the Phi node owning it.protected Set<Unit>
SPatchingChain. phiNodeSet
Set of the values of boxToPhiNode.protected Map<Unit,ValueUnitPair>
SPhiExpr. predToPair
protected Map<Unit,Block>
PhiNodeManager. unitToBlock
Methods in soot.shimple.internal that return Unit Modifier and Type Method Description Unit
SPiExpr. getCondStmt()
Unit
SPhiExpr. getPred(int index)
Methods in soot.shimple.internal that return types with arguments of type Unit Modifier and Type Method Description List<Unit>
SPhiExpr. getPreds()
static Map<Unit,Block>
PhiNodeManager. getUnitToBlockMap(BlockGraph blocks)
Convenience function that maps units to blocks.Iterator<Unit>
SPatchingChain. iterator()
Iterator<Unit>
SPatchingChain. iterator(Unit u)
Iterator<Unit>
SPatchingChain. iterator(Unit head, Unit tail)
Methods in soot.shimple.internal with parameters of type Unit Modifier and Type Method Description boolean
SPatchingChain. add(Unit o)
boolean
SPhiExpr. addArg(Value arg, Unit predTailUnit)
void
SPatchingChain. addFirst(Unit u)
void
SPatchingChain. addLast(Unit u)
boolean
PhiNodeManager. dominates(Unit champ, Unit challenger)
Returns true if champ dominates challenger.ValueUnitPair
SPhiExpr. getArgBox(Unit predTailUnit)
int
SPhiExpr. getArgIndex(Unit predTailUnit)
Value
SPhiExpr. getValue(Unit predTailUnit)
void
SPatchingChain. insertAfter(Collection<? extends Unit> toInsert, Unit point)
void
SPatchingChain. insertAfter(List<Unit> toInsert, Unit point)
void
SPatchingChain. insertAfter(Unit toInsert, Unit point)
void
SPatchingChain. insertAfter(Chain<Unit> toInsert, Unit point)
void
SPatchingChain. insertBefore(Collection<? extends Unit> toInsert, Unit point)
void
SPatchingChain. insertBefore(List<Unit> toInsert, Unit point)
void
SPatchingChain. insertBefore(Unit toInsert, Unit point)
void
SPatchingChain. insertBefore(Chain<Unit> toInsert, Unit point)
Iterator<Unit>
SPatchingChain. iterator(Unit u)
Iterator<Unit>
SPatchingChain. iterator(Unit head, Unit tail)
protected static void
SPatchingChain. patchAfterRemoval(Unit removing)
void
PiNodeManager. piHandleSwitchStmt(Local local, Unit u)
protected void
SPatchingChain. processPhiNode(Unit phiNode)
boolean
SPatchingChain. remove(Unit u)
boolean
SPhiExpr. removeArg(Unit predTailUnit)
boolean
SPhiExpr. setArg(int index, Value arg, Unit predTailUnit)
void
SPiExpr. setCondStmt(Unit pred)
boolean
SPhiExpr. setPred(int index, Unit predTailUnit)
void
SValueUnitPair. setUnit(Unit u)
boolean
SPhiExpr. setValue(Unit predTailUnit, Value arg)
void
SPatchingChain. swapWith(Unit out, Unit in)
Method parameters in soot.shimple.internal with type arguments of type Unit Modifier and Type Method Description void
SPatchingChain. insertAfter(Collection<? extends Unit> toInsert, Unit point)
void
SPatchingChain. insertAfter(List<Unit> toInsert, Unit point)
void
SPatchingChain. insertAfter(Chain<Unit> toInsert, Unit point)
void
SPatchingChain. insertBefore(Collection<? extends Unit> toInsert, Unit point)
void
SPatchingChain. insertBefore(List<Unit> toInsert, Unit point)
void
SPatchingChain. insertBefore(Chain<Unit> toInsert, Unit point)
Constructors in soot.shimple.internal with parameters of type Unit Constructor Description SPiExpr(Value v, Unit u, Object o)
SValueUnitPair(Value value, Unit unit)
Constructor parameters in soot.shimple.internal with type arguments of type Unit Constructor Description SPatchingChain(Body aBody, Chain<Unit> aChain)
-
Uses of Unit in soot.shimple.toolkits.scalar
Fields in soot.shimple.toolkits.scalar with type parameters of type Unit Modifier and Type Field Description protected Map<Value,List<Unit>>
ShimpleLocalDefs. localToDefs
Methods in soot.shimple.toolkits.scalar that return types with arguments of type Unit Modifier and Type Method Description List<Unit>
ShimpleLocalDefs. getDefsOf(Local l)
Unconditionally returns the definition site of a local (as a singleton list).List<Unit>
ShimpleLocalDefs. getDefsOfAt(Local l, Unit s)
Returns the definition site for a Local at a certain point (Unit) in a method as a singleton list.Methods in soot.shimple.toolkits.scalar with parameters of type Unit Modifier and Type Method Description List<Unit>
ShimpleLocalDefs. getDefsOfAt(Local l, Unit s)
Returns the definition site for a Local at a certain point (Unit) in a method as a singleton list.List<UnitValueBoxPair>
ShimpleLocalUses. getUsesOf(Unit unit)
If a Local is defined in the Unit, returns all the uses of that Local as a list of UnitValueBoxPairs, each containing a Unit that uses the local and the corresponding ValueBox containing the Local. -
Uses of Unit in soot.tagkit
Fields in soot.tagkit with type parameters of type Unit Modifier and Type Field Description protected Map<Unit,Unit>
TryCatchTag. handlerUnitToFallThroughUnit
protected Map<Unit,Unit>
TryCatchTag. handlerUnitToFallThroughUnit
protected List<Unit>
CodeAttribute. mUnits
Methods in soot.tagkit that return Unit Modifier and Type Method Description Unit
TryCatchTag. getFallThroughUnitOf(Unit handlerUnit)
Methods in soot.tagkit with parameters of type Unit Modifier and Type Method Description void
FirstTagAggregator. considerTag(Tag t, Unit u, LinkedList<Tag> tags, LinkedList<Unit> units)
Decide whether this tag should be aggregated by this aggregator.void
ImportantTagAggregator. considerTag(Tag t, Unit u, LinkedList<Tag> tags, LinkedList<Unit> units)
Decide whether this tag should be aggregated by this aggregator.void
LineNumberTagAggregator. considerTag(Tag t, Unit u, LinkedList<Tag> tags, LinkedList<Unit> units)
abstract void
TagAggregator. considerTag(Tag t, Unit u, LinkedList<Tag> tags, LinkedList<Unit> units)
Aggregate the given tag assigned to the given unitUnit
TryCatchTag. getFallThroughUnitOf(Unit handlerUnit)
void
TryCatchTag. register(Unit handler, Unit fallThrough)
Method parameters in soot.tagkit with type arguments of type Unit Modifier and Type Method Description String
CodeAttribute. getJasminValue(Map<Unit,String> instToLabel)
Generates Jasmin Value Stringabstract String
JasminAttribute. getJasminValue(Map<Unit,String> instToLabel)
Constructor parameters in soot.tagkit with type arguments of type Unit Constructor Description CodeAttribute(String name, List<Unit> units, List<Tag> tags)
Create an attribute object with the name and lists of unit-tag pairs. -
Uses of Unit in soot.toDex
Methods in soot.toDex that return types with arguments of type Unit Modifier and Type Method Description Set<Unit>
DexArrayInitDetector. getIgnoreUnits()
Methods in soot.toDex with parameters of type Unit Modifier and Type Method Description List<Value>
DexArrayInitDetector. getValuesForArrayInit(Unit arrayInit)
Method parameters in soot.toDex with type arguments of type Unit Modifier and Type Method Description void
StmtVisitor. finalizeInstructions(Set<Unit> trapReferences)
static int
SootToDexUtils. getOutWordCount(Collection<Unit> units)
static void
TrapSplitter. removePotentiallyUselassTraps(Body b, Set<Unit> potentiallyUselessTrapHandlers)
Changes the given body so that trap handlers, which are contained in the given set, are removed in case they are not referenced by any trap.protected void
DexPrinter. toInstructions(Collection<Unit> units, StmtVisitor stmtV, Set<Unit> trapReferences)
protected void
DexPrinter. toInstructions(Collection<Unit> units, StmtVisitor stmtV, Set<Unit> trapReferences)
-
Uses of Unit in soot.toDex.instructions
Fields in soot.toDex.instructions with type parameters of type Unit Modifier and Type Field Description protected List<Unit>
SwitchPayload. targets
Constructor parameters in soot.toDex.instructions with type arguments of type Unit Constructor Description PackedSwitchPayload(int firstKey, List<Unit> targets)
SparseSwitchPayload(int[] keys, List<Unit> targets)
SwitchPayload(List<Unit> targets)
-
Uses of Unit in soot.toolkits.exceptions
Methods in soot.toolkits.exceptions that return types with arguments of type Unit Modifier and Type Method Description Set<Unit>
TrapTransformer. getUnitsWithMonitor(UnitGraph ug)
Methods in soot.toolkits.exceptions with parameters of type Unit Modifier and Type Method Description abstract ThrowableSet
AbstractThrowAnalysis. mightThrow(Unit u)
ThrowableSet
PedanticThrowAnalysis. mightThrow(Unit u)
Returns the set of allThrowable
s as the set of types that the specified unit might throw, regardless of the unit's identity.ThrowableSet
ThrowAnalysis. mightThrow(Unit u)
Returns a set representing theThrowable
types that the specified unit might throw.ThrowableSet
UnitThrowAnalysis. mightThrow(Unit u)
ThrowableSet
UnitThrowAnalysis. mightThrow(Unit u, SootMethod sm)
protected boolean
TrapTightener. mightThrowTo(ExceptionalUnitGraph g, Unit u, Trap t)
-
Uses of Unit in soot.toolkits.graph
Fields in soot.toolkits.graph with type parameters of type Unit Modifier and Type Field Description protected List<Unit>
UnitGraph. heads
protected Chain<Unit>
BlockGraph. mUnits
protected List<Unit>
UnitGraph. tails
protected Chain<Unit>
UnitGraph. unitChain
protected Map<Unit,List<Unit>>
ExceptionalUnitGraph. unitToExceptionalPreds
protected Map<Unit,List<Unit>>
ExceptionalUnitGraph. unitToExceptionalPreds
protected Map<Unit,List<Unit>>
ExceptionalUnitGraph. unitToExceptionalSuccs
protected Map<Unit,List<Unit>>
ExceptionalUnitGraph. unitToExceptionalSuccs
protected Map<Unit,Collection<ExceptionalUnitGraph.ExceptionDest>>
ExceptionalUnitGraph. unitToExceptionDests
protected Map<Unit,List<Unit>>
UnitGraph. unitToPreds
protected Map<Unit,List<Unit>>
UnitGraph. unitToPreds
protected Map<Unit,List<Unit>>
UnitGraph. unitToSuccs
protected Map<Unit,List<Unit>>
UnitGraph. unitToSuccs
protected Map<Unit,List<Unit>>
ExceptionalUnitGraph. unitToUnexceptionalPreds
protected Map<Unit,List<Unit>>
ExceptionalUnitGraph. unitToUnexceptionalPreds
protected Map<Unit,List<Unit>>
ExceptionalUnitGraph. unitToUnexceptionalSuccs
protected Map<Unit,List<Unit>>
ExceptionalUnitGraph. unitToUnexceptionalSuccs
Methods in soot.toolkits.graph that return Unit Modifier and Type Method Description Unit
ExceptionalUnitGraph.ExceptionDest. getHandlerNode()
Unit
Block. getHead()
Returns the first unit in this block.Unit
Block. getPredOf(Unit aItem)
Returns the Unit occurring immediately before some other Unit in the block.Unit
Block. getSuccOf(Unit aItem)
Returns the Unit occurring immediately after some other Unit in the block.Unit
Block. getTail()
Returns the last unit in this block.Methods in soot.toolkits.graph that return types with arguments of type Unit Modifier and Type Method Description protected Map<Unit,Block>
BlockGraph. buildBlocks(Set<Unit> leaders, UnitGraph unitGraph)
A utility method that does most of the work of constructing basic blocks, once the set of block leaders has been determined, and which designates the heads and tails of the graph.protected Map<Unit,Block>
ExceptionalBlockGraph. buildBlocks(Set<Unit> leaders, UnitGraph uncastUnitGraph)
A utility method that does most of the work of constructing basic blocks, once the set of block leaders has been determined, and which designates the heads and tails of the graph.protected Set<Unit>
ExceptionalUnitGraph. buildExceptionalEdges(ThrowAnalysis throwAnalysis, Map<Unit,Collection<ExceptionalUnitGraph.ExceptionDest>> unitToExceptionDests, Map<Unit,List<Unit>> unitToSuccs, Map<Unit,List<Unit>> unitToPreds, boolean omitExceptingUnitEdges)
Method to compute the edges corresponding to exceptional control flow.protected Map<Unit,Collection<ExceptionalUnitGraph.ExceptionDest>>
ExceptionalUnitGraph. buildExceptionDests(ThrowAnalysis throwAnalysis)
Utility method used in the construction ofUnitGraph
variants which include exceptional control flow.protected Map<Unit,List<Unit>>
UnitGraph. combineMapValues(Map<Unit,List<Unit>> mapA, Map<Unit,List<Unit>> mapB)
protected Map<Unit,List<Unit>>
UnitGraph. combineMapValues(Map<Unit,List<Unit>> mapA, Map<Unit,List<Unit>> mapB)
protected Set<Unit>
ArrayRefBlockGraph. computeLeaders(UnitGraph unitGraph)
protected Set<Unit>
BlockGraph. computeLeaders(UnitGraph unitGraph)
protected Set<Unit>
ZonedBlockGraph. computeLeaders(UnitGraph unitGraph)
protected FlowSet<Unit>
DominatorAnalysis. entryInitialFlow()
Deprecated.protected FlowSet<Unit>
PostDominatorAnalysis. entryInitialFlow()
Deprecated.List<Unit>
ExceptionalUnitGraph. getExceptionalPredsOf(Unit u)
List<Unit>
ExceptionalUnitGraph. getExceptionalSuccsOf(Unit u)
List<Unit>
UnitGraph. getExtendedBasicBlockPathBetween(Unit from, Unit to)
Look for a path in graph, from def to use.List<Unit>
UnitGraph. getHeads()
List<Unit>
UnitGraph. getPredsOf(Unit u)
List<Unit>
UnitGraph. getSuccsOf(Unit u)
List<Unit>
UnitGraph. getTails()
List<Unit>
ExceptionalUnitGraph. getUnexceptionalPredsOf(Unit u)
List<Unit>
ExceptionalUnitGraph. getUnexceptionalSuccsOf(Unit u)
Iterator<Unit>
Block. iterator()
Returns an iterator for the linear chain of Units that make up the block.Iterator<Unit>
UnitGraph. iterator()
protected FlowSet<Unit>
DominatorAnalysis. newInitialFlow()
Deprecated.protected FlowSet<Unit>
PostDominatorAnalysis. newInitialFlow()
Deprecated.Methods in soot.toolkits.graph with parameters of type Unit Modifier and Type Method Description protected void
UnitGraph. addEdge(Map<Unit,List<Unit>> unitToSuccs, Map<Unit,List<Unit>> unitToPreds, Unit head, Unit tail)
Utility method for adding an edge to maps representing the CFG.protected void
DominatorAnalysis. flowThrough(FlowSet<Unit> in, Unit s, FlowSet<Unit> out)
Deprecated.protected void
PostDominatorAnalysis. flowThrough(FlowSet<Unit> in, Unit s, FlowSet<Unit> out)
Deprecated.List<Unit>
ExceptionalUnitGraph. getExceptionalPredsOf(Unit u)
List<Unit>
ExceptionalUnitGraph. getExceptionalSuccsOf(Unit u)
Collection<ExceptionalUnitGraph.ExceptionDest>
ExceptionalUnitGraph. getExceptionDests(Unit u)
Returns a collection ofExceptionDest
objects which represent how exceptions thrown by a specified unit will be handled.List<Unit>
UnitGraph. getExtendedBasicBlockPathBetween(Unit from, Unit to)
Look for a path in graph, from def to use.Unit
Block. getPredOf(Unit aItem)
Returns the Unit occurring immediately before some other Unit in the block.List<Unit>
UnitGraph. getPredsOf(Unit u)
Unit
Block. getSuccOf(Unit aItem)
Returns the Unit occurring immediately after some other Unit in the block.List<Unit>
UnitGraph. getSuccsOf(Unit u)
List<Unit>
ExceptionalUnitGraph. getUnexceptionalPredsOf(Unit u)
List<Unit>
ExceptionalUnitGraph. getUnexceptionalSuccsOf(Unit u)
void
Block. insertAfter(Unit toInsert, Unit point)
Inserts a Unit after some other Unit in the Block.void
Block. insertBefore(Unit toInsert, Unit point)
Inserts a Unit before some other Unit in this block.boolean
Block. remove(Unit item)
Removes a Unit occurring before some other Unit in the Block.Method parameters in soot.toolkits.graph with type arguments of type Unit Modifier and Type Method Description protected void
UnitGraph. addEdge(Map<Unit,List<Unit>> unitToSuccs, Map<Unit,List<Unit>> unitToPreds, Unit head, Unit tail)
Utility method for adding an edge to maps representing the CFG.protected void
UnitGraph. addEdge(Map<Unit,List<Unit>> unitToSuccs, Map<Unit,List<Unit>> unitToPreds, Unit head, Unit tail)
Utility method for adding an edge to maps representing the CFG.protected Map<Unit,Block>
BlockGraph. buildBlocks(Set<Unit> leaders, UnitGraph unitGraph)
A utility method that does most of the work of constructing basic blocks, once the set of block leaders has been determined, and which designates the heads and tails of the graph.protected Map<Unit,Block>
ExceptionalBlockGraph. buildBlocks(Set<Unit> leaders, UnitGraph uncastUnitGraph)
A utility method that does most of the work of constructing basic blocks, once the set of block leaders has been determined, and which designates the heads and tails of the graph.protected void
ClassicCompleteUnitGraph. buildExceptionalEdges(Map<Unit,List<Unit>> unitToSuccs, Map<Unit,List<Unit>> unitToPreds)
Method to compute the edges corresponding to exceptional control flow.protected void
ClassicCompleteUnitGraph. buildExceptionalEdges(Map<Unit,List<Unit>> unitToSuccs, Map<Unit,List<Unit>> unitToPreds)
Method to compute the edges corresponding to exceptional control flow.protected Set<Unit>
ExceptionalUnitGraph. buildExceptionalEdges(ThrowAnalysis throwAnalysis, Map<Unit,Collection<ExceptionalUnitGraph.ExceptionDest>> unitToExceptionDests, Map<Unit,List<Unit>> unitToSuccs, Map<Unit,List<Unit>> unitToPreds, boolean omitExceptingUnitEdges)
Method to compute the edges corresponding to exceptional control flow.protected void
TrapUnitGraph. buildExceptionalEdges(Map<Unit,List<Unit>> unitToSuccs, Map<Unit,List<Unit>> unitToPreds)
Method to compute the edges corresponding to exceptional control flow.protected void
TrapUnitGraph. buildExceptionalEdges(Map<Unit,List<Unit>> unitToSuccs, Map<Unit,List<Unit>> unitToPreds)
Method to compute the edges corresponding to exceptional control flow.protected void
UnitGraph. buildUnexceptionalEdges(Map<Unit,List<Unit>> unitToSuccs, Map<Unit,List<Unit>> unitToPreds)
Utility method for UnitGraph constructors.protected void
UnitGraph. buildUnexceptionalEdges(Map<Unit,List<Unit>> unitToSuccs, Map<Unit,List<Unit>> unitToPreds)
Utility method for UnitGraph constructors.protected Map<Unit,List<Unit>>
UnitGraph. combineMapValues(Map<Unit,List<Unit>> mapA, Map<Unit,List<Unit>> mapB)
protected Map<Unit,List<Unit>>
UnitGraph. combineMapValues(Map<Unit,List<Unit>> mapA, Map<Unit,List<Unit>> mapB)
protected void
DominatorAnalysis. copy(FlowSet<Unit> source, FlowSet<Unit> dest)
Deprecated.protected void
PostDominatorAnalysis. copy(FlowSet<Unit> source, FlowSet<Unit> dest)
Deprecated.protected void
DominatorAnalysis. flowThrough(FlowSet<Unit> in, Unit s, FlowSet<Unit> out)
Deprecated.protected void
PostDominatorAnalysis. flowThrough(FlowSet<Unit> in, Unit s, FlowSet<Unit> out)
Deprecated.protected void
DominatorAnalysis. merge(FlowSet<Unit> in1, FlowSet<Unit> in2, FlowSet<Unit> out)
Deprecated.protected void
PostDominatorAnalysis. merge(FlowSet<Unit> in1, FlowSet<Unit> in2, FlowSet<Unit> out)
Deprecated.Constructors in soot.toolkits.graph with parameters of type Unit Constructor Description Block(Unit aHead, Unit aTail, Body aBody, int aIndexInMethod, int aBlockLength, BlockGraph aBlockGraph)
Constructs a Block in the context of a BlockGraph, and enclosing Body instances. -
Uses of Unit in soot.toolkits.graph.pdg
Fields in soot.toolkits.graph.pdg with type parameters of type Unit Modifier and Type Field Description protected Hashtable<Unit,Unit>
EnhancedUnitGraph. handler2header
protected Hashtable<Unit,Unit>
EnhancedUnitGraph. handler2header
protected Hashtable<Unit,Unit>
EnhancedUnitGraph. try2nop
protected Hashtable<Unit,Unit>
EnhancedUnitGraph. try2nop
Methods in soot.toolkits.graph.pdg that return Unit Modifier and Type Method Description Unit
IRegion. getFirst()
Unit
PDGRegion. getFirst()
Unit
Region. getFirst()
Unit
IRegion. getLast()
Unit
PDGRegion. getLast()
Unit
Region. getLast()
Methods in soot.toolkits.graph.pdg that return types with arguments of type Unit Modifier and Type Method Description Hashtable<Unit,Region>
RegionAnalysis. getUnit2RegionMap()
List<Unit>
IRegion. getUnits()
List<Unit>
IRegion. getUnits(Unit from, Unit to)
List<Unit>
PDGRegion. getUnits()
List<Unit>
PDGRegion. getUnits(Unit from, Unit to)
List<Unit>
Region. getUnits()
List<Unit>
Region. getUnits(Unit from, Unit to)
Methods in soot.toolkits.graph.pdg with parameters of type Unit Modifier and Type Method Description List<Unit>
IRegion. getUnits(Unit from, Unit to)
List<Unit>
PDGRegion. getUnits(Unit from, Unit to)
List<Unit>
Region. getUnits(Unit from, Unit to)
boolean
IRegion. occursBefore(Unit u1, Unit u2)
boolean
PDGRegion. occursBefore(Unit u1, Unit u2)
boolean
Region. occursBefore(Unit u1, Unit u2)
PDGNode
PDGRegion. unit2PDGNode(Unit u)
-
Uses of Unit in soot.toolkits.scalar
Classes in soot.toolkits.scalar with type parameters of type Unit Modifier and Type Class Description class
BranchedFlowAnalysis<N extends Unit,A>
Abstract class providing functionality for branched flow analysis.Fields in soot.toolkits.scalar declared as Unit Modifier and Type Field Description Unit
UnitValueBoxPair. unit
protected Unit
ValueUnitPair. unit
Fields in soot.toolkits.scalar with type parameters of type Unit Modifier and Type Field Description protected Map<Unit,List<A>>
BranchedFlowAnalysis. unitToAfterBranchFlow
protected Map<Unit,List<A>>
BranchedFlowAnalysis. unitToAfterFallFlow
Maps graph nodes to OUT sets.protected Map<Unit,List<Value>>
GuaranteedDefs. unitToGuaranteedDefs
Methods in soot.toolkits.scalar that return Unit Modifier and Type Method Description Unit
LocalUnitPair. getUnit()
Unit
UnitValueBoxPair. getUnit()
Unit
ValueUnitPair. getUnit()
Methods in soot.toolkits.scalar that return types with arguments of type Unit Modifier and Type Method Description List<Unit>
CombinedDUAnalysis. getDefsOf(Local l)
List<Unit>
LocalDefs. getDefsOf(Local l)
Returns the definition sites for a Local merged over all points in a method.List<Unit>
SimpleLocalDefs.FlowAssignment. getDefsOf(Local l)
List<Unit>
SimpleLocalDefs. getDefsOf(Local l)
List<Unit>
SimpleLocalDefs.StaticSingleAssignment. getDefsOf(Local l)
List<Unit>
SmartLocalDefs. getDefsOf(Local l)
List<Unit>
CombinedDUAnalysis. getDefsOfAt(Local l, Unit s)
List<Unit>
LocalDefs. getDefsOfAt(Local l, Unit s)
Returns the definition sites for a Local at a certain point (Unit) in a method.List<Unit>
SimpleLocalDefs.FlowAssignment. getDefsOfAt(Local l, Unit s)
List<Unit>
SimpleLocalDefs. getDefsOfAt(Local l, Unit s)
List<Unit>
SimpleLocalDefs.StaticSingleAssignment. getDefsOfAt(Local l, Unit s)
List<Unit>
SmartLocalDefs. getDefsOfAt(Local l, Unit s)
Methods in soot.toolkits.scalar with parameters of type Unit Modifier and Type Method Description boolean
ValueUnitPair. canContainUnit(Unit u)
protected abstract void
BranchedFlowAnalysis. flowThrough(A in, Unit s, List<A> fallOut, List<A> branchOuts)
Given the merge of thein
sets, compute thefallOut
andbranchOuts
set fors
.protected void
CombinedDUAnalysis. flowThrough(FlowSet<ValueBox> out, Unit u, FlowSet<ValueBox> in)
protected void
FlowSensitiveConstantPropagator.BetterConstantPropagator. flowThrough(FlowSensitiveConstantPropagator.ConstantState in, Unit d, FlowSensitiveConstantPropagator.ConstantState out)
protected void
InitAnalysis. flowThrough(FlowSet<Local> in, Unit unit, FlowSet<Local> out)
protected void
SimpleLocalDefs.FlowAssignment. flowThrough(soot.toolkits.scalar.SimpleLocalDefs.FlowAssignment.FlowBitSet in, Unit unit, soot.toolkits.scalar.SimpleLocalDefs.FlowAssignment.FlowBitSet out)
List<A>
BranchedFlowAnalysis. getBranchFlowAfter(Unit s)
List<Unit>
CombinedDUAnalysis. getDefsOfAt(Local l, Unit s)
List<Unit>
LocalDefs. getDefsOfAt(Local l, Unit s)
Returns the definition sites for a Local at a certain point (Unit) in a method.List<Unit>
SimpleLocalDefs.FlowAssignment. getDefsOfAt(Local l, Unit s)
List<Unit>
SimpleLocalDefs. getDefsOfAt(Local l, Unit s)
List<Unit>
SimpleLocalDefs.StaticSingleAssignment. getDefsOfAt(Local l, Unit s)
List<Unit>
SmartLocalDefs. getDefsOfAt(Local l, Unit s)
A
BranchedFlowAnalysis. getFallFlowAfter(Unit s)
protected FlowAnalysis.Flow
SimpleLocalDefs.FlowAssignment. getFlow(Unit from, Unit to)
List<Value>
GuaranteedDefs. getGuaranteedDefs(Unit s)
Returns a list of locals guaranteed to be defined at (just before) program point s.List<Local>
CombinedDUAnalysis. getLiveLocalsAfter(Unit u)
List<Local>
LiveLocals. getLiveLocalsAfter(Unit s)
Returns the list of Locals that are live after the specified Unit.List<Local>
SimpleLiveLocals. getLiveLocalsAfter(Unit s)
List<Local>
CombinedDUAnalysis. getLiveLocalsBefore(Unit u)
List<Local>
LiveLocals. getLiveLocalsBefore(Unit s)
Returns the list of Locals that are live before the specified Unit.List<Local>
SimpleLiveLocals. getLiveLocalsBefore(Unit s)
List<UnitValueBoxPair>
CombinedDUAnalysis. getUsesOf(Unit u)
List<UnitValueBoxPair>
LocalUses. getUsesOf(Unit s)
Returns a list of the Units that use the Local that is defined by a given Unit.List<UnitValueBoxPair>
SimpleLocalUses. getUsesOf(Unit s)
Uses for a Local defined at a given Unit are returned as a list of UnitValueBoxPairs each containing a Unit that use the local and the Local itself wrapped in a ValueBox.protected void
FlowSensitiveConstantPropagator.BetterConstantPropagator. mergeInto(Unit succNode, FlowSensitiveConstantPropagator.ConstantState inout, FlowSensitiveConstantPropagator.ConstantState in)
protected void
SimpleLocalDefs.FlowAssignment. mergeInto(Unit succNode, soot.toolkits.scalar.SimpleLocalDefs.FlowAssignment.FlowBitSet inout, soot.toolkits.scalar.SimpleLocalDefs.FlowAssignment.FlowBitSet in)
protected boolean
FlowSensitiveConstantPropagator.BetterConstantPropagator. omissible(Unit n)
protected boolean
SimpleLocalDefs.FlowAssignment. omissible(Unit u)
void
ValueUnitPair. setUnit(Unit unit)
Method parameters in soot.toolkits.scalar with type arguments of type Unit Modifier and Type Method Description protected LocalDefs
SimpleLocalDefs. init(DirectedGraph<Unit> graph, Local[] locals, SimpleLocalDefs.FlowAnalysisMode mode)
static LiveLocals
LiveLocals.Factory. newLiveLocals(DirectedBodyGraph<Unit> graph)
Constructors in soot.toolkits.scalar with parameters of type Unit Constructor Description LocalUnitPair(Local local, Unit unit)
Constructs a LocalUnitPair from a Unit object and a Local object.UnitValueBoxPair(Unit unit, ValueBox valueBox)
Constructs a UnitValueBoxPair from a Unit object and a ValueBox object.ValueUnitPair(Value value, Unit unit)
Constructs a ValueUnitPair from a Unit object and a Value object.Constructor parameters in soot.toolkits.scalar with type arguments of type Unit Constructor Description BetterConstantPropagator(DirectedGraph<Unit> graph)
FlowAssignment(DirectedGraph<Unit> graph, Local[] locals, List<Unit>[] unitList, int units, boolean omitSSA)
InitAnalysis(DirectedBodyGraph<Unit> g)
SimpleLiveLocals(DirectedBodyGraph<Unit> graph)
Computes the analysis given a DirectedBodyGraphcomputed from a method body. -
Uses of Unit in soot.util
Methods in soot.util that return types with arguments of type Unit Modifier and Type Method Description Set<Map.Entry<Unit,T>>
UnitMap. entrySet()
Set<Unit>
UnitMap. keySet()
Methods in soot.util with parameters of type Unit Modifier and Type Method Description protected abstract T
UnitMap. mapTo(Unit unit)
maps a unit to an object.T
UnitMap. put(Unit key, T value)
Method parameters in soot.util with type arguments of type Unit Modifier and Type Method Description void
UnitMap. putAll(Map<? extends Unit,? extends T> t)
-
Uses of Unit in soot.validation
Constructors in soot.validation with parameters of type Unit Constructor Description UnitValidationException(Unit concerned, Body body, String strMessage)
Creates a new ValidationException, treated as an error.UnitValidationException(Unit concerned, Body body, String strMessage, boolean isWarning)
Creates a new ValidationException.
-