Uses of Interface
sootup.core.jimple.common.stmt.Stmt
Packages that use Stmt
Package
Description
-
Uses of Stmt in qilin.core
Fields in qilin.core with type parameters of type Stmt -
Uses of Stmt in qilin.core.builder
Methods in qilin.core.builder with parameters of type StmtModifier and TypeMethodDescriptionfinal void
MethodNodeFactory.handleStmt
(Stmt s) Adds the edges required for this statement to the graph.MethodNodeFactory.makeInvokeStmtThrowVarNode
(Stmt invoke, SootMethod method) -
Uses of Stmt in qilin.core.builder.callgraph
Fields in qilin.core.builder.callgraph with type parameters of type StmtMethods in qilin.core.builder.callgraph with parameters of type StmtModifier and TypeMethodDescriptionOnFlyCallGraph.edgesOutOf
(Stmt u) Returns an iterator over all edges that have u as their source unit.OnFlyCallGraph.findEdge
(Stmt u, SootMethod callee) Find the specific call edge that is going out from the callsite u and the call target is callee.boolean
OnFlyCallGraph.removeAllEdgesOutOf
(Stmt u) Removes all outgoing edges that start at the given unit -
Uses of Stmt in qilin.core.pag
Fields in qilin.core.pag with type parameters of type StmtMethods in qilin.core.pag that return StmtConstructors in qilin.core.pag with parameters of type StmtModifierConstructorDescriptionExceptionThrowSite
(VarNode throwNode, Stmt unit, ContextMethod container) -
Uses of Stmt in qilin.core.reflection
Fields in qilin.core.reflection with type parameters of type StmtMethods in qilin.core.reflection that return types with arguments of type StmtModifier and TypeMethodDescriptionprotected Collection<Stmt>
TamiflexModel.transformArrayNewInstance
(InvokableStmt s) protected Collection<Stmt>
TamiflexModel.transformClassNewInstance
(InvokableStmt s) protected Collection<Stmt>
TamiflexModel.transformConstructorNewInstance
(InvokableStmt s) protected Collection<Stmt>
TamiflexModel.transformFieldGet
(InvokableStmt s) protected Collection<Stmt>
TamiflexModel.transformFieldSet
(InvokableStmt s) protected Collection<Stmt>
TamiflexModel.transformMethodInvoke
(InvokableStmt s) -
Uses of Stmt in qilin.pta.toolkits.conch
Fields in qilin.pta.toolkits.conch with type parameters of type StmtModifier and TypeFieldDescriptionprotected final Map<SootMethod,
Map<Stmt, AllocNode>> AbstractPAG.symbolicHeaps
Methods in qilin.pta.toolkits.conch with parameters of type StmtModifier and TypeMethodDescriptionprotected AllocNode
AbstractPAG.getSymbolicHeapOf
(SootMethod method, Stmt invokeStmt) -
Uses of Stmt in qilin.stat
Method parameters in qilin.stat with type arguments of type StmtModifier and TypeMethodDescriptionvoid
Exporter.dumpMayFailCasts
(Map<SootMethod, Set<Stmt>> casts) -
Uses of Stmt in sootup.analysis.interprocedural.icfg
Fields in sootup.analysis.interprocedural.icfg with type parameters of type StmtModifier and TypeFieldDescriptionprotected final BiDiInterproceduralCFG<Stmt,
SootMethod> BackwardsInterproceduralCFG.delegate
protected com.google.common.cache.CacheLoader<SootMethod,
Collection<Stmt>> JimpleBasedInterproceduralCFG.loaderMethodToCallers
protected com.google.common.cache.CacheLoader<Stmt,
Collection<SootMethod>> JimpleBasedInterproceduralCFG.loaderUnitToCallees
protected final com.google.common.cache.LoadingCache<SootMethod,
Collection<Stmt>> JimpleBasedInterproceduralCFG.methodToCallers
protected com.google.common.cache.LoadingCache<SootMethod,
Set<Stmt>> AbstractJimpleBasedICFG.methodToCallsFromWithin
protected final com.google.common.cache.LoadingCache<Stmt,
Collection<SootMethod>> JimpleBasedInterproceduralCFG.stmtToCallees
Methods in sootup.analysis.interprocedural.icfg that return types with arguments of type StmtModifier and TypeMethodDescriptionAbstractJimpleBasedICFG.allNonCallEndNodes()
BackwardsInterproceduralCFG.allNonCallEndNodes()
AbstractJimpleBasedICFG.allNonCallStartNodes()
BackwardsInterproceduralCFG.allNonCallStartNodes()
AbstractJimpleBasedICFG.createStmtToOwnerMap()
BackwardsInterproceduralCFG.getCallersOf
(SootMethod m) JimpleBasedInterproceduralCFG.getCallersOf
(SootMethod m) AbstractJimpleBasedICFG.getCallsFromWithin
(SootMethod m) BackwardsInterproceduralCFG.getCallsFromWithin
(SootMethod m) AbstractJimpleBasedICFG.getCallsFromWithinMethod
(SootMethod method) AbstractJimpleBasedICFG.getEndPointsOf
(SootMethod m) BackwardsInterproceduralCFG.getEndPointsOf
(SootMethod m) AbstractJimpleBasedICFG.getPredsOf
(Stmt u) BackwardsInterproceduralCFG.getPredsOf
(Stmt u) AbstractJimpleBasedICFG.getPredsOfCallAt
(Stmt u) BackwardsInterproceduralCFG.getPredsOfCallAt
(Stmt u) AbstractJimpleBasedICFG.getReturnSitesOfCallAt
(Stmt u) BackwardsInterproceduralCFG.getReturnSitesOfCallAt
(Stmt n) AbstractJimpleBasedICFG.getStartPointsOf
(SootMethod m) BackwardsInterproceduralCFG.getStartPointsOf
(SootMethod m) AbstractJimpleBasedICFG.getSuccsOf
(Stmt stmt) BackwardsInterproceduralCFG.getSuccsOf
(Stmt n) Methods in sootup.analysis.interprocedural.icfg with parameters of type StmtModifier and TypeMethodDescriptionBackwardsInterproceduralCFG.getCalleesOfCallAt
(Stmt n) JimpleBasedInterproceduralCFG.getCalleesOfCallAt
(Stmt u) AbstractJimpleBasedICFG.getMethodOf
(Stmt stmt) BackwardsInterproceduralCFG.getMethodOf
(Stmt n) AbstractJimpleBasedICFG.getPredsOf
(Stmt u) BackwardsInterproceduralCFG.getPredsOf
(Stmt u) AbstractJimpleBasedICFG.getPredsOfCallAt
(Stmt u) BackwardsInterproceduralCFG.getPredsOfCallAt
(Stmt u) AbstractJimpleBasedICFG.getReturnSitesOfCallAt
(Stmt u) BackwardsInterproceduralCFG.getReturnSitesOfCallAt
(Stmt n) AbstractJimpleBasedICFG.getSuccsOf
(Stmt stmt) BackwardsInterproceduralCFG.getSuccsOf
(Stmt n) boolean
AbstractJimpleBasedICFG.isBranchTarget
(Stmt u, Stmt succ) boolean
BackwardsInterproceduralCFG.isBranchTarget
(Stmt stmt, Stmt succ) boolean
AbstractJimpleBasedICFG.isCallStmt
(Stmt stmt) boolean
BackwardsInterproceduralCFG.isCallStmt
(Stmt stmt) boolean
AbstractJimpleBasedICFG.isExitStmt
(Stmt stmt) boolean
BackwardsInterproceduralCFG.isExitStmt
(Stmt stmt) boolean
AbstractJimpleBasedICFG.isFallThroughSuccessor
(Stmt stmt, Stmt successorCandidate) boolean
BackwardsInterproceduralCFG.isFallThroughSuccessor
(Stmt stmt, Stmt succ) boolean
AbstractJimpleBasedICFG.isReachable
(Stmt u) boolean
BackwardsInterproceduralCFG.isReachable
(Stmt u) boolean
AbstractJimpleBasedICFG.isReturnSite
(Stmt n) boolean
BackwardsInterproceduralCFG.isReturnSite
(Stmt n) boolean
AbstractJimpleBasedICFG.isStartPoint
(Stmt stmt) boolean
BackwardsInterproceduralCFG.isStartPoint
(Stmt stmt) boolean
AbstractJimpleBasedICFG.setOwnerStatement
(Stmt u, Body b) Constructor parameters in sootup.analysis.interprocedural.icfg with type arguments of type StmtModifierConstructorDescription -
Uses of Stmt in sootup.analysis.interprocedural.ide
Classes in sootup.analysis.interprocedural.ide with type parameters of type StmtModifier and TypeClassDescriptionclass
DefaultJimpleIDETabulationProblem<D,
V, I extends heros.InterproceduralCFG<Stmt, SootMethod>> class
JimpleIDESolver<D,
V, I extends heros.InterproceduralCFG<Stmt, SootMethod>> Constructor parameters in sootup.analysis.interprocedural.ide with type arguments of type StmtModifierConstructorDescriptionJimpleIDESolver
(heros.IDETabulationProblem<Stmt, D, SootMethod, V, I> problem) -
Uses of Stmt in sootup.analysis.interprocedural.ifds
Classes in sootup.analysis.interprocedural.ifds with type parameters of type StmtModifier and TypeClassDescriptionclass
DefaultJimpleIFDSTabulationProblem<D,
I extends heros.InterproceduralCFG<Stmt, SootMethod>> class
JimpleIFDSSolver<D,
I extends heros.InterproceduralCFG<Stmt, SootMethod>> Constructor parameters in sootup.analysis.interprocedural.ifds with type arguments of type StmtModifierConstructorDescriptionJimpleIFDSSolver
(heros.IFDSTabulationProblem<Stmt, D, SootMethod, I> problem) -
Uses of Stmt in sootup.analysis.intraprocedural
Fields in sootup.analysis.intraprocedural with type parameters of type StmtModifier and TypeFieldDescriptionFlowAnalysis.filterStmtToAfterFlow
Filtered: Maps graph nodes to OUT sets.FlowAnalysis.stmtToAfterFlow
Maps graph nodes to OUT sets.AbstractFlowAnalysis.stmtToBeforeFlow
Maps graph nodes to IN sets.Methods in sootup.analysis.intraprocedural with parameters of type StmtModifier and TypeMethodDescriptionprotected abstract void
FlowAnalysis.flowThrough
(A in, Stmt d, A out) Given the merge of theout
sets, compute thein
set fors
(or in to out, depending on direction).protected FlowAnalysis.Flow
You can specify which flow set you would like to use of nodefrom
FlowAnalysis.getFlowAfter
(Stmt s) Accessor function returning value of OUT set for s.AbstractFlowAnalysis.getFlowBefore
(Stmt s) Accessor function returning value of IN set for s.FlowAnalysis.getFlowBefore
(Stmt s) protected void
Merges in1 and in2 into out, just before node succNode.protected void
Merges in into inout, just before node succNode.protected boolean
If a flow node can be omitted returntrue
, otherwisefalse
. -
Uses of Stmt in sootup.analysis.intraprocedural.reachingdefs
Methods in sootup.analysis.intraprocedural.reachingdefs that return types with arguments of type Stmt -
Uses of Stmt in sootup.apk.frontend.instruction
Fields in sootup.apk.frontend.instruction declared as StmtModifier and TypeFieldDescriptionprotected Stmt
JumpInstruction.markerUnit
protected Stmt
SwitchInstruction.markerUnit
protected Stmt
DexLibAbstractInstruction.stmt
Methods in sootup.apk.frontend.instruction that return StmtModifier and TypeMethodDescriptionDexLibAbstractInstruction.getStmt()
protected Stmt
PackedSwitchInstruction.switchStatement
(DexBody body, org.jf.dexlib2.iface.instruction.Instruction targetData, Local key) protected Stmt
SparseSwitchInstruction.switchStatement
(DexBody body, org.jf.dexlib2.iface.instruction.Instruction targetData, Local key) protected abstract Stmt
SwitchInstruction.switchStatement
(DexBody body, org.jf.dexlib2.iface.instruction.Instruction targetData, Local key) Methods in sootup.apk.frontend.instruction with parameters of type Stmt -
Uses of Stmt in sootup.apk.frontend.interceptors
Fields in sootup.apk.frontend.interceptors with type parameters of type StmtMethods in sootup.apk.frontend.interceptors that return types with arguments of type StmtModifier and TypeMethodDescriptionDexDefUseAnalysis.collectDefinitionsWithAliases
(Local l) Collect definitions of l in body including the definitions of aliases of l.Methods in sootup.apk.frontend.interceptors with parameters of type StmtModifier and TypeMethodDescriptionprotected Type
DexTransformer.findArrayType
(DexDefUseAnalysis dexDefUseAnalysis, Stmt arrayStmt, int depth, Set<Stmt> alreadyVisitedDefs) protected void
AbstractNullTransformer.replaceWithNull
(Stmt stmt) Replace 0 with null in the given unit.Method parameters in sootup.apk.frontend.interceptors with type arguments of type StmtModifier and TypeMethodDescriptionprotected Type
DexTransformer.findArrayType
(DexDefUseAnalysis dexDefUseAnalysis, Stmt arrayStmt, int depth, Set<Stmt> alreadyVisitedDefs) -
Uses of Stmt in sootup.apk.frontend.main
Methods in sootup.apk.frontend.main that return types with arguments of type StmtModifier and TypeMethodDescriptionDexBody.convertMultimap
(com.google.common.collect.LinkedListMultimap<BranchingStmt, List<Stmt>> multimap) com.google.common.collect.LinkedListMultimap<BranchingStmt,
List<Stmt>> DexBody.getBranchingMap()
Methods in sootup.apk.frontend.main with parameters of type StmtModifier and TypeMethodDescriptionvoid
void
DexBody.insertAfter
(Stmt tobeInserted, Stmt afterThisStmt) void
DexBody.insertBefore
(Stmt tobeInserted, Stmt beforeThisStmt) void
DexBody.replaceStmt
(Stmt toBeReplaced, Stmt newStmt) Method parameters in sootup.apk.frontend.main with type arguments of type StmtModifier and TypeMethodDescriptionvoid
DexBody.addBranchingStmt
(BranchingStmt branchingStmt, List<Stmt> stmt) DexBody.convertMultimap
(com.google.common.collect.LinkedListMultimap<BranchingStmt, List<Stmt>> multimap) -
Uses of Stmt in sootup.codepropertygraph.propertygraph.nodes
Methods in sootup.codepropertygraph.propertygraph.nodes that return StmtConstructors in sootup.codepropertygraph.propertygraph.nodes with parameters of type Stmt -
Uses of Stmt in sootup.core.graph
Methods in sootup.core.graph that return StmtModifier and TypeMethodDescriptionBasicBlock.getHead()
ForwardingBasicBlock.getHead()
ImmutableBasicBlock.getHead()
ImmutableBlockStmtGraph.ImmutableBasicBlock.getHead()
MutableBasicBlock.getHead()
MutableBasicBlockImpl.getHead()
BackwardsStmtGraph.getStartingStmt()
ForwardingStmtGraph.getStartingStmt()
ImmutableBlockStmtGraph.getStartingStmt()
MutableBlockStmtGraph.getStartingStmt()
abstract Stmt
StmtGraph.getStartingStmt()
BasicBlock.getTail()
ForwardingBasicBlock.getTail()
ImmutableBasicBlock.getTail()
ImmutableBlockStmtGraph.ImmutableBasicBlock.getTail()
MutableBasicBlock.getTail()
MutableBasicBlockImpl.getTail()
StmtGraphBlockIterator.next()
Methods in sootup.core.graph that return types with arguments of type StmtModifier and TypeMethodDescriptionForwardingStmtGraph.exceptionalPredecessors
(Stmt node) ImmutableBlockStmtGraph.exceptionalPredecessors
(Stmt node) MutableBlockStmtGraph.exceptionalPredecessors
(MutableBasicBlock block) MutableBlockStmtGraph.exceptionalPredecessors
(Stmt node) StmtGraph.exceptionalPredecessors
(Stmt node) it is possible to reach traphandlers through inline code i.e.ForwardingStmtGraph.exceptionalSuccessors
(Stmt node) ImmutableBlockStmtGraph.exceptionalSuccessors
(Stmt node) MutableBlockStmtGraph.exceptionalSuccessors
(Stmt node) StmtGraph.exceptionalSuccessors
(Stmt node) StmtGraph.getAllSuccessors
(Stmt stmt) Collects all successors i.e.StmtGraph.getBranchTargetsOf
(BranchingStmt fromStmt) StmtGraph.getEntrypoints()
returns a Collection of all stmt in the graph that are either the starting stmt or only have an exceptional ingoing flowStmtGraph.getExtendedBasicBlockPathBetween
(Stmt from, Stmt to) Look for a path in graph, from def to use.BackwardsStmtGraph.getNodes()
ForwardingStmtGraph.getNodes()
ImmutableBlockStmtGraph.getNodes()
MutableBlockStmtGraph.getNodes()
abstract Collection<Stmt>
StmtGraph.getNodes()
returns the nodes in this graph in a non-deterministic order (->Set) to get the nodes in linearized, ordered manner use iterator() or getStmts.BackwardsStmtGraph.getStartingStmts()
BasicBlock.getStmts()
ForwardingBasicBlock.getStmts()
ImmutableBasicBlock.getStmts()
ImmutableBlockStmtGraph.ImmutableBasicBlock.getStmts()
MutableBasicBlock.getStmts()
MutableBasicBlockImpl.getStmts()
StmtGraph.getStmts()
StmtGraph.getTails()
returns a Collection of Stmts that leave the body (i.e.ForwardingStmtGraph.iterator()
ImmutableBlockStmtGraph.iterator()
StmtGraph.iterator()
BackwardsStmtGraph.predecessors
(Stmt node) ForwardingStmtGraph.predecessors
(Stmt stmt) ImmutableBlockStmtGraph.predecessors
(Stmt node) MutableBlockStmtGraph.predecessors
(Stmt node) StmtGraph.predecessors
(Stmt node) returns the ingoing flows to node as an List with no reliable/specific order and possibly duplicate entries i.e.BackwardsStmtGraph.successors
(Stmt node) ForwardingStmtGraph.successors
(Stmt stmt) ImmutableBlockStmtGraph.successors
(Stmt node) MutableBlockStmtGraph.successors
(Stmt node) StmtGraph.successors
(Stmt node) returns the outgoing flows of node as ordered List.Methods in sootup.core.graph with parameters of type StmtModifier and TypeMethodDescriptionvoid
MutableBlockStmtGraph.addExceptionalEdge
(Stmt stmt, ClassType exceptionType, Stmt traphandlerStmt) abstract void
MutableStmtGraph.addExceptionalEdge
(Stmt stmt, ClassType exception, Stmt traphandlerStmt) Adds an exceptional flow with the type "exception" to a "stmt" which will reach "traphandlerStmt"void
void
inserts a "stmt" into the StmtGraphabstract void
inserts a "stmt" with exceptional flows "traps" into the StmtGraphprotected org.apache.commons.lang3.tuple.Pair<Integer,
MutableBasicBlock> MutableBlockStmtGraph.addNodeToBlock
(MutableBasicBlock block, Stmt stmt) Adds a Stmt to the end of a block i.e.void
void
void
MutableBlockStmtGraph.clearExceptionalEdges
(Stmt node) abstract void
MutableStmtGraph.clearExceptionalEdges
(Stmt stmt) Modifications of exceptional flows removes all exceptional flows from "stmt"boolean
ForwardingStmtGraph.containsNode
(Stmt node) boolean
ImmutableBlockStmtGraph.containsNode
(Stmt node) boolean
MutableBlockStmtGraph.containsNode
(Stmt node) abstract boolean
StmtGraph.containsNode
(Stmt node) protected org.apache.commons.lang3.tuple.Pair<Integer,
MutableBasicBlock> MutableBlockStmtGraph.createStmtsBlock
(Stmt stmt) creates a Block and inserts the given Stmt.int
int
returns the amount of flows with node as source or target.ForwardingStmtGraph.exceptionalPredecessors
(Stmt node) ImmutableBlockStmtGraph.exceptionalPredecessors
(Stmt node) MutableBlockStmtGraph.exceptionalPredecessors
(Stmt node) StmtGraph.exceptionalPredecessors
(Stmt node) it is possible to reach traphandlers through inline code i.e.ForwardingStmtGraph.exceptionalSuccessors
(Stmt node) ImmutableBlockStmtGraph.exceptionalSuccessors
(Stmt node) MutableBlockStmtGraph.exceptionalSuccessors
(Stmt node) StmtGraph.exceptionalSuccessors
(Stmt node) StmtGraph.getAllSuccessors
(Stmt stmt) Collects all successors i.e.BasicBlock<?>
ForwardingStmtGraph.getBlockOf
(Stmt stmt) ImmutableBlockStmtGraph.getBlockOf
(Stmt stmt) BasicBlock<?>
MutableBlockStmtGraph.getBlockOf
(Stmt stmt) abstract BasicBlock<?>
StmtGraph.getBlockOf
(Stmt stmt) StmtGraph.getExtendedBasicBlockPathBetween
(Stmt from, Stmt to) Look for a path in graph, from def to use.boolean
BackwardsStmtGraph.hasEdgeConnecting
(Stmt source, Stmt target) boolean
ForwardingStmtGraph.hasEdgeConnecting
(Stmt from, Stmt to) boolean
ImmutableBlockStmtGraph.hasEdgeConnecting
(Stmt source, Stmt target) boolean
MutableBlockStmtGraph.hasEdgeConnecting
(Stmt source, Stmt target) abstract boolean
StmtGraph.hasEdgeConnecting
(Stmt source, Stmt target) returns true if there is a flow between source and target throws an Exception if at least one of the parameters is not contained in the graph.int
int
int
int
abstract int
returns the amount of ingoing flows into nodeBasicBlock<?>
MutableBlockStmtGraph.insertAfter
(Stmt existingStmt, List<FallsThroughStmt> stmts, Map<ClassType, Stmt> exceptionMap) abstract BasicBlock<?>
MutableStmtGraph.insertAfter
(Stmt afterStmt, List<FallsThroughStmt> stmts, Map<ClassType, Stmt> exceptionMap) BasicBlock<?>
MutableStmtGraph.insertAfter
(Stmt afterStmt, FallsThroughStmt newStmt) inserts the "newStmt" after the position of "afterStmt"BasicBlock<?>
MutableBlockStmtGraph.insertBefore
(Stmt existingStmt, List<FallsThroughStmt> stmts, Map<ClassType, Stmt> exceptionMap) abstract BasicBlock<?>
MutableStmtGraph.insertBefore
(Stmt beforeStmt, List<FallsThroughStmt> stmts, Map<ClassType, Stmt> exceptionMap) BasicBlock<?>
MutableStmtGraph.insertBefore
(Stmt beforeStmt, FallsThroughStmt newStmt) inserts the "newStmt" before the position of "beforeStmt" i.e.boolean
StmtGraph.isStmtBranchTarget
(Stmt targetStmt) int
int
int
int
abstract int
returns the amount of flows that start from nodeBackwardsStmtGraph.predecessors
(Stmt node) ForwardingStmtGraph.predecessors
(Stmt stmt) ImmutableBlockStmtGraph.predecessors
(Stmt node) MutableBlockStmtGraph.predecessors
(Stmt node) StmtGraph.predecessors
(Stmt node) returns the ingoing flows to node as an List with no reliable/specific order and possibly duplicate entries i.e.void
MutableBlockStmtGraph.putEdge
(BranchingStmt stmtA, int succesorIdx, Stmt stmtB) void
MutableBlockStmtGraph.putEdge
(FallsThroughStmt stmtA, Stmt stmtB) abstract void
MutableStmtGraph.putEdge
(BranchingStmt from, int successorIdx, Stmt to) abstract void
MutableStmtGraph.putEdge
(FallsThroughStmt from, Stmt to) Modifications of unexceptional flowsprotected void
MutableBlockStmtGraph.putEdge_internal
(Stmt stmtA, int succesorIdx, Stmt stmtB) MutableBlockStmtGraph.removeEdge
(Stmt from, Stmt to) MutableStmtGraph.removeEdge
(Stmt from, Stmt to) removes the current outgoing flows of "from" to "to"void
MutableBlockStmtGraph.removeExceptionalEdge
(Stmt node, ClassType exceptionType) abstract void
MutableStmtGraph.removeExceptionalEdge
(Stmt stmt, ClassType exception) removes an exceptional flow of the type "exception" flow from "stmt"void
ForwardingStmtGraph.removeExceptionalFlowFromAllBlocks
(ClassType exceptionType, Stmt exceptionHandlerStmt) void
ImmutableBlockStmtGraph.removeExceptionalFlowFromAllBlocks
(ClassType classType, Stmt exceptionHandlerStmt) void
MutableBlockStmtGraph.removeExceptionalFlowFromAllBlocks
(ClassType exceptionType, Stmt exceptionHandlerStmt) abstract void
StmtGraph.removeExceptionalFlowFromAllBlocks
(ClassType exceptionType, Stmt exceptionHandlerStmt) Removes the specified exceptional flow from all blocks.void
MutableBlockStmtGraph.removeNode
(Stmt stmt) void
MutableBlockStmtGraph.removeNode
(Stmt stmt, boolean keepFlow) Removes a Stmt from the StmtGraph.abstract void
MutableStmtGraph.removeNode
(Stmt stmt) removes "stmt" from the StmtGraphabstract void
MutableStmtGraph.removeNode
(Stmt stmt, boolean keepFlow) void
MutableBasicBlock.removeStmt
(Stmt stmt) void
MutableBasicBlockImpl.removeStmt
(Stmt stmt) void
MutableBlockStmtGraph.replaceNode
(Stmt oldStmt, Stmt newStmt) abstract void
MutableStmtGraph.replaceNode
(Stmt oldStmt, Stmt newStmt) Modification of stmts (without manipulating any flows; possible assigned exceptional flows stay the same as well)void
MutableBasicBlock.replaceStmt
(int idx, Stmt newStmt) void
MutableBasicBlock.replaceStmt
(Stmt oldStmt, Stmt newStmt) void
MutableBasicBlockImpl.replaceStmt
(int idx, Stmt newStmt) void
MutableBasicBlockImpl.replaceStmt
(Stmt oldStmt, Stmt newStmt) boolean
MutableBlockStmtGraph.replaceSucessorEdge
(Stmt from, Stmt oldTo, Stmt newTo) Replaces all SuccessorEdge(s) of from to oldTo by mewToabstract boolean
MutableStmtGraph.replaceSucessorEdge
(Stmt from, Stmt oldTo, Stmt newTo) void
MutableStmtGraph.setEdges
(BranchingStmt from, Stmt... targets) replaces the current outgoing flows of "from" to each target of "targets"void
MutableBlockStmtGraph.setStartingStmt
(Stmt startingStmt) abstract void
MutableStmtGraph.setStartingStmt
(Stmt firstStmt) MutableBasicBlock.splitBlockLinked
(Stmt splitStmt, boolean shouldBeNewHead) MutableBasicBlockImpl.splitBlockLinked
(Stmt splitStmt, boolean shouldBeNewHead) splits a BasicBlock into first|second we know splitStmt must be a FallsThroughStmtMutableBasicBlock.splitBlockUnlinked
(Stmt newTail, Stmt newHead) MutableBasicBlockImpl.splitBlockUnlinked
(Stmt newTail, Stmt newHead) splits a single MutableBasicBlock into two at splitIndex position, so that the Stmt at the splitIdx is the Head of the second MutableBasicBlock.BackwardsStmtGraph.successors
(Stmt node) ForwardingStmtGraph.successors
(Stmt stmt) ImmutableBlockStmtGraph.successors
(Stmt node) MutableBlockStmtGraph.successors
(Stmt node) StmtGraph.successors
(Stmt node) returns the outgoing flows of node as ordered List.protected void
MutableBasicBlockImpl.updateSuccessorContainer
(Stmt newStmt) Method parameters in sootup.core.graph with type arguments of type StmtModifier and TypeMethodDescriptionvoid
The list of Stmts must contain only fallsthrough Stmts; A flow manipulating Stmt (BranchingStmt, return, throw) is only allowed at the Tail.void
The list of Stmts must contain only fallsthrough Stmts; A flow manipulating Stmt (BranchingStmt, return, throw) is only allowed at the Tail.void
creates a whole BasicBlock which contains the sequence of (n-1)*fallsthrough()-stmt + optional a non-fallsthrough() stmt at the end of the listabstract void
creates a whole BasicBlock with the details from the parametersabstract void
creates a whole BasicBlock with the details from the parametersvoid
abstract void
inserts a "stmt" with exceptional flows "traps" into the StmtGraphvoid
MutableBlockStmtGraph.initializeWith
(List<List<Stmt>> blocks, Map<BranchingStmt, List<Stmt>> successorMap, List<Trap> traps) Creates a Graph representation from the 'legacy' representation i.e.void
MutableBlockStmtGraph.initializeWith
(List<List<Stmt>> blocks, Map<BranchingStmt, List<Stmt>> successorMap, List<Trap> traps) Creates a Graph representation from the 'legacy' representation i.e.BasicBlock<?>
MutableBlockStmtGraph.insertAfter
(Stmt existingStmt, List<FallsThroughStmt> stmts, Map<ClassType, Stmt> exceptionMap) abstract BasicBlock<?>
MutableStmtGraph.insertAfter
(Stmt afterStmt, List<FallsThroughStmt> stmts, Map<ClassType, Stmt> exceptionMap) BasicBlock<?>
MutableBlockStmtGraph.insertBefore
(Stmt existingStmt, List<FallsThroughStmt> stmts, Map<ClassType, Stmt> exceptionMap) abstract BasicBlock<?>
MutableStmtGraph.insertBefore
(Stmt beforeStmt, List<FallsThroughStmt> stmts, Map<ClassType, Stmt> exceptionMap) void
MutableBlockStmtGraph.setEdges
(BranchingStmt fromStmt, List<Stmt> targets) abstract void
MutableStmtGraph.setEdges
(BranchingStmt from, List<Stmt> targets) replaces the current outgoing flows of "from" to "targets"Constructor parameters in sootup.core.graph with type arguments of type StmtModifierConstructorDescriptionMutableBasicBlockImpl
(List<Stmt> stmts, Map<ClassType, MutableBasicBlock> exceptionMap) -
Uses of Stmt in sootup.core.jimple
Methods in sootup.core.jimple with parameters of type Stmt -
Uses of Stmt in sootup.core.jimple.basic
Methods in sootup.core.jimple.basic that return StmtMethods in sootup.core.jimple.basic that return types with arguments of type StmtModifier and TypeMethodDescriptionLocal.getDefsForLocalUse
(StmtGraph<?> graph, Stmt stmt) Get all definition-stmts which define the given local used by the given stmt.Local.getStmtsUsingOrDefiningthisLocal
(Collection<Stmt> stmts, Stmt removedStmt) Methods in sootup.core.jimple.basic with parameters of type StmtModifier and TypeMethodDescriptionboolean
Local.getDefsForLocalUse
(StmtGraph<?> graph, Stmt stmt) Get all definition-stmts which define the given local used by the given stmt.Local.getStmtsUsingOrDefiningthisLocal
(Collection<Stmt> stmts, Stmt removedStmt) Trap.withBeginStmt
(Stmt beginStmt) Trap.withEndStmt
(Stmt endStmt) Trap.withHandlerStmt
(Stmt handlerStmt) Method parameters in sootup.core.jimple.basic with type arguments of type StmtModifier and TypeMethodDescriptionLocal.getDefs
(Collection<Stmt> defs) returns a List that can contain: Locals, JFieldRefs, JArrayRefsLocal.getStmtsUsingOrDefiningthisLocal
(Collection<Stmt> stmts, Stmt removedStmt) Constructors in sootup.core.jimple.basic with parameters of type Stmt -
Uses of Stmt in sootup.core.jimple.common.stmt
Subinterfaces of Stmt in sootup.core.jimple.common.stmtModifier and TypeInterfaceDescriptioninterface
Interface for Stmts at which the execution does not necessarily continue with the following Stmt in the Listinterface
as an equivalent to BranchingStmtinterface
Interface for Stmts that could invoke a different method which will be executed before the next statement is executedClasses in sootup.core.jimple.common.stmt that implement StmtModifier and TypeClassDescriptionclass
class
final class
Represents the assignment of one value to anotherclass
Unconditionally jumps to a target Stmtfinal class
final class
If the condition is true, jumps to the target, otherwise continues to the next stmt.final class
A method callfinal class
A no-operation statement.final class
A statement that ends the method, returning a value.final class
A statement that ends the method, returning no value.final class
A statement that throws an ExceptionMethods in sootup.core.jimple.common.stmt that return StmtModifier and TypeMethodDescriptionAbstractStmt.withNewUse
(Value oldUse, Value newUse) Use newUse to replace the oldUse in oldStmt.Stmt.withNewUse
(Value oldUse, Value newUse) Methods in sootup.core.jimple.common.stmt that return types with arguments of type StmtModifier and TypeMethodDescriptionBranchingStmt.getTargetStmts
(Body body) JGotoStmt.getTargetStmts
(Body body) JIfStmt.getTargetStmts
(Body body) -
Uses of Stmt in sootup.core.jimple.javabytecode.stmt
Classes in sootup.core.jimple.javabytecode.stmt that implement StmtModifier and TypeClassDescriptionfinal class
final class
A statement that enters a JVM monitor, thereby synchronizing its following statements.final class
A statement that exits a JVM monitor, thereby ending synchronization.final class
Represents the deprecated JVMret
statement (< java 1.6) - which is used in JSR Context - which is deprecated as well.class
Methods in sootup.core.jimple.javabytecode.stmt that return types with arguments of type StmtModifier and TypeMethodDescriptionJSwitchStmt.getDefaultTarget
(Body body) JSwitchStmt.getTargetStmts
(Body body) -
Uses of Stmt in sootup.core.jimple.visitor
Fields in sootup.core.jimple.visitor declared as StmtMethods in sootup.core.jimple.visitor that return StmtMethods in sootup.core.jimple.visitor with parameters of type StmtModifier and TypeMethodDescriptionvoid
AbstractStmtVisitor.defaultCaseStmt
(Stmt stmt) void
ReplaceUseStmtVisitor.defaultCaseStmt
(Stmt stmt) void
StmtVisitor.defaultCaseStmt
(Stmt stmt) protected void
-
Uses of Stmt in sootup.core.model
Methods in sootup.core.model that return StmtModifier and TypeMethodDescriptionBody.getFirstNonIdentityStmt()
Returns the first non-identity stmt in this body.Body.getThisStmt()
Return unit containing the \@this-assignment *Methods in sootup.core.model that return types with arguments of type StmtModifier and TypeMethodDescriptionstatic Map<LValue,
Collection<Stmt>> Body.collectDefs
(Collection<Stmt> stmts) Collects all defining statements of a Local from a list of statementsBody.collectUses
(Collection<Stmt> stmts) Collects all using statements of a Values from a list of statementsBody.getBranchTargetsOf
(BranchingStmt fromStmt) returns a List of Branch targets of Branching StmtsBody.BodyBuilder.getStmts()
Body.getStmts()
returns the control flow graph that represents this body into a linear List of statements.Methods in sootup.core.model with parameters of type StmtModifier and TypeMethodDescriptionboolean
Body.isStmtBranchTarget
(Stmt targetStmt) void
Body.BodyBuilder.removeDefLocalsOf
(Stmt stmt) Method parameters in sootup.core.model with type arguments of type StmtModifier and TypeMethodDescriptionstatic Map<LValue,
Collection<Stmt>> Body.collectDefs
(Collection<Stmt> stmts) Collects all defining statements of a Local from a list of statementsBody.collectUses
(Collection<Stmt> stmts) Collects all using statements of a Values from a list of statements -
Uses of Stmt in sootup.core.util.printer
Fields in sootup.core.util.printer with type parameters of type StmtModifier and TypeFieldDescriptionLabeledStmtPrinter.labels
branch targets *LabeledStmtPrinter.references
for stmt references in Phi nodes (ms: and other occurences TODO: check and improve comment) *Methods in sootup.core.util.printer that return types with arguments of type StmtModifier and TypeMethodDescriptionLabeledStmtPrinter.getLabeledStmts
(StmtGraph stmtGraph, List<Trap> traps) Returns the result of iterating through all Stmts in this body.LabeledStmtPrinter.getLabels()
LabeledStmtPrinter.getReferences()
LabeledStmtPrinter.initializeSootMethod
(StmtGraph<?> stmtGraph) createLabelMapsMethods in sootup.core.util.printer with parameters of type StmtModifier and TypeMethodDescriptionvoid
abstract void
void
abstract void
void
void
void
abstract void
Method parameters in sootup.core.util.printer with type arguments of type StmtModifier and TypeMethodDescriptionLabeledStmtPrinter.getTrapComparator
(Map<Stmt, Integer> stmtsBlockIdx) Comparator which sorts the trap output in getTraps() -
Uses of Stmt in sootup.core.validation
Constructors in sootup.core.validation with parameters of type Stmt -
Uses of Stmt in sootup.interceptors
Methods in sootup.interceptors with parameters of type StmtModifier and TypeMethodDescriptionLocalLivenessAnalyser.getLiveLocalsAfterStmt
(Stmt stmt) Get all live locals after the given stmt.LocalLivenessAnalyser.getLiveLocalsBeforeStmt
(Stmt stmt) Get all live locals before the given stmt. -
Uses of Stmt in sootup.interceptors.typeresolving
Fields in sootup.interceptors.typeresolving declared as StmtMethods in sootup.interceptors.typeresolving that return StmtMethods in sootup.interceptors.typeresolving with parameters of type StmtModifier and TypeMethodDescriptionThis method is used to evaluate the type of the given value which the given stmt and body belongs to.TypeChecker.selectArrayType
(Type preType, Type newType, Stmt stmt) protected void
void
This method is used to check whether a value in a stmt needs a cast.abstract void
void
Constructors in sootup.interceptors.typeresolving with parameters of type Stmt -
Uses of Stmt in sootup.java.bytecode.frontend.conversion
Methods in sootup.java.bytecode.frontend.conversion that return types with arguments of type StmtModifier and TypeMethodDescriptionAsmMethodSource.getStmtsThatUse
(Value value) * returns all stmts that use this expr -
Uses of Stmt in sootup.java.frontend.conversion
Methods in sootup.java.frontend.conversion that return types with arguments of type StmtModifier and TypeMethodDescriptionInstructionConverter.convertInstruction
(com.ibm.wala.ssa.SSAInstruction inst, HashMap<Integer, Stmt> stmt2iIndex) protected Map<BranchingStmt,
List<Stmt>> InstructionConverter.setUpTargets
(HashMap<Integer, Stmt> stmt2iIndex) This methods adds stmts with all branch stmts to builder (JIfStmt
,JGotoStmt
,JSwitchStmt
) having set up their target stmts.Method parameters in sootup.java.frontend.conversion with type arguments of type StmtModifier and TypeMethodDescriptionInstructionConverter.convertInstruction
(com.ibm.wala.ssa.SSAInstruction inst, HashMap<Integer, Stmt> stmt2iIndex) protected Map<BranchingStmt,
List<Stmt>> InstructionConverter.setUpTargets
(HashMap<Integer, Stmt> stmt2iIndex) This methods adds stmts with all branch stmts to builder (JIfStmt
,JGotoStmt
,JSwitchStmt
) having set up their target stmts.