tip.cfg.dfa
Class SignAnalysis.SignLattice

java.lang.Object
  extended by tip.cfg.dfa.SignAnalysis.SignLattice
All Implemented Interfaces:
Lattice<SignAnalysis.Sign>, Equalitor<SignAnalysis.Sign>
Enclosing class:
SignAnalysis

public class SignAnalysis.SignLattice
extends Object
implements Lattice<SignAnalysis.Sign>


Constructor Summary
SignAnalysis.SignLattice()
           
 
Method Summary
 boolean equals(Object o)
           
 boolean equals(SignAnalysis.Sign a, SignAnalysis.Sign b)
          Returns true if the elements a and b are equal according to this {link Equalitor}.
 SignAnalysis.Sign getLeastUpperBound(SignAnalysis.Sign a, SignAnalysis.Sign b)
          Returns the least upper bound of the lattice elements a and b.
 SignAnalysis.Sign getSmallestElement()
          Returns the smallest element of the lattice.
 int hashCode()
           
 int hashCode(SignAnalysis.Sign a)
          Returns the hashcode for the element a according to this Equalitor.
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SignAnalysis.SignLattice

public SignAnalysis.SignLattice()
Method Detail

getSmallestElement

public SignAnalysis.Sign getSmallestElement()
Description copied from interface: Lattice
Returns the smallest element of the lattice. Beware that if the lattice elements are mutable, getSmallestElement must return a cloned element.

Specified by:
getSmallestElement in interface Lattice<SignAnalysis.Sign>
Returns:
the smallest element of the lattice

getLeastUpperBound

public SignAnalysis.Sign getLeastUpperBound(SignAnalysis.Sign a,
                                            SignAnalysis.Sign b)
Description copied from interface: Lattice
Returns the least upper bound of the lattice elements a and b. Beware that if the lattice elements are mutable, getLeastUpperBound must return a cloned or new element. The method must handle the case where a or b are null.

Specified by:
getLeastUpperBound in interface Lattice<SignAnalysis.Sign>
Parameters:
a - the first element
b - the second element
Returns:
the least upper bound of the first and second element

equals

public boolean equals(SignAnalysis.Sign a,
                      SignAnalysis.Sign b)
Description copied from interface: Equalitor
Returns true if the elements a and b are equal according to this {link Equalitor}. If the elements are equal, then we must have hashCode(a) == hashCode(b). The method must handle the case where a or b is null. The equality relation must atleast be reflexive in the object reference, i.e. for all elements e we must have equals(e,e)==true.

Specified by:
equals in interface Equalitor<SignAnalysis.Sign>
Parameters:
a - the first element
b - the second element
Returns:
true if a and b are equal

hashCode

public int hashCode(SignAnalysis.Sign a)
Description copied from interface: Equalitor
Returns the hashcode for the element a according to this Equalitor. If Equalitor.equals(Object,Object) returns true, for two elements a and b, then for hashCode we must have hashCode(a) == hashCode(b). The method must handle the case where a is null.

Specified by:
hashCode in interface Equalitor<SignAnalysis.Sign>
Parameters:
a - the element
Returns:
the hashcode of a.

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object