diff options
author | Zubin Duggal <zubin@cmi.ac.in> | 2019-06-29 19:20:54 +0530 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-05-26 03:03:24 -0400 |
commit | 53814a6424240ab50201fdde81a6e7832c1aad3d (patch) | |
tree | 280f353ec25f060a00a0c7124bd7471a66bed64f /libraries/haskeline | |
parent | b8c014ce27c279e0d506d5391a4e9bfa7f1c31f2 (diff) | |
download | haskell-53814a6424240ab50201fdde81a6e7832c1aad3d.tar.gz |
Add info about typeclass evidence to .hie files
See `testsuite/tests/hiefile/should_run/HieQueries.hs` and
`testsuite/tests/hiefile/should_run/HieQueries.stdout` for an example of this
We add two new fields, `EvidenceVarBind` and `EvidenceVarUse` to the
`ContextInfo` associated with an Identifier. These are associated with the
appropriate identifiers for the evidence variables collected when we come across
`HsWrappers`, `TcEvBinds` and `IPBinds` while traversing the AST.
Instance dictionary and superclass selector dictionaries from `tcg_insts` and
classes defined in `tcg_tcs` are also recorded in the AST as originating from
their definition span
This allows us to save a complete picture of the evidence constructed by the
constraint solver, and will let us report this to the user, enabling features
like going to the instance definition from the invocation of a class method(or
any other method taking a constraint) and finding all usages of a particular
instance.
Additionally,
- Mark NodeInfo with an origin so we can differentiate between bindings
origininating in the source vs those in ghc
- Along with typeclass evidence info, also include information on Implicit
Parameters
- Add a few utility functions to HieUtils in order to query the new info
Updates haddock submodule
Diffstat (limited to 'libraries/haskeline')
0 files changed, 0 insertions, 0 deletions