pub struct Build<'a> { /* private fields */ }
Expand description
High level helper for setting up a build of Rune sources into a Unit.
Implementations§
source§impl<'a> Build<'a>
impl<'a> Build<'a>
sourcepub fn with_context(self, context: &'a Context) -> Self
pub fn with_context(self, context: &'a Context) -> Self
Modify the current Build to use the given Context while building.
If unspecified the empty context constructed with Context::new will be used. Since this counts as building without a context, Vm::without_context can be used when running the produced Unit.
sourcepub fn with_diagnostics(self, diagnostics: &'a mut Diagnostics) -> Self
pub fn with_diagnostics(self, diagnostics: &'a mut Diagnostics) -> Self
Modify the current Build to use the given Diagnostics collection.
sourcepub fn with_options(self, options: &'a Options) -> Self
pub fn with_options(self, options: &'a Options) -> Self
sourcepub fn with_visitor(self, visitor: &'a mut dyn CompileVisitor) -> Self
pub fn with_visitor(self, visitor: &'a mut dyn CompileVisitor) -> Self
Modify the current Build to configure the given CompileVisitor.
A compile visitor allows for custom collecting of compile-time metadata. Like if you want to collect every function that is discovered in the project.
sourcepub fn with_source_loader(self, source_loader: &'a mut dyn SourceLoader) -> Self
pub fn with_source_loader(self, source_loader: &'a mut dyn SourceLoader) -> Self
Modify the current Build to configure the given SourceLoader.
Source loaders are used to determine how sources are loaded externally from the current file (as is neede when a module is imported).