Class ExceptionAnalysis
java.lang.Object
pascal.taie.analysis.pta.plugin.exception.ExceptionAnalysis
- All Implemented Interfaces:
Plugin
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
onFinish()
Invoked when pointer analysis finishes.void
onNewCallEdge
(Edge<CSCallSite, CSMethod> edge) For a new call edge, the exception thrown by the callee method should be propagated to its callers, and thrown by the invoke statement, then we propagate the thrown exceptions accordingly.void
onNewMethod
(JMethod method) For the throw statements in the method, analyzes and records all the exception entries that handle the exceptions thrown by the statements.void
onNewPointsToSet
(CSVar csVar, PointsToSet pts) If the csVar is an exception reference, propagate all the exception it newly throws.void
Establishes the map from all exception references to related throw statements.void
Sets pointer analysis solver which will be used later by the plugin.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface pascal.taie.analysis.pta.plugin.Plugin
onNewCSMethod, onStart, onUnresolvedCall
-
Constructor Details
-
ExceptionAnalysis
public ExceptionAnalysis()
-
-
Method Details
-
setSolver
Description copied from interface:Plugin
Sets pointer analysis solver which will be used later by the plugin. -
onNewMethod
For the throw statements in the method, analyzes and records all the exception entries that handle the exceptions thrown by the statements.- Specified by:
onNewMethod
in interfacePlugin
- Parameters:
method
- the method that the solver meet now
-
onNewStmt
Establishes the map from all exception references to related throw statements. -
onNewPointsToSet
If the csVar is an exception reference, propagate all the exception it newly throws.- Specified by:
onNewPointsToSet
in interfacePlugin
- Parameters:
csVar
- variable pointerpts
- objects added to the csVar points to set
-
onNewCallEdge
For a new call edge, the exception thrown by the callee method should be propagated to its callers, and thrown by the invoke statement, then we propagate the thrown exceptions accordingly.- Specified by:
onNewCallEdge
in interfacePlugin
- Parameters:
edge
- the newly established call edge
-
onFinish
public void onFinish()Description copied from interface:Plugin
Invoked when pointer analysis finishes. Pointer analysis is supposed to have been finished at this stage, thus this call back should NOT modify pointer analysis results.
-