@@ -178,6 +178,7 @@ haddockWithGhc ghc args = handleTopExceptions $ do
178
178
179
179
ghc flags' $ withDir $ do
180
180
dflags <- getDynFlags
181
+ unit_state <- hsc_units <$> getSession
181
182
182
183
forM_ (optShowInterfaceFile flags) $ \ path -> liftIO $ do
183
184
mIfaceFile <- readInterfaceFiles freshNameCache [((" " , Nothing ), path)] noChecks
@@ -195,7 +196,7 @@ haddockWithGhc ghc args = handleTopExceptions $ do
195
196
}
196
197
197
198
-- Render the interfaces.
198
- liftIO $ renderStep dflags flags sinceQual qual packages ifaces
199
+ liftIO $ renderStep dflags unit_state flags sinceQual qual packages ifaces
199
200
200
201
else do
201
202
when (any (`elem` [Flag_Html , Flag_Hoogle , Flag_LaTeX ]) flags) $
@@ -205,7 +206,7 @@ haddockWithGhc ghc args = handleTopExceptions $ do
205
206
packages <- liftIO $ readInterfaceFiles freshNameCache (readIfaceArgs flags) noChecks
206
207
207
208
-- Render even though there are no input files (usually contents/index).
208
- liftIO $ renderStep dflags flags sinceQual qual packages []
209
+ liftIO $ renderStep dflags unit_state flags sinceQual qual packages []
209
210
210
211
-- | Run the GHC action using a temporary output directory
211
212
withTempOutputDir :: Ghc a -> Ghc a
@@ -254,9 +255,9 @@ readPackagesAndProcessModules flags files = do
254
255
return (packages, ifaces, homeLinks)
255
256
256
257
257
- renderStep :: DynFlags -> [Flag ] -> SinceQual -> QualOption
258
+ renderStep :: DynFlags -> UnitState -> [Flag ] -> SinceQual -> QualOption
258
259
-> [(DocPaths , InterfaceFile )] -> [Interface ] -> IO ()
259
- renderStep dflags flags sinceQual nameQual pkgs interfaces = do
260
+ renderStep dflags unit_state flags sinceQual nameQual pkgs interfaces = do
260
261
updateHTMLXRefs pkgs
261
262
let
262
263
ifaceFiles = map snd pkgs
@@ -265,12 +266,12 @@ renderStep dflags flags sinceQual nameQual pkgs interfaces = do
265
266
((_, Just path), ifile) <- pkgs
266
267
iface <- ifInstalledIfaces ifile
267
268
return (instMod iface, path)
268
- render dflags flags sinceQual nameQual interfaces installedIfaces extSrcMap
269
+ render dflags unit_state flags sinceQual nameQual interfaces installedIfaces extSrcMap
269
270
270
271
-- | Render the interfaces with whatever backend is specified in the flags.
271
- render :: DynFlags -> [Flag ] -> SinceQual -> QualOption -> [Interface ]
272
+ render :: DynFlags -> UnitState -> [Flag ] -> SinceQual -> QualOption -> [Interface ]
272
273
-> [InstalledInterface ] -> Map Module FilePath -> IO ()
273
- render dflags flags sinceQual qual ifaces installedIfaces extSrcMap = do
274
+ render dflags unit_state flags sinceQual qual ifaces installedIfaces extSrcMap = do
274
275
275
276
let
276
277
title = fromMaybe " " (optTitle flags)
@@ -283,7 +284,6 @@ render dflags flags sinceQual qual ifaces installedIfaces extSrcMap = do
283
284
opt_latex_style = optLaTeXStyle flags
284
285
opt_source_css = optSourceCssFile flags
285
286
opt_mathjax = optMathjax flags
286
- pkgs = unitState dflags
287
287
dflags'
288
288
| unicode = gopt_set dflags Opt_PrintUnicodeSyntax
289
289
| otherwise = dflags
@@ -297,7 +297,7 @@ render dflags flags sinceQual qual ifaces installedIfaces extSrcMap = do
297
297
pkgMod = fmap ifaceMod (listToMaybe ifaces)
298
298
pkgKey = fmap moduleUnit pkgMod
299
299
pkgStr = fmap unitString pkgKey
300
- pkgNameVer = modulePackageInfo dflags flags pkgMod
300
+ pkgNameVer = modulePackageInfo unit_state flags pkgMod
301
301
pkgName = fmap (unpackFS . (\ (PackageName n) -> n)) (fst pkgNameVer)
302
302
sincePkg = case sinceQual of
303
303
External -> pkgName
@@ -342,7 +342,7 @@ render dflags flags sinceQual qual ifaces installedIfaces extSrcMap = do
342
342
-- records the *wired in* identity base. So untranslate it
343
343
-- so that we can service the request.
344
344
unwire :: Module -> Module
345
- unwire m = m { moduleUnit = unwireUnit (unitState dflags) (moduleUnit m) }
345
+ unwire m = m { moduleUnit = unwireUnit unit_state (moduleUnit m) }
346
346
347
347
reexportedIfaces <- concat `fmap` (for (reexportFlags flags) $ \ mod_str -> do
348
348
let warn = hPutStrLn stderr . (" Warning: " ++ )
@@ -373,7 +373,7 @@ render dflags flags sinceQual qual ifaces installedIfaces extSrcMap = do
373
373
when (Flag_GenContents `elem` flags) $ do
374
374
withTiming dflags' " ppHtmlContents" (const () ) $ do
375
375
_ <- {-# SCC ppHtmlContents #-}
376
- ppHtmlContents pkgs odir title pkgStr
376
+ ppHtmlContents unit_state odir title pkgStr
377
377
themes opt_mathjax opt_index_url sourceUrls' opt_wiki_urls
378
378
allVisibleIfaces True prologue pretty
379
379
sincePkg (makeContentsQual qual)
@@ -383,7 +383,7 @@ render dflags flags sinceQual qual ifaces installedIfaces extSrcMap = do
383
383
when (Flag_Html `elem` flags) $ do
384
384
withTiming dflags' " ppHtml" (const () ) $ do
385
385
_ <- {-# SCC ppHtml #-}
386
- ppHtml pkgs title pkgStr visibleIfaces reexportedIfaces odir
386
+ ppHtml unit_state title pkgStr visibleIfaces reexportedIfaces odir
387
387
prologue
388
388
themes opt_mathjax sourceUrls' opt_wiki_urls
389
389
opt_contents_url opt_index_url unicode sincePkg qual
@@ -403,7 +403,7 @@ render dflags flags sinceQual qual ifaces installedIfaces extSrcMap = do
403
403
404
404
pkgVer =
405
405
fromMaybe (makeVersion [] ) mpkgVer
406
- in ppHoogle dflags' pkgNameStr pkgVer title (fmap _doc prologue)
406
+ in ppHoogle dflags' unit_state pkgNameStr pkgVer title (fmap _doc prologue)
407
407
visibleIfaces odir
408
408
_ -> putStrLn . unlines $
409
409
[ " haddock: Unable to find a package providing module "
0 commit comments