orc.ast.oil.type
Class TypeVariable

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

public class TypeVariable
extends Type

A bound type variable. Type variables in OIL, like program variables, are represented namelessly by deBruijn indices.

Author:
dkitchin

Field Summary
 int index
           
 java.lang.String name
           
 
Fields inherited from class orc.ast.oil.type.Type
BOT, TOP
 
Constructor Summary
TypeVariable(int index, java.lang.String name)
           
 
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

index

public int index

name

public java.lang.String name
Constructor Detail

TypeVariable

public TypeVariable(int index,
                    java.lang.String name)
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