orc.type.tycon
Class Variance

java.lang.Object
  extended by orc.type.tycon.Variance

public abstract class Variance
extends java.lang.Object

Variances of type parameters.

Author:
dkitchin

Field Summary
static Variance CONSTANT
           
static Variance CONTRAVARIANT
           
static Variance COVARIANT
           
static Variance INVARIANT
           
 
Constructor Summary
Variance()
           
 
Method Summary
abstract  Variance and(Variance that)
           
abstract  Variance apply(Variance that)
           
 boolean equals(java.lang.Object that)
           
 int hashCode()
           
abstract  Variance invert()
           
abstract  Type join(Type S, Type T)
           
abstract  Type meet(Type S, Type T)
           
abstract  Type minimum(Type S, Type T)
           
abstract  boolean subtype(Type S, Type T)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CONSTANT

public static final Variance CONSTANT

COVARIANT

public static final Variance COVARIANT

CONTRAVARIANT

public static final Variance CONTRAVARIANT

INVARIANT

public static final Variance INVARIANT
Constructor Detail

Variance

public Variance()
Method Detail

and

public abstract Variance and(Variance that)

apply

public abstract Variance apply(Variance that)

invert

public abstract Variance invert()

subtype

public abstract boolean subtype(Type S,
                                Type T)
                         throws TypeException
Throws:
TypeException

join

public abstract Type join(Type S,
                          Type T)
                   throws TypeException
Throws:
TypeException

meet

public abstract Type meet(Type S,
                          Type T)
                   throws TypeException
Throws:
TypeException

minimum

public abstract Type minimum(Type S,
                             Type T)
                      throws TypeException
Throws:
TypeException

equals

public boolean equals(java.lang.Object that)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object