From 33ca2fe25322ca67f4f95ab33a06bfea36006d3e Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Tue, 31 Mar 2009 16:19:18 +0000 Subject: [PATCH] Made sure that user types are resolved when fixing array constructor types --- frontends/OccamPasses.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontends/OccamPasses.hs b/frontends/OccamPasses.hs index 4e5eef6..feb26dd 100644 --- a/frontends/OccamPasses.hs +++ b/frontends/OccamPasses.hs @@ -58,7 +58,8 @@ fixConstructorTypes = occamOnlyPass "Fix the types of array constructors" where doExpression :: A.Expression -> PassM A.Expression doExpression (A.Literal m prevT lit@(A.ArrayListLiteral _ expr)) - = do t' <- doExpr [] (getDims prevT) expr + = do prevT' <- underlyingType m prevT + t' <- doExpr [] (getDims prevT') expr return $ A.Literal m t' lit where getDims :: A.Type -> [A.Dimension]