Use symbolToTypeNode for class & interface references #24330
Merged
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 (symbolToName
is 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 andexportSymbol
s 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.