diff options
| author | Adam Gundry <adam@well-typed.com> | 2015-10-16 16:26:42 +0100 | 
|---|---|---|
| committer | Matthew Pickering <matthewtpickering@gmail.com> | 2015-12-14 15:20:48 +0000 | 
| commit | 821b1dcfe62bf75711661348ac80a64cc60a0b6a (patch) | |
| tree | f98f58895974c528e52ac27c156589d7a1b2ad90 /haddock-api/src/Haddock/Backends/Xhtml | |
| parent | 319acdd0c70d21c517aa09b3e35f87e9bc01ad8c (diff) | |
Roughly fix up haddock for DuplicateRecordFields changes
This compiles, but will probably need more work to produce good
documentation when the DuplicateRecordFields extension is used.
Diffstat (limited to 'haddock-api/src/Haddock/Backends/Xhtml')
| -rw-r--r-- | haddock-api/src/Haddock/Backends/Xhtml/Decl.hs | 11 | 
1 files changed, 7 insertions, 4 deletions
diff --git a/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs b/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs index bc16bdcd..89b822d6 100644 --- a/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs +++ b/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs @@ -38,6 +38,8 @@ import GHC  import GHC.Exts  import Name  import BooleanFormula +import RdrName ( rdrNameOcc, mkRdrUnqual ) +import PrelNames            ( mkUnboundName )  ppDecl :: Bool -> LinksInfo -> LHsDecl DocName         -> DocForDecl DocName -> [DocInstance DocName] -> [(DocName, Fixity)] @@ -848,18 +850,18 @@ ppSideBySideConstr subdocs fixities unicode qual (L _ con) = (decl, mbDoc, field  ppSideBySideField :: [(DocName, DocForDecl DocName)] -> Unicode -> Qualification                    -> ConDeclField DocName -> SubDecl  ppSideBySideField subdocs unicode qual (ConDeclField names ltype _) = -  (hsep (punctuate comma (map ((ppBinder False) . nameOccName . getName . unL) names)) <+> dcolon unicode <+> ppLType unicode qual ltype, +  (hsep (punctuate comma (map ((ppBinder False) . rdrNameOcc . rdrNameFieldOcc . unLoc) names)) <+> dcolon unicode <+> ppLType unicode qual ltype,      mbDoc,      [])    where      -- don't use cd_fld_doc for same reason we don't use con_doc above      -- Where there is more than one name, they all have the same documentation -    mbDoc = lookup (unL $ head names) subdocs >>= combineDocumentation . fst +    mbDoc = lookup (selectorFieldOcc $ unLoc $ head names) subdocs >>= combineDocumentation . fst  ppShortField :: Bool -> Unicode -> Qualification -> ConDeclField DocName -> Html  ppShortField summary unicode qual (ConDeclField names ltype _) -  = hsep (punctuate comma (map ((ppBinder summary) . nameOccName . getName . unL) names)) +  = hsep (punctuate comma (map ((ppBinder summary) . rdrNameOcc . rdrNameFieldOcc . unLoc) names))      <+> dcolon unicode <+> ppLType unicode qual ltype @@ -981,7 +983,8 @@ ppr_mono_ty ctxt_prec (HsForAllTy expl extra tvs ctxt ty) unicode qual    = maybeParen ctxt_prec pREC_FUN $ ppForAllCon expl tvs ctxt' unicode qual                                      <+> ppr_mono_lty pREC_TOP ty unicode qual   where -   anonWC = HsWildCardTy (AnonWildCard PlaceHolder) +   anonWC = HsWildCardTy (AnonWildCard (Undocumented underscore)) +   underscore = mkUnboundName (mkRdrUnqual (mkTyVarOcc "_"))     ctxt'       | Just loc <- extra = (++ [L loc anonWC]) `fmap` ctxt       | otherwise         = ctxt  | 
