Skip to content

Commit fc41abc

Browse files
authored
Merge pull request #514 from ahoppen/ahoppen/5.9/cherry-pick-2
[5.9] Companion of cherry-picking multiple SwiftSyntax PRs to `release/5.9`
2 parents 187ceed + e89d3f5 commit fc41abc

10 files changed

+33
-33
lines changed

Sources/SwiftFormatPrettyPrint/TokenStreamCreator.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
162162
genericParameterOrPrimaryAssociatedTypeClause: node.genericParameterClause.map(Syntax.init),
163163
inheritanceClause: node.inheritanceClause,
164164
genericWhereClause: node.genericWhereClause,
165-
members: node.members)
165+
memberBlock: node.memberBlock)
166166
return .visitChildren
167167
}
168168

@@ -176,7 +176,7 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
176176
genericParameterOrPrimaryAssociatedTypeClause: node.genericParameterClause.map(Syntax.init),
177177
inheritanceClause: node.inheritanceClause,
178178
genericWhereClause: node.genericWhereClause,
179-
members: node.members)
179+
memberBlock: node.memberBlock)
180180
return .visitChildren
181181
}
182182

@@ -190,7 +190,7 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
190190
genericParameterOrPrimaryAssociatedTypeClause: node.genericParameterClause.map(Syntax.init),
191191
inheritanceClause: node.inheritanceClause,
192192
genericWhereClause: node.genericWhereClause,
193-
members: node.members)
193+
memberBlock: node.memberBlock)
194194
return .visitChildren
195195
}
196196

@@ -204,7 +204,7 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
204204
genericParameterOrPrimaryAssociatedTypeClause: node.genericParameters.map(Syntax.init),
205205
inheritanceClause: node.inheritanceClause,
206206
genericWhereClause: node.genericWhereClause,
207-
members: node.members)
207+
memberBlock: node.memberBlock)
208208
return .visitChildren
209209
}
210210

@@ -219,7 +219,7 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
219219
node.primaryAssociatedTypeClause.map(Syntax.init),
220220
inheritanceClause: node.inheritanceClause,
221221
genericWhereClause: node.genericWhereClause,
222-
members: node.members)
222+
memberBlock: node.memberBlock)
223223
return .visitChildren
224224
}
225225

@@ -236,7 +236,7 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
236236
genericParameterOrPrimaryAssociatedTypeClause: nil,
237237
inheritanceClause: node.inheritanceClause,
238238
genericWhereClause: node.genericWhereClause,
239-
members: node.members)
239+
memberBlock: node.memberBlock)
240240
return .visitChildren
241241
}
242242

