orc.type.ground
Class LetType

java.lang.Object
  extended by orc.type.Type
      extended by orc.type.ground.LetType

public class LetType
extends Type

The special type of the let site.

Author:
dkitchin

Field Summary
 
Fields inherited from class orc.type.Type
BOOLEAN, BOT, INTEGER, LET, NUMBER, SIGNAL, STRING, TOP
 
Constructor Summary
LetType()
           
 
Method Summary
 Type call(java.util.List<Type> args)
           
static Type condense(java.util.List<Type> types)
          Classic 'let' functionality, at the type level.
 boolean subtype(Type that)
           
 java.lang.String toString()
           
 
Methods inherited from class orc.type.Type
addConstraints, allFreeVars, assertSubtype, asTycon, call, closed, demote, equal, findVariance, freeVars, fromJavaClass, fromJavaMethod, fromJavaMethods, fromJavaType, fromJavaType, isBot, isTop, javaCounterpart, join, makeJavaCtx, makeJavaCtx, marshal, meet, promote, resolveSites, shiftFreeVars, subst, substAll, supertype, unwrapAs, variances
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LetType

public LetType()
Method Detail

call

public Type call(java.util.List<Type> args)
          throws TypeException
Overrides:
call in class Type
Throws:
TypeException

toString

public java.lang.String toString()
Overrides:
toString in class Type

condense

public static Type condense(java.util.List<Type> types)
Classic 'let' functionality, at the type level. Reduce a list of types into a single type as follows: Zero arguments: return Top One argument: return that type Two or more arguments: return a tuple of the types


subtype

public boolean subtype(Type that)
                throws TypeException
Overrides:
subtype in class Type
Throws:
TypeException