X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Fiface%2FLoadIface.lhs;h=8c496f76efcbfe12d315629e66b90fc854fc28c7;hb=8002c9d5ceafef6b8fa6765701c5c3103c69760c;hp=15217b872651fc139ecd50e6b3726896cf3d8c79;hpb=344d961bc81a11d16cb7f37d213379b3c9783f17;p=ghc-hetmet.git diff --git a/ghc/compiler/iface/LoadIface.lhs b/ghc/compiler/iface/LoadIface.lhs index 15217b8..8c496f7 100644 --- a/ghc/compiler/iface/LoadIface.lhs +++ b/ghc/compiler/iface/LoadIface.lhs @@ -5,8 +5,8 @@ \begin{code} module LoadIface ( - loadHomeInterface, loadInterface, loadWiredInHomeIface, - loadSrcInterface, loadOrphanModules, + loadInterface, loadHomeInterface, loadWiredInHomeIface, + loadSrcInterface, loadSysInterface, loadOrphanModules, findAndReadIface, readIface, -- Used when reading the module's old interface loadDecls, ifaceStats, discardDeclPrags, initExternalPackageState @@ -40,12 +40,12 @@ import PrelRules ( builtinRules ) import Rules ( extendRuleBaseList, mkRuleBase ) import InstEnv ( emptyInstEnv, extendInstEnvList ) import Name ( Name {-instance NamedThing-}, getOccName, - nameModule, isInternalName, isWiredInName ) + nameModule, nameIsLocalOrFrom, isWiredInName ) import NameEnv import MkId ( seqId ) import Module ( Module, ModLocation(ml_hi_file), emptyModuleEnv, addBootSuffix_maybe, - extendModuleEnv, lookupModuleEnv, moduleUserString + extendModuleEnv, lookupModuleEnv, moduleString ) import OccName ( OccName, mkOccEnv, lookupOccEnv, mkClassTyConOcc, mkClassDataConOcc, mkSuperDictSelOcc, mkDataConWrapperOcc, mkDataConWorkerOcc ) @@ -101,8 +101,14 @@ loadOrphanModules mods --------------- loadHomeInterface :: SDoc -> Name -> TcRn ModIface loadHomeInterface doc name - = ASSERT2( not (isInternalName name), ppr name <+> parens doc ) - initIfaceTcRn $ loadSysInterface doc (nameModule name) + = do { +#ifdef DEBUG + -- Should not be called with a name from the module being compiled + this_mod <- getModule + ; ASSERT2( not (nameIsLocalOrFrom this_mod name), ppr name <+> parens doc ) +#endif + initIfaceTcRn $ loadSysInterface doc (nameModule name) + } --------------- loadWiredInHomeIface :: Name -> IfM lcl () @@ -200,7 +206,7 @@ loadInterface doc_str mod from | otherwise -> let - loc_doc = text file_path <+> colon + loc_doc = text file_path in initIfaceLcl mod loc_doc $ do @@ -306,7 +312,7 @@ loadDecl ignore_prags mod (_version, decl) -- imported name, to fix the module correctly in the cache mk_new_bndr mod mb_parent occ = newGlobalBinder mod occ mb_parent - (importedSrcLoc (moduleUserString mod)) + (importedSrcLoc (moduleString mod)) doc = ptext SLIT("Declaration for") <+> ppr (ifName decl)