Skip to content

Commit d6ceb19

Browse files
committed
Update SwiftSyntax
Moves syntax classifications to a new IDEUtils module. Pulls in swiftlang/swift-syntax#1034
1 parent 1b59a3f commit d6ceb19

10 files changed

+25
-12
lines changed

Package.resolved

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ private let addCryptoSwift = true
88
#endif
99

1010
let frameworkDependencies: [Target.Dependency] = [
11+
.product(name: "IDEUtils", package: "SwiftSyntax"),
1112
.product(name: "SourceKittenFramework", package: "SourceKitten"),
1213
.product(name: "SwiftSyntax", package: "SwiftSyntax"),
1314
.product(name: "SwiftSyntaxBuilder", package: "SwiftSyntax"),
@@ -27,7 +28,7 @@ let package = Package(
2728
],
2829
dependencies: [
2930
.package(name: "swift-argument-parser", url: "https://github.com/apple/swift-argument-parser.git", .upToNextMinor(from: "1.1.3")),
30-
.package(name: "SwiftSyntax", url: "https://github.com/apple/swift-syntax.git", .revision("4ad75a85f5f14caecdd6cdb41c4c9a090ce82340")),
31+
.package(name: "SwiftSyntax", url: "https://github.com/apple/swift-syntax.git", .revision("ecd2ba9c7edc2e82904a3e32790ee0a1867059f7")),
3132
.package(url: "https://github.com/jpsim/SourceKitten.git", .revision("a9e6df65d8e31e0fa6e8a05ffe40ecd54a645871")),
3233
.package(url: "https://github.com/jpsim/Yams.git", from: "5.0.1"),
3334
.package(url: "https://github.com/scottrhoyt/SwiftyTextTable.git", from: "0.9.0"),

Source/SwiftLintFramework/Extensions/SwiftLintFile+Cache.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import Darwin
33
#endif
44
import Foundation
5+
import IDEUtils
56
import SourceKittenFramework
67
import SwiftParser
78
import SwiftParserDiagnostics
@@ -182,7 +183,7 @@ extension SwiftLintFile {
182183
return syntaxTokensByLines
183184
}
184185

185-
internal var syntaxKindsByLines: [[SyntaxKind]] {
186+
internal var syntaxKindsByLines: [[SourceKittenFramework.SyntaxKind]] {
186187
guard let syntaxKindsByLines = syntaxKindsByLinesCache.get(self) else {
187188
if let handler = assertHandler {
188189
handler()

Source/SwiftLintFramework/Rules/Idiomatic/UnavailableConditionRule.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ private final class UnavailableConditionRuleVisitor: ViolationsSyntaxVisitor {
8888
}
8989

9090
if otherAvailabilityCheckInvolved(ifStmt: node) {
91-
// If there are other conditional branches with availablilty checks it might not be possible
91+
// If there are other conditional branches with availability checks it might not be possible
9292
// to just invert the first one.
9393
return
9494
}
@@ -101,7 +101,7 @@ private final class UnavailableConditionRuleVisitor: ViolationsSyntaxVisitor {
101101
)
102102
}
103103

104-
private func asAvailabilityCondition(_ condition: Syntax) -> SyntaxProtocol? {
104+
private func asAvailabilityCondition(_ condition: ConditionElementSyntax.Condition) -> SyntaxProtocol? {
105105
condition.as(AvailabilityConditionSyntax.self) ??
106106
condition.as(UnavailabilityConditionSyntax.self)
107107
}

Source/SwiftLintFramework/Rules/Lint/CommentSpacingRule.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import Foundation
2+
import IDEUtils
23
import SourceKittenFramework
34
import SwiftSyntax
45

Source/SwiftLintFramework/Rules/Lint/UnusedClosureParameterRule.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ private extension UnusedClosureParameterRule {
9797
)
9898
)
9999
}
100-
let newNode = node.withSignature(signature.withInput(Syntax(newParams)))
100+
let newNode = node.withSignature(signature.withInput(.init(newParams)))
101101
return super.visit(newNode)
102102
}
103103

@@ -115,7 +115,7 @@ private extension UnusedClosureParameterRule {
115115
with: param.withName(param.name.withKind(.wildcardKeyword))
116116
)
117117
}
118-
let newNode = node.withSignature(signature.withInput(Syntax(newParams)))
118+
let newNode = node.withSignature(signature.withInput(.init(newParams)))
119119
return super.visit(newNode)
120120
}
121121
}

Source/SwiftLintFramework/Rules/Lint/YodaConditionRule.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,9 @@ private final class YodaConditionRuleVisitor: ViolationsSyntaxVisitor {
5959
}
6060

6161
private func visit(conditions: ConditionElementListSyntax) {
62-
conditions.map(\.condition).compactMap(ExprSyntax.init).forEach(visit(condition:))
62+
for condition in conditions.compactMap({ $0.condition.as(ExprSyntax.self) }) {
63+
visit(condition: condition)
64+
}
6365
}
6466

6567
private func visit(condition: ExprSyntax) {

Source/SwiftLintFramework/Rules/Style/UnneededParenthesesInClosureArgumentRule.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,6 @@ private final class Rewriter: SyntaxRewriter, ViolationsSyntaxRewriter {
134134
correctionPositions.append(clause.positionAfterSkippingLeadingTrivia)
135135

136136
let paramList = ClosureParamListSyntax(items).withTrailingTrivia(.spaces(1))
137-
return super.visit(node.withInput(Syntax(paramList)))
137+
return super.visit(node.withInput(.init(paramList)))
138138
}
139139
}

bazel/SwiftSyntax.BUILD

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,18 @@ swift_library(
7676
],
7777
)
7878

79+
swift_library(
80+
name = "IDEUtils",
81+
srcs = glob(["Sources/IDEUtils/**/*.swift"]),
82+
module_name = "IDEUtils",
83+
deps = [":SwiftSyntax"],
84+
)
85+
7986
opt_wrapper(
8087
name = "optlibs",
8188
visibility = ["//visibility:public"],
8289
deps = [
90+
":IDEUtils",
8391
":SwiftOperators",
8492
":SwiftParser",
8593
":SwiftParserDiagnostics",

bazel/repos.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ def swiftlint_repos():
2020

2121
http_archive(
2222
name = "com_github_apple_swift_syntax",
23-
sha256 = "8a695e738aff23da52dcfe8b5f8492bb1490171986c632e0b4856d54066981a9", # SwiftSyntax sha256
23+
sha256 = "5e2bd8f0c61de0223c84c485c3f46cb93b35dcc6da3d928828217bc0794023a7", # SwiftSyntax sha256
2424
build_file = "@SwiftLint//bazel:SwiftSyntax.BUILD",
25-
strip_prefix = "swift-syntax-4ad75a85f5f14caecdd6cdb41c4c9a090ce82340",
26-
url = "https://github.com/apple/swift-syntax/archive/4ad75a85f5f14caecdd6cdb41c4c9a090ce82340.tar.gz",
25+
strip_prefix = "swift-syntax-ecd2ba9c7edc2e82904a3e32790ee0a1867059f7",
26+
url = "https://github.com/apple/swift-syntax/archive/ecd2ba9c7edc2e82904a3e32790ee0a1867059f7.tar.gz",
2727
)
2828

2929
http_archive(

0 commit comments

Comments
 (0)