aboutsummaryrefslogtreecommitdiff
path: root/frontend/syntax.dcl
diff options
context:
space:
mode:
authorjohnvg2012-08-07 09:51:51 +0000
committerjohnvg2012-08-07 09:51:51 +0000
commit2506184b0df69d386f08ae94d28a0c3caa409695 (patch)
tree6f75492191fecb0a9321c78779136dc13826bb37 /frontend/syntax.dcl
parentmove computation of n_args_before_producer and n_producer_args in function ge... (diff)
fix fusion of a function that is both the consumer and the producer.
before copying the producer, the type variables are modified to use the type of the producer when updating the types in cases and lets, otherwise a polymorphic type may be specialized, possibly causing a type error later git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2134 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/syntax.dcl')
-rw-r--r--frontend/syntax.dcl4
1 files changed, 2 insertions, 2 deletions
diff --git a/frontend/syntax.dcl b/frontend/syntax.dcl
index 1c76796..2b68014 100644
--- a/frontend/syntax.dcl
+++ b/frontend/syntax.dcl
@@ -742,8 +742,8 @@ pIsSafe :== True
VI_Pattern !AuxiliaryPattern |
VI_TypeCodeVariable !TypeCodeVariableInfo |
VI_DynamicValueAlias !BoundVar |
- VI_Body !SymbIdent !TransformedBody ![FreeVar] | /* used during fusion */
- VI_ExpressionOrBody !Expression !SymbIdent !TransformedBody ![FreeVar] | /* used during fusion */
+ VI_Body !SymbIdent !TransformedBody ![FreeVar] ![TypeVar] ![TypeVar] | /* used during fusion */
+ VI_ExpressionOrBody !Expression !SymbIdent !TransformedBody ![FreeVar] ![TypeVar] ![TypeVar] | /* used during fusion */
VI_Dictionary !SymbIdent ![Expression] !Type | /* used during fusion */
VI_Extended !ExtendedVarInfo !VarInfo |
// MdM