orc.ast.extended.type
Class Type
java.lang.Object
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
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 |
TOP
public static final Type TOP
BOT
public static final Type BOT
Type
public Type()
simplify
public abstract Type simplify()
- Convert this extended AST type into a simple AST type.