Skip to content

Commit 27c3404

Browse files
committed
Add += operator for Trivia
1 parent 71f1af4 commit 27c3404

File tree

3 files changed

+18
-0
lines changed

3 files changed

+18
-0
lines changed

Sources/SwiftSyntax/Trivia.swift.gyb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,11 @@ public func +(lhs: Trivia, rhs: Trivia) -> Trivia {
215215
return Trivia(pieces: lhs.pieces + rhs.pieces)
216216
}
217217

218+
/// Concatenates two collections of `Trivia` into the left-hand side.
219+
public func +=(lhs: inout Trivia, rhs: Trivia) {
220+
lhs = lhs + rhs
221+
}
222+
218223
extension TriviaPiece: Equatable {}
219224

220225
extension TriviaPiece {

Sources/SwiftSyntax/gyb_generated/Trivia.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,11 @@ public func +(lhs: Trivia, rhs: Trivia) -> Trivia {
341341
return Trivia(pieces: lhs.pieces + rhs.pieces)
342342
}
343343

344+
/// Concatenates two collections of `Trivia` into the left-hand side.
345+
public func +=(lhs: inout Trivia, rhs: Trivia) {
346+
lhs = lhs + rhs
347+
}
348+
344349
extension TriviaPiece: Equatable {}
345350

346351
extension TriviaPiece {

Tests/SwiftSyntaxBuilderTest/TriviaTests.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,12 @@ final class TriviaTests: XCTestCase {
2424
/* An inline comment */ static var test: String
2525
""")
2626
}
27+
28+
func testTriviaConcatenation() {
29+
let x = Trivia.newline
30+
var y = x
31+
y += .space
32+
XCTAssertEqual(y, x + .space)
33+
XCTAssertEqual(y, [.newlines(1), .spaces(1)])
34+
}
2735
}

0 commit comments

Comments
 (0)