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

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.UnionType
All Implemented Interfaces:
Argument, Cloneable, Type

public class UnionType
extends CompilerType


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
UnionType(SourcePosition sourcepos, TaggedType alternativeList)
           
 
Method Summary
 CompilerType check_union_tag(String fieldname, SourcePosition pos, Errors errors)
           
 Type datamodelType()
           
 void extract_enum_or_union_names(TCEnv env, SourcePosition spos, Errors errors)
           
 int field_selector(String fname)
           
 CompilerType resolve_synonyms(TCEnv env, Errors errors)
           
 boolean structure_conforms(CompilerType other)
           
 String toString()
           
 boolean valid(TCEnv env)
           
 
Methods inherited from class uk.ac.man.cs.rainbow.compiler.types.CompilerType
anonymiseAndTagList, anonymous_record_type, check_params, check_record_selection, check_type, cloneAfterFirst, cloneFirst, cloneList, cloneType, cloneTypeNoNext, cloneTypeNoParent, cloneTypeNoParentNoNext, compatableWith, component_types, conforms_to, default_initial_value, dontcare, dontcareList, 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
 

Constructor Detail

UnionType

public UnionType(SourcePosition sourcepos,
                 TaggedType alternativeList)
Method Detail

toString

public String toString()
Overrides:
toString in class CompilerType

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

check_union_tag

public CompilerType check_union_tag(String fieldname,
                                    SourcePosition pos,
                                    Errors errors)
Overrides:
check_union_tag in class CompilerType

field_selector

public int field_selector(String fname)
Overrides:
field_selector in class CompilerType

resolve_synonyms

public CompilerType resolve_synonyms(TCEnv env,
                                     Errors errors)
Overrides:
resolve_synonyms 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