Fix bugs in the organizeDeclarations rule and remove rewritesEntireFile flag #703
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 PR fixes some issues with the
parseDeclarations
method (added in #701), which was causing bugs in theorganizeDeclarations
rule.When
parseDeclarations
finds astartOfScope
token, it skips to the correspondingendOfScope
.startOfScope("//")
token but no correspondingendOfScope
token, so this was inadvertently skipping to the end of the scope.parseDeclarations
to accidentally chunk all of the code after a// MARK:
comment into the same declaration.When
parseDeclaration
finds anendOfScope
token, it was always skipping to the correspondingstartOfScope
.parseDeclarations
to accidentally include multiple declarations in a singleDeclaration
object.This PR also updates
organizeDeclarations
to only mutate theformatter
when it actually needs to make changes. This change, combined with the other fixes, means we no longer need therewritesEntireFile
flag!