Package com.ibm.wala.fixpoint
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,TrueOperator,UnaryBitVectorUnion,UnaryOr
public abstract class UnaryOperator<T extends IVariable<T>> extends AbstractOperator<T>
An operator of the form lhs = op (rhs)
-
-
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 UnaryOperator()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract byteevaluate(@Nullable T lhs, T rhs)Evaluate this equation, setting a new value for the left-hand side.byteevaluate(T lhs, T[] rhs)Evaluate this equation, setting a new value for the left-hand side.booleanisIdentity()UnaryStatement<T>makeEquation(@Nullable T lhs, T rhs)Create an equation which uses this operator Override in subclasses for efficiency.-
Methods inherited from class com.ibm.wala.fixpoint.AbstractOperator
equals, hashCode, toString
-
-
-
-
Method Detail
-
evaluate
public abstract byte evaluate(@Nullable T lhs, T rhs)
Evaluate this equation, setting a new value for the left-hand side.- Returns:
- true if the lhs value changes. false otherwise.
-
makeEquation
public UnaryStatement<T> makeEquation(@Nullable T lhs, T rhs)
Create an equation which uses this operator Override in subclasses for efficiency.
-
isIdentity
public boolean isIdentity()
-
evaluate
public byte evaluate(T lhs, T[] rhs) throws UnimplementedError
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
-
-