Skip correcting files with parser diagnostics#3349
Merged
Conversation
Also fix many rule examples with parser diagnostics.
Generated by 🚫 Danger |
Codecov Report
@@ Coverage Diff @@
## master #3349 +/- ##
==========================================
- Coverage 90.55% 90.51% -0.05%
==========================================
Files 416 417 +1
Lines 20410 20432 +22
==========================================
+ Hits 18483 18494 +11
- Misses 1927 1938 +11
Continue to review full report at Codecov.
|
optionalendeavors
added a commit
to optionalendeavors/SwiftLint
that referenced
this pull request
Oct 4, 2020
* master-upstream: (98 commits) Fix some false positives in rule `explicit_self` (realm#3368) Update SourceKitten to 0.30.1 (realm#3367) Fix issues with analyzer rules, Xcode 12 & SwiftUI (realm#3366) Add empty changelog section release 0.40.3 Fix false positives for 'multiple_closures_with_trailing_closure' (realm#3353) [UnusedDeclarationRule] Work around SR-11985 (realm#3363) Revert "Fix finding the nested config when a single file path is passed (realm#3342)" (realm#3362) [CONTRIBUTING] Add building & running tips (realm#3360) Fix finding the nested config when a single file path is passed (realm#3342) Include Linux zip in list of GitHub release binaries (realm#3350) [UnusedDeclarationRule] Add more tests (realm#3359) Test CI with official Swift 5.3 release (realm#3356) Don't mark `@NSApplicationMain` or `@UIApplicationMain` classes as unused (realm#3355) [Fix] `UnusedCaptureListRule`: implicit self in @escaping closures (realm#3352) Skip correcting files with parser diagnostics (realm#3349) [SwiftLintFile] Remove lock in favor of UUID (realm#3347) [UnusedDeclarationRule] Speed up and detect more dead code (realm#3340) Add empty changelog section release 0.40.2 ... # Conflicts: # Source/swiftlint/Helpers/LintableFilesVisitor.swift
optionalendeavors
added a commit
to optionalendeavors/SwiftLint
that referenced
this pull request
Oct 4, 2020
* master: (98 commits) Fix some false positives in rule `explicit_self` (realm#3368) Update SourceKitten to 0.30.1 (realm#3367) Fix issues with analyzer rules, Xcode 12 & SwiftUI (realm#3366) Add empty changelog section release 0.40.3 Fix false positives for 'multiple_closures_with_trailing_closure' (realm#3353) [UnusedDeclarationRule] Work around SR-11985 (realm#3363) Revert "Fix finding the nested config when a single file path is passed (realm#3342)" (realm#3362) [CONTRIBUTING] Add building & running tips (realm#3360) Fix finding the nested config when a single file path is passed (realm#3342) Include Linux zip in list of GitHub release binaries (realm#3350) [UnusedDeclarationRule] Add more tests (realm#3359) Test CI with official Swift 5.3 release (realm#3356) Don't mark `@NSApplicationMain` or `@UIApplicationMain` classes as unused (realm#3355) [Fix] `UnusedCaptureListRule`: implicit self in @escaping closures (realm#3352) Skip correcting files with parser diagnostics (realm#3349) [SwiftLintFile] Remove lock in favor of UUID (realm#3347) [UnusedDeclarationRule] Speed up and detect more dead code (realm#3340) Add empty changelog section release 0.40.2 ...
Collaborator
|
I'm late to the party, but shouldn't we only skip files with errors? Warnings shouldn't affect SwiftLint's ability to format the code |
Collaborator
Author
|
I agree, I'm supportive if you want to make that change @marcelofabri. |
Collaborator
will do! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
We should avoid correcting files if they have parser errors or warnings, since SwiftLint isn't designed to handle all possibilities of invalid Swift code.
Generally, it's still useful for SwiftLint to lint Swift files that don't parse 100% cleanly as a feedback mechanism, but we shouldn't attempt to correct files with violations that don't parse cleanly, because that can mangle or delete code in unintended ways.
This PR also fixes many rule examples with parser diagnostics, but there are still over 500 rule examples with parser diagnostics, I don't have time to fix all of them, but we probably should do that eventually. I filed #3348 to track that, which is a good starter task if someone's interested in contributing to SwiftLint.