Package sootup.spark
Class MethodPAGStmtVisitor
java.lang.Object
sootup.core.jimple.visitor.AbstractStmtVisitor
sootup.spark.MethodPAGStmtVisitor
- All Implemented Interfaces:
StmtVisitor,Visitor
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordBag of OTF-only collaborators; null in CHA mode.static final recordCaptured invoke site whose targets are decided by the OTF builder via points-to. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcaseAssignStmt(JAssignStmt stmt) voidcaseInvokeStmt(JInvokeStmt stmt) At each call site, assignment edges are added from the nodes representing the actual arguments to the nodes representing the corresponding parameters of all methods that may be targets of the call site, and an assignment edge is added from the return node of each of these methods to the node for the variable that receives the return value (if any) at the call site.voidinstallCallEdges(AbstractInvokeExpr expr, Optional<Value> lhs, MethodSignature targetMethodSig) Installs the receiver/parameter/return PAG edges connecting one call site to one resolved target method.Methods inherited from class sootup.core.jimple.visitor.AbstractStmtVisitor
caseBreakpointStmt, caseEnterMonitorStmt, caseExitMonitorStmt, caseGotoStmt, caseIdentityStmt, caseIfStmt, caseNopStmt, caseRetStmt, caseReturnStmt, caseReturnVoidStmt, caseSwitchStmt, caseThrowStmt, defaultCaseStmt
-
Constructor Details
-
MethodPAGStmtVisitor
public MethodPAGStmtVisitor()
-
-
Method Details
-
caseAssignStmt
- Specified by:
caseAssignStmtin interfaceStmtVisitor- Overrides:
caseAssignStmtin classAbstractStmtVisitor
-
caseInvokeStmt
At each call site, assignment edges are added from the nodes representing the actual arguments to the nodes representing the corresponding parameters of all methods that may be targets of the call site, and an assignment edge is added from the return node of each of these methods to the node for the variable that receives the return value (if any) at the call site.- Specified by:
caseInvokeStmtin interfaceStmtVisitor- Overrides:
caseInvokeStmtin classAbstractStmtVisitor
-
installCallEdges
public void installCallEdges(AbstractInvokeExpr expr, Optional<Value> lhs, MethodSignature targetMethodSig) Installs the receiver/parameter/return PAG edges connecting one call site to one resolved target method. Public so the OTF driver can invoke it after virtual dispatch resolves a new target on a previously-deferred call site.
-