com.ibm.wala.fixedpoint.impl
Class NullaryStatement<T extends IVariable>

java.lang.Object
  extended by com.ibm.wala.util.graph.impl.NodeWithNumber
      extended by com.ibm.wala.fixpoint.AbstractStatement<T,NullaryOperator<T>>
          extended by com.ibm.wala.fixedpoint.impl.NullaryStatement<T>
All Implemented Interfaces:
IFixedPointStatement<T>, INodeWithNumber
Direct Known Subclasses:
BasicNullaryStatement

public abstract class NullaryStatement<T extends IVariable>
extends AbstractStatement<T,NullaryOperator<T>>

Represents a single step, restricted to a nullary operator.


Field Summary
protected  T lhs
          The operands
 
Constructor Summary
protected NullaryStatement(T lhs)
          Constructor for case of one operand on the right-hand side.
 
Method Summary
 boolean equals(java.lang.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.
 T[] getRHS()
          returns the list of free variables appearing in the right-hand side of the statement
 int hashCode()
          Subclasses must implement this, to prevent non-determinism.
 boolean hasVariable(T cell)
          Does this equation contain an appearance of a given cell?
 
Methods inherited from class com.ibm.wala.fixpoint.AbstractStatement
getOperator, getOrderNumber, toString
 
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 Detail

lhs

protected final T extends IVariable lhs
The operands

Constructor Detail

NullaryStatement

protected NullaryStatement(T lhs)
Constructor for case of one operand on the right-hand side.

Parameters:
lhs - the lattice cell set by this equation
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

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

equals

public boolean equals(java.lang.Object o)
Specified by:
equals in class AbstractStatement<T extends IVariable,NullaryOperator<T extends IVariable>>

hashCode

public int hashCode()
Description copied from class: AbstractStatement
Subclasses must implement this, to prevent non-determinism.

Specified by:
hashCode in class AbstractStatement<T extends IVariable,NullaryOperator<T extends IVariable>>

getRHS

public T[] getRHS()
                             throws java.lang.UnsupportedOperationException
Description copied from interface: IFixedPointStatement
returns the list of free variables appearing in the right-hand side of the statement

Throws:
java.lang.UnsupportedOperationException