aboutsummaryrefslogtreecommitdiff
path: root/haddock-api
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2020-08-12 14:25:30 -0400
committerGitHub <noreply@github.com>2020-08-12 14:25:30 -0400
commit323aa89cbb4a3e8c8f32295e42a42635f05c849d (patch)
tree79d89ecabc42ec8c2b151e5acf7b0b1e49d3f3fd /haddock-api
parent7de9589e0191bbd79521597d35c2a0c68d2c9add (diff)
parent4e12c3fa784dd906a69306f88f466248fb1ff933 (diff)
Merge pull request #1225 from hsyl20/wip/hsyl20/plugins/homeunit
Fix after HomeUnit
Diffstat (limited to 'haddock-api')
-rw-r--r--haddock-api/src/Haddock.hs1
-rw-r--r--haddock-api/src/Haddock/Backends/Hyperlinker/Parser.hs3
-rw-r--r--haddock-api/src/Haddock/Interface.hs5
3 files changed, 5 insertions, 4 deletions
diff --git a/haddock-api/src/Haddock.hs b/haddock-api/src/Haddock.hs
index 526e7d18..662226a8 100644
--- a/haddock-api/src/Haddock.hs
+++ b/haddock-api/src/Haddock.hs
@@ -67,7 +67,6 @@ import Text.ParserCombinators.ReadP (readP_to_S)
import GHC hiding (verbosity)
import GHC.Settings.Config
import GHC.Driver.Session hiding (projectVersion, verbosity)
-import GHC.Driver.Backend
import GHC.Utils.Error
import GHC.Unit
import GHC.Utils.Panic (handleGhcException)
diff --git a/haddock-api/src/Haddock/Backends/Hyperlinker/Parser.hs b/haddock-api/src/Haddock/Backends/Hyperlinker/Parser.hs
index 114eafa9..77017689 100644
--- a/haddock-api/src/Haddock/Backends/Hyperlinker/Parser.hs
+++ b/haddock-api/src/Haddock/Backends/Hyperlinker/Parser.hs
@@ -22,6 +22,7 @@ import GHC.Utils.Panic ( panic )
import GHC.Driver.Ppr ( showSDoc )
import GHC.Types.SrcLoc
import GHC.Data.StringBuffer ( StringBuffer, atEnd )
+import GHC.Unit ( homeUnitId )
import Haddock.Backends.Hyperlinker.Types as T
import Haddock.GhcUtils
@@ -48,7 +49,7 @@ parse dflags fpath bs = case unP (go False []) initState of
start = mkRealSrcLoc (mkFastString fpath) 1 1
pflags = mkParserFlags' (warningFlags dflags)
(extensionFlags dflags)
- (homeUnitId dflags)
+ (homeUnitId (mkHomeUnitFromFlags dflags))
(safeImportsOn dflags)
False -- lex Haddocks as comment tokens
True -- produce comment tokens
diff --git a/haddock-api/src/Haddock/Interface.hs b/haddock-api/src/Haddock/Interface.hs
index fa20b836..a702d3d6 100644
--- a/haddock-api/src/Haddock/Interface.hs
+++ b/haddock-api/src/Haddock/Interface.hs
@@ -51,6 +51,7 @@ import Distribution.Verbosity
import Text.Printf
import GHC.Unit.Module.Env (mkModuleSet, emptyModuleSet, unionModuleSet, ModuleSet)
+import GHC.Unit.Types
import GHC.Data.Graph.Directed
import GHC.Driver.Session hiding (verbosity)
import GHC hiding (verbosity)
@@ -168,11 +169,11 @@ processModule verbosity modsum flags modMap instIfaceMap = do
-- See https://github.com/haskell/haddock/issues/469.
hsc_env <- getSession
let new_rdr_env = tcg_rdr_env . fst . GHC.tm_internals_ $ tm
- this_pkg = homeUnit (hsc_dflags hsc_env)
+ home_unit = mkHomeUnitFromFlags (hsc_dflags hsc_env)
!mods = mkModuleSet [ nameModule name
| gre <- globalRdrEnvElts new_rdr_env
, let name = gre_name gre
- , nameIsFromExternalPackage this_pkg name
+ , nameIsFromExternalPackage home_unit name
, isTcOcc (nameOccName name) -- Types and classes only
, unQualOK gre ] -- In scope unqualified