diff options
Diffstat (limited to 'src/Haddock')
| -rw-r--r-- | src/Haddock/Backends/Xhtml.hs | 7 | ||||
| -rw-r--r-- | src/Haddock/Interface.hs | 9 | 
2 files changed, 9 insertions, 7 deletions
| diff --git a/src/Haddock/Backends/Xhtml.hs b/src/Haddock/Backends/Xhtml.hs index 600a5362..b639760d 100644 --- a/src/Haddock/Backends/Xhtml.hs +++ b/src/Haddock/Backends/Xhtml.hs @@ -41,6 +41,7 @@ import System.FilePath hiding ( (</>) )  import System.Directory  import Data.Map              ( Map )  import qualified Data.Map as Map hiding ( Map ) +import qualified Data.Set as Set hiding ( Set )  import Data.Function  import Data.Ord              ( comparing ) @@ -415,9 +416,11 @@ ppHtmlIndex odir doctitle _maybe_package themes      getIfaceIndex iface =        [ (getOccString name -         , Map.fromList [(name, [(mdl, name `elem` instVisibleExports iface)])]) +         , Map.fromList [(name, [(mdl, name `Set.member` visible)])])           | name <- instExports iface ] -      where mdl = instMod iface +      where +        mdl = instMod iface +        visible = Set.fromList (instVisibleExports iface)      indexElt :: (String, Map GHC.Name [(Module,Bool)]) -> HtmlTable      indexElt (str, entities) = diff --git a/src/Haddock/Interface.hs b/src/Haddock/Interface.hs index 276621d2..09f01883 100644 --- a/src/Haddock/Interface.hs +++ b/src/Haddock/Interface.hs @@ -142,6 +142,7 @@ createIfaces0 verbosity modules flags instIfaceMap =  createIfaces :: Verbosity -> [Flag] -> InstIfaceMap -> ModuleGraph -> Ghc [Interface]  createIfaces verbosity flags instIfaceMap mods = do    let sortedMods = flattenSCCs $ topSortModuleGraph False mods Nothing +  out verbosity normal "Haddock coverage:"    (ifaces, _) <- foldM f ([], Map.empty) sortedMods    return (reverse ifaces)    where @@ -162,11 +163,9 @@ processModule verbosity modsum flags modMap instIfaceMap = do      liftIO $ mapM_ putStrLn msg      let (haddockable, haddocked) = ifaceHaddockCoverage interface          percentage = round (fromIntegral haddocked * 100 / fromIntegral haddockable :: Double) :: Int -        coveragemsg = printf "haddock coverage for %s: %7s %3d%%" -                        (ifaceOrigFilename interface) -                        (printf "%d/%d" haddocked haddockable ::  String) -                        percentage -    out verbosity normal coveragemsg +        modString = moduleString (ifaceMod interface) +        coverageMsg = printf " %3d%% (%3d /%3d) in '%s'" percentage haddocked haddockable modString +    out verbosity normal coverageMsg      interface' <- liftIO $ evaluate interface      return (Just interface')    else | 
