[project @ 2002-04-05 23:24:25 by sof]
[ghc-hetmet.git] / ghc / compiler / main / MkIface.lhs
index 549d2af..8fe9e66 100644 (file)
@@ -30,7 +30,7 @@ import HscTypes               ( VersionInfo(..), ModIface(..), ModDetails(..),
                          TyThing(..), DFunId, TypeEnv,
                          GenAvailInfo,
                          WhatsImported(..), GenAvailInfo(..), 
-                         ImportVersion, AvailInfo, Deprecations(..),
+                         ImportVersion, Deprecations(..),
                          lookupVersion, typeEnvIds
                        )
 
@@ -38,14 +38,14 @@ import CmdLineOpts
 import Id              ( idType, idInfo, isImplicitId, idCgInfo,
                          isLocalId, idName,
                        )
-import DataCon         ( dataConId, dataConSig, dataConFieldLabels, dataConStrictMarks )
+import DataCon         ( dataConWorkId, dataConSig, dataConFieldLabels, dataConStrictMarks )
 import IdInfo          -- Lots
 import Var              ( Var )
 import CoreSyn         ( CoreRule(..), IdCoreRule )
 import CoreFVs         ( ruleLhsFreeNames )
 import CoreUnfold      ( neverUnfold, unfoldingTemplate )
-import PprCore         ( pprIdCoreRule )
-import Name            ( getName, nameModule, toRdrName, isExternalName, 
+import PprCore         ( pprIdRules )
+import Name            ( getName, toRdrName, isExternalName, 
                          nameIsLocalOrFrom, Name, NamedThing(..) )
 import NameEnv
 import NameSet
@@ -64,7 +64,7 @@ import ErrUtils               ( dumpIfSet_dyn )
 
 import Monad           ( when )
 import Maybe           ( catMaybes )
-import IO              ( IOMode(..), openFile, hClose, putStrLn )
+import IO              ( putStrLn )
 \end{code}
 
 
@@ -219,7 +219,7 @@ ifaceTyThing (AClass clas) = cls_decl
     tycon     = classTyCon clas
     data_con  = head (tyConDataCons tycon)
     sys_names = mkClassDeclSysNames (getName tycon, getName data_con, 
-                                    getName (dataConId data_con), map getName sc_sels)
+                                    getName (dataConWorkId data_con), map getName sc_sels)
 
     toClassOpSig (sel_id, def_meth)
        = ASSERT(sel_tyvars == clas_tyvars)
@@ -278,7 +278,7 @@ ifaceTyThing (ATyCon tycon) = ty_decl
     ifaceConDecls (DataCons cs) = DataCons (map ifaceConDecl cs)
 
     ifaceConDecl data_con 
-       = ConDecl (getName data_con) (getName (dataConId data_con))
+       = ConDecl (getName data_con) (getName (dataConWorkId data_con))
                  (toHsTyVars ex_tyvars)
                  (toHsContext ex_theta)
                  details noSrcLoc
@@ -539,7 +539,7 @@ dump_sigs ids
 dump_rules :: [IdCoreRule] -> SDoc
 dump_rules [] = empty
 dump_rules rs = vcat [ptext SLIT("{-# RULES"),
-                     nest 4 (vcat (map pprIdCoreRule rs)),
+                     nest 4 (pprIdRules rs),
                      ptext SLIT("#-}")]
 \end{code}
 
@@ -551,17 +551,6 @@ dump_rules rs = vcat [ptext SLIT("{-# RULES"),
 %************************************************************************
 
 \begin{code}
-writeIface :: FilePath -> ModIface -> IO ()
-writeIface hi_path mod_iface
-  = do { if_hdl <- openFile hi_path WriteMode
-       ; printForIface if_hdl from_this_mod (pprIface mod_iface)
-       ; hClose if_hdl
-       }
-  where
-       -- Print names unqualified if they are from this module
-    from_this_mod n = nameModule n == this_mod
-    this_mod = mi_module mod_iface
-
 pprIface :: ModIface -> SDoc
 pprIface iface
  = vcat [ ptext SLIT("__interface")