aboutsummaryrefslogtreecommitdiff
path: root/frontend/postparse.icl
diff options
context:
space:
mode:
authorjohnvg2002-07-17 13:48:34 +0000
committerjohnvg2002-07-17 13:48:34 +0000
commitb522cd65347033f5408e5a7a9c8579a7f43f87e6 (patch)
tree6c1735deee106117d96d435d3a3fb8c2f41a7095 /frontend/postparse.icl
parentremove some dead code in comments (diff)
add abstract synonym types
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1157 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/postparse.icl')
-rw-r--r--frontend/postparse.icl6
1 files changed, 5 insertions, 1 deletions
diff --git a/frontend/postparse.icl b/frontend/postparse.icl
index 9b76812..71d9392 100644
--- a/frontend/postparse.icl
+++ b/frontend/postparse.icl
@@ -1306,7 +1306,6 @@ where
= ([field : fields], next_selector_index)
determine_symbols_of_selectors [] next_selector_index
= ([], next_selector_index)
-
reorganiseDefinitions icl_module [PD_Type type_def=:{td_rhs = TypeSpec type} : defs] cons_count sel_count mem_count type_count ca
# (fun_defs, c_defs, imports, imported_objects, ca) = reorganiseDefinitions icl_module defs cons_count sel_count mem_count (type_count+1) ca
type_def = { type_def & td_rhs = SynType type }
@@ -1317,6 +1316,11 @@ reorganiseDefinitions icl_module [PD_Type type_def=:{td_rhs = EmptyRhs propertie
type_def = { type_def & td_rhs = AbstractType properties }
c_defs = { c_defs & def_types = [type_def : c_defs.def_types] }
= (fun_defs, c_defs, imports, imported_objects, ca)
+reorganiseDefinitions icl_module [PD_Type type_def=:{td_rhs = AbstractTypeSpec properties type} : defs] cons_count sel_count mem_count type_count ca
+ # (fun_defs, c_defs, imports, imported_objects, ca) = reorganiseDefinitions icl_module defs cons_count sel_count mem_count (type_count+1) ca
+ type_def = { type_def & td_rhs = AbstractSynType properties type }
+ c_defs = { c_defs & def_types = [type_def : c_defs.def_types] }
+ = (fun_defs, c_defs, imports, imported_objects, ca)
reorganiseDefinitions icl_module [PD_Class class_def=:{class_name,class_arity,class_args} members : defs] cons_count sel_count mem_count type_count ca
# type_context = { tc_class = TCClass {glob_module = NoIndex, glob_object = {ds_ident = class_name, ds_arity = class_arity, ds_index = NoIndex }},
tc_types = [ TV tv \\ tv <- class_args ], tc_var = nilPtr}