orc.type
Class ArrowType

java.lang.Object
  extended by orc.type.Type
      extended by orc.type.ArrowType

public class ArrowType
extends Type


Field Summary
 java.util.List<Type> argTypes
           
 Type resultType
           
 
Fields inherited from class orc.type.Type
BLANK, BOOLEAN, BOT, INTEGER, LET, NUMBER, STRING, TOP
 
Constructor Summary
ArrowType(java.util.List<Type> argTypes, Type resultType)
           
ArrowType(Type resultType)
           
ArrowType(Type argType, Type resultType)
           
ArrowType(Type firstArgType, Type secondArgType, Type resultType)
           
 
Method Summary
 int arity()
           
 Type call(java.util.List<Type> args)
           
protected  ArrowType forceArrow(Type that)
           
 Type join(Type that)
           
 Type meet(Type that)
           
 boolean subtype(Type that)
           
 java.lang.String toString()
           
 
Methods inherited from class orc.type.Type
equal, supertype
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

argTypes

public java.util.List<Type> argTypes

resultType

public Type resultType
Constructor Detail

ArrowType

public ArrowType(Type resultType)

ArrowType

public ArrowType(Type argType,
                 Type resultType)

ArrowType

public ArrowType(Type firstArgType,
                 Type secondArgType,
                 Type resultType)

ArrowType

public ArrowType(java.util.List<Type> argTypes,
                 Type resultType)
Method Detail

forceArrow

protected ArrowType forceArrow(Type that)

subtype

public boolean subtype(Type that)
Overrides:
subtype in class Type

join

public Type join(Type that)
Overrides:
join in class Type

meet

public Type meet(Type that)
Overrides:
meet in class Type

call

public Type call(java.util.List<Type> args)
          throws TypeException
Overrides:
call in class Type
Throws:
TypeException

toString

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

arity

public int arity()