From 43b1589d60731e4716bf790da1b8c10400a678fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9cate=20Moonlight?= Date: Mon, 22 Feb 2021 14:33:51 +0100 Subject: [PATCH] Explicit import lists for Haddock.Interface and Haddock.Interface.Create --- haddock-api/src/Haddock/Interface.hs | 32 ++++++++++--------- haddock-api/src/Haddock/Interface/Create.hs | 35 +++++++++++---------- 2 files changed, 35 insertions(+), 32 deletions(-) diff --git a/haddock-api/src/Haddock/Interface.hs b/haddock-api/src/Haddock/Interface.hs index 8c3ecac9e9..4557390669 100644 --- a/haddock-api/src/Haddock/Interface.hs +++ b/haddock-api/src/Haddock/Interface.hs @@ -34,22 +34,24 @@ module Haddock.Interface ( ) where -import Haddock.GhcUtils -import Haddock.Interface.AttachInstances -import Haddock.Interface.Create -import Haddock.Interface.Rename -import Haddock.InterfaceFile +import Haddock.GhcUtils (moduleString, pretty) +import Haddock.Interface.AttachInstances (attachInstances) +import Haddock.Interface.Create (createInterface1, runIfM) +import Haddock.Interface.Rename (renameInterface) +import Haddock.InterfaceFile (InterfaceFile, ifInstalledIfaces, ifLinkEnv) import Haddock.Options hiding (verbosity) -import Haddock.Types -import Haddock.Utils - -import Control.Monad -import Control.Monad.IO.Class (MonadIO(liftIO)) -import Data.IORef +import Haddock.Types (DocOption (..), Documentation (..), ExportItem (..), IfaceMap, InstIfaceMap, Interface, LinkEnv, + expItemDecl, expItemMbDoc, ifaceDoc, ifaceExportItems, ifaceExports, ifaceHaddockCoverage, + ifaceInstances, ifaceMod, ifaceOptions, ifaceVisibleExports, instMod, runWriter, throwE) +import Haddock.Utils (Verbosity, normal, out, verbose) + +import Control.Monad (unless, when) +import Control.Monad.IO.Class (MonadIO, liftIO) +import Data.IORef (atomicModifyIORef', newIORef, readIORef) import Data.List (foldl', isPrefixOf, nub) -import Text.Printf import qualified Data.Map as Map import qualified Data.Set as Set +import Text.Printf (printf) import GHC hiding (verbosity) import GHC.Data.FastString (unpackFS) @@ -57,7 +59,7 @@ import GHC.Data.Graph.Directed import GHC.Driver.Monad (modifySession) import GHC.Driver.Session hiding (verbosity) import GHC.Driver.Types (isBootSummary) -import GHC.HsToCore.Docs +import GHC.HsToCore.Docs (getMainDeclBinder) import GHC.Plugins (HscEnv (..), Outputable, Plugin (..), PluginWithArgs (..), StaticPlugin (..), defaultPlugin, keepRenamedSource) import GHC.Tc.Types (TcGblEnv (..), TcM) @@ -71,9 +73,9 @@ import GHC.Unit.Types (IsBootInterface (..)) import GHC.Utils.Error (withTimingD) #if defined(mingw32_HOST_OS) -import System.IO import GHC.IO.Encoding.CodePage (mkLocaleEncoding) -import GHC.IO.Encoding.Failure (CodingFailureMode(TransliterateCodingFailure)) +import GHC.IO.Encoding.Failure (CodingFailureMode (TransliterateCodingFailure)) +import System.IO #endif -- | Create 'Interface's and a link environment by typechecking the list of diff --git a/haddock-api/src/Haddock/Interface/Create.hs b/haddock-api/src/Haddock/Interface/Create.hs index 6717720127..92ea0e9df6 100644 --- a/haddock-api/src/Haddock/Interface/Create.hs +++ b/haddock-api/src/Haddock/Interface/Create.hs @@ -31,43 +31,44 @@ module Haddock.Interface.Create (IfM, runIfM, createInterface1) where import Documentation.Haddock.Doc (metaDocAppend) -import Haddock.Convert -import Haddock.GhcUtils +import Haddock.Convert (PrintRuntimeReps (..), tyThingToLHsDecl) +import Haddock.GhcUtils (addClassContext, filterSigNames, lHsQTyVarsToTypes, mkEmptySigWcType, moduleString, parents, + pretty, restrictTo, sigName) import Haddock.Interface.LexParseRn -import Haddock.Options +import Haddock.Options (Flag (..), modulePackageInfo) import Haddock.Types hiding (liftErrMsg) -import Haddock.Utils +import Haddock.Utils (replace) -import Control.Monad.Catch -import Control.Monad.Reader +import Control.Monad.Catch (MonadCatch, MonadThrow) +import Control.Monad.Reader (MonadReader (..), ReaderT (..), asks) import Control.Monad.Writer.Strict hiding (tell) -import Data.Bitraversable +import Data.Bitraversable (bitraverse) import Data.List (find, foldl') import Data.Map (Map) -import Data.Maybe -import Data.Traversable -import GHC.Stack (HasCallStack) import qualified Data.Map as M +import Data.Maybe (catMaybes, fromJust, isJust, mapMaybe, maybeToList) +import Data.Traversable (for) +import GHC.Stack (HasCallStack) import GHC hiding (lookupName) import GHC.Core.Class (ClassMinimalDef, classMinimalDef) import GHC.Core.ConLike (ConLike (..)) import GHC.Data.FastString (bytesFS, unpackFS) -import GHC.Driver.Types +import GHC.Driver.Types (HscSource (..), WarningTxt (..), Warnings (..), msHsFilePath) import GHC.HsToCore.Docs hiding (mkMaps) import GHC.Parser.Annotation (IsUnicodeSyntax (..)) import GHC.Tc.Types hiding (IfM) import GHC.Tc.Utils.Monad (finalSafeMode) import GHC.Types.Avail hiding (avail) -import GHC.Types.Basic (PromotionFlag (..), SourceText (..), StringLiteral (..)) -import GHC.Types.Name -import GHC.Types.Name.Env -import GHC.Types.Name.Reader -import GHC.Types.Name.Set -import GHC.Unit.State import qualified GHC.Types.Avail as Avail +import GHC.Types.Basic (PromotionFlag (..), SourceText (..), StringLiteral (..)) +import GHC.Types.Name (getOccString, getSrcSpan, isDataConName, isValName, nameIsLocalOrFrom, nameOccName) +import GHC.Types.Name.Env (lookupNameEnv) +import GHC.Types.Name.Reader (GlobalRdrEnv, globalRdrEnvElts, gre_name, gresToAvailInfo, isLocalGRE, lookupGlobalRdrEnv) +import GHC.Types.Name.Set (elemNameSet, mkNameSet) import qualified GHC.Types.SrcLoc as SrcLoc import qualified GHC.Unit.Module as Module +import GHC.Unit.State import qualified GHC.Utils.Outputable as O