X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FndpFlatten%2FFlattenMonad.hs;h=a9cc53f5fe9677bf9e1e63910b05bd2cce8f4ce0;hb=2eb04ca0f8d0ec72b417cddc60672c696b4a3daa;hp=45405088fc67f96e55650b2f4c9f7a89bcae9e42;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1;p=ghc-hetmet.git diff --git a/compiler/ndpFlatten/FlattenMonad.hs b/compiler/ndpFlatten/FlattenMonad.hs index 4540508..a9cc53f 100644 --- a/compiler/ndpFlatten/FlattenMonad.hs +++ b/compiler/ndpFlatten/FlattenMonad.hs @@ -75,7 +75,7 @@ import VarEnv (VarEnv, emptyVarEnv, zipVarEnv, plusVarEnv, elemVarEnv, lookupVarEnv, lookupVarEnv_NF, delVarEnvList) import Type (Type, tyConAppTyCon) import HscTypes (HomePackageTable, - ExternalPackageState(eps_PTE), HscEnv(hsc_HPT), + ExternalPackageState(eps_PTE), HscEnv(..), TyThing(..), lookupType) import PrelNames ( fstName, andName, orName, lengthPName, replicatePName, mapPName, bpermutePName, @@ -83,6 +83,7 @@ import PrelNames ( fstName, andName, orName, import TysPrim ( charPrimTyCon, intPrimTyCon, floatPrimTyCon, doublePrimTyCon ) import PrimOp ( PrimOp(..) ) import PrelInfo ( primOpId ) +import DynFlags (DynFlags) import CoreSyn (Expr(..), Bind(..), CoreBndr, CoreExpr, CoreBind, mkApps) import CoreUtils (exprType) import FastString (FastString) @@ -128,11 +129,12 @@ data FlattenState = FlattenState { -- initial value of the flattening state -- -initialFlattenState :: ExternalPackageState +initialFlattenState :: DynFlags + -> ExternalPackageState -> HomePackageTable -> UniqSupply -> FlattenState -initialFlattenState eps hpt us = +initialFlattenState dflags eps hpt us = FlattenState { us = us, env = lookup, @@ -142,7 +144,7 @@ initialFlattenState eps hpt us = } where lookup n = - case lookupType hpt (eps_PTE eps) n of + case lookupType dflags hpt (eps_PTE eps) n of Just (AnId v) -> v _ -> pprPanic "FlattenMonad: unknown name:" (ppr n) @@ -167,7 +169,8 @@ runFlatten :: HscEnv -> Flatten a -> a runFlatten hsc_env eps us m - = fst $ unFlatten m (initialFlattenState eps (hsc_HPT hsc_env) us) + = fst $ unFlatten m (initialFlattenState (hsc_dflags hsc_env) + eps (hsc_HPT hsc_env) us) -- variable generation