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.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/ast/expr.cpp b/src/ast/expr.cpp
index 5c9afa5d..3f2abd2b 100644
--- a/src/ast/expr.cpp
+++ b/src/ast/expr.cpp
@@ -325,6 +325,11 @@ NODE(ExprNode_Cast, {
},{
return NEWNODE(ExprNode_Cast, m_value->clone(), TypeRef(m_type));
})
+NODE(ExprNode_TypeAnnotation, {
+ os << "(" << *m_value << ": " << m_type << ")";
+},{
+ return NEWNODE(ExprNode_TypeAnnotation, m_value->clone(), TypeRef(m_type));
+})
NODE(ExprNode_BinOp, {
os << "(" << *m_left << " ";
@@ -511,6 +516,10 @@ NV(ExprNode_Cast,
{
visit(node.m_value);
})
+NV(ExprNode_TypeAnnotation,
+{
+ visit(node.m_value);
+})
NV(ExprNode_BinOp,
{
visit(node.m_left);