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 voidMethodNodeFactory.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.booleanOnFlyCallGraph.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.symbolicHeapsMethods in qilin.pta.toolkits.conch with parameters of type StmtModifier and TypeMethodDescriptionprotected AllocNodeAbstractPAG.getSymbolicHeapOf(SootMethod method, Stmt invokeStmt) -
Uses of Stmt in qilin.stat
Method parameters in qilin.stat with type arguments of type StmtModifier and TypeMethodDescriptionvoidExporter.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.delegateprotected com.google.common.cache.CacheLoader<SootMethod,Collection<Stmt>> JimpleBasedInterproceduralCFG.loaderMethodToCallersprotected com.google.common.cache.CacheLoader<Stmt,Collection<SootMethod>> JimpleBasedInterproceduralCFG.loaderUnitToCalleesprotected final com.google.common.cache.LoadingCache<SootMethod,Collection<Stmt>> JimpleBasedInterproceduralCFG.methodToCallersprotected com.google.common.cache.LoadingCache<SootMethod,Set<Stmt>> AbstractJimpleBasedICFG.methodToCallsFromWithinprotected final com.google.common.cache.LoadingCache<Stmt,Collection<SootMethod>> JimpleBasedInterproceduralCFG.stmtToCalleesMethods 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(@NonNull 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(@NonNull 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) booleanAbstractJimpleBasedICFG.isBranchTarget(Stmt u, Stmt succ) booleanBackwardsInterproceduralCFG.isBranchTarget(Stmt stmt, Stmt succ) booleanAbstractJimpleBasedICFG.isCallStmt(Stmt stmt) booleanBackwardsInterproceduralCFG.isCallStmt(Stmt stmt) booleanAbstractJimpleBasedICFG.isExitStmt(Stmt stmt) booleanBackwardsInterproceduralCFG.isExitStmt(Stmt stmt) booleanAbstractJimpleBasedICFG.isFallThroughSuccessor(Stmt stmt, Stmt successorCandidate) booleanBackwardsInterproceduralCFG.isFallThroughSuccessor(Stmt stmt, Stmt succ) booleanAbstractJimpleBasedICFG.isReachable(Stmt u) booleanBackwardsInterproceduralCFG.isReachable(Stmt u) booleanAbstractJimpleBasedICFG.isReturnSite(Stmt n) booleanBackwardsInterproceduralCFG.isReturnSite(Stmt n) booleanAbstractJimpleBasedICFG.isStartPoint(Stmt stmt) booleanBackwardsInterproceduralCFG.isStartPoint(Stmt stmt) booleanAbstractJimpleBasedICFG.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 TypeClassDescriptionclassDefaultJimpleIDETabulationProblem<D,V, I extends heros.InterproceduralCFG<Stmt, SootMethod>> classJimpleIDESolver<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 TypeClassDescriptionclassDefaultJimpleIFDSTabulationProblem<D,I extends heros.InterproceduralCFG<Stmt, SootMethod>> classJimpleIFDSSolver<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.filterStmtToAfterFlowFiltered: Maps graph nodes to OUT sets.FlowAnalysis.stmtToAfterFlowMaps graph nodes to OUT sets.AbstractFlowAnalysis.stmtToBeforeFlowMaps graph nodes to IN sets.Methods in sootup.analysis.intraprocedural with parameters of type StmtModifier and TypeMethodDescriptionprotected abstract voidFlowAnalysis.flowThrough(@NonNull A in, Stmt d, @NonNull A out) Given the merge of theoutsets, compute theinset fors(or in to out, depending on direction).protected FlowAnalysis.FlowYou can specify which flow set you would like to use of nodefromFlowAnalysis.getFlowAfter(@NonNull Stmt s) Accessor function returning value of OUT set for s.@NonNull FAbstractFlowAnalysis.getFlowBefore(@NonNull Stmt s) Accessor function returning value of IN set for s.@NonNull AFlowAnalysis.getFlowBefore(@NonNull Stmt s) protected voidMerges in1 and in2 into out, just before node succNode.protected voidMerges in into inout, just before node succNode.protected booleanIf 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 StmtJumpInstruction.markerUnitprotected StmtSwitchInstruction.markerUnitprotected StmtDexLibAbstractInstruction.stmtMethods in sootup.apk.frontend.instruction that return StmtModifier and TypeMethodDescriptionDexLibAbstractInstruction.getStmt()protected StmtPackedSwitchInstruction.switchStatement(DexBody body, org.jf.dexlib2.iface.instruction.Instruction targetData, Local key) protected StmtSparseSwitchInstruction.switchStatement(DexBody body, org.jf.dexlib2.iface.instruction.Instruction targetData, Local key) protected abstract StmtSwitchInstruction.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 TypeDexTransformer.findArrayType(DexDefUseAnalysis dexDefUseAnalysis, Stmt arrayStmt, int depth, Set<Stmt> alreadyVisitedDefs) protected voidAbstractNullTransformer.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 TypeDexTransformer.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 TypeMethodDescriptionvoidvoidDexBody.insertAfter(Stmt tobeInserted, Stmt afterThisStmt) voidDexBody.insertBefore(Stmt tobeInserted, Stmt beforeThisStmt) voidDexBody.replaceStmt(Stmt toBeReplaced, Stmt newStmt) Method parameters in sootup.apk.frontend.main with type arguments of type StmtModifier and TypeMethodDescriptionvoidDexBody.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 TypeMethodDescription@NonNull StmtBasicBlock.getHead()@NonNull StmtForwardingBasicBlock.getHead()@NonNull StmtImmutableBasicBlock.getHead()@NonNull StmtImmutableBlockStmtGraph.ImmutableBasicBlock.getHead()@NonNull StmtMutableBasicBlock.getHead()@NonNull StmtMutableBasicBlockImpl.getHead()BackwardsStmtGraph.getStartingStmt()ForwardingStmtGraph.getStartingStmt()@Nullable StmtImmutableBlockStmtGraph.getStartingStmt()@Nullable StmtMutableBlockStmtGraph.getStartingStmt()abstract StmtStmtGraph.getStartingStmt()@NonNull StmtBasicBlock.getTail()@NonNull StmtForwardingBasicBlock.getTail()@NonNull StmtImmutableBasicBlock.getTail()@NonNull StmtImmutableBlockStmtGraph.ImmutableBasicBlock.getTail()@NonNull StmtMutableBasicBlock.getTail()@NonNull StmtMutableBasicBlockImpl.getTail()@NonNull StmtStmtGraphBlockIterator.next()Methods in sootup.core.graph that return types with arguments of type StmtModifier and TypeMethodDescriptionForwardingStmtGraph.exceptionalPredecessors(@NonNull Stmt node) ImmutableBlockStmtGraph.exceptionalPredecessors(@NonNull Stmt node) MutableBlockStmtGraph.exceptionalPredecessors(@NonNull MutableBasicBlock block) MutableBlockStmtGraph.exceptionalPredecessors(@NonNull Stmt node) StmtGraph.exceptionalPredecessors(@NonNull Stmt node) it is possible to reach traphandlers through inline code i.e. without any exceptional flowForwardingStmtGraph.exceptionalSuccessors(@NonNull Stmt node) ImmutableBlockStmtGraph.exceptionalSuccessors(@NonNull Stmt node) MutableBlockStmtGraph.exceptionalSuccessors(@NonNull Stmt node) StmtGraph.exceptionalSuccessors(@NonNull Stmt node) StmtGraph.getAllSuccessors(@NonNull Stmt stmt) Collects all successors i.e. unexceptional and exceptional successors of a given stmt into a list.StmtGraph.getBranchTargetsOf(BranchingStmt fromStmt) @NonNull Collection<Stmt>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(@NonNull Stmt from, @NonNull Stmt to) Look for a path in graph, from def to use.@NonNull Collection<Stmt>BackwardsStmtGraph.getNodes()@NonNull Collection<Stmt>ForwardingStmtGraph.getNodes()ImmutableBlockStmtGraph.getNodes()MutableBlockStmtGraph.getNodes()abstract @NonNull 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(@NonNull Stmt node) ForwardingStmtGraph.predecessors(@NonNull Stmt stmt) ImmutableBlockStmtGraph.predecessors(@NonNull Stmt node) MutableBlockStmtGraph.predecessors(@NonNull Stmt node) StmtGraph.predecessors(@NonNull Stmt node) returns the ingoing flows to node as an List with no reliable/specific order and possibly duplicate entries i.e. if a JSwitchStmt has multiple cases that brnach to `node`BackwardsStmtGraph.successors(@NonNull Stmt node) ForwardingStmtGraph.successors(@NonNull Stmt stmt) ImmutableBlockStmtGraph.successors(@NonNull Stmt node) MutableBlockStmtGraph.successors(@NonNull Stmt node) StmtGraph.successors(@NonNull Stmt node) returns the outgoing flows of node as ordered List.Methods in sootup.core.graph with parameters of type StmtModifier and TypeMethodDescriptionvoidMutableBlockStmtGraph.addExceptionalEdge(@NonNull Stmt stmt, @NonNull ClassType exceptionType, @NonNull Stmt traphandlerStmt) abstract voidMutableStmtGraph.addExceptionalEdge(@NonNull Stmt stmt, @NonNull ClassType exception, @NonNull Stmt traphandlerStmt) Adds an exceptional flow with the type "exception" to a "stmt" which will reach "traphandlerStmt"voidvoidinserts a "stmt" into the StmtGraphabstract voidinserts a "stmt" with exceptional flows "traps" into the StmtGraphprotected org.apache.commons.lang3.tuple.Pair<Integer,MutableBasicBlock> MutableBlockStmtGraph.addNodeToBlock(@NonNull MutableBasicBlock block, @NonNull Stmt stmt) Adds a Stmt to the end of a block i.e. stmt will become the new tail.voidvoidvoidMutableBlockStmtGraph.clearExceptionalEdges(@NonNull Stmt node) abstract voidMutableStmtGraph.clearExceptionalEdges(@NonNull Stmt stmt) Modifications of exceptional flows removes all exceptional flows from "stmt"booleanForwardingStmtGraph.containsNode(@NonNull Stmt node) booleanImmutableBlockStmtGraph.containsNode(@NonNull Stmt node) booleanMutableBlockStmtGraph.containsNode(@NonNull Stmt node) abstract booleanStmtGraph.containsNode(@NonNull Stmt node) protected @NonNull org.apache.commons.lang3.tuple.Pair<Integer,MutableBasicBlock> MutableBlockStmtGraph.createStmtsBlock(@NonNull Stmt stmt) creates a Block and inserts the given Stmt.intintreturns the amount of flows with node as source or target.ForwardingStmtGraph.exceptionalPredecessors(@NonNull Stmt node) ImmutableBlockStmtGraph.exceptionalPredecessors(@NonNull Stmt node) MutableBlockStmtGraph.exceptionalPredecessors(@NonNull Stmt node) StmtGraph.exceptionalPredecessors(@NonNull Stmt node) it is possible to reach traphandlers through inline code i.e. without any exceptional flowForwardingStmtGraph.exceptionalSuccessors(@NonNull Stmt node) ImmutableBlockStmtGraph.exceptionalSuccessors(@NonNull Stmt node) MutableBlockStmtGraph.exceptionalSuccessors(@NonNull Stmt node) StmtGraph.exceptionalSuccessors(@NonNull Stmt node) StmtGraph.getAllSuccessors(@NonNull Stmt stmt) Collects all successors i.e. unexceptional and exceptional successors of a given stmt into a list.BasicBlock<?>ForwardingStmtGraph.getBlockOf(@NonNull Stmt stmt) ImmutableBlockStmtGraph.getBlockOf(@NonNull Stmt stmt) @Nullable BasicBlock<?>MutableBlockStmtGraph.getBlockOf(@NonNull Stmt stmt) abstract BasicBlock<?>StmtGraph.getBlockOf(@NonNull Stmt stmt) StmtGraph.getExtendedBasicBlockPathBetween(@NonNull Stmt from, @NonNull Stmt to) Look for a path in graph, from def to use.booleanBackwardsStmtGraph.hasEdgeConnecting(@NonNull Stmt source, @NonNull Stmt target) booleanForwardingStmtGraph.hasEdgeConnecting(@NonNull Stmt from, @NonNull Stmt to) booleanImmutableBlockStmtGraph.hasEdgeConnecting(@NonNull Stmt source, @NonNull Stmt target) booleanMutableBlockStmtGraph.hasEdgeConnecting(@NonNull Stmt source, @NonNull Stmt target) abstract booleanStmtGraph.hasEdgeConnecting(@NonNull Stmt source, @NonNull 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.intintintintabstract intreturns the amount of ingoing flows into node@NonNull BasicBlock<?>MutableBlockStmtGraph.insertAfter(@NonNull Stmt existingStmt, @NonNull List<FallsThroughStmt> stmts, @NonNull Map<ClassType, Stmt> exceptionMap) abstract BasicBlock<?>MutableStmtGraph.insertAfter(@NonNull Stmt afterStmt, @NonNull List<FallsThroughStmt> stmts, @NonNull Map<ClassType, Stmt> exceptionMap) BasicBlock<?>MutableStmtGraph.insertAfter(@NonNull Stmt afterStmt, @NonNull FallsThroughStmt newStmt) inserts the "newStmt" after the position of "afterStmt"@NonNull BasicBlock<?>MutableBlockStmtGraph.insertBefore(@NonNull Stmt existingStmt, @NonNull List<FallsThroughStmt> stmts, @NonNull Map<ClassType, Stmt> exceptionMap) abstract BasicBlock<?>MutableStmtGraph.insertBefore(@NonNull Stmt beforeStmt, @NonNull List<FallsThroughStmt> stmts, @NonNull Map<ClassType, Stmt> exceptionMap) BasicBlock<?>MutableStmtGraph.insertBefore(@NonNull Stmt beforeStmt, @NonNull FallsThroughStmt newStmt) inserts the "newStmt" before the position of "beforeStmt" i.e.booleanStmtGraph.isStmtBranchTarget(@NonNull Stmt targetStmt) intintintintabstract intreturns the amount of flows that start from nodeBackwardsStmtGraph.predecessors(@NonNull Stmt node) ForwardingStmtGraph.predecessors(@NonNull Stmt stmt) ImmutableBlockStmtGraph.predecessors(@NonNull Stmt node) MutableBlockStmtGraph.predecessors(@NonNull Stmt node) StmtGraph.predecessors(@NonNull Stmt node) returns the ingoing flows to node as an List with no reliable/specific order and possibly duplicate entries i.e. if a JSwitchStmt has multiple cases that brnach to `node`voidMutableBlockStmtGraph.putEdge(@NonNull BranchingStmt stmtA, int succesorIdx, @NonNull Stmt stmtB) voidMutableBlockStmtGraph.putEdge(@NonNull FallsThroughStmt stmtA, @NonNull Stmt stmtB) abstract voidMutableStmtGraph.putEdge(@NonNull BranchingStmt from, int successorIdx, @NonNull Stmt to) abstract voidMutableStmtGraph.putEdge(@NonNull FallsThroughStmt from, @NonNull Stmt to) Modifications of unexceptional flowsprotected voidMutableBlockStmtGraph.putEdge_internal(@NonNull Stmt stmtA, int succesorIdx, @NonNull Stmt stmtB) MutableBlockStmtGraph.removeEdge(@NonNull Stmt from, @NonNull Stmt to) MutableStmtGraph.removeEdge(@NonNull Stmt from, @NonNull Stmt to) removes the current outgoing flows of "from" to "to"voidMutableBlockStmtGraph.removeExceptionalEdge(@NonNull Stmt node, @NonNull ClassType exceptionType) abstract voidMutableStmtGraph.removeExceptionalEdge(@NonNull Stmt stmt, @NonNull ClassType exception) removes an exceptional flow of the type "exception" flow from "stmt"voidForwardingStmtGraph.removeExceptionalFlowFromAllBlocks(@NonNull ClassType exceptionType, @NonNull Stmt exceptionHandlerStmt) voidImmutableBlockStmtGraph.removeExceptionalFlowFromAllBlocks(ClassType classType, Stmt exceptionHandlerStmt) voidMutableBlockStmtGraph.removeExceptionalFlowFromAllBlocks(@NonNull ClassType exceptionType, @NonNull Stmt exceptionHandlerStmt) abstract voidStmtGraph.removeExceptionalFlowFromAllBlocks(ClassType exceptionType, Stmt exceptionHandlerStmt) Removes the specified exceptional flow from all blocks.voidMutableBlockStmtGraph.removeNode(@NonNull Stmt stmt) voidMutableBlockStmtGraph.removeNode(@NonNull Stmt stmt, boolean keepFlow) Removes a Stmt from the StmtGraph.abstract voidMutableStmtGraph.removeNode(@NonNull Stmt stmt) removes "stmt" from the StmtGraphabstract voidMutableStmtGraph.removeNode(@NonNull Stmt stmt, boolean keepFlow) voidMutableBasicBlock.removeStmt(@NonNull Stmt stmt) voidMutableBasicBlockImpl.removeStmt(@NonNull Stmt stmt) voidMutableBlockStmtGraph.replaceNode(@NonNull Stmt oldStmt, @NonNull Stmt newStmt) abstract voidMutableStmtGraph.replaceNode(@NonNull Stmt oldStmt, @NonNull Stmt newStmt) Modification of stmts (without manipulating any flows; possible assigned exceptional flows stay the same as well)voidMutableBasicBlock.replaceStmt(int idx, Stmt newStmt) voidMutableBasicBlock.replaceStmt(Stmt oldStmt, Stmt newStmt) voidMutableBasicBlockImpl.replaceStmt(int idx, Stmt newStmt) voidMutableBasicBlockImpl.replaceStmt(Stmt oldStmt, Stmt newStmt) booleanMutableBlockStmtGraph.replaceSucessorEdge(@NonNull Stmt from, @NonNull Stmt oldTo, @NonNull Stmt newTo) Replaces all SuccessorEdge(s) of from to oldTo by mewToabstract booleanMutableStmtGraph.replaceSucessorEdge(@NonNull Stmt from, @NonNull Stmt oldTo, @NonNull Stmt newTo) voidMutableStmtGraph.setEdges(@NonNull BranchingStmt from, @NonNull Stmt... targets) replaces the current outgoing flows of "from" to each target of "targets"voidMutableBlockStmtGraph.setStartingStmt(@NonNull Stmt startingStmt) abstract voidMutableStmtGraph.setStartingStmt(@NonNull Stmt firstStmt) @NonNull MutableBasicBlockMutableBasicBlock.splitBlockLinked(@NonNull Stmt splitStmt, boolean shouldBeNewHead) @NonNull MutableBasicBlockImplMutableBasicBlockImpl.splitBlockLinked(@NonNull Stmt splitStmt, boolean shouldBeNewHead) splits a BasicBlock into first|second we know splitStmt must be a FallsThroughStmtMutableBasicBlock.splitBlockUnlinked(@NonNull Stmt newTail, @NonNull Stmt newHead) MutableBasicBlockImpl.splitBlockUnlinked(@NonNull Stmt newTail, @NonNull 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. this method does not link the splitted blocks.BackwardsStmtGraph.successors(@NonNull Stmt node) ForwardingStmtGraph.successors(@NonNull Stmt stmt) ImmutableBlockStmtGraph.successors(@NonNull Stmt node) MutableBlockStmtGraph.successors(@NonNull Stmt node) StmtGraph.successors(@NonNull Stmt node) returns the outgoing flows of node as ordered List.protected voidMutableBasicBlockImpl.updateSuccessorContainer(@NonNull Stmt newStmt) Method parameters in sootup.core.graph with type arguments of type StmtModifier and TypeMethodDescriptionvoidThe list of Stmts must contain only fallsthrough Stmts; A flow manipulating Stmt (BranchingStmt, return, throw) is only allowed at the Tail.voidThe list of Stmts must contain only fallsthrough Stmts; A flow manipulating Stmt (BranchingStmt, return, throw) is only allowed at the Tail.voidcreates a whole BasicBlock which contains the sequence of (n-1)*fallsthrough()-stmt + optional a non-fallsthrough() stmt at the end of the listabstract voidcreates a whole BasicBlock with the details from the parametersabstract voidcreates a whole BasicBlock with the details from the parametersvoidabstract voidinserts a "stmt" with exceptional flows "traps" into the StmtGraphvoidMutableBlockStmtGraph.initializeWith(@NonNull List<List<Stmt>> blocks, @NonNull Map<BranchingStmt, List<Stmt>> successorMap, @NonNull List<Trap> traps) Creates a Graph representation from the 'legacy' representation i.e. a List of Stmts and Traps.voidMutableBlockStmtGraph.initializeWith(@NonNull List<List<Stmt>> blocks, @NonNull Map<BranchingStmt, List<Stmt>> successorMap, @NonNull List<Trap> traps) Creates a Graph representation from the 'legacy' representation i.e. a List of Stmts and Traps.@NonNull BasicBlock<?>MutableBlockStmtGraph.insertAfter(@NonNull Stmt existingStmt, @NonNull List<FallsThroughStmt> stmts, @NonNull Map<ClassType, Stmt> exceptionMap) abstract BasicBlock<?>MutableStmtGraph.insertAfter(@NonNull Stmt afterStmt, @NonNull List<FallsThroughStmt> stmts, @NonNull Map<ClassType, Stmt> exceptionMap) @NonNull BasicBlock<?>MutableBlockStmtGraph.insertBefore(@NonNull Stmt existingStmt, @NonNull List<FallsThroughStmt> stmts, @NonNull Map<ClassType, Stmt> exceptionMap) abstract BasicBlock<?>MutableStmtGraph.insertBefore(@NonNull Stmt beforeStmt, @NonNull List<FallsThroughStmt> stmts, @NonNull Map<ClassType, Stmt> exceptionMap) voidMutableBlockStmtGraph.setEdges(@NonNull BranchingStmt fromStmt, @NonNull List<Stmt> targets) abstract voidMutableStmtGraph.setEdges(@NonNull BranchingStmt from, @NonNull 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 with parameters of type Stmt -
Uses of Stmt in sootup.core.jimple.common
Methods in sootup.core.jimple.common that return StmtModifier and TypeMethodDescription@NonNull StmtTrap.getBeginStmt()@NonNull StmtTrap.getEndStmt()@NonNull StmtTrap.getHandlerStmt()Methods in sootup.core.jimple.common 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.common with parameters 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) @NonNull TrapTrap.withBeginStmt(@NonNull Stmt beginStmt) @NonNull TrapTrap.withEndStmt(@NonNull Stmt endStmt) @NonNull TrapTrap.withHandlerStmt(@NonNull Stmt handlerStmt) Method parameters in sootup.core.jimple.common 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.common with parameters of type Stmt -
Uses of Stmt in sootup.core.jimple.common.stmt
Subinterfaces of Stmt in sootup.core.jimple.common.stmtModifier and TypeInterfaceDescriptioninterfaceInterface for Stmts at which the execution does not necessarily continue with the following Stmt in the Listinterfaceas an equivalent to BranchingStmtinterfaceInterface for Stmts that could invoke a different method which will be executed before the next statement is executedinterfaceAn interface representing a return statement.Classes in sootup.core.jimple.common.stmt that implement StmtModifier and TypeClassDescriptionclassclassfinal classRepresents the assignment of one value to anotherclassUnconditionally jumps to a target Stmtfinal classfinal classIf the condition is true, jumps to the target, otherwise continues to the next stmt.final classA method callfinal classA no-operation statement.final classA statement that ends the method, returning a value.final classA statement that ends the method, returning no value.final classA statement that throws an ExceptionMethods in sootup.core.jimple.common.stmt that return StmtModifier and TypeMethodDescriptionAbstractStmt.withNewUse(@NonNull Value oldUse, @NonNull Value newUse) Use newUse to replace the oldUse in oldStmt.Stmt.withNewUse(@NonNull Value oldUse, @NonNull Value newUse) Methods in sootup.core.jimple.common.stmt that return types with arguments of type StmtModifier and TypeMethodDescriptionBranchingStmt.getTargetStmts(Body body) JGotoStmt.getTargetStmts(@NonNull Body body) JIfStmt.getTargetStmts(@NonNull Body body) -
Uses of Stmt in sootup.core.jimple.javabytecode.stmt
Classes in sootup.core.jimple.javabytecode.stmt that implement StmtModifier and TypeClassDescriptionfinal classfinal classA statement that enters a JVM monitor, thereby synchronizing its following statements.final classA statement that exits a JVM monitor, thereby ending synchronization.final classRepresents the deprecated JVMretstatement (< java 1.6) - which is used in JSR Context - which is deprecated as well.classMethods in sootup.core.jimple.javabytecode.stmt that return types with arguments of type StmtModifier and TypeMethodDescriptionJSwitchStmt.getDefaultTarget(@NonNull 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 TypeMethodDescriptionvoidAbstractStmtVisitor.defaultCaseStmt(@NonNull Stmt stmt) voidReplaceUseStmtVisitor.defaultCaseStmt(@NonNull Stmt stmt) voidStmtVisitor.defaultCaseStmt(Stmt stmt) protected void -
Uses of Stmt in sootup.core.model
Methods in sootup.core.model that return StmtModifier and TypeMethodDescription@NonNull StmtBody.getFirstNonIdentityStmt()Returns the first non-identity stmt in this body.@Nullable StmtBody.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(@NonNull 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. for more detailed information of the underlying CFG - or just parts of it - have a look at getStmtGraph()Methods in sootup.core.model with parameters of type StmtModifier and TypeMethodDescriptionbooleanBody.isStmtBranchTarget(@NonNull Stmt targetStmt) voidBody.BodyBuilder.removeDefLocalsOf(@NonNull 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.labelsbranch targets *LabeledStmtPrinter.referencesfor 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 TypeMethodDescription@NonNull Collection<Stmt>LabeledStmtPrinter.getLabeledStmts(StmtGraph<?> stmtGraph, List<Trap> traps) Returns the result of iterating through all Stmts in this body.LabeledStmtPrinter.getLabels()LabeledStmtPrinter.getReferences()LabeledStmtPrinter.initializeSootMethod(@NonNull StmtGraph<?> stmtGraph) createLabelMapsMethods in sootup.core.util.printer with parameters of type StmtModifier and TypeMethodDescriptionvoidabstract voidvoidabstract voidvoidvoidvoidabstract voidMethod parameters in sootup.core.util.printer with type arguments of type StmtModifier and TypeMethodDescriptionLabeledStmtPrinter.getTrapComparator(@NonNull 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(@NonNull Stmt stmt) Get all live locals after the given stmt.LocalLivenessAnalyser.getLiveLocalsBeforeStmt(@NonNull 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 TypeMethodDescription@Nullable TypeAugEvalFunction.evaluate(@NonNull Typing typing, @NonNull Value value, @NonNull Stmt stmt, @NonNull StmtGraph<?> graph) This method is used to evaluate the type of the given value which the given stmt and body belongs to.TypeChecker.selectArrayType(@Nullable Type preType, @NonNull Type newType, @NonNull Stmt stmt) protected voidvoidThis method is used to check whether a value in a stmt needs a cast.abstract voidvoidConstructors 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(@NonNull Value value) * returns all stmts that use this expr -
Uses of Stmt in sootup.java.core.exceptions
Methods in sootup.java.core.exceptions with parameters of type StmtModifier and TypeMethodDescriptionvoidExceptionInferStmtVisitor.defaultCaseStmt(@NonNull Stmt stmt) StmtExceptionAnalyzer.mightThrow(@NonNull Stmt stmt, @NonNull StmtGraph<? extends BasicBlock<?>> graph) StmtExceptionAnalyzer.mightThrowImplicitly(Stmt stmt)