[commit: ghc] wip/embelleshed-rdr: Add HsEmbellished type to hsSyn (13f79ba)

git at git.haskell.org git at git.haskell.org
Fri Feb 17 18:08:29 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/embelleshed-rdr
Link       : http://ghc.haskell.org/trac/ghc/changeset/13f79baf857d82abc8ab838d814ddb1ffc8a1b9f/ghc

>---------------------------------------------------------------

commit 13f79baf857d82abc8ab838d814ddb1ffc8a1b9f
Author: Alan Zimmerman <alan.zimm at gmail.com>
Date:   Fri Feb 17 12:13:14 2017 +0200

    Add HsEmbellished type to hsSyn
    
    Summary:
    A RdrName can be parsed with parens or backquotes if it is used prefix or infix
    respectively when it is normally not used that way.
    
    This is not captured in hsSyn, and must be inferred from the occName when pretty
    printing, or using the API annotations.
    
    Introduce a wrapper type around the name to capture this
    
        data Embellished name
          = EName       name
          | EParens     (Located name)
          | EBackquotes (Located name)
    
    So that we now have
    
        data HsExpr id
          = HsVar     (LEmbellished id)   -- ^ Variable
    
    and in the other relevant points in hsSyn.
    
    Test Plan: ./validate
    
    Reviewers: bgamari, austin, goldfire
    
    Subscribers: goldfire, thomie, mpickering, snowleopard
    
    Differential Revision: https://phabricator.haskell.org/D3145


>---------------------------------------------------------------

13f79baf857d82abc8ab838d814ddb1ffc8a1b9f
 compiler/deSugar/Check.hs                          |   4 +-
 compiler/deSugar/Coverage.hs                       |   2 +-
 compiler/deSugar/Desugar.hs                        |   4 +-
 compiler/deSugar/DsArrows.hs                       |   2 +-
 compiler/deSugar/DsExpr.hs                         |   2 +-
 compiler/deSugar/DsGRHSs.hs                        |   4 +-
 compiler/deSugar/DsMeta.hs                         |  96 ++++-----
 compiler/deSugar/DsUtils.hs                        |   2 +-
 compiler/deSugar/Match.hs                          |   2 +-
 compiler/deSugar/PmExpr.hs                         |   2 +-
 compiler/ghc.cabal.in                              |   1 +
 compiler/ghc.mk                                    |   1 +
 compiler/hsSyn/Convert.hs                          |  82 ++++----
 compiler/hsSyn/HsBinds.hs                          |  23 ++-
 compiler/hsSyn/HsDecls.hs                          |  35 ++--
 compiler/hsSyn/HsEmbellished.hs                    |  63 ++++++
 compiler/hsSyn/HsExpr.hs                           |  14 +-
 compiler/hsSyn/HsPat.hs                            |   5 +-
 compiler/hsSyn/HsSyn.hs                            |   2 +
 compiler/hsSyn/HsTypes.hs                          |  28 +--
 compiler/hsSyn/HsUtils.hs                          |  54 ++---
 compiler/main/HscMain.hs                           |   2 +-
 compiler/main/InteractiveEval.hs                   |   5 +-
 compiler/parser/ApiAnnotation.hs                   |   1 -
 compiler/parser/Parser.y                           | 220 ++++++++++-----------
 compiler/parser/RdrHsSyn.hs                        |  92 +++++----
 compiler/rename/RnBinds.hs                         |  69 +++----
 compiler/rename/RnEnv.hs                           |  36 +++-
 compiler/rename/RnExpr.hs                          |  28 +--
 compiler/rename/RnNames.hs                         |  30 +--
 compiler/rename/RnPat.hs                           |  45 +++--
 compiler/rename/RnSource.hs                        |  66 ++++---
 compiler/rename/RnSplice.hs                        |   8 +-
 compiler/rename/RnTypes.hs                         |  17 +-
 compiler/typecheck/Inst.hs                         |   6 +-
 compiler/typecheck/TcAnnotations.hs                |   3 +-
 compiler/typecheck/TcBinds.hs                      |  31 +--
 compiler/typecheck/TcClassDcl.hs                   |  10 +-
 compiler/typecheck/TcEnv.hs                        |   8 +-
 compiler/typecheck/TcErrors.hs                     |   3 +-
 compiler/typecheck/TcExpr.hs                       |  76 +++----
 compiler/typecheck/TcGenDeriv.hs                   |  12 +-
 compiler/typecheck/TcHsSyn.hs                      |  23 +--
 compiler/typecheck/TcHsType.hs                     |   2 +-
 compiler/typecheck/TcInstDcls.hs                   |   4 +-
 compiler/typecheck/TcPat.hs                        |  11 +-
 compiler/typecheck/TcPatSyn.hs                     |  33 ++--
 compiler/typecheck/TcRnDriver.hs                   |   2 +-
 compiler/typecheck/TcRnTypes.hs                    |   5 +-
 compiler/typecheck/TcSigs.hs                       |  34 ++--
 compiler/typecheck/TcSplice.hs                     |   2 +-
 compiler/typecheck/TcTyClsDecls.hs                 |  28 +--
 compiler/typecheck/TcTyDecls.hs                    |  16 +-
 ghc/GHCi/UI/Info.hs                                |   2 +-
 testsuite/tests/ghc-api/annotations/T10357.stdout  |   2 -
 testsuite/tests/ghc-api/annotations/T11321.stdout  |   1 -
 testsuite/tests/ghc-api/annotations/T13163.stdout  |   7 -
 testsuite/tests/ghc-api/landmines/landmines.stdout |   2 +-
 .../tests/parser/should_compile/DumpParsedAst.hs   |   4 +
 .../parser/should_compile/DumpParsedAst.stderr     | 160 +++++++++++++--
 .../parser/should_compile/DumpRenamedAst.stderr    |  36 ++--
 .../should_compile/DumpTypecheckedAst.stderr       |  14 +-
 testsuite/tests/quasiquotation/T7918.hs            |   4 +-
 utils/ghctags/Main.hs                              |   6 +-
 utils/haddock                                      |   2 +-
 65 files changed, 952 insertions(+), 644 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 13f79baf857d82abc8ab838d814ddb1ffc8a1b9f


More information about the ghc-commits mailing list