X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fmain%2FHscTypes.lhs;h=c1882d6a7832d0434e80269e375fada6f23c4b6f;hb=55357088ddc788000b29e6bc8697fe09471bf195;hp=85cf73e2e1f61bf8d6da074e38a935a69cdccdb2;hpb=c1681a73fa4ca4cf8758264ae387ac09a9e900d8;p=ghc-hetmet.git diff --git a/compiler/main/HscTypes.lhs b/compiler/main/HscTypes.lhs index 85cf73e..c1882d6 100644 --- a/compiler/main/HscTypes.lhs +++ b/compiler/main/HscTypes.lhs @@ -1302,6 +1302,7 @@ data VectInfo vectInfoVar :: VarEnv (Var , Var ), -- (f, f_v) keyed on f vectInfoTyCon :: NameEnv (TyCon , TyCon), -- (T, T_v) keyed on T vectInfoDataCon :: NameEnv (DataCon, DataCon), -- (C, C_v) keyed on C + vectInfoPADFun :: NameEnv (TyCon , Var), -- (T_v, paT) keyed on T_v vectInfoIso :: NameEnv (TyCon , Var) -- (T, isoT) keyed on T } -- all of this is always tidy, even in ModGuts @@ -1325,13 +1326,14 @@ data IfaceVectInfo } noVectInfo :: VectInfo -noVectInfo = VectInfo emptyVarEnv emptyNameEnv emptyNameEnv emptyNameEnv +noVectInfo = VectInfo emptyVarEnv emptyNameEnv emptyNameEnv emptyNameEnv emptyNameEnv plusVectInfo :: VectInfo -> VectInfo -> VectInfo plusVectInfo vi1 vi2 = VectInfo (vectInfoVar vi1 `plusVarEnv` vectInfoVar vi2) (vectInfoTyCon vi1 `plusNameEnv` vectInfoTyCon vi2) (vectInfoDataCon vi1 `plusNameEnv` vectInfoDataCon vi2) + (vectInfoPADFun vi1 `plusNameEnv` vectInfoPADFun vi2) (vectInfoIso vi1 `plusNameEnv` vectInfoIso vi2) noIfaceVectInfo :: IfaceVectInfo @@ -1425,6 +1427,8 @@ data ModBreaks -- An array giving the source span of each breakpoint. , modBreaks_vars :: !(Array BreakIndex [OccName]) -- An array giving the names of the free variables at each breakpoint. + , modBreaks_decls:: !(Array BreakIndex SrcSpan) + -- An array giving the span of the enclosing expression } emptyModBreaks :: ModBreaks @@ -1433,5 +1437,6 @@ emptyModBreaks = ModBreaks -- Todo: can we avoid this? , modBreaks_locs = array (0,-1) [] , modBreaks_vars = array (0,-1) [] + , modBreaks_decls= array (0,-1) [] } \end{code}