aboutsummaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
authorjohnvg2014-03-19 16:40:58 +0000
committerjohnvg2014-03-19 16:40:58 +0000
commit608339f4138803bd8e956183c2e164d7f03fbf1c (patch)
treea128dc1a8cda7eeb6635958066c9074fc7b9aabd /frontend
parentif a constraint of a class without members is reduced, and all classes in the... (diff)
fix the order of expansion of type synonyms in type synonyms,
by using the reversed groups (constructed in reverse order) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2361 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend')
-rw-r--r--frontend/analtypes.icl5
1 files changed, 3 insertions, 2 deletions
diff --git a/frontend/analtypes.icl b/frontend/analtypes.icl
index 694e66a..8082735 100644
--- a/frontend/analtypes.icl
+++ b/frontend/analtypes.icl
@@ -58,13 +58,14 @@ partionateAndExpandTypes used_module_numbers main_dcl_module_index icl_common=:{
icl_cons_defs = com_cons_defs
new_cons_defs = { {} \\ module_n <- [0..nr_of_modules-1] }
+ reversed_groups = reverse pi_groups
(new_type_defs, icl_type_defs, new_cons_defs, icl_cons_defs, type_heaps, dcl_modules, error)
- = expand_synonym_types_of_groups main_dcl_module_index pi_groups
+ = expand_synonym_types_of_groups main_dcl_module_index reversed_groups
(new_type_defs, icl_type_defs, new_cons_defs, icl_cons_defs, type_heaps, dcl_modules, pi_error)
icl_common = {icl_common & com_type_defs = icl_type_defs, com_cons_defs = icl_cons_defs}
(dcl_modules, common_defs) = update_modules_and_create_commondefs used_module_numbers new_type_defs new_cons_defs nr_of_modules dcl_modules
- = (reverse pi_groups, common_defs, pi_type_def_infos, icl_common, dcl_modules, type_heaps, error)
+ = (reversed_groups, common_defs, pi_type_def_infos, icl_common, dcl_modules, type_heaps, error)
where
create_type_defs_marks_and_infos :: NumberSet Int Int Int (*{#CheckedTypeDef},*{#DclModule}) -> (!*{#DclModule},!*{#*{#CheckedTypeDef}},!*{#*{#Int}},!*TypeDefInfos)
create_type_defs_marks_and_infos used_module_numbers main_dcl_module_index n_types_without_not_exported_dictionaries nr_of_modules (icl_type_defs, dcl_modules)