Comments (5)
It looks like one of the anchors is for the declaration and the other is for the xref. @robinp , is there a reason to have a xref here?
from haskell-indexer.
To make it clearer, the xref points to itself.
from haskell-indexer.
Noting what I found so far. The decl in this case is an "implicit" decl because type vars don't have explicit definition sites. So it's correct to have both the decl node and the xref node. The problem is that currently both have the same span.
I saw this comment: https://github.com/google/haskell-indexer/blob/master/haskell-indexer-backend-ghc/src/Language/Haskell/Indexer/Backend/Ghc.hs#L254
As noted there, we can make those implicit decls have no spans. When I do that, this problem goes away.
from haskell-indexer.
Hm. Then we have problems in unit tests. They use declAt
to find decl nodes at the given location and then verify that there are xrefs to that decl. I'll have to find a different way to test those.
from haskell-indexer.
Maybe this is not worth fixing. Kythe verifier has a flag --ignore_dups
, which can bypass this failing check. We can probably enable it in our test script and be done with this.
from haskell-indexer.
Related Issues (20)
- Add pseudo-xrefs for implicitly imported entities HOT 3
- Discover/link positional [de]construction HOT 2
- Migrate to proto-lens 0.5
- Cover all the constructor names in GADT HOT 1
- Wire up kythe verification tests to Travis CI
- Add indexing support for Haskell TypeOperators
- Make entities from core packages linked to hackage documents
- Don't emit anchor childof file edges HOT 1
- Refined variable subkinds
- Provide full definition spans in Haskell
- Cross-references in import/export lists when a whole module is imported/exported HOT 1
- Add doc/uri references to core modules
- Not all xrefs are indexed for type operators
- Special-case lenses from makeLenses to link to field definition HOT 1
- Support GHC 8.10 HOT 1
- Return unchanged GHC errors to the caller
- Initialize plugins for ghc-8.6
- Remove support for GHC < 8.6 HOT 4
- Clean up build warnings
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from haskell-indexer.