@@ -251,7 +251,7 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
251251
genericParameterOrPrimaryAssociatedTypeClause: Syntax?,
252252
inheritanceClause: TypeInheritanceClauseSyntax?,
253253
genericWhereClause: GenericWhereClauseSyntax?,
254-
members: MemberDeclBlockSyntax
254+
memberBlock: MemberDeclBlockSyntax
255255
) {
256256
before(node.firstToken, tokens: .open)
257257

@@ -263,11 +263,11 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
263263
before(firstTokenAfterAttributes, tokens: .open)
264264
after(typeKeyword, tokens: .break)
265265

266-
arrangeBracesAndContents(of: members, contentsKeyPath: \.members)
266+
arrangeBracesAndContents(of: memberBlock, contentsKeyPath: \.members)
267267

268268
if let genericWhereClause = genericWhereClause {
269269
before(genericWhereClause.firstToken, tokens: .break(.same), .open)
270-
after(members.leftBrace, tokens: .close)
270+
after(memberBlock.leftBrace, tokens: .close)
271271
}
272272

273273
let lastTokenBeforeBrace = inheritanceClause?.colon

Sources/SwiftFormatRules/AlwaysUseLowerCamelCase.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public final class AlwaysUseLowerCamelCase: SyntaxLintRule {
3131
public override func visit(_ node: ClassDeclSyntax) -> SyntaxVisitorContinueKind {
3232
guard context.importsXCTest == .importsXCTest else { return .visitChildren }
3333

34-
collectTestMethods(from: node.members.members, into: &testCaseFuncs)
34+
collectTestMethods(from: node.memberBlock.members, into: &testCaseFuncs)
3535
return .visitChildren
3636
}
3737

Sources/SwiftFormatRules/DontRepeatTypeInStaticProperties.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,27 +23,27 @@ import SwiftSyntax
2323
public final class DontRepeatTypeInStaticProperties: SyntaxLintRule {
2424

2525
public override func visit(_ node: ClassDeclSyntax) -> SyntaxVisitorContinueKind {
26-
diagnoseStaticMembers(node.members.members, endingWith: node.identifier.text)
26+
diagnoseStaticMembers(node.memberBlock.members, endingWith: node.identifier.text)
2727
return .skipChildren
2828
}
2929

3030
public override func visit(_ node: EnumDeclSyntax) -> SyntaxVisitorContinueKind {
31-
diagnoseStaticMembers(node.members.members, endingWith: node.identifier.text)
31+
diagnoseStaticMembers(node.memberBlock.members, endingWith: node.identifier.text)
3232
return .skipChildren
3333
}
3434

3535
public override func visit(_ node: ProtocolDeclSyntax) -> SyntaxVisitorContinueKind {
36-
diagnoseStaticMembers(node.members.members, endingWith: node.identifier.text)
36+
diagnoseStaticMembers(node.memberBlock.members, endingWith: node.identifier.text)
3737
return .skipChildren
3838
}
3939

4040
public override func visit(_ node: StructDeclSyntax) -> SyntaxVisitorContinueKind {
41-
diagnoseStaticMembers(node.members.members, endingWith: node.identifier.text)
41+
diagnoseStaticMembers(node.memberBlock.members, endingWith: node.identifier.text)
4242
return .skipChildren
4343
}
4444

4545
public override func visit(_ node: ExtensionDeclSyntax) -> SyntaxVisitorContinueKind {
46-
let members = node.members.members
46+
let members = node.memberBlock.members
4747

4848
switch Syntax(node.extendedType).as(SyntaxEnum.self) {
4949
case .simpleTypeIdentifier(let simpleType):

Sources/SwiftFormatRules/FileScopedDeclarationPrivacy.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ public final class FileScopedDeclarationPrivacy: SyntaxFormatRule {
161161
let name = modifier.name
162162
if name.tokenKind == invalidAccess {
163163
diagnose(diagnostic, on: name)
164-
return modifier.with(\.name, name.withKind(validAccess))
164+
return modifier.with(\.name, name.with(\.tokenKind, validAccess))
165165
}
166166
return modifier
167167
}

Sources/SwiftFormatRules/FullyIndirectEnum.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import SwiftSyntax
2323
public final class FullyIndirectEnum: SyntaxFormatRule {
2424

2525
public override func visit(_ node: EnumDeclSyntax) -> DeclSyntax {
26-
let enumMembers = node.members.members
26+
let enumMembers = node.memberBlock.members
2727
guard let enumModifiers = node.modifiers,
2828
!enumModifiers.has(modifier: "indirect"),
2929
allCasesAreIndirect(in: enumMembers)
@@ -70,8 +70,8 @@ public final class FullyIndirectEnum: SyntaxFormatRule {
7070
name: TokenSyntax.identifier(
7171
"indirect", leadingTrivia: leadingTrivia, trailingTrivia: .spaces(1)), detail: nil)
7272

73-
let newMemberBlock = node.members.with(\.members, MemberDeclListSyntax(newMembers))
74-
return DeclSyntax(newEnumDecl.addModifier(newModifier).with(\.members, newMemberBlock))
73+
let newMemberBlock = node.memberBlock.with(\.members, MemberDeclListSyntax(newMembers))
74+
return DeclSyntax(newEnumDecl.addModifier(newModifier).with(\.memberBlock, newMemberBlock))
7575
}
7676

7777
/// Returns a value indicating whether all enum cases in the given list are indirect.

Sources/SwiftFormatRules/ModifierListSyntax+Convenience.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ extension ModifierListSyntax {
3838
/// Returns modifier list without the given modifier.
3939
func remove(name: String) -> ModifierListSyntax {
4040
guard has(modifier: name) else { return self }
41-
for mod in self {
41+
for (index, mod) in self.enumerated() {
4242
if mod.name.text == name {
43-
return removing(childAt: mod.indexInParent)
43+
return removing(childAt: index)
4444
}
4545
}
4646
return self

Sources/SwiftFormatRules/NoAccessLevelOnExtensionDeclaration.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,20 +39,20 @@ public final class NoAccessLevelOnExtensionDeclaration: SyntaxFormatRule {
3939
let accessKeywordToAdd: DeclModifierSyntax
4040
if keywordKind == .keyword(.private) {
4141
accessKeywordToAdd
42-
= accessKeyword.with(\.name, accessKeyword.name.withKind(.keyword(.fileprivate)))
42+
= accessKeyword.with(\.name, accessKeyword.name.with(\.tokenKind, .keyword(.fileprivate)))
4343
} else {
4444
accessKeywordToAdd = accessKeyword
4545
}
4646

4747
let newMembers = MemberDeclBlockSyntax(
48-
leftBrace: node.members.leftBrace,
49-
members: addMemberAccessKeywords(memDeclBlock: node.members, keyword: accessKeywordToAdd),
50-
rightBrace: node.members.rightBrace)
48+
leftBrace: node.memberBlock.leftBrace,
49+
members: addMemberAccessKeywords(memDeclBlock: node.memberBlock, keyword: accessKeywordToAdd),
50+
rightBrace: node.memberBlock.rightBrace)
5151
let newKeyword = replaceTrivia(
5252
on: node.extensionKeyword,
5353
token: node.extensionKeyword,
5454
leadingTrivia: accessKeyword.leadingTrivia)
55-
let result = node.with(\.members, newMembers)
55+
let result = node.with(\.memberBlock, newMembers)
5656
.with(\.modifiers, modifiers.remove(name: accessKeyword.name.text))
5757
.with(\.extensionKeyword, newKeyword)
5858
return DeclSyntax(result)

Sources/SwiftFormatRules/OneCasePerLine.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public final class OneCasePerLine: SyntaxFormatRule {
8787
public override func visit(_ node: EnumDeclSyntax) -> DeclSyntax {
8888
var newMembers: [MemberDeclListItemSyntax] = []
8989

90-
for member in node.members.members {
90+
for member in node.memberBlock.members {
9191
// If it's not a case declaration, or it's a case declaration with only one element, leave it
9292
// alone.
9393
guard let caseDecl = member.decl.as(EnumCaseDeclSyntax.self), caseDecl.elements.count > 1 else {
@@ -123,8 +123,8 @@ public final class OneCasePerLine: SyntaxFormatRule {
123123
}
124124
}
125125

126-
let newMemberBlock = node.members.with(\.members, MemberDeclListSyntax(newMembers))
127-
return DeclSyntax(node.with(\.members, newMemberBlock))
126+
let newMemberBlock = node.memberBlock.with(\.members, MemberDeclListSyntax(newMembers))
127+
return DeclSyntax(node.with(\.memberBlock, newMemberBlock))
128128
}
129129
}
130130

Sources/SwiftFormatRules/UseSynthesizedInitializer.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public final class UseSynthesizedInitializer: SyntaxLintRule {
2727
var storedProperties: [VariableDeclSyntax] = []
2828
var initializers: [InitializerDeclSyntax] = []
2929

30-
for memberItem in node.members.members {
30+
for memberItem in node.memberBlock.members {
3131
let member = memberItem.decl
3232
// Collect all stored variables into a list
3333
if let varDecl = member.as(VariableDeclSyntax.self) {
@@ -67,7 +67,7 @@ public final class UseSynthesizedInitializer: SyntaxLintRule {
6767
// The synthesized memberwise initializer(s) are only created when there are no initializers.
6868
// If there are other initializers that cannot be replaced by a synthesized memberwise
6969
// initializer, then all of the initializers must remain.
70-
let initializersCount = node.members.members.filter { $0.decl.is(InitializerDeclSyntax.self) }.count
70+
let initializersCount = node.memberBlock.members.filter { $0.decl.is(InitializerDeclSyntax.self) }.count
7171
if extraneousInitializers.count == initializersCount {
7272
extraneousInitializers.forEach { diagnose(.removeRedundantInitializer, on: $0) }
7373
}

Sources/generate-pipeline/RuleCollector.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,11 @@ final class RuleCollector {
8888

8989
if let classDecl = statement.item.as(ClassDeclSyntax.self) {
9090
typeName = classDecl.identifier.text
91-
members = classDecl.members.members
91+
members = classDecl.memberBlock.members
9292
maybeInheritanceClause = classDecl.inheritanceClause
9393
} else if let structDecl = statement.item.as(StructDeclSyntax.self) {
9494
typeName = structDecl.identifier.text
95-
members = structDecl.members.members
95+
members = structDecl.memberBlock.members
9696
maybeInheritanceClause = structDecl.inheritanceClause
9797
} else {
9898
return nil

0 commit comments

Comments
 (0)