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 com.ibm.wala.fixpoint.FixedPointConstants
CHANGED, CHANGED_AND_FIXED, CHANGED_MASK, FIXED_MASK, NOT_CHANGED, NOT_CHANGED_AND_FIXED, SIDE_EFFECT_MASK
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract byte
Evaluate this equation, setting a new value for the left-hand side.byte
Evaluate this equation, setting a new value for the left-hand side.boolean
makeEquation
(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
-
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
FixedPointConstants
that 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:AbstractOperator
Evaluate this equation, setting a new value for the left-hand side.- Specified by:
evaluate
in 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
-