Skip to content
This repository was archived by the owner on Aug 3, 2024. It is now read-only.

Commit 23ee81f

Browse files
authored
Merge pull request #1347 from Kleidukos/explicit-imports-interface
Explicit import lists for Haddock.Interface and Haddock.Interface.Create
2 parents c046d25 + 43b1589 commit 23ee81f

File tree

2 files changed

+35
-32
lines changed

2 files changed

+35
-32
lines changed

haddock-api/src/Haddock/Interface.hs

+17-15
Original file line numberDiff line numberDiff line change
@@ -34,30 +34,32 @@ module Haddock.Interface (
3434
) where
3535

3636

37-
import Haddock.GhcUtils
38-
import Haddock.Interface.AttachInstances
39-
import Haddock.Interface.Create
40-
import Haddock.Interface.Rename
41-
import Haddock.InterfaceFile
37+
import Haddock.GhcUtils (moduleString, pretty)
38+
import Haddock.Interface.AttachInstances (attachInstances)
39+
import Haddock.Interface.Create (createInterface1, runIfM)
40+
import Haddock.Interface.Rename (renameInterface)
41+
import Haddock.InterfaceFile (InterfaceFile, ifInstalledIfaces, ifLinkEnv)
4242
import Haddock.Options hiding (verbosity)
43-
import Haddock.Types
44-
import Haddock.Utils
45-
46-
import Control.Monad
47-
import Control.Monad.IO.Class (MonadIO(liftIO))
48-
import Data.IORef
43+
import Haddock.Types (DocOption (..), Documentation (..), ExportItem (..), IfaceMap, InstIfaceMap, Interface, LinkEnv,
44+
expItemDecl, expItemMbDoc, ifaceDoc, ifaceExportItems, ifaceExports, ifaceHaddockCoverage,
45+
ifaceInstances, ifaceMod, ifaceOptions, ifaceVisibleExports, instMod, runWriter, throwE)
46+
import Haddock.Utils (Verbosity, normal, out, verbose)
47+
48+
import Control.Monad (unless, when)
49+
import Control.Monad.IO.Class (MonadIO, liftIO)
50+
import Data.IORef (atomicModifyIORef', newIORef, readIORef)
4951
import Data.List (foldl', isPrefixOf, nub)
50-
import Text.Printf
5152
import qualified Data.Map as Map
5253
import qualified Data.Set as Set
54+
import Text.Printf (printf)
5355

5456
import GHC hiding (verbosity)
5557
import GHC.Data.FastString (unpackFS)
5658
import GHC.Data.Graph.Directed
5759
import GHC.Driver.Monad (modifySession)
5860
import GHC.Driver.Session hiding (verbosity)
5961
import GHC.Driver.Types (isBootSummary)
60-
import GHC.HsToCore.Docs
62+
import GHC.HsToCore.Docs (getMainDeclBinder)
6163
import GHC.Plugins (HscEnv (..), Outputable, Plugin (..), PluginWithArgs (..), StaticPlugin (..), defaultPlugin,
6264
keepRenamedSource)
6365
import GHC.Tc.Types (TcGblEnv (..), TcM)
@@ -71,9 +73,9 @@ import GHC.Unit.Types (IsBootInterface (..))
7173
import GHC.Utils.Error (withTimingD)
7274

7375
#if defined(mingw32_HOST_OS)
74-
import System.IO
7576
import GHC.IO.Encoding.CodePage (mkLocaleEncoding)
76-
import GHC.IO.Encoding.Failure (CodingFailureMode(TransliterateCodingFailure))
77+
import GHC.IO.Encoding.Failure (CodingFailureMode (TransliterateCodingFailure))
78+
import System.IO
7779
#endif
7880

7981
-- | Create 'Interface's and a link environment by typechecking the list of

haddock-api/src/Haddock/Interface/Create.hs

+18-17
Original file line numberDiff line numberDiff line change
@@ -31,43 +31,44 @@
3131
module Haddock.Interface.Create (IfM, runIfM, createInterface1) where
3232

3333
import Documentation.Haddock.Doc (metaDocAppend)
34-
import Haddock.Convert
35-
import Haddock.GhcUtils
34+
import Haddock.Convert (PrintRuntimeReps (..), tyThingToLHsDecl)
35+
import Haddock.GhcUtils (addClassContext, filterSigNames, lHsQTyVarsToTypes, mkEmptySigWcType, moduleString, parents,
36+
pretty, restrictTo, sigName)
3637
import Haddock.Interface.LexParseRn
37-
import Haddock.Options
38+
import Haddock.Options (Flag (..), modulePackageInfo)
3839
import Haddock.Types hiding (liftErrMsg)
39-
import Haddock.Utils
40+
import Haddock.Utils (replace)
4041

41-
import Control.Monad.Catch
42-
import Control.Monad.Reader
42+
import Control.Monad.Catch (MonadCatch, MonadThrow)
43+
import Control.Monad.Reader (MonadReader (..), ReaderT (..), asks)
4344
import Control.Monad.Writer.Strict hiding (tell)
44-
import Data.Bitraversable
45+
import Data.Bitraversable (bitraverse)
4546
import Data.List (find, foldl')
4647
import Data.Map (Map)
47-
import Data.Maybe
48-
import Data.Traversable
49-
import GHC.Stack (HasCallStack)
5048
import qualified Data.Map as M
49+
import Data.Maybe (catMaybes, fromJust, isJust, mapMaybe, maybeToList)
50+
import Data.Traversable (for)
51+
import GHC.Stack (HasCallStack)
5152

5253
import GHC hiding (lookupName)
5354
import GHC.Core.Class (ClassMinimalDef, classMinimalDef)
5455
import GHC.Core.ConLike (ConLike (..))
5556
import GHC.Data.FastString (bytesFS, unpackFS)
56-
import GHC.Driver.Types
57+
import GHC.Driver.Types (HscSource (..), WarningTxt (..), Warnings (..), msHsFilePath)
5758
import GHC.HsToCore.Docs hiding (mkMaps)
5859
import GHC.Parser.Annotation (IsUnicodeSyntax (..))
5960
import GHC.Tc.Types hiding (IfM)
6061
import GHC.Tc.Utils.Monad (finalSafeMode)
6162
import GHC.Types.Avail hiding (avail)
62-
import GHC.Types.Basic (PromotionFlag (..), SourceText (..), StringLiteral (..))
63-
import GHC.Types.Name
64-
import GHC.Types.Name.Env
65-
import GHC.Types.Name.Reader
66-
import GHC.Types.Name.Set
67-
import GHC.Unit.State
6863
import qualified GHC.Types.Avail as Avail
64+
import GHC.Types.Basic (PromotionFlag (..), SourceText (..), StringLiteral (..))
65+
import GHC.Types.Name (getOccString, getSrcSpan, isDataConName, isValName, nameIsLocalOrFrom, nameOccName)
66+
import GHC.Types.Name.Env (lookupNameEnv)
67+
import GHC.Types.Name.Reader (GlobalRdrEnv, globalRdrEnvElts, gre_name, gresToAvailInfo, isLocalGRE, lookupGlobalRdrEnv)
68+
import GHC.Types.Name.Set (elemNameSet, mkNameSet)
6969
import qualified GHC.Types.SrcLoc as SrcLoc
7070
import qualified GHC.Unit.Module as Module
71+
import GHC.Unit.State
7172
import qualified GHC.Utils.Outputable as O
7273

7374

0 commit comments

Comments
 (0)