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

DeclWriter Class Reference

Class that generates the declarations for implementation items. More...

Inheritance diagram for DeclWriter:
ImplItem::Visitor

List of all members.

Public Member Functions

 DeclWriter (Indenter &ind, z::stream &pos)
 Default constructor.

Private Member Functions

void writeContinuation (const Ast::ContinuationImplItem &continuation)
 Writes a continuation implementation item.
template<typename ImplItemT >
void enterFunction (const ImplItemT &item)
 Writes the entry code for an implementation item.
template<typename ImplItemT >
void leaveFunction (const ImplItemT &item)
 Writes the exit code for an implementation item.
virtual void visit (const Ast::ContinuationImplItem &item)
 Abstract visitor function.
virtual void visit (const Ast::RoutineImplItem &item)
 Abstract visitor function.
virtual void visit (const Ast::FunctionImplItem &item)
 Abstract visitor function.
virtual void visit (const Ast::GrammarImplItem &item)
 Abstract visitor function.
virtual void visit (const Ast::WindowImplItem &item)
 Abstract visitor function.

Private Attributes

Indenter_ind
 Current indentation level.
z::stream_os
 Output stream.

Detailed Description

Class that generates the declarations for implementation items.


Constructor & Destructor Documentation

DeclWriter ( Indenter ind,
z::stream pos 
) [inline]

Default constructor.

Parameters:
indThe indentation level
posThe output stream

Member Function Documentation

void enterFunction ( const ImplItemT &  item) [inline, private]

Writes the entry code for an implementation item.

Parameters:
itemThe implementation item
void leaveFunction ( const ImplItemT &  item) [inline, private]

Writes the exit code for an implementation item.

Parameters:
itemThe implementation item
virtual void visit ( const Ast::GrammarImplItem item) [inline, private, virtual]

Abstract visitor function.

Parameters:
itemThe implementation item reference to handle

Implements ImplItem::Visitor.

virtual void visit ( const Ast::ContinuationImplItem item) [inline, private, virtual]

Abstract visitor function.

Parameters:
itemThe implementation item reference to handle

Implements ImplItem::Visitor.

virtual void visit ( const Ast::RoutineImplItem item) [inline, private, virtual]

Abstract visitor function.

Parameters:
itemThe implementation item reference to handle

Implements ImplItem::Visitor.

virtual void visit ( const Ast::WindowImplItem item) [inline, private, virtual]

Abstract visitor function.

Parameters:
itemThe implementation item reference to handle

Implements ImplItem::Visitor.

virtual void visit ( const Ast::FunctionImplItem item) [inline, private, virtual]

Abstract visitor function.

Parameters:
itemThe implementation item reference to handle

Implements ImplItem::Visitor.

void writeContinuation ( const Ast::ContinuationImplItem continuation) [inline, private]

Writes a continuation implementation item.

Parameters:
continuationThe continuation implementation item

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