diff options
Diffstat (limited to 'src/mir/helpers.cpp')
-rw-r--r-- | src/mir/helpers.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mir/helpers.cpp b/src/mir/helpers.cpp index e51c9180..b90f3cf6 100644 --- a/src/mir/helpers.cpp +++ b/src/mir/helpers.cpp @@ -251,6 +251,15 @@ const ::HIR::TypeRef& ::MIR::TypeResolve::get_lvalue_type(::HIR::TypeRef& tmp, c ) throw ""; } +const ::HIR::TypeRef& MIR::TypeResolve::get_param_type(::HIR::TypeRef& tmp, const ::MIR::Param& val) const +{ + if (const auto* p = val.opt_LValue()) { + return get_lvalue_type(tmp, *p); + } + else { + return tmp = get_const_type(val.as_Constant()); + } +} ::HIR::TypeRef MIR::TypeResolve::get_const_type(const ::MIR::Constant& c) const { |