diff options
author | John Hodge <tpg@ucc.asn.au> | 2017-07-16 13:27:31 +0800 |
---|---|---|
committer | John Hodge <tpg@ucc.asn.au> | 2017-07-16 13:27:31 +0800 |
commit | 97567dbbd8c3f8719dbb9e32c6d0f3a155246508 (patch) | |
tree | 3268a7f2bcadd013199883b7bbc2f26b9c385643 /src/hir/from_ast_expr.cpp | |
parent | 9d1a660045de5a3cc37315c78a3a75999fef9b9a (diff) | |
download | mrust-97567dbbd8c3f8719dbb9e32c6d0f3a155246508.tar.gz |
All - Upgrade to rustc 1.19.0 beta (2017-07-08)
Diffstat (limited to 'src/hir/from_ast_expr.cpp')
-rw-r--r-- | src/hir/from_ast_expr.cpp | 47 |
1 files changed, 2 insertions, 45 deletions
diff --git a/src/hir/from_ast_expr.cpp b/src/hir/from_ast_expr.cpp index 296bdce1..4a82867f 100644 --- a/src/hir/from_ast_expr.cpp +++ b/src/hir/from_ast_expr.cpp @@ -118,53 +118,10 @@ struct LowerHIR_ExprNode_Visitor: switch(v.m_type) { case ::AST::ExprNode_BinOp::RANGE: { - // NOTE: Not language items - auto path_Range = ::HIR::GenericPath( ::HIR::SimplePath(g_core_crate, {"ops", "Range"}) ); - auto path_RangeFrom = ::HIR::GenericPath( ::HIR::SimplePath(g_core_crate, {"ops", "RangeFrom"}) ); - auto path_RangeTo = ::HIR::GenericPath( ::HIR::SimplePath(g_core_crate, {"ops", "RangeTo"}) ); - auto path_RangeFull = ::HIR::GenericPath( ::HIR::SimplePath(g_core_crate, {"ops", "RangeFull"}) ); - - ::HIR::ExprNode_StructLiteral::t_values values; - if( v.m_left ) - values.push_back( ::std::make_pair( ::std::string("start"), LowerHIR_ExprNode_Inner( *v.m_left ) ) ); - if( v.m_right ) - values.push_back( ::std::make_pair( ::std::string("end") , LowerHIR_ExprNode_Inner( *v.m_right ) ) ); - - if( v.m_left ) { - if( v.m_right ) { - m_rv.reset( new ::HIR::ExprNode_StructLiteral(v.span(), mv$(path_Range), true, nullptr, mv$(values)) ); - } - else { - m_rv.reset( new ::HIR::ExprNode_StructLiteral(v.span(), mv$(path_RangeFrom), true, nullptr, mv$(values)) ); - } - } - else { - if( v.m_right ) { - m_rv.reset( new ::HIR::ExprNode_StructLiteral(v.span(), mv$(path_RangeTo), true, nullptr, mv$(values)) ); - } - else { - m_rv.reset( new ::HIR::ExprNode_UnitVariant(v.span(), mv$(path_RangeFull), true) ); - } - } + BUG(v.span(), "Unexpected RANGE binop"); break; } case ::AST::ExprNode_BinOp::RANGE_INC: { - // NOTE: Not language items - auto path_RangeInclusive_NonEmpty = ::HIR::GenericPath( ::HIR::SimplePath(g_core_crate, {"ops", "RangeInclusive", "NonEmpty"}) ); - auto path_RangeToInclusive = ::HIR::GenericPath( ::HIR::SimplePath(g_core_crate, {"ops", "RangeToInclusive"}) ); - - if( v.m_left ) - { - ::HIR::ExprNode_StructLiteral::t_values values; - values.push_back( ::std::make_pair( ::std::string("start"), LowerHIR_ExprNode_Inner( *v.m_left ) ) ); - values.push_back( ::std::make_pair( ::std::string("end") , LowerHIR_ExprNode_Inner( *v.m_right ) ) ); - m_rv.reset( new ::HIR::ExprNode_StructLiteral(v.span(), mv$(path_RangeInclusive_NonEmpty), false, nullptr, mv$(values)) ); - } - else - { - ::HIR::ExprNode_StructLiteral::t_values values; - values.push_back( ::std::make_pair( ::std::string("end") , LowerHIR_ExprNode_Inner( *v.m_right ) ) ); - m_rv.reset( new ::HIR::ExprNode_StructLiteral(v.span(), mv$(path_RangeToInclusive), true, nullptr, mv$(values)) ); - } + BUG(v.span(), "Unexpected RANGE_INC binop"); break; } case ::AST::ExprNode_BinOp::PLACE_IN: TODO(v.span(), "Desugar placement syntax"); |