Class UnaryStatement<T extends IVariable<T>>
java.lang.Object
com.ibm.wala.util.graph.impl.NodeWithNumber
com.ibm.wala.fixpoint.AbstractStatement<T,UnaryOperator<T>>
com.ibm.wala.fixpoint.UnaryStatement<T>
- All Implemented Interfaces:
IFixedPointStatement<T>
,INodeWithNumber
- Direct Known Subclasses:
AssignEquation
,BasicUnaryStatement
public abstract class UnaryStatement<T extends IVariable<T>>
extends AbstractStatement<T,UnaryOperator<T>>
Represents a single step, restricted to a unary operator.
-
Field Summary
-
Constructor Summary
ModifierConstructorDescriptionprotected
UnaryStatement
(T lhs, T rhs) Constructor for case of one operand on the right-hand side. -
Method Summary
Modifier and TypeMethodDescriptionboolean
byte
evaluate()
Evaluate this equation, setting a new value for the left-hand side.@Nullable T
getLHS()
Return the left-hand side of this equation.Return the operands in this equation.T[]
getRHS()
returns the list of free variables appearing in the right-hand side of the statementint
hashCode()
Subclasses must implement this, to prevent non-determinism.boolean
hasVariable
(T cell) Does this equation contain an appearance of a given cell?toString()
Return a string representation of this objectMethods inherited from class com.ibm.wala.fixpoint.AbstractStatement
getOperator, getOrderNumber
Methods inherited from class com.ibm.wala.util.graph.impl.NodeWithNumber
getGraphNodeId, setGraphNodeId
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.ibm.wala.util.graph.INodeWithNumber
getGraphNodeId, setGraphNodeId
-
Field Details
-
lhs
-
rhs
-
-
Constructor Details
-
UnaryStatement
-
-
Method Details
-
evaluate
public byte evaluate()Evaluate this equation, setting a new value for the left-hand side.- Returns:
- true if the lhs value changed. false otherwise
-
getLHS
Return the left-hand side of this equation.- Returns:
- the lattice cell this equation computes
-
getRightHandSide
- Returns:
- the right-hand side of this equation.
-
getOperands
-
hasVariable
Does this equation contain an appearance of a given cell?- Parameters:
cell
- the cell in question- Returns:
- true or false
-
toString
Return a string representation of this object- Overrides:
toString
in classAbstractStatement<T extends IVariable<T>,
UnaryOperator<T extends IVariable<T>>> - Returns:
- a string representation of this object
-
equals
- Specified by:
equals
in classAbstractStatement<T extends IVariable<T>,
UnaryOperator<T extends IVariable<T>>>
-
hashCode
public int hashCode()Description copied from class:AbstractStatement
Subclasses must implement this, to prevent non-determinism.- Specified by:
hashCode
in classAbstractStatement<T extends IVariable<T>,
UnaryOperator<T extends IVariable<T>>>
-
getRHS
Description copied from interface:IFixedPointStatement
returns the list of free variables appearing in the right-hand side of the statement- Throws:
UnsupportedOperationException
-