diff options
Diffstat (limited to 'src/Haddock/Interface.hs')
| -rw-r--r-- | src/Haddock/Interface.hs | 19 | 
1 files changed, 9 insertions, 10 deletions
diff --git a/src/Haddock/Interface.hs b/src/Haddock/Interface.hs index 5f40422e..51d8de2c 100644 --- a/src/Haddock/Interface.hs +++ b/src/Haddock/Interface.hs @@ -14,6 +14,7 @@ module Haddock.Interface (  ) where +import Haddock.DocName  import Haddock.Interface.Create  import Haddock.Interface.AttachInstances  import Haddock.Interface.Rename @@ -74,17 +75,15 @@ createInterfaces' modules flags = do  -- The interfaces are passed in in topologically sorted order, but we start  -- by reversing the list so we can do a foldl.  buildHomeLinks :: [Interface] -> LinkEnv -buildHomeLinks modules = foldl upd Map.empty (reverse modules) +buildHomeLinks ifaces = foldl upd Map.empty (reverse ifaces)    where -    upd old_env mod -      | OptHide    `elem` ifaceOptions mod = old_env -      | OptNotHome `elem` ifaceOptions mod = +    upd old_env iface +      | OptHide    `elem` ifaceOptions iface = old_env +      | OptNotHome `elem` ifaceOptions iface =          foldl' keep_old old_env exported_names        | otherwise = foldl' keep_new old_env exported_names        where -        exported_names = ifaceVisibleExports mod -        modName = ifaceMod mod - -        keep_old env n = Map.insertWith (\new old -> old) n -                         (nameSetMod n modName) env -        keep_new env n = Map.insert n (nameSetMod n modName) env +        exported_names = ifaceVisibleExports iface +        mod            = ifaceMod iface +        keep_old env n = Map.insertWith (\new old -> old) n mod env +        keep_new env n = Map.insert n mod env  | 
