uk.ac.man.cs.rainbow.compiler.declarations
Class UnionTagDeclaration

java.lang.Object
  |
  +--uk.ac.man.cs.rainbow.compiler.CompilerThing
        |
        +--uk.ac.man.cs.rainbow.compiler.CompilerNode
              |
              +--uk.ac.man.cs.rainbow.compiler.declarations.Declaration
                    |
                    +--uk.ac.man.cs.rainbow.compiler.declarations.GlobalDeclaration
                          |
                          +--uk.ac.man.cs.rainbow.compiler.declarations.UnionTagDeclaration

public class UnionTagDeclaration
extends GlobalDeclaration


Field Summary
 CompilerType tag_type
           
 CompilerType union_type
           
 
Fields inherited from class uk.ac.man.cs.rainbow.compiler.declarations.Declaration
nm
 
Fields inherited from class uk.ac.man.cs.rainbow.compiler.CompilerNode
next, sourcepos
 
Constructor Summary
UnionTagDeclaration(SourcePosition sourcepos, String nm, CompilerType union_type, CompilerType tag_type)
           
 
Method Summary
 RASMList rasm(CGEnv env)
           
 String toString()
           
 TCEnv typecheck(TCEnv env, Errors errors)
           
 
Methods inherited from class uk.ac.man.cs.rainbow.compiler.declarations.Declaration
return_local
 
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, setParent, 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

union_type

public CompilerType union_type

tag_type

public CompilerType tag_type
Constructor Detail

UnionTagDeclaration

public UnionTagDeclaration(SourcePosition sourcepos,
                           String nm,
                           CompilerType union_type,
                           CompilerType tag_type)
Method Detail

toString

public String toString()
Overrides:
toString in class GlobalDeclaration

typecheck

public TCEnv typecheck(TCEnv env,
                       Errors errors)
Overrides:
typecheck in class CompilerNode

rasm

public RASMList rasm(CGEnv env)
Overrides:
rasm in class CompilerNode