summaryrefslogtreecommitdiff
path: root/src/mir/mir_builder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mir/mir_builder.cpp')
-rw-r--r--src/mir/mir_builder.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mir/mir_builder.cpp b/src/mir/mir_builder.cpp
index 7dee2003..1549d39a 100644
--- a/src/mir/mir_builder.cpp
+++ b/src/mir/mir_builder.cpp
@@ -40,6 +40,16 @@ MirBuilder::MirBuilder(const Span& sp, const StaticTraitResolve& resolve, const
DEBUG("First temporary will be " << m_first_temp_idx);
m_if_cond_lval = this->new_temporary(::HIR::CoreType::Bool);
+
+ // Determine which variables can be replaced by arguents
+ for(size_t i = 0; i < args.size(); i ++)
+ {
+ const auto& pat = args[i].first;
+ if( pat.m_binding.is_valid() && pat.m_binding.m_type == ::HIR::PatternBinding::Type::Move )
+ {
+ m_var_arg_mappings[pat.m_binding.m_slot] = i;
+ }
+ }
}
MirBuilder::~MirBuilder()
{