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
FieldsModifier and TypeFieldDescriptionstatic final booleanif set, emits a warning whenever a points-to set grows bigger thanSIZE_THRESHOLDstatic MutableMapping<InstanceKey> used only for paranoid checking.static final booleanif set, check that all instance keys in a points-to set are consistent with the type of the corresponding pointer keystatic final intstatic final booleanPrint names of types of instance keys -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanadd(int b) Set a particular bitbooleanaddAll(PointsToSetVariable other) Add all integers from the other int set variable.booleanAdd all integers from the set BbooleanvoidsetPointerKey(PointerKey pointerKey) Use this with extreme care, to add filters to this variable..toString()Methods inherited from class IntSetVariable
addAllInIntersection, addAllInIntersection, contains, containsAny, copyState, getValue, remove, removeAll, sameValue, sizeModifier and TypeMethodDescriptionbooleanaddAllInIntersection(IntSet other, IntSet filter) booleanaddAllInIntersection(PointsToSetVariable other, IntSet filter) booleancontains(int b) Is a particular bit set?booleancontainsAny(IntSet instances) voidcopyState(PointsToSetVariable other) Set this variable to have the same state as another onegetValue()voidremove(int i) voidbooleansameValue(IntSetVariable other) intsize()Methods inherited from class AbstractVariable
getOrderNumber, hashCode, nextHash, setOrderNumberModifier and TypeMethodDescriptionintVariables must allow the solver implementation to get/set an order number, which the solver uses to control evaluation order.final inthashCode()static intnextHash()I know this is theoretically bad.voidsetOrderNumber(int orderNumber) Variables must allow the solver implementation to get/set an order number, which the solver uses to control evaluation order.Methods inherited from class NodeWithNumber
getGraphNodeId, setGraphNodeIdModifier and TypeMethodDescriptionintA non-negative integer which serves as an identifier for this node in it's "dominant" graph.voidsetGraphNodeId(int i)
-
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:
equalsin classAbstractVariable<PointsToSetVariable>
-
add
public boolean add(int b) Description copied from class:IntSetVariableSet a particular bit- Overrides:
addin classIntSetVariable<PointsToSetVariable>- Parameters:
b- the bit to set
-
addAll
Description copied from class:IntSetVariableAdd all integers from the set B- Overrides:
addAllin classIntSetVariable<PointsToSetVariable>- Returns:
- true iff the value of this changes
-
addAll
Description copied from class:IntSetVariableAdd all integers from the other int set variable.- Overrides:
addAllin 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:
toStringin classIntSetVariable<PointsToSetVariable>
-