aboutsummaryrefslogtreecommitdiff
path: root/src/Haddock/Interface
diff options
context:
space:
mode:
authorDavid Waern <david.waern@gmail.com>2008-10-20 20:25:50 +0000
committerDavid Waern <david.waern@gmail.com>2008-10-20 20:25:50 +0000
commit7fc7a177035d450566c375e361ed0961c1d3fa0d (patch)
tree051d7fa58c2f1522a1c91644c9d93676d6509db3 /src/Haddock/Interface
parent5ddb372746432ff0e1026f62171c1e0e3a705a6f (diff)
Make renamer consistent
Instead of explicitly making some binders Undocumented, treat all names the same way (that is, try to find a Documented name).
Diffstat (limited to 'src/Haddock/Interface')
-rw-r--r--src/Haddock/Interface/Rename.hs21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/Haddock/Interface/Rename.hs b/src/Haddock/Interface/Rename.hs
index 3675f0b4..0e0da5a6 100644
--- a/src/Haddock/Interface/Rename.hs
+++ b/src/Haddock/Interface/Rename.hs
@@ -130,10 +130,6 @@ runRnFM env rn = unRn rn lkp
--------------------------------------------------------------------------------
-keep n = Undocumented n
-keepL (L loc n) = L loc (Undocumented n)
-
-
rename = lookupRn id
renameL (L loc name) = return . L loc =<< rename name
@@ -341,12 +337,13 @@ renameTyClD d = case d of
where
renameLCon (L loc con) = return . L loc =<< renameCon con
renameCon (ConDecl lname expl ltyvars lcontext details restype mbldoc) = do
+ lname' <- renameL lname
ltyvars' <- mapM renameLTyVarBndr ltyvars
lcontext' <- renameLContext lcontext
details' <- renameDetails details
restype' <- renameResType restype
mbldoc' <- mapM renameLDoc mbldoc
- return (ConDecl (keepL lname) expl ltyvars' lcontext' details' restype' mbldoc')
+ return (ConDecl lname' expl ltyvars' lcontext' details' restype' mbldoc')
renameDetails (RecCon fields) = return . RecCon =<< mapM renameField fields
renameDetails (PrefixCon ps) = return . PrefixCon =<< mapM renameLType ps
@@ -356,14 +353,18 @@ renameTyClD d = case d of
return (InfixCon a' b')
renameField (ConDeclField name t doc) = do
+ name' <- renameL name
t' <- renameLType t
doc' <- mapM renameLDoc doc
- return (ConDeclField (keepL name) t' doc')
+ return (ConDeclField name' t' doc')
renameResType (ResTyH98) = return ResTyH98
renameResType (ResTyGADT t) = return . ResTyGADT =<< renameLType t
- renameLFunDep (L loc (xs, ys)) = return (L loc (map keep xs, map keep ys))
+ renameLFunDep (L loc (xs, ys)) = do
+ xs' <- mapM rename xs
+ ys' <- mapM rename ys
+ return (L loc (xs', ys'))
renameLSig (L loc sig) = return . L loc =<< renameSig sig
@@ -377,11 +378,13 @@ renameSig sig = case sig of
renameForD (ForeignImport lname ltype x) = do
+ lname' <- renameL lname
ltype' <- renameLType ltype
- return (ForeignImport (keepL lname) ltype' x)
+ return (ForeignImport lname' ltype' x)
renameForD (ForeignExport lname ltype x) = do
+ lname' <- renameL lname
ltype' <- renameLType ltype
- return (ForeignExport (keepL lname) ltype' x)
+ return (ForeignExport lname' ltype' x)
renameInstD (InstDecl ltype _ _ lATs) = do