aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Waern <david.waern@gmail.com>2008-08-03 17:47:26 +0000
committerDavid Waern <david.waern@gmail.com>2008-08-03 17:47:26 +0000
commit9b3fa59c6a9d678408e594435fe8f44e4587c2f4 (patch)
tree47d2aecf99d5fe782ea6cacdd3086cc690232e1b /src
parentca4f3779257dcfe2005cc980035c1c664389a8d1 (diff)
Filter out separately exported ATs (take two)
Diffstat (limited to 'src')
-rw-r--r--src/Haddock/GHC/Utils.hs4
-rw-r--r--src/Haddock/Interface/Create.hs7
2 files changed, 9 insertions, 2 deletions
diff --git a/src/Haddock/GHC/Utils.hs b/src/Haddock/GHC/Utils.hs
index 9aa89a88..6de56f88 100644
--- a/src/Haddock/GHC/Utils.hs
+++ b/src/Haddock/GHC/Utils.hs
@@ -92,6 +92,10 @@ isInstD (TyClD d) = isFamInstDecl d
isInstD _ = False
+declATs (TyClD d) | isClassDecl d = map (tcdName . unL) $ tcdATs d
+declATs _ = []
+
+
pretty :: Outputable a => a -> String
pretty x = showSDoc (ppr x)
diff --git a/src/Haddock/Interface/Create.hs b/src/Haddock/Interface/Create.hs
index 4380c0ee..1d41216e 100644
--- a/src/Haddock/Interface/Create.hs
+++ b/src/Haddock/Interface/Create.hs
@@ -408,8 +408,11 @@ mkExportItems modMap this_mod exported_names decls declMap famMap sub_map
declWith :: Name -> ErrMsgM [ ExportItem Name ]
declWith t
- | Just (decl, maybeDoc) <- findDecl t
- = return [ ExportDecl (restrictTo subs (extractDecl t mdl decl)) maybeDoc [] ]
+ -- temp hack: we filter out separately declared ATs, since we haven't decided how
+ -- to handle them yet. We should really give an warning message also, and filter the
+ -- name out in mkVisibleNames...
+ | Just (decl, maybeDoc) <- findDecl t, t `notElem` declATs (unL decl) =
+ return [ ExportDecl (restrictTo subs (extractDecl t mdl decl)) maybeDoc [] ]
| otherwise = return []
where
mdl = nameModule t