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

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

public class VectorType
extends StructuredType


Field Summary
 CompilerType elem_type
           
 int num_elems
           
static int unknown_length
           
 
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
VectorType(SourcePosition sourcepos, int num_elems, CompilerType elem_type)
           
 
Method Summary
 void check_type(TCEnv env, Errors errors)
           
 Type datamodelType()
           
 RASMList default_initial_value(CGEnv env)
           
 CompilerType resolve_synonyms(TCEnv env, Errors errors)
           
 void set_size_exp(Expression sexp)
           
 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_union_tag, cloneAfterFirst, cloneFirst, cloneList, cloneType, cloneTypeNoNext, cloneTypeNoParent, cloneTypeNoParentNoNext, compatableWith, component_types, conforms_to, dontcare, dontcareList, extract_enum_or_union_names, 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

unknown_length

public static final int unknown_length

num_elems

public int num_elems

elem_type

public CompilerType elem_type
Constructor Detail

VectorType

public VectorType(SourcePosition sourcepos,
                  int num_elems,
                  CompilerType elem_type)
Method Detail

toString

public String toString()
Overrides:
toString in class StructuredType

set_size_exp

public void set_size_exp(Expression sexp)

structure_conforms

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

check_type

public void check_type(TCEnv env,
                       Errors errors)
Overrides:
check_type in class CompilerType

valid

public boolean valid(TCEnv env)
Overrides:
valid 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