aboutsummaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
authorjohnvg2012-05-01 10:21:18 +0000
committerjohnvg2012-05-01 10:21:18 +0000
commit2f6f2f76273d241f025f7d81a1a324ed770b0a51 (patch)
treed642943d6399dfc1dc38506aa2fc995d479918b8 /frontend
parentdon't print unnecessary brackets inside tuple and list types (diff)
print some generic contexts using generic_function_name{|kind|}
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2063 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend')
-rw-r--r--frontend/typesupport.icl11
1 files changed, 9 insertions, 2 deletions
diff --git a/frontend/typesupport.icl b/frontend/typesupport.icl
index ddd39dd..04c6f8d 100644
--- a/frontend/typesupport.icl
+++ b/frontend/typesupport.icl
@@ -1046,8 +1046,15 @@ where
where
write_tc_class (TCClass {glob_object={ds_ident}}) file
= file <<< ds_ident
- write_tc_class (TCGeneric {gtc_class={glob_object={ds_ident}}}) file
- = file <<< ds_ident
+ write_tc_class (TCGeneric {gtc_class={glob_object={ds_ident={id_name}}},gtc_kind}) file
+ = write_generic_class (size id_name-1) id_name gtc_kind
+ where
+ write_generic_class i class_name kind
+ | i>0
+ | class_name.[i]<>'_'
+ = write_generic_class (i-1) class_name kind
+ = file <<< (class_name % (0,i-1)) <<< "{|" <<< gtc_kind <<< "|}"
+ = file <<< class_name
instance writeType SAType
where