Class UnarySideEffect
- java.lang.Object
-
- com.ibm.wala.fixpoint.AbstractOperator<T>
-
- com.ibm.wala.fixpoint.UnaryOperator<PointsToSetVariable>
-
- com.ibm.wala.ipa.callgraph.propagation.UnarySideEffect
-
- All Implemented Interfaces:
FixedPointConstants
- Direct Known Subclasses:
PropagationCallGraphBuilder.ArrayLoadOperator
,PropagationCallGraphBuilder.ArrayStoreOperator
,PropagationCallGraphBuilder.GetFieldOperator
,PropagationCallGraphBuilder.PutFieldOperator
public abstract class UnarySideEffect extends UnaryOperator<PointsToSetVariable>
A SideEffect is a constraint which carries a points-to-set which is def'fed or used in created constraints. The side effect doesn't actually def or use the fixedSet itself ... rather, the side effect creates new constraints that def or use the fixed set. A "load" operator generates defs of the fixed set. A "store" operator generates uses of the fixed set.
-
-
Field Summary
-
Fields inherited from interface com.ibm.wala.fixpoint.FixedPointConstants
CHANGED, CHANGED_AND_FIXED, CHANGED_MASK, FIXED_MASK, NOT_CHANGED, NOT_CHANGED_AND_FIXED, SIDE_EFFECT_MASK
-
-
Constructor Summary
Constructors Constructor Description UnarySideEffect(PointsToSetVariable fixedSet)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
abstract byte
evaluate(PointsToSetVariable rhs)
byte
evaluate(PointsToSetVariable lhs, PointsToSetVariable rhs)
Evaluate this equation, setting a new value for the left-hand side.int
hashCode()
protected abstract boolean
isLoadOperator()
A "load" operator generates defs of the fixed set.void
replaceFixedSet(PointsToSetVariable p)
Update the fixed points-to-set associated with this side effect.-
Methods inherited from class com.ibm.wala.fixpoint.UnaryOperator
evaluate, isIdentity, makeEquation
-
Methods inherited from class com.ibm.wala.fixpoint.AbstractOperator
toString
-
-
-
-
Constructor Detail
-
UnarySideEffect
public UnarySideEffect(PointsToSetVariable fixedSet)
-
-
Method Detail
-
evaluate
public final byte evaluate(PointsToSetVariable lhs, PointsToSetVariable rhs)
Description copied from class:UnaryOperator
Evaluate this equation, setting a new value for the left-hand side.- Specified by:
evaluate
in classUnaryOperator<PointsToSetVariable>
- Returns:
- true if the lhs value changes. false otherwise.
-
evaluate
public abstract byte evaluate(PointsToSetVariable rhs)
-
equals
public boolean equals(Object o)
- Specified by:
equals
in classAbstractOperator<PointsToSetVariable>
-
hashCode
public int hashCode()
- Specified by:
hashCode
in classAbstractOperator<PointsToSetVariable>
-
isLoadOperator
protected abstract boolean isLoadOperator()
A "load" operator generates defs of the fixed set. A "store" operator generates uses of the fixed set.
-
replaceFixedSet
public void replaceFixedSet(PointsToSetVariable p)
Update the fixed points-to-set associated with this side effect.
-
-