uk.ac.man.cs.rainbow.compiler.types
Class EnumType

java.lang.Object
  |
  +--uk.ac.man.cs.rainbow.compiler.CompilerThing
        |
        +--uk.ac.man.cs.rainbow.compiler.CompilerNode
              |
              +--uk.ac.man.cs.rainbow.compiler.types.CompilerType
                    |
                    +--uk.ac.man.cs.rainbow.compiler.types.EnumerableType
                          |
                          +--uk.ac.man.cs.rainbow.compiler.types.EnumType
All Implemented Interfaces:
Argument, Cloneable, Type

public class EnumType
extends EnumerableType


Field Summary
 LocalIdentifier valueList
           
 
Fields inherited from class uk.ac.man.cs.rainbow.compiler.types.CompilerType
is_dontcare, is_undefined
 
Fields inherited from class uk.ac.man.cs.rainbow.compiler.CompilerNode
next, sourcepos
 
Constructor Summary
EnumType(SourcePosition sourcepos, LocalIdentifier valueList)
           
 
Method Summary
 Type datamodelType()
           
 void extract_enum_or_union_names(TCEnv env, SourcePosition spos, Errors errors)
           
 boolean structure_conforms(CompilerType other)
           
 String toString()
           
 boolean valid(TCEnv env)
           
 
Methods inherited from class uk.ac.man.cs.rainbow.compiler.types.EnumerableType
conforms_to, resolve_synonyms
 
Methods inherited from class uk.ac.man.cs.rainbow.compiler.types.CompilerType
anonymiseAndTagList, anonymous_record_type, check_params, check_record_selection, check_type, check_union_tag, cloneAfterFirst, cloneFirst, cloneList, cloneType, cloneTypeNoNext, cloneTypeNoParent, cloneTypeNoParentNoNext, compatableWith, component_types, default_initial_value, dontcare, dontcareList, field_selector, get_union_variant, list_lub, listReplicate, lub, make_anon_channels, rasm_list_default_initial_value, replicate, structure, subst
 
Methods inherited from class uk.ac.man.cs.rainbow.compiler.CompilerNode
append, appendNotParent, dumpNode, dumpTree, getParent, indent, iterator, list_typecheck, list_typecheck, listLength, listToString, noParent, rasm_list, rasm, rasm, setParent, typecheck, typecheck, typecheckGreen, typecheckGreen
 
Methods inherited from class uk.ac.man.cs.rainbow.compiler.CompilerThing
className, crashHere, getSerial
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

valueList

public LocalIdentifier valueList
Constructor Detail

EnumType

public EnumType(SourcePosition sourcepos,
                LocalIdentifier valueList)
Method Detail

toString

public String toString()
Overrides:
toString in class EnumerableType

structure_conforms

public boolean structure_conforms(CompilerType other)
Overrides:
structure_conforms in class CompilerType

valid

public boolean valid(TCEnv env)
Overrides:
valid in class CompilerType

extract_enum_or_union_names

public void extract_enum_or_union_names(TCEnv env,
                                        SourcePosition spos,
                                        Errors errors)
Overrides:
extract_enum_or_union_names in class CompilerType

datamodelType

public Type datamodelType()
Overrides:
datamodelType in class CompilerType