in Sources/SwiftSyntax/RawSyntax.swift [464:484]
func write<Target>(
to target: inout Target
) where Target: TextOutputStream {
if hasCustomText {
// Fast path, we recorded the full token text, including trivia.
// FIXME: A way to print the buffer directly and avoid the copy ?
target.write(String.fromBuffer(fullTextBuffer))
} else {
func printTrivia(_ buf: UnsafeBufferPointer<CTriviaPiece>) {
for cpiece in buf {
let newPiece = TriviaPiece.fromRawValue(cpiece, textBuffer: emptyStringBuffer)
newPiece.write(to: &target)
}
}
printTrivia(leadingTriviaBuffer)
let tokKind = TokenKind.fromRawValue(kind: tokenKind,
textBuffer: emptyStringBuffer)
target.write(tokKind.text)
printTrivia(trailingTriviaBuffer)
}
}