Zen
A cross-platform functional programming language

ParseContext::IndexExprCreator Class Reference

The indexable type visitor for index expressions. More...

#include <ParseContext.hpp>

Inheritance diagram for ParseContext::IndexExprCreator:
ParseContext::IndexableTypeCaster

List of all members.

Public Member Functions

 IndexExprCreator (const Ast::Expr &expr, const Ast::Expr &idx)
 Default constructor.
Ast::IndexExprcreate (ParseContext &pctx, const Ast::TypeSpec &typeSpec)
 Return index expression.

Private Member Functions

virtual void visitList (ParseContext &pctx, const Ast::ListTemplate &type)
 Abstract visitor function.
virtual void visitDict (ParseContext &pctx, const Ast::DictTemplate &type)
 Abstract visitor function.
virtual void visitTree (ParseContext &pctx, const Ast::TypeDecl &type)
 Abstract visitor function.
virtual void visitBuffer (ParseContext &pctx, const Ast::TypeDecl &type)
 Abstract visitor function.
virtual void visitView (ParseContext &pctx, const Ast::TypeDecl &type)
 Abstract visitor function.
virtual void visitWidget (ParseContext &pctx, const Ast::TypeDecl &type)
 Abstract visitor function.

Private Attributes

Ast::IndexExpr_rv
 The index expression to return.
const Ast::Expr_expr
 The expression to evaluate.
const Ast::Expr_idx
 The index expression.

Detailed Description

The indexable type visitor for index expressions.


Constructor & Destructor Documentation

IndexExprCreator ( const Ast::Expr expr,
const Ast::Expr idx 
) [inline]

Default constructor.

Parameters:
exprThe value expression
idxThe index expression

Member Function Documentation

Ast::IndexExpr& create ( ParseContext pctx,
const Ast::TypeSpec typeSpec 
) [inline]

Return index expression.

Parameters:
pctxThe parser context
typeSpecThe type of the container expression
Returns:
The AST node
virtual void visitBuffer ( ParseContext pctx,
const Ast::TypeDecl type 
) [inline, private, virtual]

Abstract visitor function.

Parameters:
pctxThe ParseContext
typeThe type to check.

Implements ParseContext::IndexableTypeCaster.

virtual void visitDict ( ParseContext pctx,
const Ast::DictTemplate type 
) [inline, private, virtual]

Abstract visitor function.

Parameters:
pctxThe ParseContext
typeThe type to check.

Implements ParseContext::IndexableTypeCaster.

virtual void visitList ( ParseContext pctx,
const Ast::ListTemplate type 
) [inline, private, virtual]

Abstract visitor function.

Parameters:
pctxThe ParseContext
typeThe type to check.

Implements ParseContext::IndexableTypeCaster.

virtual void visitTree ( ParseContext pctx,
const Ast::TypeDecl type 
) [inline, private, virtual]

Abstract visitor function.

Parameters:
pctxThe ParseContext
typeThe type to check.

Implements ParseContext::IndexableTypeCaster.

virtual void visitView ( ParseContext pctx,
const Ast::TypeDecl type 
) [inline, private, virtual]

Abstract visitor function.

Parameters:
pctxThe ParseContext
typeThe type to check.

Implements ParseContext::IndexableTypeCaster.

virtual void visitWidget ( ParseContext pctx,
const Ast::TypeDecl type 
) [inline, private, virtual]

Abstract visitor function.

Parameters:
pctxThe ParseContext
typeThe type to check.

Implements ParseContext::IndexableTypeCaster.


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