[commit: ghc] master: Rework renaming of children in export lists. (e660f4b)
git at git.haskell.org
git at git.haskell.org
Sat Oct 8 09:08:40 UTC 2016
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/e660f4bf546e90fb6719ad268ca3daaecdce4b82/ghc
>---------------------------------------------------------------
commit e660f4bf546e90fb6719ad268ca3daaecdce4b82
Author: Matthew Pickering <matthewtpickering at gmail.com>
Date: Sat Oct 8 10:06:01 2016 +0100
Rework renaming of children in export lists.
The target of this patch is exports such as:
```
module Foo ( T(A, B, C) ) where
```
Essentially this patch makes sure that we use the correct lookup functions in order
to lookup the names in parent-children export lists. This change
highlighted the complexity of this small part of GHC which accounts for
the scale.
This change was motivated by wanting to
remove the `PatternSynonym` constructor from `Parent`. As with all these
things, it quickly spiraled out of control into a much larger refactor.
Reviewers: simonpj, goldfire, bgamari, austin
Subscribers: adamgundry, thomie
Differential Revision: https://phabricator.haskell.org/D2179
GHC Trac Issues: #11970
>---------------------------------------------------------------
e660f4bf546e90fb6719ad268ca3daaecdce4b82
compiler/basicTypes/Avail.hs | 38 +-
compiler/basicTypes/RdrName.hs | 26 +-
compiler/ghc.cabal.in | 1 +
compiler/iface/LoadIface.hs | 2 +-
compiler/iface/MkIface.hs | 2 +-
compiler/main/HscTypes.hs | 2 +-
compiler/rename/RnEnv.hs | 4 +-
compiler/rename/RnExpr.hs | 2 +-
compiler/rename/RnNames.hs | 449 +----------
compiler/rename/RnSource.hs | 2 +-
compiler/typecheck/TcRnDriver.hs | 140 +---
compiler/typecheck/TcRnExports.hs | 848 +++++++++++++++++++++
compiler/typecheck/TcRnMonad.hs | 23 +-
compiler/typecheck/TcType.hs | 2 +-
compiler/types/TyCoRep.hs | 19 +-
compiler/utils/Util.hs | 10 +-
testsuite/tests/module/MultiExport.hs | 6 +
testsuite/tests/module/MultiExport.stderr | 3 +
testsuite/tests/module/T11970.hs | 19 +
testsuite/tests/module/T11970.stderr | 12 +
testsuite/tests/module/T11970A.hs | 3 +
testsuite/tests/module/T11970A.stderr | 5 +
testsuite/tests/module/T11970A1.hs | 3 +
testsuite/tests/module/T11970B.hs | 5 +
testsuite/tests/module/T11970B.stderr | 5 +
testsuite/tests/module/all.T | 4 +
testsuite/tests/module/mod10.stderr | 4 +-
testsuite/tests/module/mod17.stderr | 8 +-
testsuite/tests/module/mod3.stderr | 8 +-
testsuite/tests/module/mod4.stderr | 7 +-
.../overloadedrecflds/should_fail/NoParent.hs | 6 +
.../overloadedrecflds/should_fail/NoParent.stderr | 6 +
.../tests/overloadedrecflds/should_fail/all.T | 1 +
.../tests/patsyn/should_fail/export-class.stderr | 5 +-
34 files changed, 1021 insertions(+), 659 deletions(-)
Diff suppressed because of size. To see it, use:
git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc e660f4bf546e90fb6719ad268ca3daaecdce4b82
More information about the ghc-commits
mailing list