aboutsummaryrefslogtreecommitdiff
path: root/frontend/checkFunctionBodies.icl
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/checkFunctionBodies.icl')
-rw-r--r--frontend/checkFunctionBodies.icl10
1 files changed, 4 insertions, 6 deletions
diff --git a/frontend/checkFunctionBodies.icl b/frontend/checkFunctionBodies.icl
index 4dfdaa7..6ad9d59 100644
--- a/frontend/checkFunctionBodies.icl
+++ b/frontend/checkFunctionBodies.icl
@@ -900,7 +900,7 @@ where
# (let_expr, var_heap, expr_heap, error_admin) = merge_case let_expr var_heap expr_heap error_admin
= (Let {lad & let_expr = let_expr}, var_heap, expr_heap, error_admin)
merge_case (Case kees) var_heap expr_heap error_admin
- # cases = map (make_case kees.case_expr) (split_patterns kees.case_guards)
+ # cases = map (make_case kees.case_expr kees.case_explicit) (split_patterns kees.case_guards)
cases = init cases ++ [{last cases & case_default = kees.case_default}]
[firstCase : otherCases] = [(Case kees, NoPos) \\ kees <- cases]
((Case {case_guards},_), var_heap, expr_heap, error_admin) = mergeCases firstCase otherCases var_heap expr_heap error_admin
@@ -919,8 +919,8 @@ where
split_patterns NoPattern
= [NoPattern]
- make_case :: Expression CasePatterns -> Case
- make_case expr guard
+ make_case :: Expression Bool CasePatterns -> Case
+ make_case expr explicit guard
=
{ case_expr = expr
, case_guards = guard
@@ -928,9 +928,7 @@ where
, case_ident = No
, case_info_ptr = nilPtr
, case_default_pos= NoPos
-// RWS ...
- , case_explicit = False
-// ... RWS
+ , case_explicit = explicit
}
merge_case expr var_heap expr_heap error_admin
= (expr, var_heap, expr_heap, error_admin)