Raise if the attached namespace is missing during linearization #2279
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.
Motivation
Linearization for singletons currently fails with a no method error if we have never indexed the attached class.
This happens due to a shortcoming of the current implementation: we only index files once they are saved, rather than indexing them during modifications while computing all of the other features (using the dispatcher).
See the manual tests to understand what I mean.
Implementation
For now, we need to error properly if the attached class does not exist.
Automated Tests
Added a test.
Manual Tests
@
symbolThe moment the
@
symbol is added, we need to linearize ancestors for the singleton class ofFoo
to provide completion for class instance variables. However, because the file has not been saved, we never indexedFoo
in the first place.On main that fails and on this branch we simply don't show completion until the file is saved.