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

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.StructuredType
                          |
                          +--uk.ac.man.cs.rainbow.compiler.types.RecordType
All Implemented Interfaces:
Argument, Cloneable, Type

public class RecordType
extends StructuredType


Field Summary
 TaggedType componentList
           
 
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
RecordType(SourcePosition sourcepos, TaggedType componentList)
           
 
Method Summary
 CompilerType check_record_selection(String fieldname, SourcePosition pos, Errors errors)
           
 CompilerType component_types()
           
 Type datamodelType()
           
 RASMList default_initial_value(CGEnv env)
           
 int field_selector(String fname)
           
 CompilerType field_types()
           
 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_type, check_union_tag, cloneAfterFirst, cloneFirst, cloneList, cloneType, cloneTypeNoNext, cloneTypeNoParent, cloneTypeNoParentNoNext, compatableWith, conforms_to, dontcare, dontcareList, extract_enum_or_union_names, 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

componentList

public TaggedType componentList
Constructor Detail

RecordType

public RecordType(SourcePosition sourcepos,
                  TaggedType componentList)
Method Detail

toString

public String toString()
Overrides:
toString in class StructuredType

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

field_types

public CompilerType field_types()

component_types

public CompilerType component_types()
Overrides:
component_types in class CompilerType

check_record_selection

public CompilerType check_record_selection(String fieldname,
                                           SourcePosition pos,
                                           Errors errors)
Overrides:
check_record_selection 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

default_initial_value

public RASMList default_initial_value(CGEnv env)
Overrides:
default_initial_value in class CompilerType

datamodelType

public Type datamodelType()
Overrides:
datamodelType in class CompilerType