Skip to main content

Loader

Trait Loader 

Source
pub trait Loader<H> {
    type Class;

    // 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 class(
        &mut self,
        external: &str,
    ) -> Result<Option<FoundClass<Self::Class>>, String>;
}
Expand description

Where CALL finds programs, and what the run unit needs to know about one it loaded.

Required Associated Types§

Source

type Class

The executor’s handle to a loaded class definition.

Required Methods§

Source

fn program(&mut self, name: &str) -> Result<LoadedProgram<H>, LoadError>

The program whose PROGRAM-ID CALL names, compiled.

Source

fn holder(&self, entry: &str) -> Option<String>

The PROGRAM-ID of a program not yet loaded that has an ENTRY of this name.

Source

fn entry(program: &H, name: &str) -> Option<usize>

Which of a loaded program’s ENTRY statements has this name.

Source

fn shape(program: &H) -> (usize, usize)

A loaded program’s file count and storage size.

Source

fn class( &mut self, external: &str, ) -> Result<Option<FoundClass<Self::Class>>, String>

The COBOL class definition of this external name, compiled; None for a Java class.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§