diff options
author | diederik | 2002-10-07 08:51:11 +0000 |
---|---|---|
committer | diederik | 2002-10-07 08:51:11 +0000 |
commit | 185d13dd605f8d3e9b017cd67abef4b4f2a75a78 (patch) | |
tree | da3e770981e76875fc34542c69928ad12405e25e | |
parent | clear type propagation info from var heap (diff) |
include type when adding cases for bool exprs
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1216 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
-rw-r--r-- | frontend/transform.icl | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/frontend/transform.icl b/frontend/transform.icl index c1a8032..af78614 100644 --- a/frontend/transform.icl +++ b/frontend/transform.icl @@ -1807,7 +1807,13 @@ where where if_expression :: Expression Expression Expression *CollectState -> (!Expression,!.CollectState); if_expression e1 e2 e3 cos - # (new_info_ptr,symbol_heap) = newPtr EI_Empty cos.cos_symbol_heap +// # (new_info_ptr,symbol_heap) = newPtr EI_Empty cos.cos_symbol_heap + # case_type = + { ct_pattern_type = MakeAttributedType (TB BT_Bool) + , ct_result_type = MakeAttributedType (TB BT_Bool) + , ct_cons_types = [[MakeAttributedType (TB BT_Bool)]] + } + # (new_info_ptr,symbol_heap) = newPtr (EI_CaseType case_type) cos.cos_symbol_heap # kase = Case { case_expr=e1, case_guards=BasicPatterns BT_Bool [{bp_value=BVB True,bp_expr=e2,bp_position=NoPos}], case_default=Yes e3, case_ident=No, case_info_ptr=new_info_ptr, case_default_pos = NoPos, case_explicit = True } |