knave-expand 0.14.22

The reading, scoping and expansion stages of knave
Documentation
use super::definition_queries::DefinitionQueries;
use super::expansion_callbacks::ExpansionCallbacks;
use super::global_values::GlobalValues;
use super::module_notes::ModuleNotes;
use super::module_queries::ModuleQueries;
use super::name_comparison::NameComparison;
use super::source_queries::SourceQueries;
use super::warnings::Warnings;

pub trait Host {
    fn global_values(&mut self) -> Option<&mut dyn GlobalValues>;
    fn module_queries(&mut self) -> Option<&mut dyn ModuleQueries>;
    fn definition_queries(&mut self) -> Option<&mut dyn DefinitionQueries>;
    fn module_notes(&mut self) -> Option<&mut dyn ModuleNotes>;
    fn name_comparison(&mut self) -> Option<&mut dyn NameComparison>;
    fn expansion_callbacks(&mut self) -> Option<&mut dyn ExpansionCallbacks>;
    fn source_queries(&mut self) -> Option<&mut dyn SourceQueries>;
    fn warnings(&mut self) -> Option<&mut dyn Warnings>;
}