Stopped calls to the user-defined operators being pulled up

This commit is contained in:
Neil Brown 2009-04-07 16:12:03 +00:00
parent a3ec0aab7f
commit 3fd373e4ac

View File

@ -555,7 +555,7 @@ pullUp pullUpArraysInsideRecords = pass "Pull up definitions"
doExpression' :: A.Expression -> PassM A.Expression doExpression' :: A.Expression -> PassM A.Expression
-- Convert single-valued function calls. -- Convert single-valued function calls.
doExpression' (A.FunctionCall m n es) doExpression' (A.FunctionCall m n es) | not $ builtInOperatorFunction n
= do [v] <- convertFuncCall m n es = do [v] <- convertFuncCall m n es
return $ A.ExprVariable m v return $ A.ExprVariable m v
-- Convert SubscriptedExprs into SubscriptedVariables. -- Convert SubscriptedExprs into SubscriptedVariables.
@ -571,6 +571,7 @@ pullUp pullUpArraysInsideRecords = pass "Pull up definitions"
doExpressionList :: A.ExpressionList -> PassM A.ExpressionList doExpressionList :: A.ExpressionList -> PassM A.ExpressionList
-- Convert multi-valued function calls. -- Convert multi-valued function calls.
doExpressionList (A.FunctionCallList m n es) doExpressionList (A.FunctionCallList m n es)
| not (builtInOperatorFunction n)
= do vs <- convertFuncCall m n es = do vs <- convertFuncCall m n es
return $ A.ExpressionList m [A.ExprVariable m v | v <- vs] return $ A.ExpressionList m [A.ExprVariable m v | v <- vs]
doExpressionList el = descend el doExpressionList el = descend el