diff options
| author | Simon Hengel <sol@typeful.net> | 2012-05-16 17:14:21 +0200 | 
|---|---|---|
| committer | Simon Hengel <sol@typeful.net> | 2012-05-17 19:08:20 +0200 | 
| commit | e090bbc5bdc8eb34d5340e467c7157341dfdd945 (patch) | |
| tree | 5d0742e54dd4c85672cb903f0db0db56449e3f47 /src/Haddock/Interface | |
| parent | 986ff3c5b2e4e519171816c3ad6caa81d4808919 (diff) | |
newtype-wrap Doc nodes for things that may have warnings attached
Diffstat (limited to 'src/Haddock/Interface')
| -rw-r--r-- | src/Haddock/Interface/Create.hs | 12 | ||||
| -rw-r--r-- | src/Haddock/Interface/Rename.hs | 14 | 
2 files changed, 13 insertions, 13 deletions
diff --git a/src/Haddock/Interface/Create.hs b/src/Haddock/Interface/Create.hs index ea4636fe..e2cc9959 100644 --- a/src/Haddock/Interface/Create.hs +++ b/src/Haddock/Interface/Create.hs @@ -117,8 +117,8 @@ createInterface tm flags modMap instIfaceMap = do      ifaceMod             = mdl,      ifaceOrigFilename    = msHsFilePath ms,      ifaceInfo            = info, -    ifaceDoc             = mbDoc, -    ifaceRnDoc           = Nothing, +    ifaceDoc             = Documentation mbDoc, +    ifaceRnDoc           = Documentation Nothing,      ifaceOptions         = opts,      ifaceDocMap          = docMap,      ifaceArgMap          = argMap, @@ -609,10 +609,12 @@ hiValExportItem name doc = do  lookupDocs :: Name -> DocMap Name -> ArgMap Name -> SubMap -> (DocForDecl Name, [(Name, DocForDecl Name)])  lookupDocs n docMap argMap subMap =    let lookupArgDoc x = M.findWithDefault M.empty x argMap in -  let doc = (M.lookup n docMap, lookupArgDoc n) in +  let doc = (lookupDoc n, lookupArgDoc n) in    let subs = M.findWithDefault [] n subMap in -  let subDocs = [ (s, (M.lookup s docMap, lookupArgDoc s)) | s <- subs ] in +  let subDocs = [ (s, (lookupDoc s, lookupArgDoc s)) | s <- subs ] in    (doc, subDocs) +  where +    lookupDoc = Documentation . (`M.lookup` docMap)  -- | Return all export items produced by an exported module. That is, we're @@ -772,7 +774,7 @@ extractRecSel nm mdl t tvs (L _ con : rest) =  pruneExportItems :: [ExportItem Name] -> [ExportItem Name]  pruneExportItems = filter hasDoc    where -    hasDoc (ExportDecl{expItemMbDoc = (d, _)}) = isJust d +    hasDoc (ExportDecl{expItemMbDoc = (Documentation d, _)}) = isJust d      hasDoc _ = True diff --git a/src/Haddock/Interface/Rename.hs b/src/Haddock/Interface/Rename.hs index cffe68b8..fd2a1f10 100644 --- a/src/Haddock/Interface/Rename.hs +++ b/src/Haddock/Interface/Rename.hs @@ -47,7 +47,7 @@ renameInterface renamingEnv warnings iface =        (rnArgMap, missingNames3) = runRnFM localEnv (mapM (mapM renameDoc) (ifaceArgMap iface))        (finalModuleDoc, missingNames4) -        = runRnFM localEnv (renameMaybeDoc (ifaceDoc iface)) +        = runRnFM localEnv (renameDocumentation (ifaceDoc iface))        -- combine the missing names and filter out the built-ins, which would        -- otherwise allways be missing. @@ -142,15 +142,13 @@ renameExportItems :: [ExportItem Name] -> RnM [ExportItem DocName]  renameExportItems = mapM renameExportItem -renameDocForDecl :: (Maybe (Doc Name), FnArgsDoc Name) -> RnM (Maybe (Doc DocName), FnArgsDoc DocName) -renameDocForDecl (mbDoc, fnArgsDoc) = do -  mbDoc' <- renameMaybeDoc mbDoc -  fnArgsDoc' <- renameFnArgsDoc fnArgsDoc -  return (mbDoc', fnArgsDoc') +renameDocForDecl :: DocForDecl Name -> RnM (DocForDecl DocName) +renameDocForDecl (doc, fnArgsDoc) = +  (,) `fmap` renameDocumentation doc `ap` renameFnArgsDoc fnArgsDoc -renameMaybeDoc :: Maybe (Doc Name) -> RnM (Maybe (Doc DocName)) -renameMaybeDoc = mapM renameDoc +renameDocumentation :: Documentation Name -> RnM (Documentation DocName) +renameDocumentation (Documentation mDoc) = Documentation <$> mapM renameDoc mDoc  renameLDocHsSyn :: LHsDocString -> RnM LHsDocString  | 
