[commit: ghc] master: Support generating HIE files (f582379)

git at git.haskell.org git at git.haskell.org
Tue Dec 11 23:22:02 UTC 2018


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

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/f582379de2c4ff7577235c926ad953debdae3cac/ghc

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

commit f582379de2c4ff7577235c926ad953debdae3cac
Author: Alec Theriault <alec.theriault at gmail.com>
Date:   Tue Dec 11 13:47:35 2018 -0500

    Support generating HIE files
    
    Adds a `-fenable-ide-info` flag which instructs GHC to generate `.hie`
    files (see the wiki page:
    https://ghc.haskell.org/trac/ghc/wiki/HIEFiles).
    
    This is a rebased version of Zubin Duggal's (@wz1000) GHC changes for
    his GSOC project, as posted here:
    https://gist.github.com/wz1000/5ed4ddd0d3e96d6bc75e095cef95363d.
    
    Test Plan: ./validate
    
    Reviewers: bgamari, gershomb, nomeata, alanz, sjakobi
    
    Reviewed By: alanz, sjakobi
    
    Subscribers: alanz, hvr, sjakobi, rwbarton, wz1000, carter
    
    Differential Revision: https://phabricator.haskell.org/D5239


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

f582379de2c4ff7577235c926ad953debdae3cac
 compiler/backpack/DriverBkp.hs                     |    8 +-
 compiler/basicTypes/Module.hs                      |   17 +-
 compiler/ghc.cabal.in                              |    6 +
 compiler/hieFile/HieAst.hs                         | 1713 ++++++++++++++++++++
 compiler/hieFile/HieBin.hs                         |  271 ++++
 compiler/hieFile/HieDebug.hs                       |  143 ++
 compiler/hieFile/HieTypes.hs                       |  503 ++++++
 compiler/hieFile/HieUtils.hs                       |  455 ++++++
 compiler/iface/MkIface.hs                          |   20 +-
 compiler/main/DriverPipeline.hs                    |   38 +-
 compiler/main/DynFlags.hs                          |   22 +-
 compiler/main/Finder.hs                            |   23 +-
 compiler/main/GhcMake.hs                           |   13 +-
 compiler/main/HscMain.hs                           |   68 +-
 compiler/main/HscTypes.hs                          |    4 +-
 compiler/typecheck/TcRnMonad.hs                    |    2 +
 compiler/utils/Binary.hs                           |   41 +-
 docs/users_guide/8.8.1-notes.rst                   |    4 +
 docs/users_guide/separate_compilation.rst          |   54 +
 docs/users_guide/using.rst                         |    3 +
 hadrian/src/Settings/Builders/Ghc.hs               |    4 +-
 rules/distdir-way-opts.mk                          |    2 +-
 testsuite/tests/driver/recomp018/A.hs              |    7 +
 testsuite/tests/driver/recomp018/B.hs              |    6 +
 testsuite/tests/driver/recomp018/C.hs              |    6 +
 testsuite/tests/driver/recomp018/Makefile          |   30 +
 testsuite/tests/driver/recomp018/all.T             |    5 +
 testsuite/tests/driver/recomp018/recomp018.stdout  |    7 +
 testsuite/tests/{ado => hiefile}/Makefile          |    0
 testsuite/tests/hiefile/should_compile/CPP.hs      |   26 +
 testsuite/tests/hiefile/should_compile/CPP.stderr  |    2 +
 .../tests/hiefile/should_compile/Constructors.hs   |   35 +
 .../hiefile/should_compile/Constructors.stderr     |    2 +
 testsuite/tests/hiefile/should_compile/all.T       |   12 +
 testsuite/tests/hiefile/should_compile/hie001.hs   |    9 +
 .../tests/hiefile/should_compile/hie001.stderr     |    2 +
 .../T14683.hs => hiefile/should_compile/hie002.hs} |    0
 testsuite/tests/hiefile/should_compile/hie003.hs   |   38 +
 .../tests/hiefile/should_compile/hie003.stderr     |    2 +
 testsuite/tests/hiefile/should_compile/hie004.hs   |   28 +
 .../tests/hiefile/should_compile/hie004.stderr     |    2 +
 testsuite/tests/hiefile/should_compile/hie005.hs   |   17 +
 .../tests/hiefile/should_compile/hie005.stderr     |    2 +
 testsuite/tests/hiefile/should_compile/hie006.hs   |   22 +
 .../tests/hiefile/should_compile/hie006.stderr     |    2 +
 testsuite/tests/hiefile/should_compile/hie007.hs   |   66 +
 .../tests/hiefile/should_compile/hie007.stderr     |    2 +
 testsuite/tests/hiefile/should_compile/hie008.hs   |   34 +
 .../tests/hiefile/should_compile/hie008.stderr     |    2 +
 testsuite/tests/hiefile/should_compile/hie009.hs   |   42 +
 .../tests/hiefile/should_compile/hie009.stderr     |    2 +
 testsuite/tests/hiefile/should_compile/hie010.hs   |   23 +
 .../tests/hiefile/should_compile/hie010.stderr     |    2 +
 testsuite/tests/regalloc/regalloc_unit_tests.hs    |    2 +-
 utils/ghc-in-ghci/settings.ghci                    |    1 +
 55 files changed, 3795 insertions(+), 57 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 f582379de2c4ff7577235c926ad953debdae3cac


More information about the ghc-commits mailing list