summaryrefslogtreecommitdiff
path: root/src/hir/from_ast_expr.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2017-07-16 13:27:31 +0800
committerJohn Hodge <tpg@ucc.asn.au>2017-07-16 13:27:31 +0800
commit97567dbbd8c3f8719dbb9e32c6d0f3a155246508 (patch)
tree3268a7f2bcadd013199883b7bbc2f26b9c385643 /src/hir/from_ast_expr.cpp
parent9d1a660045de5a3cc37315c78a3a75999fef9b9a (diff)
downloadmrust-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.cpp47
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");