orc.ast.extended.type
Class Type

java.lang.Object
  extended by orc.ast.extended.type.Type
Direct Known Subclasses:
AssertedType, Bot, LambdaType, NamedType, Top, TupleType, TypeApplication

public abstract class Type
extends java.lang.Object

Abstract superclass of syntactic types in the extended AST. Syntactic types occur in all of the AST forms. The typechecker converts them to a different form (subclasses of orc.type.Type) for its own internal use. Syntactic types do not have methods like meet, join, and subtype; only their typechecker counterparts do. Thus, syntactic types permit only the simplest analyses; more complex analyses must wait until the syntactic type is converted within the typechecker. All syntactic types can be written explicitly in a program, whereas many of the typechecker's internal types are not representable in programs.

Author:
dkitchin

Field Summary
static Type BOT
           
static Type TOP
           
 
Constructor Summary
Type()
           
 
Method Summary
abstract  Type simplify()
          Convert this extended AST type into a simple AST type.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TOP

public static final Type TOP

BOT

public static final Type BOT
Constructor Detail

Type

public Type()
Method Detail

simplify

public abstract Type simplify()
Convert this extended AST type into a simple AST type.