Skip to content

Commit 6a91b91

Browse files
committed
Conditionally append to array to make token order explicit
1 parent d7adc55 commit 6a91b91

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

Sources/SwiftFormatPrettyPrint/TokenStreamCreator.swift

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -657,14 +657,13 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
657657
after(node.unknownAttr?.lastToken, tokens: .space)
658658
after(node.label.lastToken, tokens: .break(.reset, size: 0), .break(.open), .open)
659659

660-
// If switch/case labels were configured to be indented, insert an extra close break after the
661-
// case body.
662-
// The `after` call after this `if` block will insert its tokens before this one, matching up
663-
// with the `open` break inserted above, which is before all other tokens.
660+
// If switch/case labels were configured to be indented, insert an extra `close` break after the
661+
// case body to match the `open` break above
662+
var afterLastTokenTokens: [Token] = [.break(.close, size: 0), .close]
664663
if config.indentSwitchCaseLabels {
665-
after(node.lastToken, tokens: .break(.close, size: 0))
664+
afterLastTokenTokens.append(.break(.close, size: 0))
666665
}
667-
after(node.lastToken, tokens: .break(.close, size: 0), .close)
666+
after(node.lastToken, tokens: afterLastTokenTokens)
668667

669668
return .visitChildren
670669
}
@@ -2046,7 +2045,7 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
20462045
}
20472046
return .visitChildren
20482047
}
2049-
2048+
20502049
override func visit(_ node: SameTypeRequirementSyntax) -> SyntaxVisitorContinueKind {
20512050
before(node.equalityToken, tokens: .break)
20522051
after(node.equalityToken, tokens: .space)

0 commit comments

Comments
 (0)