X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fiface%2FIfaceEnv.lhs;h=8074fe0d1810d8db620d792cb618eebe782a39d8;hb=e5f78a4a5309b598d5195aa49a0bf7a206942cea;hp=fe0b0cdb22d6495dbba0025bd17963ff14387180;hpb=b00b5bc04ff36a551552470060064f0b7d84ca30;p=ghc-hetmet.git diff --git a/compiler/iface/IfaceEnv.lhs b/compiler/iface/IfaceEnv.lhs index fe0b0cd..8074fe0 100644 --- a/compiler/iface/IfaceEnv.lhs +++ b/compiler/iface/IfaceEnv.lhs @@ -1,4 +1,4 @@ -(c) The University of Glasgow 2002 +(c) The University of Glasgow 2002-2006 \begin{code} module IfaceEnv ( @@ -19,29 +19,21 @@ module IfaceEnv ( #include "HsVersions.h" import TcRnMonad -import TysWiredIn ( tupleTyCon, tupleCon ) -import HscTypes ( NameCache(..), HscEnv(..), GenAvailInfo(..), - IfaceExport, OrigNameCache, AvailInfo ) -import Type ( mkOpenTvSubst, substTy ) -import TyCon ( TyCon, tyConName ) -import DataCon ( dataConWorkId, dataConName ) -import Var ( TyVar, Id, varName ) -import Name ( Name, nameUnique, nameModule, - nameOccName, nameSrcLoc, getOccName, - isWiredInName, mkIPName, - mkExternalName, mkInternalName ) -import NameSet ( NameSet, emptyNameSet, addListToNameSet ) -import OccName ( OccName, isTupleOcc_maybe, tcName, dataName, occNameFS, - lookupOccEnv, unitOccEnv, extendOccEnv ) -import PrelNames ( gHC_PRIM, dATA_TUP ) -import Module ( Module, emptyModuleEnv, ModuleName, modulePackageId, - lookupModuleEnv, extendModuleEnv_C, mkModule ) -import UniqFM ( lookupUFM, addListToUFM ) -import FastString ( FastString ) -import UniqSupply ( UniqSupply, splitUniqSupply, uniqFromSupply, uniqsFromSupply ) -import FiniteMap ( emptyFM, lookupFM, addToFM ) -import BasicTypes ( IPName(..), mapIPName ) -import SrcLoc ( SrcLoc, noSrcLoc ) +import TysWiredIn +import HscTypes +import TyCon +import DataCon +import Var +import Name +import OccName +import PrelNames +import Module +import UniqFM +import FastString +import UniqSupply +import FiniteMap +import BasicTypes +import SrcLoc import Outputable \end{code} @@ -64,7 +56,7 @@ newGlobalBinder :: Module -> OccName -> SrcLoc -> TcRnIf a b Name newGlobalBinder mod occ loc = do { mod `seq` occ `seq` return () -- See notes with lookupOrig_help - ; traceIf (text "newGlobalBinder" <+> ppr mod <+> ppr occ <+> ppr loc) +-- ; traceIf (text "newGlobalBinder" <+> ppr mod <+> ppr occ <+> ppr loc) ; name_supply <- getNameCache ; let (name_supply', name) = allocateGlobalBinder name_supply mod occ @@ -154,7 +146,7 @@ lookupOrig mod occ -- which does some stuff that modifies the name cache -- This did happen, with tycon_mod in TcIface.tcIfaceAlt (DataAlt..) mod `seq` occ `seq` return () - ; traceIf (text "lookup_orig" <+> ppr mod <+> ppr occ) +-- ; traceIf (text "lookup_orig" <+> ppr mod <+> ppr occ) ; name_cache <- getNameCache ; case lookupOrigNameCache (nsNames name_cache) mod occ of { @@ -205,7 +197,7 @@ lookupOrigNameCache nc mod occ mk_tup_name (ns, boxity, arity) | ns == tcName = tyConName (tupleTyCon boxity arity) | ns == dataName = dataConName (tupleCon boxity arity) - | otherwise = varName (dataConWorkId (tupleCon boxity arity)) + | otherwise = Var.varName (dataConWorkId (tupleCon boxity arity)) lookupOrigNameCache nc mod occ -- The normal case = case lookupModuleEnv nc mod of @@ -297,12 +289,6 @@ lookupIfaceTop :: OccName -> IfL Name lookupIfaceTop occ = do { env <- getLclEnv; lookupOrig (if_mod env) occ } -lookupHomePackage :: ModuleName -> OccName -> IfL Name -lookupHomePackage mod_name occ - = do { env <- getLclEnv; - ; let this_pkg = modulePackageId (if_mod env) - ; lookupOrig (mkModule this_pkg mod_name) occ } - newIfaceName :: OccName -> IfL Name newIfaceName occ = do { uniq <- newUnique