Class OthersModel
java.lang.Object
pascal.taie.analysis.pta.plugin.util.SolverHolder
pascal.taie.analysis.pta.plugin.util.AnalysisModelPlugin
pascal.taie.analysis.pta.plugin.reflection.OthersModel
- All Implemented Interfaces:
Plugin
Models other non-core reflection APIs.
-
Field Summary
Fields inherited from class pascal.taie.analysis.pta.plugin.util.AnalysisModelPlugin
handlers, relevantVarIndexes, relevantVars
Fields inherited from class pascal.taie.analysis.pta.plugin.util.SolverHolder
csManager, emptyContext, heapModel, hierarchy, selector, solver, typeSystem
-
Constructor Summary
ConstructorDescriptionOthersModel
(Solver solver, pascal.taie.analysis.pta.plugin.reflection.MetaObjHelper helper) -
Method Summary
Modifier and TypeMethodDescriptionvoid
getAnnotation
(Context context, Invoke invoke, PointsToSet baseClasses, PointsToSet annoClasses) void
getClass
(Context context, Invoke invoke, PointsToSet recvObjs) void
getParameterAnnotations
(Context context, Invoke invoke, PointsToSet mtdObjs) void
getPrimitiveClass
(Context context, Invoke invoke, PointsToSet nameObjs) protected void
Methods inherited from class pascal.taie.analysis.pta.plugin.util.AnalysisModelPlugin
onNewPointsToSet, onNewStmt, registerHandler
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
-
Constructor Details
-
OthersModel
-
-
Method Details
-
getClass
@InvokeHandler(signature="<java.lang.Object: java.lang.Class getClass()>", argIndexes=-1) public void getClass(Context context, Invoke invoke, PointsToSet recvObjs) -
getPrimitiveClass
@InvokeHandler(signature="<java.lang.Class: java.lang.Class getPrimitiveClass(java.lang.String)>", argIndexes=0) public void getPrimitiveClass(Context context, Invoke invoke, PointsToSet nameObjs) -
getAnnotation
@InvokeHandler(signature="<java.lang.Class: java.lang.annotation.Annotation getAnnotation(java.lang.Class)>", argIndexes={-1,0}) public void getAnnotation(Context context, Invoke invoke, PointsToSet baseClasses, PointsToSet annoClasses) -
getParameterAnnotations
@InvokeHandler(signature="<java.lang.reflect.Method: java.lang.annotation.Annotation[][] getParameterAnnotations()>", argIndexes=-1) public void getParameterAnnotations(Context context, Invoke invoke, PointsToSet mtdObjs) -
registerHandlers
protected void registerHandlers()
-