Slide 34
Slide 34 text
6**NBHFΛม
final class UIImageRewriter: SyntaxRewriter {
private let typeName = "UIImage"
override func visit(_ node: FunctionCallExprSyntax) -> ExprSyntax {
if case typeName = node.calledExpression.as(DeclReferenceExprSyntax.self)?.baseName.text,
let argument = node.arguments.first,
argument.label?.text == "resource" {
let newArgument = rswiftResourceRewriter.visit(argument)
return ExprSyntax(node.with(\.arguments, [newArgument]))
}
if let member = node.calledExpression.as(MemberAccessExprSyntax.self),
case "init" = member.declName.baseName.text,
let argument = node.arguments.first,
argument.label?.text == "resource" {
let newArgument = rswiftResourceRewriter.visit(argument)
return ExprSyntax(node.with(\.arguments, [newArgument]))
}
return super.visit(node)
}