Expose more indexed files to LSPStaleTypechecker#5521
Closed
Expose more indexed files to LSPStaleTypechecker#5521
Conversation
a338c90 to
d8aa8f7
Compare
0a5918b to
d4a4564
Compare
1fee8c8 to
15fd3ff
Compare
3a250d8 to
524c000
Compare
af3f14a to
2d90865
Compare
524c000 to
3464d0e
Compare
944b58a to
321a7d4
Compare
3464d0e to
1f0c2ff
Compare
Collaborator
|
Closing as we have decided against pursing the stale typechecker approach. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
(stacked PR, on top of #5545)
This adds a mechanism to share the
indexedfiles betweenLSPTypecheckerandLSPStaleTypechecker, so that we can get hover responses on files other than the one(s) included in the edit that triggered the slow path.The synchronization here is a bit wonky, but I think it's probably the best we can do for the moment without a pretty significant refactor. I think that refactor would probably look something like:
LSPIndexedFileStoreis created outside of eitherLSPTypecheckerorLSPStaleTypechecker, and passed to those classes by reference; andLSPIndexedFileStoreprovides an accessor for a mutex, with suitable annotations on its methods.Motivation
We want stale-state queries to work on files that weren't part of the edit that triggered the slow path.
Test plan
See included automated tests.