aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Waern <david.waern@gmail.com>2011-10-01 01:56:48 +0200
committerDavid Waern <david.waern@gmail.com>2011-10-01 01:56:48 +0200
commita26a25d047f68051f9e1419a0cec515b62ad7e21 (patch)
treef93f0f390ed3ac6a704cd614685b249736f15c14 /src
parent64c6e2464fb3a9207e01b01a17c815284e49808b (diff)
parentb50695a86358fd02b9a0ececbc107bf5274d5f95 (diff)
Merge branch 'development'
Diffstat (limited to 'src')
-rw-r--r--src/Haddock/Backends/Xhtml.hs7
-rw-r--r--src/Haddock/Interface.hs9
-rw-r--r--src/Main.hs2
3 files changed, 10 insertions, 8 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
diff --git a/src/Main.hs b/src/Main.hs
index b49fc6e4..f21bde5e 100644
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -157,7 +157,7 @@ readPackagesAndProcessModules flags files = do
-- Catches all GHC source errors, then prints and re-throws them.
let handleSrcErrors action' = flip handleSourceError action' $ \err -> do
- printExceptionAndWarnings err
+ printException err
liftIO exitFailure
-- Initialize GHC.