Trait sdml_core::load::ModuleLoader

source ·
pub trait ModuleLoader: Default {
    // Required methods
    fn load(
        &mut self,
        name: &Identifier,
        from: Option<FileId>,
        cache: &mut ModuleCache,
        recursive: bool,
    ) -> Result<Identifier, Error>;
    fn resolver(&self) -> &impl ModuleResolver;
    fn get_file_id(&self, name: &Identifier) -> Option<FileId>;
    fn get_source(&self, file_id: FileId) -> Option<Source>;
    fn report(&self, diagnostic: &Diagnostic) -> Result<(), Error>;
    fn reporter_done(
        &self,
        top_module_name: Option<String>,
    ) -> Result<(), Error>;
    fn set_severity_filter(&mut self, filter: SeverityFilter);

    // Provided method
    fn get_source_by_name(&self, name: &Identifier) -> Option<Source> { ... }
}

Required Methods§

source

fn load( &mut self, name: &Identifier, from: Option<FileId>, cache: &mut ModuleCache, recursive: bool, ) -> Result<Identifier, Error>

source

fn resolver(&self) -> &impl ModuleResolver

source

fn get_file_id(&self, name: &Identifier) -> Option<FileId>

source

fn get_source(&self, file_id: FileId) -> Option<Source>

source

fn report(&self, diagnostic: &Diagnostic) -> Result<(), Error>

source

fn reporter_done(&self, top_module_name: Option<String>) -> Result<(), Error>

source

fn set_severity_filter(&mut self, filter: SeverityFilter)

Provided Methods§

Object Safety§

This trait is not object safe.

Implementors§