diff options
Diffstat (limited to 'src/Haddock')
| -rw-r--r-- | src/Haddock/Interface/Create.hs | 7 | ||||
| -rw-r--r-- | src/Haddock/Types.hs | 5 | 
2 files changed, 9 insertions, 3 deletions
| diff --git a/src/Haddock/Interface/Create.hs b/src/Haddock/Interface/Create.hs index 2ffe8de8..6c121ad4 100644 --- a/src/Haddock/Interface/Create.hs +++ b/src/Haddock/Interface/Create.hs @@ -92,7 +92,9 @@ createInterface tm flags modMap instIfaceMap = do    warningMap <- liftErrMsg $ mkWarningMap dflags warnings gre exportedNames -  exportItems <- mkExportItems modMap mdl warningMap gre exportedNames decls maps exports +  let allWarnings = M.unions (warningMap : map ifaceWarningMap (M.elems modMap)) + +  exportItems <- mkExportItems modMap mdl allWarnings gre exportedNames decls maps exports                     instances instIfaceMap dflags    let !visibleNames = mkVisibleNames exportItems opts @@ -135,6 +137,7 @@ createInterface tm flags modMap instIfaceMap = do    , ifaceModuleAliases   = aliases    , ifaceInstances       = instances    , ifaceHaddockCoverage = coverage +  , ifaceWarningMap      = warningMap    }  mkAliasMap :: DynFlags -> Maybe RenamedSource -> M.Map Module ModuleName @@ -170,8 +173,6 @@ lookupModuleDyn dflags Nothing mdlName =  -- Warnings  ------------------------------------------------------------------------------- -type WarningMap = DocMap Name -  mkWarningMap :: DynFlags -> Warnings -> GlobalRdrEnv -> [Name] -> ErrMsgM WarningMap  mkWarningMap dflags warnings gre exps = case warnings of    NoWarnings  -> return M.empty diff --git a/src/Haddock/Types.hs b/src/Haddock/Types.hs index 9be46748..181ea026 100644 --- a/src/Haddock/Types.hs +++ b/src/Haddock/Types.hs @@ -114,8 +114,13 @@ data Interface = Interface      -- | The number of haddockable and haddocked items in the module, as a      -- tuple. Haddockable items are the exports and the module itself.    , ifaceHaddockCoverage :: !(Int, Int) + +    -- | Warnings for things defined in this module. +  , ifaceWarningMap :: !WarningMap    } +type WarningMap = DocMap Name +  -- | A subset of the fields of 'Interface' that we store in the interface  -- files. | 
