diff options
author | ronny | 2002-10-14 23:04:58 +0000 |
---|---|---|
committer | ronny | 2002-10-14 23:04:58 +0000 |
commit | e2d995038cba1d5b3ec41c6d2fb5804e7b7cefeb (patch) | |
tree | c97b3bfd682f8adc1dbc22f545c7c7abe92a3536 /frontend/convertcases.icl | |
parent | use transform_trivial for 0-ary funs (diff) |
bug fix convert root cases
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1233 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/convertcases.icl')
-rw-r--r-- | frontend/convertcases.icl | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/frontend/convertcases.icl b/frontend/convertcases.icl index 7a89582..0c6fbd7 100644 --- a/frontend/convertcases.icl +++ b/frontend/convertcases.icl @@ -1256,7 +1256,7 @@ instance convertRootCases Expression where _ -> case case_expr of (Var var) - | not case_explicit || (case ci.ci_case_level of + | not case_explicit && (case ci.ci_case_level of CaseLevelAfterGuardRoot -> False _ -> True) # (varInfo, cs_var_heap) = readPtr var.var_info_ptr cs.cs_var_heap @@ -1645,10 +1645,7 @@ convertNonRootCase ci=:{ci_bound_vars, ci_group_index, ci_common_defs} kees=:{ c | is_degenerate # (EI_CaseTypeAndSplits case_type _, cs_expr_heap) = readPtr case_info_ptr cs.cs_expr_heap cs = { cs & cs_expr_heap = cs_expr_heap } - -// test ... - (defoult, cs) = convertRootCases ci defoult cs -// ... test + (defoult, cs) = convertRootCases {ci & ci_case_level=CaseLevelRoot} defoult cs (act_vars, form_vars, local_vars, caseExpr, old_fv_info_ptr_values,cs_var_heap) = copy_case_expr ci_bound_vars (defoult) cs.cs_var_heap @@ -1685,9 +1682,7 @@ convertNonRootCase ci=:{ci_bound_vars, ci_group_index, ci_common_defs} kees=:{ c (case_expr, cs) = convertCases ci case_expr cs -// test ... - (caseExpr, cs) = convertRootCases ci (Case kees) cs -// ... test + (caseExpr, cs) = convertRootCases {ci & ci_case_level=CaseLevelRoot} (Case kees) cs (act_vars, form_vars, local_vars, caseExpr, old_fv_info_ptr_values,cs_var_heap) = copy_case_expr ci_bound_vars caseExpr cs.cs_var_heap |