pub trait Loader<H> {
// Required methods
fn program(&mut self, name: &str) -> Result<LoadedProgram<H>, LoadError>;
fn holder(&self, entry: &str) -> Option<String>;
fn entry(program: &H, name: &str) -> Option<usize>;
fn shape(program: &H) -> (usize, usize);
fn nested(program: &H) -> &[String];
fn source(program: &H, file: usize) -> Option<String>;
fn class(
&mut self,
external: &str,
) -> Result<Option<FoundClass<Rc<ClassCode<H>>>>, String>;
fn mapset(&mut self, name: &str) -> Option<Result<Mapset, String>>;
}Expand description
Where CALL finds programs, and what the run unit needs to know about one it loaded.
Required Methods§
Sourcefn program(&mut self, name: &str) -> Result<LoadedProgram<H>, LoadError>
fn program(&mut self, name: &str) -> Result<LoadedProgram<H>, LoadError>
The program whose PROGRAM-ID CALL names, compiled.
Sourcefn holder(&self, entry: &str) -> Option<String>
fn holder(&self, entry: &str) -> Option<String>
The PROGRAM-ID of a program not yet loaded that has an ENTRY of this name.
Sourcefn entry(program: &H, name: &str) -> Option<usize>
fn entry(program: &H, name: &str) -> Option<usize>
Which of a loaded program’s ENTRY statements has this name.
Sourcefn nested(program: &H) -> &[String]
fn nested(program: &H) -> &[String]
The PROGRAM-IDs of the programs a loaded program contains, which a CANCEL of it reaches.
Sourcefn source(program: &H, file: usize) -> Option<String>
fn source(program: &H, file: usize) -> Option<String>
Source file file of a loaded program’s source table, by name.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".