More rigorous ASI prevention when emitting return
/yield
#60304
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.
This performs a more in-depth check of an expression that could potentially introduce an ASI conflict after transformation by walking into the left-hand sides of
CallExpression
,TaggedTemplateExpression
,BinaryExpression
,ConditionalExpression
,PostfixUnaryExpression
,PropertyAccessExpression
, andElementAccessExpression
. This also does the same forNonNullExpression
,AsExpression
, andSatisfiesExpression
in the event someone is using the emitter to manually print a TS to TS transformation.Fixes #59237
Fixes #60296