SyntaxAnyVisitor
A SyntaxVisitor
that can visit the nodes as generic Syntax
values.
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)
}
}