X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fparser%2FHaddockUtils.hs;h=b84692a6b18d197006ee70b05d4985e46752636c;hb=46bef1c09f499c5b34a00b650614bebfa1d6ba4b;hp=70a5da25fe44a2df83156c4934c8dc013c46c718;hpb=83adb5d625b3821ff3bd29596437a780db8fa98f;p=ghc-hetmet.git diff --git a/compiler/parser/HaddockUtils.hs b/compiler/parser/HaddockUtils.hs index 70a5da2..b84692a 100644 --- a/compiler/parser/HaddockUtils.hs +++ b/compiler/parser/HaddockUtils.hs @@ -2,16 +2,13 @@ module HaddockUtils where import HsSyn -import HsDoc import {-# SOURCE #-} HaddockLex import HaddockParse import SrcLoc import RdrName import Control.Monad -import Data.Maybe import Data.Char -import Data.Either -- ----------------------------------------------------------------------------- -- Parsing module headers @@ -151,17 +148,16 @@ parseKey key toParse0 = -- ----------------------------------------------------------------------------- -- Adding documentation to record fields (used in parsing). -type Field a = ([Located a], LBangType a, Maybe (LHsDoc a)) +addFieldDoc :: ConDeclField a -> Maybe (LHsDoc a) -> ConDeclField a +addFieldDoc fld doc = fld { cd_fld_doc = cd_fld_doc fld `mplus` doc } -addFieldDoc :: Field a -> Maybe (LHsDoc a) -> Field a -addFieldDoc (a, b, c) doc = (a, b, c `mplus` doc) - -addFieldDocs :: [Field a] -> Maybe (LHsDoc a) -> [Field a] +addFieldDocs :: [ConDeclField a] -> Maybe (LHsDoc a) -> [ConDeclField a] addFieldDocs [] _ = [] addFieldDocs (x:xs) doc = addFieldDoc x doc : xs addConDoc :: LConDecl a -> Maybe (LHsDoc a) -> LConDecl a -addConDoc (L p c) doc = L p ( c { con_doc = con_doc c `mplus` doc } ) +addConDoc decl Nothing = decl +addConDoc (L p c) doc = L p ( c { con_doc = con_doc c `mplus` doc } ) addConDocs :: [LConDecl a] -> Maybe (LHsDoc a) -> [LConDecl a] addConDocs [] _ = []