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 booleanequals(Object o)abstract byteevaluate(PointsToSetVariable rhs)byteevaluate(PointsToSetVariable lhs, PointsToSetVariable rhs)Evaluate this equation, setting a new value for the left-hand side.inthashCode()protected abstract booleanisLoadOperator()A "load" operator generates defs of the fixed set.voidreplaceFixedSet(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:UnaryOperatorEvaluate this equation, setting a new value for the left-hand side.- Specified by:
evaluatein 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:
equalsin classAbstractOperator<PointsToSetVariable>
-
hashCode
public int hashCode()
- Specified by:
hashCodein 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.
-
-