Class UnaryOperator<T extends IVariable<T>>
java.lang.Object
com.ibm.wala.fixpoint.AbstractOperator<T>
com.ibm.wala.fixpoint.UnaryOperator<T>
- All Implemented Interfaces:
FixedPointConstants
- Direct Known Subclasses:
BitVectorFilter, BitVectorIdentity, BitVectorKillAll, BitVectorKillGen, BitVectorMinusVector, BitVectorOr, BitVectorUnionConstant, BitVectorUnionVector, BooleanIdentity, OperatorUtil.UnaryOperatorSequence, PrefixTransferFunction, PropagationCallGraphBuilder.FilterOperator, PropagationCallGraphBuilder.InstanceArrayStoreOperator, PropagationCallGraphBuilder.InstancePutFieldOperator, TrueOperator, UnaryBitVectorUnion, UnaryOr, UnarySideEffect
An operator of the form lhs = op (rhs)
-
Field Summary
Fields inherited from interface FixedPointConstants
CHANGED, CHANGED_AND_FIXED, CHANGED_MASK, FIXED_MASK, NOT_CHANGED, NOT_CHANGED_AND_FIXED, SIDE_EFFECT_MASK -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract byteEvaluate this equation, setting a new value for the left-hand side.byteEvaluate this equation, setting a new value for the left-hand side.booleanmakeEquation(T lhs, T rhs) Create an equation which uses this operator Override in subclasses for efficiency.Methods inherited from class AbstractOperator
equals, hashCode, toString
-
Constructor Details
-
UnaryOperator
public UnaryOperator()
-
-
Method Details
-
evaluate
Evaluate this equation, setting a new value for the left-hand side.- Returns:
- a constant defined by
FixedPointConstantsthat reflects whether the lhs value changed
-
makeEquation
Create an equation which uses this operator Override in subclasses for efficiency. -
isIdentity
public boolean isIdentity() -
evaluate
Description copied from class:AbstractOperatorEvaluate this equation, setting a new value for the left-hand side.- Specified by:
evaluatein classAbstractOperator<T extends IVariable<T>>- Returns:
- a code that indicates: 1) has the lhs value changed? 2) has this equation reached a fixed-point, in that we never have to evaluate the equation again, even if rhs operands change?
- Throws:
UnimplementedError
-