Add info about typeclass evidence to .hie files
testsuite/tests/hiefile/should_run/HieQueries.stdout for an example of this
We add two new fields,
EvidenceVarUse to the
ContextInfo associated with an
Identifier. These contexts are associated with the appropriate identifiers for the evidence variables collected when we come across
IPBinds while traversing the AST. 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, we mark
NodeInfo with a
NodeOrigin flag that tells us about the provenance of the node(whether it is from the source or generated by GHC). For now, this corresponds to the
Origin field in the
MatchGroup. This helps us ensure we don't display irrelevant information in hover tooltips generated by haddocks hyperlinker. It is necessary because we now recurse into the
MatchGroup without guarding for the
FromSource origin, so that we can collect all the typeclass evidence information required.