Class PointsToMap
java.lang.Object
com.ibm.wala.ipa.callgraph.propagation.PointsToMap
An object that tracks the mapping between pointer keys and points-to set variables
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintprotected intgetPointsToSet(int id) If p is unified, returns the representative for p.intgetRepresentative(int i) booleanbooleanvoidput(PointerKey key, PointsToSetVariable v) voidrecordImplicit(PointerKey key) record that a particular points-to-set is represented implicitlyvoidrecord points-to-sets that are "roots" of the transitive closure.voidrecordUnified(PointerKey key) record that a particular points-to-set has been unioned with anothervoidWipe out the cached transitive closure informationvoidunify(int i, int j) Unify the points-to-sets for the variables with numbers i and jvoidUnify the points-to-sets for the variables identified by the set s
-
Constructor Details
-
PointsToMap
public PointsToMap()
-
-
Method Details
-
iterateKeys
- Returns:
- iterator of all PointerKeys tracked
-
getPointsToSet
If p is unified, returns the representative for p. -
getPointsToSet
- Returns:
- the
PointsToSetVariablerecorded for a particular id
-
recordImplicit
record that a particular points-to-set is represented implicitly -
put
-
recordUnified
record that a particular points-to-set has been unioned with another -
recordTransitiveRoot
record points-to-sets that are "roots" of the transitive closure. These points-to-sets can't be thrown away for a pre-transitive solver. A "root" is a points-to-set whose contents do not result from flow from other points-to-sets; there points-to-sets are the primordial assignments from which the transitive closure flows. -
isUnified
-
isImplicit
-
getNumberOfPointerKeys
protected int getNumberOfPointerKeys() -
revertToPreTransitive
public void revertToPreTransitive()Wipe out the cached transitive closure information -
getTransitiveRoots
- Returns:
Iterator<PointerKey>
-
unify
Unify the points-to-sets for the variables identified by the set s- Parameters:
s- numbers of points-to-set variables- Throws:
IllegalArgumentException- if s is null
-
unify
public void unify(int i, int j) Unify the points-to-sets for the variables with numbers i and j -
getIndex
- Returns:
- the unique integer that identifies this pointer key
-
getRepresentative
public int getRepresentative(int i)
-