Trait fe_common::db::SourceDb

source ·
pub trait SourceDb: Database + HasQueryGroup<SourceDbStorage> {
    // Required methods
    fn intern_file(&self, key0: File) -> SourceFileId;
    fn lookup_intern_file(&self, key0: SourceFileId) -> File;
    fn file_content(&self, key0: SourceFileId) -> Rc<str>;
    fn set_file_content(&mut self, key0: SourceFileId, value__: Rc<str>);
    fn set_file_content_with_durability(
        &mut self,
        key0: SourceFileId,
        value__: Rc<str>,
        durability__: Durability
    );
    fn file_line_starts(&self, key0: SourceFileId) -> Rc<[usize]>;
    fn file_name(&self, key0: SourceFileId) -> SmolStr;
}

Required Methods§

source

fn intern_file(&self, key0: File) -> SourceFileId

source

fn lookup_intern_file(&self, key0: SourceFileId) -> File

source

fn file_content(&self, key0: SourceFileId) -> Rc<str>

Set with `fn set_file_content(&mut self, file: SourceFileId, content: Rc)

source

fn set_file_content(&mut self, key0: SourceFileId, value__: Rc<str>)

Set the value of the file_content input.

See file_content for details.

Note: Setting values will trigger cancellation of any ongoing queries; this method blocks until those queries have been cancelled.

source

fn set_file_content_with_durability( &mut self, key0: SourceFileId, value__: Rc<str>, durability__: Durability )

Set the value of the file_content input and promise that its value will never change again.

See file_content for details.

Note: Setting values will trigger cancellation of any ongoing queries; this method blocks until those queries have been cancelled.

source

fn file_line_starts(&self, key0: SourceFileId) -> Rc<[usize]>

source

fn file_name(&self, key0: SourceFileId) -> SmolStr

Implementors§

source§

impl<DB> SourceDb for DBwhere DB: Database + HasQueryGroup<SourceDbStorage>,