Package pascal.taie.analysis.pta
Class PointerAnalysisResultImpl
java.lang.Object
pascal.taie.util.AbstractResultHolder
pascal.taie.analysis.pta.PointerAnalysisResultImpl
- All Implemented Interfaces:
PointerAnalysisResult
,ResultHolder
public class PointerAnalysisResultImpl
extends AbstractResultHolder
implements PointerAnalysisResult
-
Constructor Summary
ConstructorDescriptionPointerAnalysisResultImpl
(PropagateTypes propTypes, CSManager csManager, Indexer<Obj> objIndexer, CallGraph<CSCallSite, CSMethod> csCallGraph, PointerFlowGraph pfg) -
Method Summary
Modifier and TypeMethodDescriptiongetPointsToSet
(Obj array) getPointsToSet
(Obj base, JField field) getPointsToSet
(ArrayAccess access) getPointsToSet
(InstanceFieldAccess access) getPointsToSet
(StaticFieldAccess access) getPointsToSet
(Var var) getPointsToSet
(Var base, Var index) getPointsToSet
(Var base, JField field) getPointsToSet
(JField field) getVars()
boolean
mayAlias
(ArrayAccess a1, ArrayAccess a2) boolean
mayAlias
(InstanceFieldAccess if1, InstanceFieldAccess if2) boolean
Methods inherited from class pascal.taie.util.AbstractResultHolder
clearAll, clearResult, getKeys, getResult, getResult, getResult, hasResult, storeResult
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.PointerAnalysisResult
getPointsToSet
Methods inherited from interface pascal.taie.util.ResultHolder
clearAll, clearResult, getKeys, getResult, getResult, getResult, hasResult, storeResult
-
Constructor Details
-
PointerAnalysisResultImpl
public PointerAnalysisResultImpl(PropagateTypes propTypes, CSManager csManager, Indexer<Obj> objIndexer, CallGraph<CSCallSite, CSMethod> csCallGraph, PointerFlowGraph pfg)
-
-
Method Details
-
getCSVars
- Specified by:
getCSVars
in interfacePointerAnalysisResult
- Returns:
- all reachable context-sensitive variables in the program.
-
getVars
- Specified by:
getVars
in interfacePointerAnalysisResult
- Returns:
- all reachable variables in the program.
-
getInstanceFields
- Specified by:
getInstanceFields
in interfacePointerAnalysisResult
- Returns:
- all reachable instance fields in the program.
-
getArrayIndexes
- Specified by:
getArrayIndexes
in interfacePointerAnalysisResult
- Returns:
- all reachable array indexes in the program.
-
getStaticFields
- Specified by:
getStaticFields
in interfacePointerAnalysisResult
- Returns:
- all reachable static fields in the program.
-
getCSObjects
- Specified by:
getCSObjects
in interfacePointerAnalysisResult
- Returns:
- all reachable context-sensitive objects in the program.
-
getObjects
- Specified by:
getObjects
in interfacePointerAnalysisResult
- Returns:
- all reachable objects in the program.
-
getObjectIndexer
- Specified by:
getObjectIndexer
in interfacePointerAnalysisResult
- Returns:
- indexer for Obj in the program.
-
getPointsToSet
- Specified by:
getPointsToSet
in interfacePointerAnalysisResult
- Returns:
- set of Obj pointed to by var.
-
getPointsToSet
- Specified by:
getPointsToSet
in interfacePointerAnalysisResult
- Returns:
- set of Obj pointed to by given instance field access, e.g., o.f.
-
getPointsToSet
- Specified by:
getPointsToSet
in interfacePointerAnalysisResult
- Returns:
- set of Obj pointed to by base.field.
-
getPointsToSet
- Specified by:
getPointsToSet
in interfacePointerAnalysisResult
- Returns:
- set of Obj pointed to by in given base.field.
-
getPointsToSet
- Specified by:
getPointsToSet
in interfacePointerAnalysisResult
- Returns:
- set of Obj pointed to by given static field access, e.g., T.f.
-
getPointsToSet
- Specified by:
getPointsToSet
in interfacePointerAnalysisResult
- Returns:
- points-to set of given field. The field is supposed to be static.
-
getPointsToSet
- Specified by:
getPointsToSet
in interfacePointerAnalysisResult
- Returns:
- set of Obj pointed to by given array access, e.g., a[i].
-
getPointsToSet
- Specified by:
getPointsToSet
in interfacePointerAnalysisResult
- Returns:
- points-to set of given array index. The base is supposed to be of array type; parameter index is unused.
-
getPointsToSet
- Specified by:
getPointsToSet
in interfacePointerAnalysisResult
- Returns:
- set of Obj pointed to by given array.
-
mayAlias
- Specified by:
mayAlias
in interfacePointerAnalysisResult
- Returns:
true
if two variables may be aliases.
-
mayAlias
- Specified by:
mayAlias
in interfacePointerAnalysisResult
- Returns:
true
if two instance field accesses may be aliases.
-
mayAlias
- Specified by:
mayAlias
in interfacePointerAnalysisResult
- Returns:
true
if two array accesses may be aliases.
-
getCSCallGraph
- Specified by:
getCSCallGraph
in interfacePointerAnalysisResult
- Returns:
- the resulting context-sensitive call graph.
-
getCallGraph
- Specified by:
getCallGraph
in interfacePointerAnalysisResult
- Returns:
- the resulting call graph (without contexts).
-
getObjectFlowGraph
- Specified by:
getObjectFlowGraph
in interfacePointerAnalysisResult
- Returns:
- the resulting object flow graph.
-