Class UnarySideEffect
java.lang.Object
com.ibm.wala.fixpoint.AbstractOperator<PointsToSetVariable>
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
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 FixedPointConstants
CHANGED, CHANGED_AND_FIXED, CHANGED_MASK, FIXED_MASK, NOT_CHANGED, NOT_CHANGED_AND_FIXED, SIDE_EFFECT_MASKModifier and TypeFieldDescriptionstatic final byteA return value which indicates that a lhs has changed, and the statement might need to be evaluated again.static final byteA return value which indicates that lhs has changed, and the statement need not be evaluated again.static final intThe bit-mask which defines the "CHANGED" flagstatic final intThe bit-mask which defines the "FIXED" flagstatic final byteA return value which indicates that lhs has not changed, and the statement might need to be evaluated again.static final byteA return value which indicates that lhs has not changed, and the statement need not be evaluated again.static final intThe bit-mask which defines the "SIDE EFFECT" flag -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanabstract bytefinal byteevaluate(PointsToSetVariable lhs, PointsToSetVariable rhs) Evaluate this equation, setting a new value for the left-hand side.inthashCode()protected abstract booleanA "load" operator generates defs of the fixed set.voidUpdate the fixed points-to-set associated with this side effect.Methods inherited from class UnaryOperator
evaluate, isIdentity, makeEquationModifier and TypeMethodDescriptionbyteevaluate(PointsToSetVariable lhs, PointsToSetVariable[] rhs) Evaluate this equation, setting a new value for the left-hand side.booleanCreate an equation which uses this operator Override in subclasses for efficiency.Methods inherited from class AbstractOperator
toString
-
Constructor Details
-
UnarySideEffect
-
-
Method Details
-
evaluate
Description copied from class:UnaryOperatorEvaluate this equation, setting a new value for the left-hand side.- Specified by:
evaluatein classUnaryOperator<PointsToSetVariable>- Returns:
- a constant defined by
FixedPointConstantsthat reflects whether the lhs value changed
-
evaluate
-
equals
- 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
Update the fixed points-to-set associated with this side effect.
-