summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorAlan Zimmerman <alan.zimm@gmail.com>2018-04-01 21:33:53 +0200
committerAlan Zimmerman <alan.zimm@gmail.com>2018-04-09 21:29:05 +0200
commit1aa1d405d8212a99ac24dcfd48024a17c3ffd296 (patch)
treedfb9cc90fce7e4a42fd4ca9024477b3d58b60ac5 /utils
parent48f55e764bb41848cff759fbea3211d8a0bbfd5b (diff)
downloadhaskell-1aa1d405d8212a99ac24dcfd48024a17c3ffd296.tar.gz
Restore Trees That Grow reverted commits
The following commits were reverted prior to the release of GHC 8.4.1, because the time to derive Data instances was too long [1]. 438dd1cbba13d35f3452b4dcef3f94ce9a216905 Phab:D4147 e3ec2e7ae94524ebd111963faf34b84d942265b4 Phab:D4177 47ad6578ea460999b53eb4293c3a3b3017a56d65 Phab:D4186 The work is continuing, as the minimum bootstrap compiler is now GHC 8.2.1, and this allows Plan B[2] for instances to be used. This will land in a following commit. Updates Haddock submodule [1] https://ghc.haskell.org/trac/ghc/wiki/ImplementingTreesThatGrow/Instances [2] https://ghc.haskell.org/trac/ghc/wiki/ImplementingTreesThatGrow/Instances#PLANB
Diffstat (limited to 'utils')
-rw-r--r--utils/ghctags/Main.hs25
m---------utils/haddock0
2 files changed, 12 insertions, 13 deletions
diff --git a/utils/ghctags/Main.hs b/utils/ghctags/Main.hs
index f74c7514db..059692622e 100644
--- a/utils/ghctags/Main.hs
+++ b/utils/ghctags/Main.hs
@@ -254,7 +254,7 @@ boundValues :: ModuleName -> HsGroup GhcRn -> [FoundThing]
-- ^Finds all the top-level definitions in a module
boundValues mod group =
let vals = case hs_valds group of
- ValBindsOut nest _sigs ->
+ XValBindsLR (NValBinds nest _sigs) ->
[ x | (_rec, binds) <- nest
, bind <- bagToList binds
, x <- boundThings mod bind ]
@@ -291,21 +291,20 @@ boundThings modname lbinding =
lid id = FoundThing modname (getOccString id) loc
in case unLoc lpat of
WildPat _ -> tl
- VarPat (L _ name) -> lid name : tl
- LazyPat p -> patThings p tl
- AsPat id p -> patThings p (thing id : tl)
- ParPat p -> patThings p tl
- BangPat p -> patThings p tl
- ListPat ps _ _ -> foldr patThings tl ps
- TuplePat ps _ _ -> foldr patThings tl ps
- PArrPat ps _ -> foldr patThings tl ps
+ VarPat _ (L _ name) -> lid name : tl
+ LazyPat _ p -> patThings p tl
+ AsPat _ id p -> patThings p (thing id : tl)
+ ParPat _ p -> patThings p tl
+ BangPat _ p -> patThings p tl
+ ListPat _ ps _ _ -> foldr patThings tl ps
+ TuplePat _ ps _ -> foldr patThings tl ps
+ PArrPat _ ps -> foldr patThings tl ps
ConPatIn _ conargs -> conArgs conargs tl
ConPatOut{ pat_args = conargs } -> conArgs conargs tl
- LitPat _ -> tl
+ LitPat _ _ -> tl
NPat {} -> tl -- form of literal pattern?
- NPlusKPat id _ _ _ _ _ -> thing id : tl
- SigPatIn p _ -> patThings p tl
- SigPatOut p _ -> patThings p tl
+ NPlusKPat _ id _ _ _ _ -> thing id : tl
+ SigPat _ p -> patThings p tl
_ -> error "boundThings"
conArgs (PrefixCon ps) tl = foldr patThings tl ps
conArgs (RecCon (HsRecFields { rec_flds = flds })) tl
diff --git a/utils/haddock b/utils/haddock
-Subproject d0de7f1219172a6b52e7a02a716aed8c1dc8aaa
+Subproject c84939c8428a9e9ae0753e75ca6b48fcbbc1ecd