com.veromodo.tempo.sem.type
Class TypeAutomaton

java.lang.Object
  extended by com.veromodo.tempo.sem.type.Type
      extended by com.veromodo.tempo.sem.type.TypeFunctional
          extended by com.veromodo.tempo.sem.type.TypeAutomaton
All Implemented Interfaces:
java.lang.Comparable<Type>
Direct Known Subclasses:
TypeBasicAutomaton, TypeCompositeAutomaton

public abstract class TypeAutomaton
extends TypeFunctional

contains the commonalities between the basic and composite automaton types includeing,
1) The name of the automaton
2) The automaton's parameter names and types

Author:
Carleton

Nested Class Summary
 
Nested classes/interfaces inherited from class com.veromodo.tempo.sem.type.Type
Type.Order, Type.TypeKind
 
Field Summary
 
Fields inherited from class com.veromodo.tempo.sem.type.Type
_name, DEFAULT_NAME
 
Constructor Summary
TypeAutomaton(java.lang.String s)
           
 
Method Summary
 void addParameter(java.lang.String s, Type t)
           
 Type.Order compare(Type t)
          Determines how Type t is realted to this.
 TypeAutomaton downCastAutomaton()
           
 Type getCoDom()
           
 TypeTuple getDom()
           
 Type getParameter(java.lang.String s)
           
 int hashCode()
           
 boolean is(Type.TypeKind kind)
          Determines if the currently instance is of given TypeKind.
 void visit(TypeVisitor v)
           
 
Methods inherited from class com.veromodo.tempo.sem.type.TypeFunctional
downCastFunctional
 
Methods inherited from class com.veromodo.tempo.sem.type.Type
accept, acceptable, compareTo, constructedWith, downCastArray, downCastAugmentedReal, downCastBasicAutomaton, downCastBool, downCastChar, downCastCompositeAutomaton, downCastConstructor, downCastDiscreteReal, downCastEnum, downCastEnumValue, downCastFloat, downCastFunction, downCastFunctionalGeneric, downCastGeneric, downCastInstance, downCastInt, downCastInt32, downCastList, downCastMap, downCastMeta, downCastNat, downCastNumeric, downCastParameter, downCastReal, downCastSum, downCastTuple, downCastVoid, equals, equals, getName, isArray, isAugmentedReal, isAutomaton, isBasicAutomaton, isBool, isChar, isCompositeAutomaton, isConstructor, isDiscreteReal, isEnum, isEnumValue, isEqualTo, isError, isFloat, isFun, isFunctional, isFunctionalGeneric, isGeneric, isId, isIndexed, isInstance, isInt, isInt32, isList, isMap, isMeta, isNat, isNumeric, isParameter, isReal, isSum, isTuple, isVariable, isVoid, lub, resolve, select, toString
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TypeAutomaton

public TypeAutomaton(java.lang.String s)
Method Detail

is

public boolean is(Type.TypeKind kind)
Description copied from class: Type
Determines if the currently instance is of given TypeKind.

Overrides:
is in class TypeFunctional
Parameters:
kind - the type of class to compare to
Returns:
true if this is of given TypeKind

downCastAutomaton

public TypeAutomaton downCastAutomaton()
Overrides:
downCastAutomaton in class Type

compare

public Type.Order compare(Type t)
Description copied from class: Type
Determines how Type t is realted to this.

Specified by:
compare in class TypeFunctional
Parameters:
t - to compare to this
Returns:

getParameter

public Type getParameter(java.lang.String s)

addParameter

public void addParameter(java.lang.String s,
                         Type t)

visit

public void visit(TypeVisitor v)
Overrides:
visit in class TypeFunctional

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

getDom

public TypeTuple getDom()
Specified by:
getDom in class TypeFunctional

getCoDom

public Type getCoDom()
Specified by:
getCoDom in class TypeFunctional