summaryrefslogtreecommitdiff
path: root/src/ast/expr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ast/expr.cpp')
-rw-r--r--src/ast/expr.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/ast/expr.cpp b/src/ast/expr.cpp
index 026a54c1..1009709b 100644
--- a/src/ast/expr.cpp
+++ b/src/ast/expr.cpp
@@ -44,6 +44,8 @@ SERIALISE_TYPE(Expr::, "Expr", {
else _(ExprNode_Tuple)
else _(ExprNode_NamedValue)
else _(ExprNode_Field)
+ else _(ExprNode_Deref)
+ else _(ExprNode_Cast)
else _(ExprNode_CallPath)
else _(ExprNode_BinOp)
else
@@ -178,6 +180,13 @@ SERIALISE_TYPE_S(ExprNode_Field, {
s.item(m_name);
})
+void ExprNode_Deref::visit(NodeVisitor& nv) {
+ nv.visit(*this);
+}
+SERIALISE_TYPE_S(ExprNode_Deref, {
+ s.item(m_value);
+});
+
void ExprNode_Cast::visit(NodeVisitor& nv) {
nv.visit(*this);
}
@@ -325,6 +334,11 @@ void NodeVisitor::visit(ExprNode_Field& node)
DEBUG("DEF - ExprNode_Field");
visit(node.m_obj);
}
+void NodeVisitor::visit(ExprNode_Deref& node)
+{
+ DEBUG("DEF - ExprNode_Deref");
+ visit(node.m_value);
+}
void NodeVisitor::visit(ExprNode_Cast& node)
{
DEBUG("DEF - ExprNode_Cast");