tip.cfg.dfa
Class NullPointerAnalysis.NullLattice

java.lang.Object
  extended by tip.cfg.dfa.NullPointerAnalysis.NullLattice
All Implemented Interfaces:
Lattice<NullPointerAnalysis.Null>, Equalitor<NullPointerAnalysis.Null>
Enclosing class:
NullPointerAnalysis

public static class NullPointerAnalysis.NullLattice
extends Object
implements Lattice<NullPointerAnalysis.Null>


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

Constructor Detail

NullPointerAnalysis.NullLattice

public NullPointerAnalysis.NullLattice()
Method Detail

getSmallestElement

public NullPointerAnalysis.Null 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<NullPointerAnalysis.Null>
Returns:
the smallest element of the lattice

getLeastUpperBound

public NullPointerAnalysis.Null getLeastUpperBound(NullPointerAnalysis.Null a,
                                                   NullPointerAnalysis.Null 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<NullPointerAnalysis.Null>
Parameters:
a - the first element
b - the second element
Returns:
the least upper bound of the first and second element

equals

public boolean equals(NullPointerAnalysis.Null a,
                      NullPointerAnalysis.Null 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<NullPointerAnalysis.Null>
Parameters:
a - the first element
b - the second element
Returns:
true if a and b are equal

hashCode

public int hashCode(NullPointerAnalysis.Null 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<NullPointerAnalysis.Null>
Parameters:
a - the element
Returns:
the hashcode of a.

equals

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