diff options
Diffstat (limited to 'frontend')
-rw-r--r-- | frontend/overloading.icl | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/frontend/overloading.icl b/frontend/overloading.icl index 3acdf79..a320597 100644 --- a/frontend/overloading.icl +++ b/frontend/overloading.icl @@ -1746,6 +1746,18 @@ where varToFreeVar {var_name, var_info_ptr} count = {fv_def_level = NotALevel, fv_name = var_name, fv_info_ptr = var_info_ptr, fv_count = count} + adjustClassExpression symb_name (Let this_let=:{let_strict_binds, let_lazy_binds, let_expr }) ui + # (let_strict_binds, ui) = adjust_let_binds symb_name let_strict_binds ui + (let_lazy_binds, ui) = adjust_let_binds symb_name let_lazy_binds ui + (let_expr, ui) = adjustClassExpression symb_name let_expr ui + = (Let { this_let & let_strict_binds = let_strict_binds, let_lazy_binds = let_lazy_binds, let_expr = let_expr }, ui) + where + adjust_let_binds symb_name let_binds ui + = mapSt (adjust_let_bind symb_name) let_binds ui + + adjust_let_bind symb_name let_bind=:{lb_src} ui + # (lb_src, ui) = adjustClassExpression symb_name lb_src ui + = ({let_bind & lb_src = lb_src}, ui) adjustClassExpression symb_name expr ui = (expr, ui) |