A package which generates mutable and immutable visiting implementations for AST nodes.
A visitor is a implementor a trait of which the a function is called of a each node.
This module is specific for the parser module and contains the ability to extend with data.
```rust use visitable_derive::Visitable;
struct MyAstNode { ... } ```
visit_self
Will visit all fields first then self ```rust
struct MyAstNode {
...
}
``
Options:
-
alsovisitfirst_if`
Will visit self additionally before if predicate is true
```rust
struct MyAstNode { ... }
impl MyAstNode { fn predicate(&self) -> bool { ... } } ```
visit_skip_field
Skips visiting the field. Used if type does not implement Visitable
```rust
struct MyAstNode { #[visitskipfield] a: String } ```