SyntaxAnyVisitor

A SyntaxVisitor that can visit the nodes as generic Syntax values.

SyntaxAnyVisitor.swift:39
class SyntaxAnyVisitor

This subclass of SyntaxVisitor is slower than the type-specific visitation of SyntaxVisitor. Use SyntaxAnyVisitor if the visitAny(_) function would be useful to have, otherwise inherit from SyntaxVisitor.

This works by overriding the type-specific visit function that delegate to visitAny(_). A subclass that provides a custom type-specific visit function, should also call visitAny(_) in its implementation, if calling visitAny is needed:

struct MyVisitor: SyntaxAnyVisitor {
  func visitAny(_ node: Syntax) -> SyntaxVisitorContinueKind {
    <code>
  }

  func visit(_ token: TokenSyntax) -> SyntaxVisitorContinueKind {
    <code>
    // Call this to pass tokens to `visitAny(_)` as well if needed
    visitAny(token)
  }
}