aboutsummaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
authorronny2004-03-17 11:52:48 +0000
committerronny2004-03-17 11:52:48 +0000
commit99f62ef7674fe7e56c36487d12343a8a2a834231 (patch)
tree3658bbff426f612d959963bc7ee9e703f0ae558f /frontend
parentimplement tuple result for foreign export / centry (diff)
ignore rank > 1 quantors in type_io
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1464 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend')
-rw-r--r--frontend/type_io.icl14
1 files changed, 14 insertions, 0 deletions
diff --git a/frontend/type_io.icl b/frontend/type_io.icl
index 3c0c5d0..a667052 100644
--- a/frontend/type_io.icl
+++ b/frontend/type_io.icl
@@ -359,6 +359,20 @@ where
= write_type_info type_var tcl_file wtis
= (tcl_file,wtis)
+ // FIXME: the universally quantifier and type vars are ignored here
+ // this is really just a hack to prevent the compiler from crashing
+ // on rank>1 types
+ write_type_info (TFA uni_vars type) tcl_file wtis
+ # (th_vars,wtis)
+ = sel_type_var_heap wtis
+ # (_,(_,th_vars))
+ = mapSt normalize_type_var uni_vars (0,th_vars)
+ # wtis
+ = { wtis & wtis_type_heaps.th_vars = th_vars }
+ # (tcl_file,wtis)
+ = write_type_info type tcl_file wtis
+ = (tcl_file,wtis)
+
write_type_info TE tcl_file wtis
# tcl_file
= fwritec TypeTECode tcl_file