comma::DeclVisitor Class Reference

#include <DeclVisitor.h>

Inheritance diagram for comma::DeclVisitor:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ~DeclVisitor ()
Inner Visitor Methods.

The AST hierarchy is a tree. Multiple inheritance, when it is used, provides mixins which are outside of the hierarchy proper (for example DeclRegion). The following set of methods are concerned with visiting the inner nodes of the declaration hierarchy. Default implementations are provided. The behaviour is to simply dispatch over the set of concrete subclasses. For example, the default method for visiting a Domoid will resolve its argument to either a DomainDecl or FunctorDecl and then invoke the specialized visitor for the resolved type. Of course, an implementation may choose to override any or all of these methods.



virtual void visitAst (Ast *node)
virtual void visitDecl (Decl *node)
virtual void visitModelDecl (ModelDecl *node)
virtual void visitSigoid (Sigoid *node)
virtual void visitDomoid (Domoid *node)
virtual void visitSubroutineDecl (SubroutineDecl *node)
virtual void visitTypeDecl (TypeDecl *node)
virtual void visitDomainTypeDecl (DomainTypeDecl *node)
virtual void visitValueDecl (ValueDecl *node)
Concrete Visitor Methods.

The following group of methods visit the non-virtual nodes in the declaration hierarchy. Note that these nodes are not necessarily leafs (for example, EnumLiteral is also a FunctionDecl). The default implementations provided behave depending on the argument node being a leaf. For leaf nodes, the default is to do nothing but return. For non-leaf nodes, the default dispatches over the next level in the hierarchy and invokes the next most specific method.



virtual void visitImportDecl (ImportDecl *node)
virtual void visitSignatureDecl (SignatureDecl *node)
virtual void visitVarietyDecl (VarietyDecl *node)
virtual void visitSigInstanceDecl (SigInstanceDecl *node)
virtual void visitAddDecl (AddDecl *node)
virtual void visitDomainDecl (DomainDecl *node)
virtual void visitFunctorDecl (FunctorDecl *node)
virtual void visitFunctionDecl (FunctionDecl *node)
virtual void visitProcedureDecl (ProcedureDecl *node)
virtual void visitCarrierDecl (CarrierDecl *node)
virtual void visitAbstractDomainDecl (AbstractDomainDecl *node)
virtual void visitDomainInstanceDecl (DomainInstanceDecl *node)
virtual void visitPercentDecl (PercentDecl *node)
virtual void visitLoopDecl (LoopDecl *node)
virtual void visitParamValueDecl (ParamValueDecl *node)
virtual void visitObjectDecl (ObjectDecl *node)
virtual void visitRenamedObjectDecl (RenamedObjectDecl *node)
virtual void visitEnumLiteral (EnumLiteral *node)
virtual void visitEnumerationDecl (EnumerationDecl *node)
virtual void visitIntegerDecl (IntegerDecl *node)
virtual void visitArrayDecl (ArrayDecl *node)
virtual void visitExceptionDecl (ExceptionDecl *node)
virtual void visitIncompleteTypeDecl (IncompleteTypeDecl *node)

Detailed Description

Definition at line 24 of file DeclVisitor.h.


Constructor & Destructor Documentation

virtual comma::DeclVisitor::~DeclVisitor (  )  [inline, virtual]

Definition at line 27 of file DeclVisitor.h.


Member Function Documentation

void DeclVisitor::visitAbstractDomainDecl ( AbstractDomainDecl node  )  [virtual]

Definition at line 161 of file DeclVisitor.cpp.

void DeclVisitor::visitAddDecl ( AddDecl node  )  [virtual]

Definition at line 156 of file DeclVisitor.cpp.

void DeclVisitor::visitArrayDecl ( ArrayDecl node  )  [virtual]

Definition at line 171 of file DeclVisitor.cpp.

void DeclVisitor::visitAst ( Ast node  )  [virtual]

Definition at line 29 of file DeclVisitor.cpp.

void DeclVisitor::visitCarrierDecl ( CarrierDecl node  )  [virtual]

Definition at line 160 of file DeclVisitor.cpp.

void DeclVisitor::visitDecl ( Decl node  )  [virtual]

