icydb_core/visitor/
validate.rs1use crate::{
2 traits::Visitable,
3 visitor::{Visitor, VisitorContext},
4};
5
6#[derive(Debug, Default)]
11pub struct ValidateVisitor;
12
13impl ValidateVisitor {
14 #[must_use]
15 pub const fn new() -> Self {
16 Self
17 }
18}
19
20impl Visitor for ValidateVisitor {
21 fn enter(&mut self, node: &dyn Visitable, ctx: &mut dyn VisitorContext) {
22 node.validate_self(ctx);
23 node.validate_custom(ctx);
24 }
25
26 fn exit(&mut self, _: &dyn Visitable, _: &mut dyn VisitorContext) {}
27}