Package com.ibm.wala.fixpoint
Class UnaryStatement<T extends IVariable>
- 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> extends AbstractStatement<T,UnaryOperator<T>>
Represents a single step, restricted to a unary operator.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
UnaryStatement(T lhs, T rhs)
Constructor for case of one operand on the right-hand side.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
byte
evaluate()
Evaluate this equation, setting a new value for the left-hand side.T
getLHS()
Return the left-hand side of this equation.IVariable[]
getOperands()
Return the operands in this equation.T[]
getRHS()
returns the list of free variables appearing in the right-hand side of the statementT
getRightHandSide()
int
hashCode()
Subclasses must implement this, to prevent non-determinism.boolean
hasVariable(T cell)
Does this equation contain an appearance of a given cell?String
toString()
Return a string representation of this object-
Methods 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
-
-
-
-
Method Detail
-
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
public T getLHS()
Return the left-hand side of this equation.- Returns:
- the lattice cell this equation computes
-
getRightHandSide
public T getRightHandSide()
- Returns:
- the right-hand side of this equation.
-
getOperands
public IVariable[] getOperands()
Return the operands in this equation.
-
hasVariable
public boolean hasVariable(T cell)
Does this equation contain an appearance of a given cell?- Parameters:
cell
- the cell in question- Returns:
- true or false
-
toString
public String toString()
Return a string representation of this object- Overrides:
toString
in classAbstractStatement<T extends IVariable,UnaryOperator<T extends IVariable>>
- Returns:
- a string representation of this object
-
equals
public boolean equals(Object o)
- Specified by:
equals
in classAbstractStatement<T extends IVariable,UnaryOperator<T extends IVariable>>
-
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,UnaryOperator<T extends IVariable>>
-
getRHS
public T[] getRHS() throws UnsupportedOperationException
Description copied from interface:IFixedPointStatement
returns the list of free variables appearing in the right-hand side of the statement- Throws:
UnsupportedOperationException
-
-