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
-
Method Summary
Modifier and TypeMethodDescriptionint
protected int
getPointsToSet
(int id) If p is unified, returns the representative for p.int
getRepresentative
(int i) boolean
boolean
void
put
(PointerKey key, PointsToSetVariable v) void
recordImplicit
(PointerKey key) record that a particular points-to-set is represented implicitlyvoid
record points-to-sets that are "roots" of the transitive closure.void
recordUnified
(PointerKey key) record that a particular points-to-set has been unioned with anothervoid
Wipe out the cached transitive closure informationvoid
unify
(int i, int j) Unify the points-to-sets for the variables with numbers i and jvoid
Unify 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
PointsToSetVariable
recorded 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)
-