TypeLoader

Struct TypeLoader 

Source
pub struct TypeLoader {
    pub global_type_registry: Rc<RefCell<TypeRegister>>,
    pub compiler_config: CompilerConfiguration,
    pub resolved_style: String,
    /* private fields */
}

Fields§

§global_type_registry: Rc<RefCell<TypeRegister>>§compiler_config: CompilerConfiguration§resolved_style: String

The style that was specified in the compiler configuration, but resolved. So “native” for example is resolved to the concrete style.

Implementations§

Source§

impl TypeLoader

Source

pub fn new( global_type_registry: Rc<RefCell<TypeRegister>>, compiler_config: CompilerConfiguration, diag: &mut BuildDiagnostics, ) -> Self

Source

pub fn drop_document(&mut self, path: &Path) -> Result<(), Error>

Source

pub fn invalidate_document(&mut self, path: &Path) -> HashSet<PathBuf>

Invalidate a document and all its dependencies.

Source

pub async fn load_dependencies_recursively<'a>( &'a mut self, doc: &'a Document, diag: &'a mut BuildDiagnostics, registry_to_populate: &'a Rc<RefCell<TypeRegister>>, ) -> (Vec<ImportedTypes>, Exports)

Imports of files that don’t have the .slint extension are returned.

Source

pub async fn import_component( &mut self, file_to_import: &str, type_name: &str, diag: &mut BuildDiagnostics, ) -> Option<Rc<Component>>

Source

pub fn resolve_import_path( &self, import_token: Option<&NodeOrToken>, maybe_relative_path_or_url: &str, ) -> Option<(PathBuf, Option<&'static [u8]>)>

Append a possibly relative path to a base path. Returns the data if it resolves to a built-in (compiled-in) file.

Source

pub async fn load_file( &mut self, path: &Path, source_path: &Path, source_code: String, is_builtin: bool, diag: &mut BuildDiagnostics, )

Load a file, and its dependency, running only the import passes.

the path must be the canonical path

Source

pub async fn reload_cached_file( &mut self, path: &Path, diag: &mut BuildDiagnostics, )

Reload a cached file

The path must be canonical

Source

pub async fn load_root_file( &mut self, path: &Path, source_path: &Path, source_code: String, keep_raw: bool, diag: &mut BuildDiagnostics, ) -> (PathBuf, Option<TypeLoader>)

Load a file, and its dependency, running the full set of passes.

the path must be the canonical path

Source

pub fn find_file_in_include_path( &self, referencing_file: Option<&Path>, file_to_import: &str, ) -> Option<(PathBuf, Option<&'static [u8]>)>

Lookup a filename and try to find the absolute filename based on the include path or the current file directory

Source

pub fn get_document<'b>(&'b self, path: &Path) -> Option<&'b Document>

Return a document if it was already loaded

Source

pub fn all_files(&self) -> impl Iterator<Item = &PathBuf>

Return an iterator over all the loaded file path

Source

pub fn all_documents(&self) -> impl Iterator<Item = &Document> + '_

Returns an iterator over all the loaded documents

Source

pub fn all_file_documents( &self, ) -> impl Iterator<Item = (&PathBuf, &Document)> + '_

Returns an iterator over all the loaded documents

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> ErasedDestructor for T
where T: 'static,