mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
24 lines
496 B
Swift
24 lines
496 B
Swift
import SwiftDiagnostics
|
|
import SwiftOperators
|
|
import SwiftSyntax
|
|
import SwiftSyntaxBuilder
|
|
import SwiftSyntaxMacros
|
|
|
|
public struct PrintMacro: ExpressionMacro {
|
|
public static func expansion(
|
|
of node: some FreestandingMacroExpansionSyntax,
|
|
in context: some MacroExpansionContext
|
|
) -> ExprSyntax {
|
|
let printCalls = node.argumentList.map {
|
|
"print(\($0.expression))"
|
|
}.joined(separator: "\n")
|
|
return
|
|
"""
|
|
{
|
|
\(raw: printCalls)
|
|
}()
|
|
"""
|
|
}
|
|
}
|
|
|