streamit.frontend.controlflow
Class AnyTypeLattice

java.lang.Object
  extended by streamit.frontend.controlflow.AnyTypeLattice
All Implemented Interfaces:
Lattice
Direct Known Subclasses:
StrictTypeLattice, TypeLattice

public abstract class AnyTypeLattice
extends Object
implements Lattice

Base class for lattices that track a type. The value of the lattice can be top (no information), bottom (conflicting types), or a StreamIt Type value; the interaction of these is defined by the derived class.

Version:
$Id: AnyTypeLattice.java,v 1.1 2004/01/26 19:33:36 dmaze Exp $
Author:
David Maze <dmaze@cag.lcs.mit.edu>

Field Summary
protected  boolean bottom
           
protected  boolean top
           
protected  Type value
           
 
Constructor Summary
AnyTypeLattice(boolean isTop)
          Create a top or bottom lattice element (without a value).
AnyTypeLattice(Type t)
          Create a lattice element with some value.
 
Method Summary
 boolean equals(Object other)
           
 Type getValue()
           
 boolean isBottom()
           
 boolean isTop()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface streamit.frontend.controlflow.Lattice
getBottom, getTop, meet
 

Field Detail

top

protected boolean top

bottom

protected boolean bottom

value

protected Type value
Constructor Detail

AnyTypeLattice

public AnyTypeLattice(Type t)
Create a lattice element with some value.

Parameters:
t - value of the lattice element

AnyTypeLattice

public AnyTypeLattice(boolean isTop)
Create a top or bottom lattice element (without a value).

Parameters:
isTop - true for top; false for bottom
Method Detail

isTop

public boolean isTop()

isBottom

public boolean isBottom()

getValue

public Type getValue()

equals

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