mod program;
mod ast;
mod visitor;
use visitor::*;
use crate::{CompilerState, Pass};
use leo_ast::ProgramVisitor;
use leo_errors::Result;
pub struct NameValidation;
impl Pass for NameValidation {
type Input = ();
type Output = ();
const NAME: &'static str = "NameValidation";
fn do_pass(_: Self::Input, state: &mut CompilerState) -> Result<Self::Output> {
let mut visitor = NameValidationVisitor { handler: &mut state.handler };
state.ast.visit(
|program| visitor.visit_program(program),
|_library| {
},
);
state.handler.last_err()?;
Ok(())
}
}