Zen
A cross-platform functional programming language
Public Member Functions | Private Attributes

ExprVisitor Class Reference

Class that collects external references from expressions. More...

Inheritance diagram for ExprVisitor:
Expr::Visitor

List of all members.

Public Member Functions

 ExprVisitor (zbl::RefCollector &ctx)
 Default constructor.
void visitExpr (const Ast::Expr &expr)
 Visit the expression.
void visitList (const Ast::ExprList &list)
 Visit the expression list.
virtual void visit (const Ast::TernaryOpExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::BinaryOpExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::PrefixOpExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::PostfixOpExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::OrderedExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::IndexExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::ListExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::DictExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::TreeExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::QueryExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::QueryPartExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::QueryBinaryExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::QueryValExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::QueryConstantExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::TypeDefExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::StructExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::StructInitExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::FunctionExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::ListTemplateExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::DictTemplateExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::StringFormatExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::VariableRefExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::EnumRefExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::InternalCallExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::InvokerCallExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::FunctionCallExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::FunctionImplExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::FunctionDefImplExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::AnyExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::CastExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::NumericConstantExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::BooleanConstantExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::CharConstantExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::StringConstantExpr &expr)
 Abstract visitor function.

Private Attributes

zbl::RefCollector_ctx
 Reference to collection context.

Detailed Description

Class that collects external references from expressions.


Constructor & Destructor Documentation

ExprVisitor ( zbl::RefCollector ctx) [inline]

Default constructor.

Parameters:
ctxThe collector context

Member Function Documentation

virtual void visit ( const Ast::TernaryOpExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::StringConstantExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::CharConstantExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::BooleanConstantExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::NumericConstantExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::BinaryOpExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::AnyExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::FunctionDefImplExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::FunctionImplExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::FunctionCallExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::InvokerCallExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::InternalCallExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::EnumRefExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::IndexExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::StringFormatExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::DictTemplateExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::ListTemplateExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::FunctionExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::StructInitExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::StructExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::QueryConstantExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::CastExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::QueryValExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::QueryBinaryExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::QueryPartExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::VariableRefExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::TreeExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::DictExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::TypeDefExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::ListExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::OrderedExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::QueryExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::PrefixOpExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::PostfixOpExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

void visitExpr ( const Ast::Expr expr) [inline]

Visit the expression.

Parameters:
exprThe expression to visit
void visitList ( const Ast::ExprList list) [inline]

Visit the expression list.

Parameters:
listThe expression list to visit

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines