Skip to content

Commit 1b2c2ce

Browse files
committed
enumerate Trivia position leading/trailing
1 parent 326efb3 commit 1b2c2ce

File tree

5 files changed

+17
-7
lines changed

5 files changed

+17
-7
lines changed

Sources/SwiftSyntax/RawSyntax.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ extension RawSyntax {
170170
var tokenLeadingRawTriviaPieces: [RawTriviaPiece] {
171171
switch rawData.payload {
172172
case .parsedToken(let dat):
173-
return self.arena.parseTrivia(source: dat.leadingTriviaText, isTrailing: false)
173+
return self.arena.parseTrivia(source: dat.leadingTriviaText, position: .leading)
174174
case .materializedToken(let dat):
175175
return Array(dat.leadingTrivia)
176176
case .layout(_):
@@ -181,7 +181,7 @@ extension RawSyntax {
181181
var tokenTrailingRawTriviaPieces: [RawTriviaPiece] {
182182
switch rawData.payload {
183183
case .parsedToken(let dat):
184-
return self.arena.parseTrivia(source: dat.trailingTriviaText, isTrailing: false)
184+
return self.arena.parseTrivia(source: dat.trailingTriviaText, position: .trailing)
185185
case .materializedToken(let dat):
186186
return Array(dat.trailingTrivia)
187187
case .layout(_):

Sources/SwiftSyntax/SyntaxArena.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
public class SyntaxArena {
1414

1515
@_spi(RawSyntax)
16-
public typealias ParseTriviaFunction = (_ source: SyntaxText, _ isTrailing: Bool) -> [RawTriviaPiece]
16+
public typealias ParseTriviaFunction = (_ source: SyntaxText, _ position: TriviaPosition) -> [RawTriviaPiece]
1717

1818
/// Bump-pointer allocator for all "intern" methods.
1919
private var allocator: BumpPtrAllocator
@@ -158,8 +158,8 @@ public class SyntaxArena {
158158
}
159159

160160
@_spi(RawSyntax)
161-
public func parseTrivia(source: SyntaxText, isTrailing: Bool) -> [RawTriviaPiece] {
162-
return parseTriviaFunction(source, isTrailing)
161+
public func parseTrivia(source: SyntaxText, position: TriviaPosition) -> [RawTriviaPiece] {
162+
return self.parseTriviaFunction(source, position)
163163
}
164164
}
165165

@@ -201,6 +201,6 @@ extension SyntaxArena {
201201
public static let `default` = SyntaxArena()
202202
}
203203

204-
private func _defaultParseTriviaFunction(_ source: SyntaxText, _ isTrailnig: Bool) -> [RawTriviaPiece] {
204+
private func _defaultParseTriviaFunction(_ source: SyntaxText, _ position: TriviaPosition) -> [RawTriviaPiece] {
205205
preconditionFailure("Trivia parsing not supported")
206206
}

Sources/SwiftSyntax/Trivia.swift.gyb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@
1717
//
1818
//===----------------------------------------------------------------------===//
1919

20+
public enum TriviaPosition {
21+
case leading
22+
case trailing
23+
}
24+
2025
/// A contiguous stretch of a single kind of trivia. The constituent part of
2126
/// a `Trivia` collection.
2227
///

Sources/SwiftSyntax/gyb_generated/Trivia.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@
1212
//
1313
//===----------------------------------------------------------------------===//
1414

15+
public enum TriviaPosition {
16+
case leading
17+
case trailing
18+
}
19+
1520
/// A contiguous stretch of a single kind of trivia. The constituent part of
1621
/// a `Trivia` collection.
1722
///

Tests/SwiftSyntaxTest/RawSyntaxTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ final class RawSyntaxTests: XCTestCase {
8282

8383
func testParsedToken() throws {
8484
// Dummy trivia parsing function.
85-
func dummyParseToken(source: SyntaxText, isTrailing: Bool) -> [RawTriviaPiece] {
85+
func dummyParseToken(source: SyntaxText, position: TriviaPosition) -> [RawTriviaPiece] {
8686
// Emit a single `unexpectedText` trivia of the whole trivia text.
8787
return [.unexpectedText(source)]
8888
}

0 commit comments

Comments
 (0)