Definition at line 35 of file DeclVisitor.cpp.

void DeclVisitor::visitDomainDecl ( DomainDecl node  )  [virtual]

Definition at line 157 of file DeclVisitor.cpp.

void DeclVisitor::visitDomainInstanceDecl ( DomainInstanceDecl node  )  [virtual]

Definition at line 162 of file DeclVisitor.cpp.

void DeclVisitor::visitDomainTypeDecl ( DomainTypeDecl node  )  [virtual]

Definition at line 126 of file DeclVisitor.cpp.

void DeclVisitor::visitDomoid ( Domoid node  )  [virtual]

Definition at line 74 of file DeclVisitor.cpp.

void DeclVisitor::visitEnumerationDecl ( EnumerationDecl node  )  [virtual]

Definition at line 169 of file DeclVisitor.cpp.

void DeclVisitor::visitEnumLiteral ( EnumLiteral node  )  [virtual]

Definition at line 168 of file DeclVisitor.cpp.

void DeclVisitor::visitExceptionDecl ( ExceptionDecl node  )  [virtual]

Definition at line 172 of file DeclVisitor.cpp.

void DeclVisitor::visitFunctionDecl ( FunctionDecl node  )  [virtual]

Definition at line 142 of file DeclVisitor.cpp.

void DeclVisitor::visitFunctorDecl ( FunctorDecl node  )  [virtual]

Definition at line 158 of file DeclVisitor.cpp.

void DeclVisitor::visitImportDecl ( ImportDecl node  )  [virtual]

Definition at line 152 of file DeclVisitor.cpp.

void DeclVisitor::visitIncompleteTypeDecl ( IncompleteTypeDecl node  )  [virtual]

Definition at line 173 of file DeclVisitor.cpp.

void DeclVisitor::visitIntegerDecl ( IntegerDecl node  )  [virtual]

Definition at line 170 of file DeclVisitor.cpp.

void DeclVisitor::visitLoopDecl ( LoopDecl node  )  [virtual]

Definition at line 164 of file DeclVisitor.cpp.

void DeclVisitor::visitModelDecl ( ModelDecl node  )  [virtual]

Definition at line 53 of file DeclVisitor.cpp.

void DeclVisitor::visitObjectDecl ( ObjectDecl node  )  [virtual]

Definition at line 166 of file DeclVisitor.cpp.

void DeclVisitor::visitParamValueDecl ( ParamValueDecl node  )  [virtual]

Definition at line 165 of file DeclVisitor.cpp.

void DeclVisitor::visitPercentDecl ( PercentDecl node  )  [virtual]

Definition at line 163 of file DeclVisitor.cpp.

void DeclVisitor::visitProcedureDecl ( ProcedureDecl node  )  [virtual]

Definition at line 159 of file DeclVisitor.cpp.

void DeclVisitor::visitRenamedObjectDecl ( RenamedObjectDecl node  )  [virtual]

Definition at line 167 of file DeclVisitor.cpp.

void DeclVisitor::visitSigInstanceDecl ( SigInstanceDecl node  )  [virtual]

Definition at line 155 of file DeclVisitor.cpp.

void DeclVisitor::visitSignatureDecl ( SignatureDecl node  )  [virtual]

Definition at line 153 of file DeclVisitor.cpp.

void DeclVisitor::visitSigoid ( Sigoid node  )  [virtual]

Definition at line 63 of file DeclVisitor.cpp.

void DeclVisitor::visitSubroutineDecl ( SubroutineDecl node  )  [virtual]

Definition at line 85 of file DeclVisitor.cpp.

void DeclVisitor::visitTypeDecl ( TypeDecl node  )  [virtual]

Definition at line 96 of file DeclVisitor.cpp.

void DeclVisitor::visitValueDecl ( ValueDecl node  )  [virtual]

Definition at line 113 of file DeclVisitor.cpp.

void DeclVisitor::visitVarietyDecl ( VarietyDecl node  )  [virtual]

Definition at line 154 of file DeclVisitor.cpp.


The documentation for this class was generated from the following files:

Generated on 1 Feb 2010 for Comma by  doxygen 1.6.1