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

TypeSpecRefGenerator Class Reference

Class that writes out reference strings for all the different types. More...

Inheritance diagram for TypeSpecRefGenerator:
TypeSpec::Visitor

List of all members.

Public Member Functions

 TypeSpecRefGenerator (z::stream &os, const TypeSpecRefWriter::Format::T &format, const bool &inExpr)
 Default constructor.

Private Member Functions

virtual void visit (const Ast::Unit &type)
 Abstract visitor function.
virtual void visit (const Ast::Namespace &type)
 Abstract visitor function.
virtual void visit (const Ast::StructDef &type)
 Abstract visitor function.
virtual void visit (const Ast::EnumDef &type)
 Abstract visitor function.
virtual void visit (const Ast::EnumMemberDef &type)
 Abstract visitor function.
virtual void visit (const Ast::OutParam &type)
 Abstract visitor function.
virtual void visit (const Ast::SharedDef &type)
 Abstract visitor function.
z::string getUdfName (const Ast::UserDefinedTypeSpec &type)
 Returns name of UDT.
virtual void visit (const Ast::TypeDecl &type)
 Abstract visitor function.
virtual void visit (const Ast::TypeDef &type)
 Abstract visitor function.
TypeSpecRefWriter::Format::T getTemplateFormat (const TypeSpecRefWriter::Format::T &format) const
 Change template format temporarily.
virtual void visit (const Ast::OwnerTemplate &type)
 Abstract visitor function.
virtual void visit (const Ast::ListTemplate &type)
 Abstract visitor function.
virtual void visit (const Ast::DictTemplate &type)
 Abstract visitor function.
virtual void visit (const Ast::FunctionDef &type)
 Abstract visitor function.

Private Attributes

z::stream_os
 The output stream.
const
TypeSpecRefWriter::Format::T
_format
 The output format.
const bool _inExpr
 True if called from within an expression.

Detailed Description

Class that writes out reference strings for all the different types.


Constructor & Destructor Documentation

TypeSpecRefGenerator ( z::stream os,
const TypeSpecRefWriter::Format::T format,
const bool &  inExpr 
) [inline]

Default constructor.

Parameters:
osThe output stream to write to
formatThe format of the output
inExprTrue if type reference is generated from within an expression

Member Function Documentation

TypeSpecRefWriter::Format::T getTemplateFormat ( const TypeSpecRefWriter::Format::T format) const [inline, private]

Change template format temporarily.

Parameters:
formatThe output format
Returns:
The output format
z::string getUdfName ( const Ast::UserDefinedTypeSpec type) [inline, private]

Returns name of UDT.

Parameters:
typeThe type reference
Returns:
The UDT name
virtual void visit ( const Ast::DictTemplate type) [inline, private, virtual]

Abstract visitor function.

Parameters:
typeThe type reference to write out

Implements TypeSpec::Visitor.

virtual void visit ( const Ast::ListTemplate type) [inline, private, virtual]

Abstract visitor function.

Parameters:
typeThe type reference to write out

Implements TypeSpec::Visitor.

virtual void visit ( const Ast::OwnerTemplate type) [inline, private, virtual]

Abstract visitor function.

Parameters:
typeThe type reference to write out

Implements TypeSpec::Visitor.

virtual void visit ( const Ast::EnumMemberDef type) [inline, private, virtual]

Abstract visitor function.

Parameters:
typeThe type reference to write out

Implements TypeSpec::Visitor.

virtual void visit ( const Ast::TypeDef type) [inline, private, virtual]

Abstract visitor function.

Parameters:
typeThe type reference to write out

Implements TypeSpec::Visitor.

virtual void visit ( const Ast::TypeDecl type) [inline, private, virtual]

Abstract visitor function.

Parameters:
typeThe type reference to write out

Implements TypeSpec::Visitor.

virtual void visit ( const Ast::EnumDef type) [inline, private, virtual]

Abstract visitor function.

Parameters:
typeThe type reference to write out

Implements TypeSpec::Visitor.

virtual void visit ( const Ast::SharedDef type) [inline, private, virtual]

Abstract visitor function.

Parameters:
typeThe type reference to write out

Implements TypeSpec::Visitor.

virtual void visit ( const Ast::OutParam type) [inline, private, virtual]

Abstract visitor function.

Parameters:
typeThe type reference to write out

Implements TypeSpec::Visitor.

virtual void visit ( const Ast::Unit type) [inline, private, virtual]

Abstract visitor function.

Parameters:
typeThe type reference to write out

Implements TypeSpec::Visitor.

virtual void visit ( const Ast::Namespace type) [inline, private, virtual]

Abstract visitor function.

Parameters:
typeThe type reference to write out

Implements TypeSpec::Visitor.

virtual void visit ( const Ast::StructDef type) [inline, private, virtual]

Abstract visitor function.

Parameters:
typeThe type reference to write out

Implements TypeSpec::Visitor.

virtual void visit ( const Ast::FunctionDef type) [inline, private, virtual]

Abstract visitor function.

Parameters:
typeThe type reference to write out

Implements TypeSpec::Visitor.


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