#include <DeclVisitor.h>
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) |
Definition at line 24 of file DeclVisitor.h.
virtual comma::DeclVisitor::~DeclVisitor | ( | ) | [inline, virtual] |
Definition at line 27 of file DeclVisitor.h.
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.