Zen
A cross-platform functional programming language
|
The indexable type visitor for index expressions. More...
#include <ParseContext.hpp>
Public Member Functions | |
IndexExprCreator (const Ast::Expr &expr, const Ast::Expr &idx) | |
Default constructor. | |
Ast::IndexExpr & | create (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. |
The indexable type visitor for index expressions.
IndexExprCreator | ( | const Ast::Expr & | expr, |
const Ast::Expr & | idx | ||
) | [inline] |
Default constructor.
expr | The value expression |
idx | The index expression |
Ast::IndexExpr& create | ( | ParseContext & | pctx, |
const Ast::TypeSpec & | typeSpec | ||
) | [inline] |
Return index expression.
pctx | The parser context |
typeSpec | The type of the container expression |
virtual void visitBuffer | ( | ParseContext & | pctx, |
const Ast::TypeDecl & | type | ||
) | [inline, private, virtual] |
Abstract visitor function.
pctx | The ParseContext |
type | The type to check. |
Implements ParseContext::IndexableTypeCaster.
virtual void visitDict | ( | ParseContext & | pctx, |
const Ast::DictTemplate & | type | ||
) | [inline, private, virtual] |
Abstract visitor function.
pctx | The ParseContext |
type | The type to check. |
Implements ParseContext::IndexableTypeCaster.
virtual void visitList | ( | ParseContext & | pctx, |
const Ast::ListTemplate & | type | ||
) | [inline, private, virtual] |
Abstract visitor function.
pctx | The ParseContext |
type | The type to check. |
Implements ParseContext::IndexableTypeCaster.
virtual void visitTree | ( | ParseContext & | pctx, |
const Ast::TypeDecl & | type | ||
) | [inline, private, virtual] |
Abstract visitor function.
pctx | The ParseContext |
type | The type to check. |
Implements ParseContext::IndexableTypeCaster.
virtual void visitView | ( | ParseContext & | pctx, |
const Ast::TypeDecl & | type | ||
) | [inline, private, virtual] |
Abstract visitor function.
pctx | The ParseContext |
type | The type to check. |
Implements ParseContext::IndexableTypeCaster.
virtual void visitWidget | ( | ParseContext & | pctx, |
const Ast::TypeDecl & | type | ||
) | [inline, private, virtual] |
Abstract visitor function.
pctx | The ParseContext |
type | The type to check. |
Implements ParseContext::IndexableTypeCaster.