Zen
A cross-platform functional programming language
|
Base class for expression AST Nodes. More...
#include <Ast.hpp>
Classes | |
class | Visitor |
Expr Visitor interface class. More... | |
Public Member Functions | |
Expr (const QualifiedType &type) | |
Default constructor. | |
virtual void | visit (Visitor &visitor) const =0 |
Visitor pattern implementation. | |
const QualifiedType & | getType () const |
Returns a reference to the expression type. | |
Private Attributes | |
const QualifiedType & | _type |
Expression type. |
Base class for expression AST Nodes.
Expr | ( | const QualifiedType & | type | ) | [inline] |
Default constructor.
type | Expression type |
const QualifiedType& getType | ( | ) | const [inline] |
Returns a reference to the expression type.
virtual void visit | ( | Visitor & | visitor | ) | const [pure virtual] |
Visitor pattern implementation.
visitor | The visitor object. |
Implemented in TernaryOpExpr, BinaryOpExpr, PrefixOpExpr, PostfixOpExpr, OrderedExpr, IndexExpr, SpliceExpr, StringFormatExpr, TypeDefExpr, StructExpr, FunctionExpr, ListTemplateExpr, DictTemplateExpr, StructInitExpr, ListExpr, DictExpr, TreeExpr, QueryExpr, QueryPartExpr, QueryBinaryExpr, QueryValExpr, QueryConstantExpr, VariableRefExpr, EnumRefExpr, InternalCallExpr, InvokerCallExpr, FunctionCallExpr, FunctionImplExpr, FunctionDefImplExpr, AnyExpr, CastExpr, NumericConstantExpr, BooleanConstantExpr, CharConstantExpr, and StringConstantExpr.