orc.ast.simple.type
Class ArrowType
java.lang.Object
orc.ast.simple.type.Type
orc.ast.simple.type.ArrowType
public class ArrowType
- extends Type
An arrow (lambda) type: lambda[X,...,X](T,...,T) :: T
- Author:
- dkitchin
Fields inherited from class orc.ast.simple.type.Type |
BOT, TOP |
Method Summary |
Type |
convert(Env<TypeVariable> env)
Convert this syntactic type into an actual type, given an appropriate type context |
Type |
subst(Type T,
FreeTypeVariable X)
Performs the substitution [T/X], replacing occurrences of the free type variable X
with the type T (which could be any type, including another variable). |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
typeParams
public java.util.List<TypeVariable> typeParams
argTypes
public java.util.List<Type> argTypes
resultType
public Type resultType
ArrowType
public ArrowType(java.util.List<Type> argTypes,
Type resultType,
java.util.List<TypeVariable> typeParams)
convert
public Type convert(Env<TypeVariable> env)
throws TypeException
- Description copied from class:
Type
- Convert this syntactic type into an actual type, given an appropriate type context
- Specified by:
convert
in class Type
- Parameters:
env
- The type environment, used in content addressable mode to
find the appropriate deBruijn index of a type variable.
- Returns:
- A new node.
- Throws:
TypeException
subst
public Type subst(Type T,
FreeTypeVariable X)
- Description copied from class:
Type
- Performs the substitution [T/X], replacing occurrences of the free type variable X
with the type T (which could be any type, including another variable).
- Specified by:
subst
in class Type
- Parameters:
T
- The replacing typeX
- The free type variable whose occurrences will be replaced
- Returns:
- A new copy of the type with the substitution performed
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object