visiting-proc-macro lines of code

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.

Usage

```rust use visitable_derive::Visitable;

[derive(Visitable)]

struct MyAstNode { ... } ```

Attributes

visit_self

Will visit all fields first then self

```rust

[derive(Visitable)]

[visit_self]

struct MyAstNode { ... } ```

Options: - also_visit_first_if Will visit self additionally before if predicate is true

```rust

[derive(Visitable)]

[visitself(alsovisitfirstif="self.predicate()"]

struct MyAstNode { ... }

impl MyAstNode { fn predicate(&self) -> bool { ... } } ```

visit_skip_field

Skips visiting the field. Used if type does not implement Visitable

```rust

[derive(Visitable)]

struct MyAstNode { #[visitskipfield] a: String } ```