aboutsummaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
authorjohnvg2006-07-17 12:45:01 +0000
committerjohnvg2006-07-17 12:45:01 +0000
commit06af0db316dab1ee803cf9405763fee8802c0f14 (patch)
treef647216b1e29fb5a8ff6d0b43d1838d9c5df1ee6 /frontend
parentadd 64 bit flag to .comp directive (diff)
substitute TA_RootVar when expanding type synonyms
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1603 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend')
-rw-r--r--frontend/generics1.icl7
1 files changed, 6 insertions, 1 deletions
diff --git a/frontend/generics1.icl b/frontend/generics1.icl
index 9e65187..85682e5 100644
--- a/frontend/generics1.icl
+++ b/frontend/generics1.icl
@@ -3236,6 +3236,10 @@ where
= case av_info of
AVI_Attr a -> (a, th_attrs)
AVI_Empty -> (attr, th_attrs)
+ subst_attr (TA_RootVar {av_info_ptr}) th_attrs
+ # (av_info, th_attrs) = readPtr av_info_ptr th_attrs
+ = case av_info of
+ AVI_Attr a -> (a, th_attrs)
subst_attr TA_Multi th = (TA_Multi, th)
subst_attr TA_Unique th = (TA_Unique, th)
@@ -3668,7 +3672,7 @@ foldExpr f EE st
foldExpr f expr st
= abort "generic.icl: foldExpr does not match\n"//f expr st
---> ("foldExpr does not match", expr)
-
+/*
//-----------------------------------------------------------------------------
// map expression applies a function to each node of an expression
// recursively:
@@ -3778,6 +3782,7 @@ where
= ({pat & dp_rhs = dp_rhs}, st)
mapExprSt f expr st = f expr st
+*/
// needed for collectCalls
instance == FunCall where (==) (FunCall x _) (FunCall y _) = x == y