diff options
Diffstat (limited to 'src/hir/from_ast_expr.cpp')
-rw-r--r-- | src/hir/from_ast_expr.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/hir/from_ast_expr.cpp b/src/hir/from_ast_expr.cpp index 159aed89..b0ea4169 100644 --- a/src/hir/from_ast_expr.cpp +++ b/src/hir/from_ast_expr.cpp @@ -218,12 +218,19 @@ struct LowerHIR_ExprNode_Visitor: break; } } - virtual void visit(::AST::ExprNode_Cast & v) override { + virtual void visit(::AST::ExprNode_Cast& v) override { m_rv.reset( new ::HIR::ExprNode_Cast( v.span(), LowerHIR_ExprNode_Inner( *v.m_value ), LowerHIR_Type(v.m_type) ) ); } + virtual void visit(::AST::ExprNode_TypeAnnotation& v) override { + // TODO: A proper node? + m_rv.reset( new ::HIR::ExprNode_Unsize( v.span(), + LowerHIR_ExprNode_Inner( *v.m_value ), + LowerHIR_Type(v.m_type) + ) ); + } virtual void visit(::AST::ExprNode_CallPath& v) override { ::std::vector< ::HIR::ExprNodeP> args; |