Use symbolToTypeNode for class & interface references#24330
Merged
weswigham merged 2 commits intoMay 22, 2018
Conversation
mhegazy
approved these changes
May 22, 2018
Contributor
|
Please port to release-2.9 |
weswigham
added a commit
to weswigham/TypeScript
that referenced
this pull request
May 22, 2018
* Use merged symbols when calculating qualification, use symbolToTypeNode * Accept baselines
weswigham
added a commit
that referenced
this pull request
May 22, 2018
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Fixes #24287
Non-alias class and interface references were still using
symbolToName, which drops the module symbol. With this change they now also usesymbolToTypeNode, bringing them inline with aliases and everything else (symbolToNameis still used for property names). Once fixed, this exposed an issue that showed that we weren't calculating visibility chains for merged globals within their containing ambient global augmentation correctly (they had just been defaulting to unqualified in baselines because the top of the chain was always elided), and fixing that issue (which meant accounting for merged symbols andexportSymbols intrySymbolTable) happened to improve a bunch of our symbol baselines to correctly see/use their own name, rather than falling back to some alias or qualification in scope.