remove empty dir
[ghc-hetmet.git] / ghc / compiler / iface / LoadIface.lhs
index 15217b8..8c496f7 100644 (file)
@@ -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)