Uses of Interface
pascal.taie.analysis.pta.pts.PointsToSet
Package
Description
Provides the classes to represent and manage context-sensitive elements
used in pointer analysis, including context-sensitive pointers, objects,
call sites, and methods.
Provide data structures and algorithms of context-sensitive
pointer analysis solver.
Provide plugin interface of pointer analysis and
some instances (implementations).
Implementation of various points-to sets used in pointer analysis.
-
Uses of PointsToSet in pascal.taie.analysis.pta.core.cs.element
Modifier and TypeMethodDescriptionPointer.getPointsToSet()
Retrieves the points-to set associated with this pointer.Modifier and TypeMethodDescriptionvoid
Pointer.setPointsToSet
(PointsToSet pointsToSet) Sets the associated points-to set of this pointer. -
Uses of PointsToSet in pascal.taie.analysis.pta.core.solver
Modifier and TypeMethodDescriptionIdentity.apply
(PointerFlowEdge edge, PointsToSet input) Transfer.apply
(PointerFlowEdge edge, PointsToSet input) Transfer function on a pointer flow edge.TypeFilter.apply
(PointerFlowEdge edge, PointsToSet input) DefaultSolver.getPointsToSetOf
(Pointer pointer) Solver.getPointsToSetOf
(Pointer pointer) Returns the points-to set of given pointer.DefaultSolver.makePointsToSet()
Solver.makePointsToSet()
Creates a new empty points-to set.Modifier and TypeMethodDescriptionvoid
DefaultSolver.addPointsTo
(Pointer pointer, PointsToSet pts) void
Solver.addPointsTo
(Pointer pointer, PointsToSet pts) void
DefaultSolver.addVarPointsTo
(Context context, Var var, PointsToSet pts) void
Solver.addVarPointsTo
(Context context, Var var, PointsToSet pts) Identity.apply
(PointerFlowEdge edge, PointsToSet input) Transfer.apply
(PointerFlowEdge edge, PointsToSet input) Transfer function on a pointer flow edge.TypeFilter.apply
(PointerFlowEdge edge, PointsToSet input) -
Uses of PointsToSet in pascal.taie.analysis.pta.plugin
Modifier and TypeMethodDescriptionvoid
CompositePlugin.onNewPointsToSet
(CSVar csVar, PointsToSet pts) void
ConstraintChecker.onNewPointsToSet
(CSVar csVar, PointsToSet pts) default void
Plugin.onNewPointsToSet
(CSVar csVar, PointsToSet pts) Invoked when set of new objects flow to a context-sensitive variable.void
Profiler.onNewPointsToSet
(CSVar csVar, PointsToSet pts) void
ThreadHandler.onNewPointsToSet
(CSVar csVar, PointsToSet pts) -
Uses of PointsToSet in pascal.taie.analysis.pta.plugin.exception
Modifier and TypeMethodDescriptionvoid
ExceptionAnalysis.onNewPointsToSet
(CSVar csVar, PointsToSet pts) If the csVar is an exception reference, propagate all the exception it newly throws. -
Uses of PointsToSet in pascal.taie.analysis.pta.plugin.invokedynamic
Modifier and TypeMethodDescriptionvoid
LookupModel.findConstructor
(Context context, Invoke invoke, PointsToSet clsObjs) void
LookupModel.findStatic
(Context context, Invoke invoke, PointsToSet clsObjs, PointsToSet nameObjs) void
LookupModel.findVirtual
(Context context, Invoke invoke, PointsToSet clsObjs, PointsToSet nameObjs) void
MethodTypeModel.methodType1Class
(Context context, Invoke invoke, PointsToSet clsObjs) void
MethodTypeModel.methodType2Classes
(Context context, Invoke invoke, PointsToSet retObjs, PointsToSet paramObjs) void
MethodTypeModel.methodTypeClassMT
(Context context, Invoke invoke, PointsToSet retObjs, PointsToSet mtObjs) void
InvokeDynamicAnalysis.onNewPointsToSet
(CSVar csVar, PointsToSet pts) void
LambdaAnalysis.onNewPointsToSet
(CSVar csVar, PointsToSet pts) -
Uses of PointsToSet in pascal.taie.analysis.pta.plugin.reflection
Modifier and TypeMethodDescriptionvoid
ReflectiveActionModel.arrayNewInstance
(Context context, Invoke invoke, PointsToSet pts) void
SolarModel.classForName
(Context context, Invoke invoke, PointsToSet nameObjs) void
StringBasedModel.classForName
(Context context, Invoke invoke, PointsToSet nameObjs) void
SolarModel.classGetConstructor
(Context context, Invoke invoke, PointsToSet classObjs) void
StringBasedModel.classGetConstructor
(Context context, Invoke invoke, PointsToSet classObjs) void
SolarModel.classGetMethod
(Context context, Invoke invoke, PointsToSet classObjs, PointsToSet nameObjs) void
StringBasedModel.classGetMethod
(Context context, Invoke invoke, PointsToSet classObjs, PointsToSet nameObjs) void
SolarModel.classGetMethods
(Context context, Invoke invoke, PointsToSet classObjs) void
ReflectiveActionModel.classNewInstance
(Context context, Invoke invoke, PointsToSet classes) void
SolarModel.classNewInstance
(Context context, Invoke invoke, PointsToSet classObjs) void
SolarModel.collectUnsoundArrayNewInstance
(Context __, Invoke invoke, PointsToSet classObjs) void
ReflectiveActionModel.constructorNewInstance
(Context context, Invoke invoke, PointsToSet constructors) void
ReflectiveActionModel.fieldGet
(Context context, Invoke invoke, PointsToSet fldObjs, PointsToSet baseObjs) void
ReflectiveActionModel.fieldSet
(Context context, Invoke invoke, PointsToSet fldObjs, PointsToSet baseObjs) void
OthersModel.getAnnotation
(Context context, Invoke invoke, PointsToSet baseClasses, PointsToSet annoClasses) void
OthersModel.getClass
(Context context, Invoke invoke, PointsToSet recvObjs) void
OthersModel.getParameterAnnotations
(Context context, Invoke invoke, PointsToSet mtdObjs) void
OthersModel.getPrimitiveClass
(Context context, Invoke invoke, PointsToSet nameObjs) void
ReflectiveActionModel.methodInvoke
(Context context, Invoke invoke, PointsToSet mtdObjs, PointsToSet recvObjs) void
SolarModel.methodInvoke
(Context context, Invoke invoke, PointsToSet mtdObjs, PointsToSet recvObjs) void
ReflectiveActionModel.onNewPointsToSet
(CSVar csVar, PointsToSet pts) void
SolarModel.onNewPointsToSet
(CSVar csVar, PointsToSet pts) -
Uses of PointsToSet in pascal.taie.analysis.pta.plugin.util
Modifier and TypeFieldDescriptionprotected final Map<JMethod,
TriConsumer<CSVar, PointsToSet, Invoke>> AbstractModel.handlers
Deprecated.Modifier and TypeMethodDescriptionprotected List<PointsToSet>
AbstractModel.getArgs
(CSVar csVar, PointsToSet pts, Invoke invoke, int... indexes) Deprecated.For invocation r = v.foo(a0, a1, ..., an); when points-to set of v or any ai (0 ≤ i ≤ n) changes, this convenient method returns points-to sets relevant arguments.Modifier and TypeMethodDescriptionprotected List<PointsToSet>
AbstractModel.getArgs
(CSVar csVar, PointsToSet pts, Invoke invoke, int... indexes) Deprecated.For invocation r = v.foo(a0, a1, ..., an); when points-to set of v or any ai (0 ≤ i ≤ n) changes, this convenient method returns points-to sets relevant arguments.void
AbstractModel.handleNewPointsToSet
(CSVar csVar, PointsToSet pts) Deprecated.void
Model.handleNewPointsToSet
(CSVar csVar, PointsToSet pts) Deprecated.void
AnalysisModelPlugin.onNewPointsToSet
(CSVar csVar, PointsToSet pts) Modifier and TypeMethodDescriptionprotected void
AbstractModel.registerAPIHandler
(JMethod api, TriConsumer<CSVar, PointsToSet, Invoke> handler) Deprecated. -
Uses of PointsToSet in pascal.taie.analysis.pta.pts
Modifier and TypeMethodDescriptionPointsToSet.addAllDiff
(PointsToSet pts) Adds all objects in given pts to this set.PointsToSetFactory.make()
Convenient method for making one-element points-to set.Modifier and TypeMethodDescriptionboolean
PointsToSet.addAll
(PointsToSet pts) Adds all objects in given pts to this set.PointsToSet.addAllDiff
(PointsToSet pts) Adds all objects in given pts to this set.