Expose more indexed files to LSPStaleTypechecker #5521
Closed
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.