use crate::ast::Span;
use crate::compile::MetaRef;
use crate::SourceId;
pub trait CompileVisitor {
fn register_meta(&mut self, _meta: MetaRef<'_>) {}
fn visit_meta(&mut self, _source_id: SourceId, _meta: MetaRef<'_>, _span: Span) {}
fn visit_variable_use(&mut self, _source_id: SourceId, _var_span: Span, _span: Span) {}
fn visit_mod(&mut self, _source_id: SourceId, _span: Span) {}
}
pub(crate) struct NoopCompileVisitor(());
impl NoopCompileVisitor {
pub(crate) const fn new() -> Self {
Self(())
}
}
impl CompileVisitor for NoopCompileVisitor {}