summaryrefslogtreecommitdiff
path: root/src/mir/helpers.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mir/helpers.cpp')
-rw-r--r--src/mir/helpers.cpp9
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
{