summaryrefslogtreecommitdiff
path: root/src/hir_conv/bind.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2019-05-05 12:42:57 +0800
committerJohn Hodge <tpg@ucc.asn.au>2019-05-05 12:42:57 +0800
commit4c4a7b88914861b644ec56738ced8cfc179f93f9 (patch)
treeb5ab0e30b67698c4d72b224e6b695672966aaeac /src/hir_conv/bind.cpp
parenta67c91329da4e2840ee4089e5c7854f68bb8afda (diff)
downloadmrust-4c4a7b88914861b644ec56738ced8cfc179f93f9.tar.gz
MIR - Wrap HIR::Path-s in MIR::Constant in unique_ptr
Diffstat (limited to 'src/hir_conv/bind.cpp')
-rw-r--r--src/hir_conv/bind.cpp47
1 files changed, 19 insertions, 28 deletions
diff --git a/src/hir_conv/bind.cpp b/src/hir_conv/bind.cpp
index 940b2cab..84854315 100644
--- a/src/hir_conv/bind.cpp
+++ b/src/hir_conv/bind.cpp
@@ -729,25 +729,29 @@ namespace {
)
)
}
+ static void visit_constant(Visitor& upper_visitor, ::MIR::Constant& e)
+ {
+ TU_MATCHA( (e), (ce),
+ (Int, ),
+ (Uint,),
+ (Float, ),
+ (Bool, ),
+ (Bytes, ),
+ (StaticString, ), // String
+ (Const,
+ upper_visitor.visit_path(*ce.p, ::HIR::Visitor::PathContext::VALUE);
+ ),
+ (ItemAddr,
+ upper_visitor.visit_path(*ce, ::HIR::Visitor::PathContext::VALUE);
+ )
+ )
+ }
static void visit_param(Visitor& upper_visitor, ::MIR::Param& p)
{
TU_MATCHA( (p), (e),
(LValue, H::visit_lvalue(upper_visitor, e);),
(Constant,
- TU_MATCHA( (e), (ce),
- (Int, ),
- (Uint,),
- (Float, ),
- (Bool, ),
- (Bytes, ),
- (StaticString, ), // String
- (Const,
- upper_visitor.visit_path(ce.p, ::HIR::Visitor::PathContext::VALUE);
- ),
- (ItemAddr,
- upper_visitor.visit_path(ce, ::HIR::Visitor::PathContext::VALUE);
- )
- )
+ H::visit_constant(upper_visitor, e);
)
)
}
@@ -765,20 +769,7 @@ namespace {
H::visit_lvalue(*this, e);
),
(Constant,
- TU_MATCHA( (e), (ce),
- (Int, ),
- (Uint,),
- (Float, ),
- (Bool, ),
- (Bytes, ),
- (StaticString, ), // String
- (Const,
- this->visit_path(ce.p, ::HIR::Visitor::PathContext::VALUE);
- ),
- (ItemAddr,
- this->visit_path(ce, ::HIR::Visitor::PathContext::VALUE);
- )
- )
+ H::visit_constant(*this, e);
),
(SizedArray,
H::visit_param(*this, e.val);