Class PointsToSetVariable
java.lang.Object
com.ibm.wala.util.graph.impl.NodeWithNumber
com.ibm.wala.fixpoint.AbstractVariable<PointsToSetVariable>
com.ibm.wala.fixpoint.IntSetVariable<PointsToSetVariable>
com.ibm.wala.ipa.callgraph.propagation.PointsToSetVariable
- All Implemented Interfaces:
IVariable<PointsToSetVariable>
,INodeWithNumber
Representation of a points-to set during an andersen-style analysis.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final boolean
if set, emits a warning whenever a points-to set grows bigger thanSIZE_THRESHOLD
static MutableMapping
<InstanceKey> used only for paranoid checking.static final boolean
if set, check that all instance keys in a points-to set are consistent with the type of the corresponding pointer keystatic final int
static final boolean
Print names of types of instance keys -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
add
(int b) Set a particular bitboolean
addAll
(PointsToSetVariable other) Add all integers from the other int set variable.boolean
Add all integers from the set Bboolean
void
setPointerKey
(PointerKey pointerKey) Use this with extreme care, to add filters to this variable..toString()
Methods inherited from class com.ibm.wala.fixpoint.IntSetVariable
addAllInIntersection, addAllInIntersection, contains, containsAny, copyState, getValue, remove, removeAll, sameValue, size
Methods inherited from class com.ibm.wala.fixpoint.AbstractVariable
getOrderNumber, hashCode, nextHash, setOrderNumber
Methods inherited from class com.ibm.wala.util.graph.impl.NodeWithNumber
getGraphNodeId, setGraphNodeId
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.ibm.wala.util.graph.INodeWithNumber
getGraphNodeId, setGraphNodeId
-
Field Details
-
CRY_ABOUT_BIG_POINTSTO_SETS
public static final boolean CRY_ABOUT_BIG_POINTSTO_SETSif set, emits a warning whenever a points-to set grows bigger thanSIZE_THRESHOLD
- See Also:
-
SIZE_THRESHOLD
public static final int SIZE_THRESHOLD- See Also:
-
PARANOID
public static final boolean PARANOIDif set, check that all instance keys in a points-to set are consistent with the type of the corresponding pointer key- See Also:
-
VERBOSE_PRINT
public static final boolean VERBOSE_PRINTPrint names of types of instance keys- See Also:
-
instanceKeys
used only for paranoid checking. a bit ugly, but avoids adding an instance field just for debugging
-
-
Constructor Details
-
PointsToSetVariable
-
-
Method Details
-
getPointerKey
-
equals
- Overrides:
equals
in classAbstractVariable<PointsToSetVariable>
-
add
public boolean add(int b) Description copied from class:IntSetVariable
Set a particular bit- Overrides:
add
in classIntSetVariable<PointsToSetVariable>
- Parameters:
b
- the bit to set
-
addAll
Description copied from class:IntSetVariable
Add all integers from the set B- Overrides:
addAll
in classIntSetVariable<PointsToSetVariable>
- Returns:
- true iff the value of this changes
-
addAll
Description copied from class:IntSetVariable
Add all integers from the other int set variable.- Overrides:
addAll
in classIntSetVariable<PointsToSetVariable>
- Returns:
- true iff the contents of this variable changes.
-
setPointerKey
Use this with extreme care, to add filters to this variable..- Parameters:
pointerKey
- The pointerKey to set.
-
toString
- Overrides:
toString
in classIntSetVariable<PointsToSetVariable>
-