in SwiftEvolve/Sources/SwiftEvolve/SyntaxConstructionExtensions.swift [66:94]
func mapToCodeBlock(
outerLeadingTrivia: Trivia = [.spaces(1)],
innerLeadingTrivia: Trivia = [.newlines(1)],
statementLeadingTrivia: Trivia = [.spaces(2)],
statementTrailingTrivia: Trivia = [.newlines(1)],
innerTrailingTrivia: Trivia = [],
outerTrailingTrivia: Trivia = [.newlines(1)],
_ transform: (Element) throws -> Syntax
) rethrows -> CodeBlockSyntax {
let stmts = try map {
SyntaxFactory.makeCodeBlockItem(
item: try transform($0).replacingTriviaWith(
leading: statementLeadingTrivia, trailing: statementTrailingTrivia
),
semicolon: nil,
errorTokens: nil
)
}
return SyntaxFactory.makeCodeBlock(
leftBrace: SyntaxFactory.makeLeftBraceToken(
leadingTrivia: outerLeadingTrivia, trailingTrivia: innerLeadingTrivia
),
statements: SyntaxFactory.makeCodeBlockItemList(stmts),
rightBrace: SyntaxFactory.makeRightBraceToken(
leadingTrivia: innerTrailingTrivia, trailingTrivia: outerTrailingTrivia
)
)
}