aboutsummaryrefslogtreecommitdiff
path: root/haddock-api/src/Haddock/GhcUtils.hs
diff options
context:
space:
mode:
authorAlex Biehl <alexbiehl@gmail.com>2017-06-03 20:37:28 +0200
committerGitHub <noreply@github.com>2017-06-03 20:37:28 +0200
commitbfb3563f730fd1c973a6611a0fba3435fb1df489 (patch)
tree78fe1e944e74c7840bc64cb03ea33b4e23e0ed7e /haddock-api/src/Haddock/GhcUtils.hs
parent75e1e19d0d6c139c3c7d9b77b2928e6eb286dd48 (diff)
Allow user defined signatures for pattern synonyms (#631)
Diffstat (limited to 'haddock-api/src/Haddock/GhcUtils.hs')
-rw-r--r--haddock-api/src/Haddock/GhcUtils.hs5
1 files changed, 5 insertions, 0 deletions
diff --git a/haddock-api/src/Haddock/GhcUtils.hs b/haddock-api/src/Haddock/GhcUtils.hs
index dcc1d834..4280cd80 100644
--- a/haddock-api/src/Haddock/GhcUtils.hs
+++ b/haddock-api/src/Haddock/GhcUtils.hs
@@ -88,6 +88,10 @@ filterSigNames p (ClassOpSig is_default ns ty) =
case filter (p . unLoc) ns of
[] -> Nothing
filtered -> Just (ClassOpSig is_default filtered ty)
+filterSigNames p (PatSynSig ns ty) =
+ case filter (p . unLoc) ns of
+ [] -> Nothing
+ filtered -> Just (PatSynSig filtered ty)
filterSigNames _ _ = Nothing
ifTrueJust :: Bool -> name -> Maybe name
@@ -110,6 +114,7 @@ sigNameNoLoc _ = []
isUserLSig :: LSig name -> Bool
isUserLSig (L _(TypeSig {})) = True
isUserLSig (L _(ClassOpSig {})) = True
+isUserLSig (L _(PatSynSig {})) = True
isUserLSig _ = False