[project @ 2000-10-23 16:43:42 by simonpj]
authorsimonpj <unknown>
Mon, 23 Oct 2000 16:43:42 +0000 (16:43 +0000)
committersimonpj <unknown>
Mon, 23 Oct 2000 16:43:42 +0000 (16:43 +0000)
A tiny bit more

ghc/compiler/main/HscTypes.lhs
ghc/compiler/rename/Rename.lhs

index 84b129b..a5d5816 100644 (file)
@@ -21,11 +21,13 @@ module HscTypes (
 
        WhetherHasOrphans, ImportVersion, WhatsImported(..),
        PersistentRenamerState(..), IsBootInterface, Avails, DeclsMap,
-       IfaceInsts, IfaceRules, Deprecations(..), GatedDecl,
+       IfaceInsts, IfaceRules, GatedDecl,
        OrigNameEnv(..), OrigNameNameEnv, OrigNameIParamEnv,
        AvailEnv, AvailInfo, GenAvailInfo(..),
        PersistentCompilerState(..),
 
+       Deprecations(..), lookupDeprec,
+
        InstEnv, ClsInstEnv, DFunId,
 
        GlobalRdrEnv, RdrAvailInfo,
@@ -266,6 +268,13 @@ data Deprecations = NoDeprecs
                  | DeprecSome (NameEnv DeprecTxt)      -- Some things deprecated
                                                        -- Just "big" names
 
+lookupDeprec :: ModIface -> Name -> Maybe DeprecTxt
+lookupDeprec iface name
+  = case mi_deprecs iface of
+       NoDeprecs      -> Nothing
+       DeprecAll txt  -> Just txt
+       DeprecSome env -> lookupNameEnv env name
+
 type InstEnv    = UniqFM ClsInstEnv            -- Maps Class to instances for that class
 type ClsInstEnv = [(TyVarSet, [Type], DFunId)] -- The instances for a particular class
 type DFunId    = Id
index 3aaffac..8790ef0 100644 (file)
@@ -66,7 +66,9 @@ import IO             ( openFile, IOMode(..) )
 import HscTypes                ( Finder, PersistentCompilerState, HomeIfaceTable, HomeSymbolTable, 
                          ModIface(..), TyThing(..),
                          GlobalRdrEnv, AvailEnv, Avails, GenAvailInfo(..), AvailInfo, 
-                         Provenance(..), pprNameProvenance, ImportReason(..) )
+                         Provenance(..), pprNameProvenance, ImportReason(..),
+                         lookupDeprec
+                        )
 import List            ( partition, nub )
 \end{code}
 
@@ -765,8 +767,8 @@ reportUnusedNames mod_name direct_import_mods
                       not (maybeToBool (lookupFM minimal_imports m)),
                       m /= pRELUDE_Name]
     
-    module_unused :: ModuleName -> Bool
-    module_unused mod = mod `elem` unused_imp_mods
+    module_unused :: Module -> Bool
+    module_unused mod = moduleName mod `elem` unused_imp_mods
 
 
 warnDeprecations used_names
@@ -786,15 +788,13 @@ warnDeprecations used_names
   where
     lookup_deprec hit pit n
        = case lookupModuleEnv hit mod of
-               Just iface -> lookup_iface iface n
+               Just iface -> lookupDeprec iface n
                Nothing    -> case lookupModuleEnv pit mod of
-                               Just iface -> lookup_iface iface n
+                               Just iface -> lookupDeprec iface n
                                Nothing    -> pprPanic "warnDeprecations:" (ppr n)
        where
          mod = nameModule n
 
-    lookup_iface iface n = lookupNameEnv (mi_deprecs iface) n
-
 -- ToDo: deal with original imports with 'qualified' and 'as M' clauses
 printMinimalImports mod_name imps
   = doptRn Opt_D_dump_minimal_imports          `thenRn` \ dump_minimal ->