orc.ast.extended.declaration.type
Class DatatypeDeclaration

java.lang.Object
  extended by orc.ast.extended.declaration.Declaration
      extended by orc.ast.extended.declaration.type.DatatypeDeclaration
All Implemented Interfaces:
ASTNode, Locatable, Located

public class DatatypeDeclaration
extends Declaration

Declaration of a variant type. Even if the typechecker is not active, this declaration will still create constructor sites which can be used for pattern matching.

Author:
dkitchin

Field Summary
 java.util.List<java.lang.String> formals
           
 java.util.List<Constructor> members
           
 java.lang.String typename
           
 
Fields inherited from class orc.ast.extended.declaration.Declaration
location
 
Constructor Summary
DatatypeDeclaration(java.lang.String typename, java.util.List<Constructor> members, java.util.List<java.lang.String> formals)
           
 
Method Summary
<E> E
accept(Visitor<E> visitor)
           
 Expression bindto(Expression target)
           
 java.lang.String toString()
           
 
Methods inherited from class orc.ast.extended.declaration.Declaration
getSourceLocation, setSourceLocation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

typename

public java.lang.String typename

members

public java.util.List<Constructor> members

formals

public java.util.List<java.lang.String> formals
Constructor Detail

DatatypeDeclaration

public DatatypeDeclaration(java.lang.String typename,
                           java.util.List<Constructor> members,
                           java.util.List<java.lang.String> formals)
Method Detail

bindto

public Expression bindto(Expression target)
Specified by:
bindto in class Declaration

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

accept

public <E> E accept(Visitor<E> visitor)