protospec_build/ast/
mod.rs

1use crate::Span;
2use serde::{Deserialize, Serialize};
3use std::fmt;
4
5pub trait Node {
6    fn span(&self) -> &Span;
7}
8
9macro_rules! impl_node {
10    ($name:ident) => {
11        impl Node for $name {
12            fn span(&self) -> &Span {
13                &self.span
14            }
15        }
16    };
17}
18
19mod program;
20pub use program::*;
21
22mod declaration;
23pub use declaration::*;
24
25mod types;
26pub use types::*;
27
28mod transform;
29pub use transform::*;
30
31mod field;
32pub use field::*;
33
34mod expression;
35pub use expression::*;