[project @ 2001-08-03 20:40:43 by sof]
[ghc-hetmet.git] / ghc / compiler / main / MkIface.lhs
index 85b7a92..5d8f7c0 100644 (file)
@@ -7,7 +7,8 @@
 \begin{code}
 module MkIface ( 
        mkFinalIface,
-       pprModDetails, pprIface, pprUsage
+       pprModDetails, pprIface, pprUsage,
+       ifaceTyCls,
   ) where
 
 #include "HsVersions.h"
@@ -21,14 +22,13 @@ import BasicTypes   ( Fixity(..), NewOrData(..),
 import RnMonad
 import RnHsSyn         ( RenamedInstDecl, RenamedTyClDecl )
 import HscTypes                ( VersionInfo(..), ModIface(..), ModDetails(..),
-                         ModuleLocation(..), 
+                         ModuleLocation(..), GhciMode(..),
                          IfaceDecls, mkIfaceDecls, dcl_tycl, dcl_rules, dcl_insts,
                          TyThing(..), DFunId, Avails,
                          WhatsImported(..), GenAvailInfo(..), 
                          ImportVersion, AvailInfo, Deprecations(..),
                          lookupVersion,
                        )
-import CmStaticInfo    ( GhciMode(..) )
 
 import CmdLineOpts
 import Id              ( idType, idInfo, isImplicitId, idCgInfo,
@@ -51,7 +51,7 @@ import TyCon          ( TyCon, getSynTyConDefn, isSynTyCon, isNewTyCon, isAlgTyCon, tyCo
                        )
 import Class           ( classExtraBigSig, classTyCon, DefMeth(..) )
 import FieldLabel      ( fieldLabelType )
-import Type            ( splitSigmaTy, tidyTopType, deNoteType, namesOfDFunHead )
+import TcType          ( tcSplitSigmaTy, tidyTopType, deNoteType, namesOfDFunHead )
 import SrcLoc          ( noSrcLoc )
 import Outputable
 import Module          ( ModuleName )
@@ -161,7 +161,7 @@ ifaceTyCls (AClass clas) so_far
        = ASSERT(sel_tyvars == clas_tyvars)
          ClassOpSig (getName sel_id) def_meth' (toHsType op_ty) noSrcLoc
        where
-         (sel_tyvars, _, op_ty) = splitSigmaTy (idType sel_id)
+         (sel_tyvars, _, op_ty) = tcSplitSigmaTy (idType sel_id)
          def_meth' = case def_meth of
                         NoDefMeth  -> NoDefMeth
                         GenDefMeth -> GenDefMeth
@@ -237,7 +237,7 @@ ifaceTyCls (AnId id) so_far
     caf_info   = cgCafInfo cg_info
 
     hs_idinfo | opt_OmitInterfacePragmas = []
-             | otherwise                = arity_hsinfo  ++ caf_hsinfo  ++ cpr_hsinfo ++ 
+             | otherwise                = arity_hsinfo  ++ caf_hsinfo  ++ 
                                           strict_hsinfo ++ wrkr_hsinfo ++ unfold_hsinfo
 
     ------------  Arity  --------------
@@ -249,15 +249,10 @@ ifaceTyCls (AnId id) so_far
                   NoCafRefs -> [HsNoCafRefs]
                   otherwise -> []
 
-    ------------ CPR Info --------------
-    cpr_hsinfo = case cprInfo id_info of
-                  ReturnsCPR -> [HsCprInfo]
-                  NoCPRInfo  -> []
-
     ------------  Strictness  --------------
-    strict_hsinfo = case strictnessInfo id_info of
-                       NoStrictnessInfo -> []
-                       info             -> [HsStrictness info]
+    strict_hsinfo = case newStrictnessInfo id_info of
+                       Nothing  -> []
+                       Just sig -> [HsStrictness sig]
 
     ------------  Worker  --------------
     work_info   = workerInfo id_info