diff options
Diffstat (limited to 'haddock-api/src/Haddock/Interface/Rename.hs')
| -rw-r--r-- | haddock-api/src/Haddock/Interface/Rename.hs | 22 | 
1 files changed, 17 insertions, 5 deletions
| diff --git a/haddock-api/src/Haddock/Interface/Rename.hs b/haddock-api/src/Haddock/Interface/Rename.hs index d2f11733..b3d31940 100644 --- a/haddock-api/src/Haddock/Interface/Rename.hs +++ b/haddock-api/src/Haddock/Interface/Rename.hs @@ -308,7 +308,7 @@ renameType t = case t of      doc' <- renameLDocHsSyn doc      return (HsDocTy noAnn ty' doc') -  HsTyLit _ x -> return (HsTyLit noAnn x) +  HsTyLit _ x -> return (HsTyLit noAnn (renameTyLit x))    HsRecTy _ a               -> HsRecTy noAnn <$> mapM renameConDeclFieldField a    XHsType a                 -> pure (XHsType a) @@ -318,6 +318,12 @@ renameType t = case t of    HsSpliceTy (HsUntypedSpliceNested _) _ -> error "renameType: not an top level type splice"    HsWildCardTy _          -> pure (HsWildCardTy noAnn) +renameTyLit :: HsTyLit GhcRn -> HsTyLit DocNameI +renameTyLit t = case t of +  HsNumTy  _ v -> HsNumTy noExtField v +  HsStrTy  _ v -> HsStrTy noExtField v +  HsCharTy _ v -> HsCharTy noExtField v +  renameSigType :: HsSigType GhcRn -> RnM (HsSigType DocNameI)  renameSigType (HsSig { sig_bndrs = bndrs, sig_body = body }) = do @@ -576,9 +582,9 @@ renameSig sig = case sig of    FixSig _ (FixitySig _ lnames fixity) -> do      lnames' <- mapM renameL lnames      return $ FixSig noExtField (FixitySig noExtField lnames' fixity) -  MinimalSig _ src (L l s) -> do +  MinimalSig _ (L l s) -> do      s' <- traverse (traverse lookupRnNoWarn) s -    return $ MinimalSig noExtField src (L l s') +    return $ MinimalSig noExtField (L l s')    -- we have filtered out all other kinds of signatures in Interface.Create    _ -> error "expected TypeSig" @@ -587,11 +593,17 @@ renameForD :: ForeignDecl GhcRn -> RnM (ForeignDecl DocNameI)  renameForD (ForeignImport _ lname ltype x) = do    lname' <- renameL lname    ltype' <- renameLSigType ltype -  return (ForeignImport noExtField lname' ltype' x) +  return (ForeignImport noExtField lname' ltype' (renameForI x))  renameForD (ForeignExport _ lname ltype x) = do    lname' <- renameL lname    ltype' <- renameLSigType ltype -  return (ForeignExport noExtField lname' ltype' x) +  return (ForeignExport noExtField lname' ltype' (renameForE x)) + +renameForI :: ForeignImport GhcRn -> ForeignImport DocNameI +renameForI (CImport _ cconv safety mHeader spec) = CImport noExtField cconv safety mHeader spec + +renameForE :: ForeignExport GhcRn -> ForeignExport DocNameI +renameForE (CExport _ spec) = CExport noExtField spec  renameInstD :: InstDecl GhcRn -> RnM (InstDecl DocNameI) | 
