From e23a12c71dc601a5523dd2540755812a0d1e31a1 Mon Sep 17 00:00:00 2001 From: Adam Sampson Date: Sat, 22 Mar 2008 00:12:54 +0000 Subject: [PATCH] Don't resolve user types until after type checking. This is important -- a user type defined as INT in occam must not be treated the same as INT when typechecking. --- transformations/SimplifyTypes.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/transformations/SimplifyTypes.hs b/transformations/SimplifyTypes.hs index 31d74c4..edb1b7c 100644 --- a/transformations/SimplifyTypes.hs +++ b/transformations/SimplifyTypes.hs @@ -32,8 +32,8 @@ import Types simplifyTypes :: [Pass] simplifyTypes = makePassesDep - [ ("Resolve types in AST", resolveNamedTypes, Prop.agg_namesDone, [Prop.typesResolvedInAST]) - , ("Resolve types in state", rntState, Prop.agg_namesDone, [Prop.typesResolvedInState]) + [ ("Resolve types in AST", resolveNamedTypes, Prop.agg_namesDone ++ [Prop.expressionTypesChecked, Prop.processTypesChecked], [Prop.typesResolvedInAST]) + , ("Resolve types in state", rntState, Prop.agg_namesDone ++ [Prop.expressionTypesChecked, Prop.processTypesChecked], [Prop.typesResolvedInState]) ] -- | Turn named data types into their underlying types.