-ids2string [] = []
-ids2string (x:_) = show $ ppr x defaultUserStyle
-
-rnHsDoc :: HsDoc RdrName -> RnM (HsDoc Name)
-rnHsDoc doc = case doc of
-
- DocEmpty -> return DocEmpty
-
- DocAppend a b -> do
- a' <- rnHsDoc a
- b' <- rnHsDoc b
- return (DocAppend a' b')
-
- DocString str -> return (DocString str)
-
- DocParagraph doc -> do
- doc' <- rnHsDoc doc
- return (DocParagraph doc')
-
- DocIdentifier ids -> do
- let choices = concatMap dataTcOccs ids
- mb_gres <- mapM lookupGreRn choices
- case [gre_name gre | Just gre <- mb_gres] of
- [] -> return (DocString (ids2string ids))
- ids' -> return (DocIdentifier ids')
-
- DocModule str -> return (DocModule str)
-
- DocEmphasis doc -> do
- doc' <- rnHsDoc doc
- return (DocEmphasis doc')
-
- DocMonospaced doc -> do
- doc' <- rnHsDoc doc
- return (DocMonospaced doc')
-
- DocUnorderedList docs -> do
- docs' <- mapM rnHsDoc docs
- return (DocUnorderedList docs')
-
- DocOrderedList docs -> do
- docs' <- mapM rnHsDoc docs
- return (DocOrderedList docs')
-
- DocDefList list -> do
- list' <- mapM (\(a,b) -> do
- a' <- rnHsDoc a
- b' <- rnHsDoc b
- return (a', b')) list
- return (DocDefList list')
-
- DocCodeBlock doc -> do
- doc' <- rnHsDoc doc
- return (DocCodeBlock doc')
-
- DocURL str -> return (DocURL str)