Skip to content

Migrate StatementPositionRule from SourceKit to SwiftSyntax #6116

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

jpsim
Copy link
Collaborator

@jpsim jpsim commented Jun 20, 2025

Convert StatementPositionRule to use SwiftSyntax instead of SourceKit for
improved performance and more accurate positioning validation.

The SwiftSyntax implementation:

  • Uses ViolationsSyntaxVisitor and ViolationsSyntaxRewriter patterns
  • Validates else/catch keyword positioning with proper indentation checks
  • Supports both default (same line) and uncuddled (next line) modes
  • Correctly handles trailing/leading trivia for whitespace validation
  • Implements corrections using explicit rewriter for both statement types
  • Extracts common validation logic to reduce code duplication
  • Skip correcting when there are comments

@jpsim jpsim force-pushed the migrate-statementpositionrule-from-sourcekit-to-swiftsyntax branch from 11a125c to a021d60 Compare June 20, 2025 14:46
@SwiftLintBot
Copy link

SwiftLintBot commented Jun 20, 2025

342 Warnings
⚠️ Big PR
⚠️ This PR introduced a violation in Aerial: /Aerial/Source/Models/Cache/VideoLoader.swift:133:13: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/UserAssetsStore.swift:269:5: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/UserAssetsStore.swift:274:5: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Tabs/TabBar/TabBarCell.swift:130:5: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in DuckDuckGo: /SharedPackages/BrowserServicesKit/Sources/BrowserServicesKit/SecureVault/CreditCardValidation.swift:113:9: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in DuckDuckGo: /macOS/DuckDuckGo/YoutubePlayer/DuckPlayerOverlayPixels.swift:70:13: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGo/MainViewController.swift:1112:13: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGo/MainViewController.swift:1117:13: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in DuckDuckGo: /iOS/DuckDuckGo/MainViewController.swift:1125:13: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in Firefox: /firefox-ios/Storage/ThirdParty/SwiftData.swift:1084:13: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in Firefox: /firefox-ios/Client/Frontend/Library/Bookmarks/Legacy/LegacyBookmarkDetailPanel.swift:311:13: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in Firefox: /firefox-ios/Client/Frontend/Browser/Authenticator.swift:121:17: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in Firefox: /firefox-ios/Client/Frontend/Browser/Authenticator.swift:130:17: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in Firefox: /firefox-ios/Client/Frontend/Browser/BrowserViewController/Views/BrowserViewController.swift:2100:13: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Widget/Widget Views/UnreadWidget.swift:24:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Widget/Widget Views/TodayWidget.swift:24:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Widget/Widget Views/StarredWidget.swift:24:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Shared/Favicons/SingleFaviconDownloader.swift:131:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Shared/Images/AuthorAvatarDownloader.swift:48:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Shared/Article Rendering/ArticleRenderer.swift:234:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Shared/Article Rendering/ArticleRenderer.swift:294:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Shared/Article Rendering/ArticleRenderer.swift:297:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Shared/Article Rendering/ArticleRenderer.swift:300:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Shared/Article Rendering/ArticleRenderer.swift:303:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Shared/Article Rendering/ArticleRenderer.swift:306:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Shared/Extensions/ArticleUtilities.swift:172:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Shared/Extensions/ArticleUtilities.swift:175:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Shared/Extensions/ArticleUtilities.swift:178:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Shared/Extensions/ArticleUtilities.swift:181:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Shared/Commands/DeleteCommand.swift:126:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Shared/Commands/DeleteCommand.swift:131:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Shared/Commands/DeleteCommand.swift:178:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Shared/Commands/DeleteCommand.swift:249:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Shared/Commands/DeleteCommand.swift:277:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Shared/Commands/DeleteCommand.swift:280:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /iOS/IconView.swift:23:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /iOS/IconView.swift:100:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /iOS/AppDefaults.swift:300:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /iOS/MainTimeline/MainTimelineTitleView.swift:29:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /iOS/MainTimeline/Cell/MainTimelineCellData.swift:47:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /iOS/MainTimeline/Cell/MultilineUILabelSizer.swift:169:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /iOS/SceneCoordinator.swift:1229:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/IconView.swift:126:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/Sidebar/PasteboardWebFeed.swift:80:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/Sidebar/PasteboardWebFeed.swift:95:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/OPML/ExportOPMLWindowController.swift:98:6: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/Sidebar/SidebarOutlineDataSource.swift:171:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/Detail/DetailStatusBarView.swift:29:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/Detail/DetailStatusBarView.swift:72:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/Timeline/TimelineContainerViewController.swift:176:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/Timeline/Cell/TimelineTableCellView.swift:153:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/Timeline/Cell/TimelineCellLayout.swift:46:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/Timeline/Cell/TimelineCellLayout.swift:66:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/Timeline/Cell/MultilineTextFieldSizer.swift:231:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/MainWindowController.swift:346:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/Timeline/ArticlePasteboardWriter.swift:82:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/Timeline/ArticlePasteboardWriter.swift:85:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/Preferences/Advanced/AdvancedPreferencesViewController.swift:57:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/Preferences/PreferencesWindowController.swift:151:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/Timeline/TimelineViewController.swift:338:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/Timeline/TimelineViewController.swift:496:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/Timeline/TimelineViewController.swift:848:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/Timeline/TimelineViewController.swift:1251:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/Inspector/InspectorWindowController.swift:71:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/Inspector/InspectorWindowController.swift:84:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/Inspector/NothingInspectorViewController.swift:43:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/AppDefaults.swift:111:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/AppDefaults.swift:435:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/SafariExtension/SafariExtensionHandler.swift:65:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSTree/Sources/RSTree/NSOutlineView+RSTree.swift:40:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSTree/Sources/RSTree/NodePath.swift:25:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSTree/Sources/RSTree/NodePath.swift:38:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/Shared/BinaryDiskCache.swift:43:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/Shared/BinaryDiskCache.swift:52:5: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/Shared/BinaryDiskCache.swift:54:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/Shared/BinaryDiskCache.swift:58:5: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/Shared/PropertyList.swift:29:2: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/Shared/MainThreadOperation.swift:93:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/AppDelegate.swift:156:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/AppDelegate.swift:186:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/AppDelegate.swift:573:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/AppKit/NSAppearance+RSCore.swift:19:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/AppKit/UserApp.swift:51:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/AppKit/UserApp.swift:65:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/AppKit/UserApp.swift:81:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/Shared/MainThreadOperationQueue.swift:184:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/AppKit/NSResponder-Extensions.swift:23:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/AppKit/NSOutlineView+RSCore.swift:73:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSParser/Tests/RSParserTests/OPMLTests.swift:69:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSParser/Sources/Swift/Feeds/ParsedAuthor.swift:31:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSParser/Sources/Swift/Feeds/ParsedAuthor.swift:34:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSParser/Sources/Swift/Feeds/ParsedAuthor.swift:37:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSParser/Sources/Swift/Feeds/ParsedAuthor.swift:40:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSParser/Tests/RSParserTests/AtomParserTests.swift:56:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSParser/Sources/Swift/Feeds/ParsedItem.swift:61:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSParser/Sources/Swift/Feeds/FeedParser.swift:72:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSParser/Sources/Swift/Feeds/FeedParser.swift:84:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSParser/Sources/Swift/Feeds/JSON/RSSInJSONParser.swift:59:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSParser/Sources/Swift/Feeds/JSON/RSSInJSONParser.swift:156:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/ArticlesDatabase/Sources/ArticlesDatabase/StatusesTable.swift:162:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/Articles/Sources/Articles/Author.swift:31:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/Articles/Sources/Articles/Author.swift:51:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/Articles/Sources/Articles/Author.swift:80:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/Articles/Sources/Articles/Article.swift:50:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSWeb/Sources/RSWeb/SpecialCases.swift:26:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSWeb/Sources/RSWeb/WebServices/TransportJSON.swift:37:8: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSWeb/Sources/RSWeb/WebServices/TransportJSON.swift:44:6: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSWeb/Sources/RSWeb/URL+RSWeb.swift:38:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSDatabase/Sources/RSDatabase/Related Objects/RelatedObjectIDsMap.swift:32:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSDatabase/Sources/RSDatabase/Related Objects/DatabaseRelatedObjectsTable.swift:43:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSDatabase/Sources/RSDatabase/DatabaseQueue.swift:240:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSDatabase/Sources/RSDatabase/Related Objects/DatabaseLookupTable.swift:68:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/RSWeb/Sources/RSWeb/DownloadSession.swift:288:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/Account/Tests/AccountTests/TestAccountManager.swift:46:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/Account/Tests/AccountTests/TestAccountManager.swift:49:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/Account/Sources/Account/FeedFinder/HTMLFeedFinder.swift:54:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/Account/Sources/Account/FeedFinder/FeedSpecifier.swift:70:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/Account/Sources/Account/FeedFinder/FeedFinder.swift:74:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/Account/Sources/Account/FeedFinder/FeedFinder.swift:96:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/Account/Sources/Account/FeedFinder/FeedFinder.swift:107:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/Account/Sources/Account/FeedFinder/FeedFinder.swift:111:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/Account/Sources/Account/Feedbin/FeedbinEntry.swift:34:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/Account/Sources/Account/WebFeed.swift:48:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/Account/Sources/Account/WebFeed.swift:99:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/Account/Sources/Account/WebFeed.swift:118:5: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/Account/Sources/Account/Feedbin/FeedbinAccountDelegate.swift:851:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ This PR introduced a violation in NetNewsWire: /Modules/Account/Sources/Account/AccountManager.swift:102:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ Danger found 342 violations with this PR. Due to GitHub's max issue comment size, the number shown has been truncated to 128.
326 Messages
📖 Building this branch resulted in a binary size of 25266.93 KiB vs 25244.52 KiB when built on main (0% larger).
📖 Linting Aerial with this PR took 1.71 s vs 1.05 s on main (62% slower).
📖 Linting Alamofire with this PR took 1.4 s vs 1.4 s on main (0% slower).
📖 Linting Brave with this PR took 9.68 s vs 9.71 s on main (0% faster).
📖 Linting DuckDuckGo with this PR took 25.21 s vs 25.21 s on main (0% slower).
📖 Linting Firefox with this PR took 11.94 s vs 11.97 s on main (0% faster).
📖 Linting Kickstarter with this PR took 10.98 s vs 10.99 s on main (0% faster).
📖 Linting Moya with this PR took 0.56 s vs 0.56 s on main (0% slower).
📖 Linting NetNewsWire with this PR took 3.17 s vs 3.19 s on main (0% faster).
📖 Linting Nimble with this PR took 0.85 s vs 0.85 s on main (0% slower).
📖 Linting PocketCasts with this PR took 9.13 s vs 9.05 s on main (0% slower).
📖 Linting Quick with this PR took 0.49 s vs 0.5 s on main (2% faster).
📖 Linting Realm with this PR took 4.82 s vs 4.82 s on main (0% slower).
📖 Linting Sourcery with this PR took 2.45 s vs 2.45 s on main (0% slower).
📖 Linting Swift with this PR took 5.6 s vs 5.6 s on main (0% slower).
📖 Linting VLC with this PR took 1.47 s vs 1.48 s on main (0% faster).
📖 Linting Wire with this PR took 22.37 s vs 22.46 s on main (0% faster).
📖 Linting WordPress with this PR took 12.87 s vs 12.87 s on main (0% slower).
📖 This PR fixed a violation in NetNewsWire: /Widget/Widget Views/TodayWidget.swift:23:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Widget/Widget Views/StarredWidget.swift:23:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Widget/Widget Views/UnreadWidget.swift:23:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Shared/Favicons/SingleFaviconDownloader.swift:130:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Shared/Images/AuthorAvatarDownloader.swift:47:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Shared/Article Rendering/ArticleRenderer.swift:233:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Shared/Article Rendering/ArticleRenderer.swift:293:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Shared/Article Rendering/ArticleRenderer.swift:296:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Shared/Article Rendering/ArticleRenderer.swift:299:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Shared/Article Rendering/ArticleRenderer.swift:302:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Shared/Article Rendering/ArticleRenderer.swift:305:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Shared/Extensions/ArticleUtilities.swift:171:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Shared/Extensions/ArticleUtilities.swift:174:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Shared/Extensions/ArticleUtilities.swift:177:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Shared/Extensions/ArticleUtilities.swift:180:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Shared/Commands/DeleteCommand.swift:125:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Shared/Commands/DeleteCommand.swift:130:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Shared/Commands/DeleteCommand.swift:177:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Shared/Commands/DeleteCommand.swift:248:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Shared/Commands/DeleteCommand.swift:276:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Shared/Commands/DeleteCommand.swift:279:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /iOS/IconView.swift:22:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /iOS/IconView.swift:99:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /iOS/AppDefaults.swift:299:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /iOS/MainTimeline/MainTimelineTitleView.swift:28:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /iOS/MainTimeline/Cell/MainTimelineCellData.swift:46:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /iOS/MainTimeline/Cell/MultilineUILabelSizer.swift:168:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/MainWindow/Sidebar/SidebarOutlineDataSource.swift:170:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/MainWindow/IconView.swift:125:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/MainWindow/Sidebar/PasteboardWebFeed.swift:79:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/MainWindow/Sidebar/PasteboardWebFeed.swift:94:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/MainWindow/OPML/ExportOPMLWindowController.swift:97:6: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /iOS/SceneCoordinator.swift:1228:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/MainWindow/Detail/DetailStatusBarView.swift:28:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/MainWindow/Detail/DetailStatusBarView.swift:71:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/MainWindow/Timeline/TimelineContainerViewController.swift:175:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/MainWindow/Timeline/Cell/TimelineTableCellView.swift:152:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/MainWindow/Timeline/Cell/MultilineTextFieldSizer.swift:230:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/MainWindow/MainWindowController.swift:345:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/MainWindow/Timeline/Cell/TimelineCellLayout.swift:45:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/MainWindow/Timeline/Cell/TimelineCellLayout.swift:65:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/Preferences/Advanced/AdvancedPreferencesViewController.swift:56:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/MainWindow/Timeline/ArticlePasteboardWriter.swift:81:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/MainWindow/Timeline/ArticlePasteboardWriter.swift:84:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/Preferences/PreferencesWindowController.swift:150:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/MainWindow/Timeline/TimelineViewController.swift:337:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/MainWindow/Timeline/TimelineViewController.swift:495:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/MainWindow/Timeline/TimelineViewController.swift:847:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/MainWindow/Timeline/TimelineViewController.swift:1250:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/Inspector/InspectorWindowController.swift:70:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/Inspector/InspectorWindowController.swift:83:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/Inspector/NothingInspectorViewController.swift:42:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/SafariExtension/SafariExtensionHandler.swift:64:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/AppDefaults.swift:110:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/AppDefaults.swift:434:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSTree/Sources/RSTree/NodePath.swift:24:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSTree/Sources/RSTree/NodePath.swift:37:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSTree/Sources/RSTree/NSOutlineView+RSTree.swift:39:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/Shared/BinaryDiskCache.swift:42:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/Shared/BinaryDiskCache.swift:51:5: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/Shared/BinaryDiskCache.swift:53:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/Shared/BinaryDiskCache.swift:57:5: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/Shared/PropertyList.swift:28:2: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/Shared/MainThreadOperation.swift:92:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/AppDelegate.swift:155:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/AppDelegate.swift:185:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Mac/AppDelegate.swift:572:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/AppKit/UserApp.swift:50:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/AppKit/UserApp.swift:64:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/AppKit/UserApp.swift:80:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/AppKit/NSAppearance+RSCore.swift:18:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/Shared/MainThreadOperationQueue.swift:183:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/AppKit/NSResponder-Extensions.swift:22:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSCore/Sources/RSCore/AppKit/NSOutlineView+RSCore.swift:72:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSParser/Tests/RSParserTests/OPMLTests.swift:68:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSParser/Tests/RSParserTests/AtomParserTests.swift:55:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSParser/Sources/Swift/Feeds/ParsedAuthor.swift:30:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSParser/Sources/Swift/Feeds/ParsedAuthor.swift:33:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSParser/Sources/Swift/Feeds/ParsedAuthor.swift:36:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSParser/Sources/Swift/Feeds/ParsedAuthor.swift:39:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSParser/Sources/Swift/Feeds/ParsedItem.swift:60:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSParser/Sources/Swift/Feeds/FeedParser.swift:71:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSParser/Sources/Swift/Feeds/FeedParser.swift:83:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSParser/Sources/Swift/Feeds/JSON/RSSInJSONParser.swift:58:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSParser/Sources/Swift/Feeds/JSON/RSSInJSONParser.swift:155:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/ArticlesDatabase/Sources/ArticlesDatabase/StatusesTable.swift:161:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Articles/Sources/Articles/Author.swift:30:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Articles/Sources/Articles/Author.swift:50:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Articles/Sources/Articles/Author.swift:79:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Articles/Sources/Articles/Article.swift:49:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSWeb/Sources/RSWeb/SpecialCases.swift:25:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSWeb/Sources/RSWeb/WebServices/TransportJSON.swift:36:8: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSWeb/Sources/RSWeb/WebServices/TransportJSON.swift:43:6: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSWeb/Sources/RSWeb/URL+RSWeb.swift:37:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSDatabase/Sources/RSDatabase/Related Objects/DatabaseRelatedObjectsTable.swift:42:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSDatabase/Sources/RSDatabase/DatabaseQueue.swift:239:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSDatabase/Sources/RSDatabase/Related Objects/RelatedObjectIDsMap.swift:31:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSWeb/Sources/RSWeb/DownloadSession.swift:286:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/RSDatabase/Sources/RSDatabase/Related Objects/DatabaseLookupTable.swift:67:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Tests/AccountTests/TestAccountManager.swift:45:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Tests/AccountTests/TestAccountManager.swift:48:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Sources/Account/FeedFinder/HTMLFeedFinder.swift:53:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Sources/Account/FeedFinder/FeedSpecifier.swift:69:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Sources/Account/FeedFinder/FeedFinder.swift:73:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Sources/Account/FeedFinder/FeedFinder.swift:95:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Sources/Account/FeedFinder/FeedFinder.swift:106:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Sources/Account/FeedFinder/FeedFinder.swift:110:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Sources/Account/Feedbin/FeedbinEntry.swift:33:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Sources/Account/WebFeed.swift:47:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Sources/Account/WebFeed.swift:98:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Sources/Account/WebFeed.swift:117:5: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Sources/Account/Feedbin/FeedbinAccountDelegate.swift:850:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Sources/Account/AccountManager.swift:101:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Sources/Account/AccountManager.swift:156:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Sources/Account/AccountManager.swift:376:13: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Sources/Account/AccountManager.swift:451:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Sources/Account/Feedly/Operations/FeedlyAddNewFeedOperation.swift:142:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/SyncDatabase/Sources/SyncDatabase/SyncStatusTable.swift:52:5: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/SyncDatabase/Sources/SyncDatabase/SyncStatusTable.swift:82:5: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Sources/Account/NewsBlur/Internals/NewsBlurAccountDelegate+Internal.swift:113:4: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Sources/Account/Account.swift:248:5: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
📖 This PR fixed a violation in NetNewsWire: /Modules/Account/Sources/Account/Account.swift:1280:3: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)
⚠️ Danger found 326 violations with this PR. Due to GitHub's max issue comment size, the number shown has been truncated to 140.

