Class Type

  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.


Field Summary
static Type BOT
static Type TOP
Constructor Summary
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


public static final Type TOP


public static final Type BOT
Constructor Detail


public Type()
Method Detail


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