Skip to content

Fix compiler crash on property symbols without declarations - #45190

Merged
Gabriela Araujo Britto (gabritto) merged 11 commits into
mainfrom
gabritto/issue44970
Jul 29, 2021
Merged

Fix compiler crash on property symbols without declarations#45190
Gabriela Araujo Britto (gabritto) merged 11 commits into
mainfrom
gabritto/issue44970

Conversation

@gabritto

@gabrittoGabriela Araujo Britto (gabritto) commented Jul 26, 2021

Copy link
Copy Markdown
Member

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-botTypeScript Bot (typescript-bot) added the For Uncommitted Bug PR for untriaged, rejected, closed or missing bug label Jul 26, 2021
@gabrittoGabriela Araujo Britto (gabritto) changed the title gabritto/issue44970Fix compiler crash on property symbols without declarationsJul 26, 2021
@typescript-botTypeScript 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
Comment threadsrc/compiler/transformers/declarations.ts Outdated
@RyanCavanaugh

Copy link
Copy Markdown
Member

Wesley Wigham (@weswigham) gtg?

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

For Milestone BugPRs 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

@gabritto@RyanCavanaugh@weswigham@typescript-bot