orc.ast.oil.type
Class TypeApplication

java.lang.Object
  extended by orc.ast.oil.type.Type
      extended by orc.ast.oil.type.TypeApplication

public class TypeApplication
extends Type

A type instantiation with explicit type parameters: T[T,..,T]

Author:
dkitchin

Field Summary
 java.util.List<Type> params
           
 Type typeOperator
           
 
Fields inherited from class orc.ast.oil.type.Type
BOT, TOP
 
Constructor Summary
TypeApplication(Type typeOperator, java.util.List<Type> params)
           
 
Method Summary
 boolean equals(java.lang.Object obj)
           
 int hashCode()
           
 Type marshal()
          Convert this type into an XML-isomorphic format for serialization.
 java.lang.String toString()
           
 Type transform(TypingContext ctx)
          Convert this syntactic type into an actual type, given an appropriate type context
 
Methods inherited from class orc.ast.oil.type.Type
inferredTypes, marshalAll, transformAll
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

typeOperator

public Type typeOperator

params

public java.util.List<Type> params
Constructor Detail

TypeApplication

public TypeApplication(Type typeOperator,
                       java.util.List<Type> params)
Method Detail

hashCode

public int hashCode()
Specified by:
hashCode in class Type

equals

public boolean equals(java.lang.Object obj)
Specified by:
equals in class Type

transform

public Type transform(TypingContext ctx)
               throws TypeException
Description copied from class: Type
Convert this syntactic type into an actual type, given an appropriate type context

Specified by:
transform in class Type
Parameters:
ctx - TODO
Returns:
A new node.
Throws:
TypeException - TODO

toString

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

marshal

public Type marshal()
Description copied from class: Type
Convert this type into an XML-isomorphic format for serialization.

Specified by:
marshal in class Type