Class AnalysisModelPlugin
java.lang.Object
pascal.taie.analysis.pta.plugin.util.SolverHolder
pascal.taie.analysis.pta.plugin.util.AnalysisModelPlugin
- All Implemented Interfaces:
Plugin
- Direct Known Subclasses:
LookupModel
,MethodTypeModel
,OthersModel
,ReflectiveActionModel
,SolarModel
,StringBasedModel
Provides common functionalities for implementing the plugins which
model the APIs by analyzing their semantics.
The invoke handler method (annotated by
InvokeHandler
)
should follow such declaration:
public void name(Context,Invoke,(PointsToSet,)+)- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionFields inherited from class pascal.taie.analysis.pta.plugin.util.SolverHolder
csManager, emptyContext, heapModel, hierarchy, selector, solver, typeSystem
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
onNewPointsToSet
(CSVar csVar, PointsToSet pts) Invoked when set of new objects flow to a context-sensitive variable.void
Invoked when a new reachable stmt is discovered.protected void
registerHandler
(InvokeHandler invokeHandler, Method handler) protected void
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
onFinish, onNewCallEdge, onNewCSMethod, onNewMethod, onPhaseFinish, onStart, onUnresolvedCall, setSolver
-
Field Details
-
handlers
-
relevantVarIndexes
-
relevantVars
-
-
Constructor Details
-
AnalysisModelPlugin
-
-
Method Details
-
registerHandler
-
onNewStmt
Description copied from interface:Plugin
Invoked when a new reachable stmt is discovered.- Parameters:
stmt
- new reachable stmtcontainer
- container method ofstmt
-
onNewPointsToSet
Description copied from interface:Plugin
Invoked when set of new objects flow to a context-sensitive variable.- Parameters:
csVar
- variable whose points-to set changespts
- set of new objects
-
registerHandlers
protected void registerHandlers()
-