lib/grammar/ast/test/
anyof.rs

1use pest::iterators::Pair;
2use serde::Serialize;
3
4use crate::grammar::ast::{tree, Node};
5use crate::grammar::parser::Rule;
6
7#[derive(Debug, Clone, Eq, PartialEq, Serialize)]
8#[serde(tag = "kind")]
9pub struct TestAnyof {
10    pub children: Vec<Box<Node>>,
11}
12
13impl Default for TestAnyof {
14    fn default() -> Self {
15        Self { children: vec![] }
16    }
17}
18
19impl<'r> From<Pair<'r, Rule>> for TestAnyof {
20    fn from(pair: Pair<'r, Rule>) -> Self {
21        let children = tree(pair.into_inner(), vec![]);
22
23        Self {
24            children,
25            ..Self::default()
26        }
27    }
28}