diff options
Diffstat (limited to 'src/hir/from_ast_expr.cpp')
-rw-r--r-- | src/hir/from_ast_expr.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/hir/from_ast_expr.cpp b/src/hir/from_ast_expr.cpp index 4213e2f3..eac8e756 100644 --- a/src/hir/from_ast_expr.cpp +++ b/src/hir/from_ast_expr.cpp @@ -226,6 +226,14 @@ struct LowerHIR_ExprNode_Visitor: ) ); } virtual void visit(::AST::ExprNode_CallObject& v) override { + ::std::vector< ::HIR::ExprNodeP> args; + for(const auto& arg : v.m_args) + args.push_back( LowerHIR_ExprNode_Inner(*arg) ); + + m_rv.reset( new ::HIR::ExprNode_CallValue( + LowerHIR_ExprNode_Inner(*v.m_val), + mv$(args) + ) ); } virtual void visit(::AST::ExprNode_Loop& v) override { switch( v.m_type ) @@ -353,7 +361,7 @@ struct LowerHIR_ExprNode_Visitor: case CORETYPE_CHAR: return ::HIR::CoreType::Char; default: - BUG(sp, "Unknown type for integer literal"); + BUG(sp, "Unknown type for integer literal - " << ct); } } }; |