Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix compiler crash on property symbols without declarations #45190

Merged
merged 11 commits into from
Jul 29, 2021

Conversation

gabritto
Copy link
Member

@gabritto gabritto commented Jul 26, 2021

Fixes #44970

In short, the checker crash was caused by the fact that properties that go through a mapped type with an as clause don't have declarations attached to their symbols (#44609), but addPropertyToElementList, a function used for serializing type nodes, relied on late-bound property symbols having declarations (propertySymbol.declarations).

The fix here is to make the part of addPropertyToElementList that relies on propertySymbol.declarations actually check if declarations is defined before accessing it.
In addition, there is now a declaration emit reporter for when we reach a late-bound symbol that has no declarations attached, as that should be an error since we shouldn't serialize that property type for declaration emit purposes.

@typescript-bot typescript-bot added the For Uncommitted Bug PR for untriaged, rejected, closed or missing bug label Jul 26, 2021
@gabritto gabritto changed the title gabritto/issue44970 Fix compiler crash on property symbols without declarations Jul 26, 2021
@typescript-bot typescript-bot added For Milestone Bug PRs that fix a bug with a specific milestone and removed For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Jul 26, 2021
@gabritto gabritto requested review from weswigham and sandersn July 26, 2021 20:25
@gabritto gabritto requested a review from weswigham July 27, 2021 18:03
@gabritto gabritto marked this pull request as ready for review July 27, 2021 18:07
@RyanCavanaugh
Copy link
Member

@weswigham gtg?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
For Milestone Bug PRs that fix a bug with a specific milestone
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Crash report
4 participants