diff options
Diffstat (limited to 'src/ast/expr.cpp')
-rw-r--r-- | src/ast/expr.cpp | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/src/ast/expr.cpp b/src/ast/expr.cpp new file mode 100644 index 00000000..a5401fef --- /dev/null +++ b/src/ast/expr.cpp @@ -0,0 +1,81 @@ +/* + */ +#include "expr.hpp" + +namespace AST { + +void Expr::visit_nodes(NodeVisitor& v) +{ + m_node->visit(v); +} +::std::ostream& operator<<(::std::ostream& os, const Expr& pat) +{ + os << "Expr(TODO)"; + return os; +} + +ExprNode::~ExprNode() { +} + +ExprNode_Block::~ExprNode_Block() { +} +void ExprNode_Block::visit(NodeVisitor& nv) { + nv.visit(*this); +} + +void ExprNode_Return::visit(NodeVisitor& nv) { + nv.visit(*this); +} + +void ExprNode_LetBinding::visit(NodeVisitor& nv) { + nv.visit(*this); +} + +void ExprNode_Assign::visit(NodeVisitor& nv) { + nv.visit(*this); +} + +void ExprNode_CallPath::visit(NodeVisitor& nv) { + nv.visit(*this); +} + +void ExprNode_CallMethod::visit(NodeVisitor& nv) { + nv.visit(*this); +} + +void ExprNode_CallObject::visit(NodeVisitor& nv) { + nv.visit(*this); +} + +void ExprNode_Match::visit(NodeVisitor& nv) { + nv.visit(*this); +} + +void ExprNode_If::visit(NodeVisitor& nv) { + nv.visit(*this); +} + +void ExprNode_Integer::visit(NodeVisitor& nv) { + nv.visit(*this); +} + +void ExprNode_StructLiteral::visit(NodeVisitor& nv) { + nv.visit(*this); +} + +void ExprNode_NamedValue::visit(NodeVisitor& nv) { + nv.visit(*this); +} + +void ExprNode_Field::visit(NodeVisitor& nv) { + nv.visit(*this); +} + +void ExprNode_Cast::visit(NodeVisitor& nv) { + nv.visit(*this); +} +void ExprNode_BinOp::visit(NodeVisitor& nv) { + nv.visit(*this); +} +}; + |