fix: don't remove comments when removing trailing empty returns #295
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.
Before this commit, the comment after a removed return statement would be
destroyed:
http://decaffeinate-project.org/repl/#?evaluate=true&code=-%3E%0A%20%20a%20%20%23%20foo%0A%20%20return
Now, the code is a little more careful by deleting up to the start of the line
or the previous semicolon. Also, the code now exits early and doesn't patch the
return
node or insert a semicolon at the end, since that was causing asemicolon at the end of the comment.
This also fixes a crash on this type of input that I ran into when using
magic-string with Rich-Harris/magic-string#89 applied.