Generated by 🚫 Danger

@jpsim jpsim force-pushed the migrate-statementpositionrule-from-sourcekit-to-swiftsyntax branch from 50caf3d to 0d58b9f Compare June 24, 2025 14:06
uncuddledCorrect(file: file)
private static func calculateIndentation(_ trivia: Trivia) -> Int {
var indentation = 0
for piece in trivia.reversed() {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why reversed?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To calculate the indentation of the last line in the trivia, not the first. I'll add a comment.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without the reversed(), all tests still pass. So we should probably have a test case that makes sure reversed order is required.

@SimplyDanny
Copy link
Collaborator

Wondering about the fixed violations in the Swift repository. The code doesn't look like it shouldn't trigger the rule anymore as both else are on lines below the closing brace.

@jpsim
Copy link
Collaborator Author

jpsim commented Jun 25, 2025

Wondering about the fixed violations in the Swift repository. The code doesn't look like it shouldn't trigger the rule anymore as both else are on lines below the closing brace.

Not sure if you're saying this is a good thing or a bad thing.

jpsim added 2 commits June 24, 2025 21:40
Convert StatementPositionRule to use SwiftSyntax instead of SourceKit for
improved performance and more accurate positioning validation.

The SwiftSyntax implementation:
- Uses ViolationsSyntaxVisitor and ViolationsSyntaxRewriter patterns
- Validates else/catch keyword positioning with proper indentation checks
- Supports both default (same line) and uncuddled (next line) modes
- Correctly handles trailing/leading trivia for whitespace validation
- Implements corrections using explicit rewriter for both statement types
- Extracts common validation logic to reduce code duplication
- Skip correcting when there are comments
@jpsim jpsim force-pushed the migrate-statementpositionrule-from-sourcekit-to-swiftsyntax branch from 63417be to 8524128 Compare June 25, 2025 01:40
@SimplyDanny
Copy link
Collaborator

Wondering about the fixed violations in the Swift repository. The code doesn't look like it shouldn't trigger the rule anymore as both else are on lines below the closing brace.

Not sure if you're saying this is a good thing or a bad thing.

Oh sorry, I think that these examples should still trigger a violation and not appear as "fixed" with the rewrite.

@jpsim
Copy link
Collaborator Author

jpsim commented Jun 25, 2025

Oh sorry, I think that these examples should still trigger a violation and not appear as "fixed" with the rewrite.

Well really it's that these two violations merged and moved to a different location:

Before

This PR fixed a violation in Swift: /stdlib/public/core/SwiftNativeNSArray.swift:401:7: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)

This PR fixed a violation in Swift: /stdlib/public/core/SwiftNativeNSArray.swift:452:7: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)

After

This PR introduced a violation in Swift: /stdlib/public/core/SwiftNativeNSArray.swift:393:7: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)

@SimplyDanny
Copy link
Collaborator

Before

This PR fixed a violation in Swift: /stdlib/public/core/SwiftNativeNSArray.swift:401:7: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)

This PR fixed a violation in Swift: /stdlib/public/core/SwiftNativeNSArray.swift:452:7: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)

After

This PR introduced a violation in Swift: /stdlib/public/core/SwiftNativeNSArray.swift:393:7: Warning: Else and catch should be on the same line, one space after the previous declaration (statement_position)

But in my understanding, all three lines should still trigger, because the keyword is always after the closing brace.

@jpsim
Copy link
Collaborator Author

jpsim commented Jun 25, 2025

But in my understanding, all three lines should still trigger, because the keyword is always after the closing brace.

This was really a matter of violation location, but I think it makes more sense to report violations on the else/catch keyword rather than the preceding closing brace. I just pushed up that change, and now the SwiftNativeNSArray.swift violations are the same before and after this migration. The previous rule's violation locations were inconsistent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants