pub struct SimpleParserDatabase { /* private fields */ }
Expand description

A salsa database for parsing only.

Trait Implementations§

source§

impl Database for SimpleParserDatabase

source§

fn sweep_all(&self, strategy: SweepStrategy)

Iterates through all query storage and removes any values that have not been used since the last revision was created. The intended use-cycle is that you first execute all of your “main” queries; this will ensure that all query values they consume are marked as used. You then invoke this method to remove other values that were not needed for your main query results.
source§

fn salsa_event(&self, event_fn: Event)

This function is invoked at key points in the salsa runtime. It permits the database to be customized and to inject logging or other custom behavior.
source§

fn on_propagated_panic(&self) -> !

This function is invoked when a dependent query is being computed by the other thread, and that thread panics.
source§

fn salsa_runtime(&self) -> &Runtime

Gives access to the underlying salsa runtime.
source§

fn salsa_runtime_mut(&mut self) -> &mut Runtime

Gives access to the underlying salsa runtime.
source§

impl DatabaseOps for SimpleParserDatabase

source§

fn ops_database(&self) -> &dyn Database

Upcast this type to a dyn Database.
source§

fn ops_salsa_runtime(&self) -> &Runtime

Gives access to the underlying salsa runtime.
source§

fn ops_salsa_runtime_mut(&mut self) -> &mut Runtime

Gives access to the underlying salsa runtime.
source§

fn fmt_index(&self, input: DatabaseKeyIndex, fmt: &mut Formatter<'_>) -> Result

Formats a database key index in a human readable fashion.
source§

fn maybe_changed_since( &self, input: DatabaseKeyIndex, revision: Revision ) -> bool

True if the computed value for input may have changed since revision.
source§

fn for_each_query(&self, op: &mut dyn FnMut(&dyn QueryStorageMassOps))

Executes the callback for each kind of query.
source§

impl DatabaseStorageTypes for SimpleParserDatabase

§

type DatabaseStorage = __SalsaDatabaseStorage

Defines the “storage type”, where all the query data is kept. This type is defined by the database_storage macro.
source§

impl Default for SimpleParserDatabase

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl HasQueryGroup<FilesDatabase> for SimpleParserDatabase

source§

fn group_storage(&self) -> &<FilesDatabase as QueryGroup>::GroupStorage

Access the group storage struct from the database.
source§

impl HasQueryGroup<ParserDatabase> for SimpleParserDatabase

source§

fn group_storage(&self) -> &<ParserDatabase as QueryGroup>::GroupStorage

Access the group storage struct from the database.
source§

impl HasQueryGroup<SyntaxDatabase> for SimpleParserDatabase

source§

fn group_storage(&self) -> &<SyntaxDatabase as QueryGroup>::GroupStorage

Access the group storage struct from the database.
source§

impl Upcast<dyn FilesGroup> for SimpleParserDatabase

source§

fn upcast(&self) -> &(dyn FilesGroup + 'static)

source§

impl Upcast<dyn SyntaxGroup> for SimpleParserDatabase

source§

fn upcast(&self) -> &(dyn SyntaxGroup + 'static)

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<DB> FilesGroup for DBwhere DB: Database + HasQueryGroup<FilesDatabase>,

source§

fn intern_crate(&self, key0: CrateLongId) -> CrateId

source§

fn lookup_intern_crate(&self, key0: CrateId) -> CrateLongId

source§

fn intern_file(&self, key0: FileLongId) -> FileId

source§

fn lookup_intern_file(&self, key0: FileId) -> FileLongId

source§

fn intern_flag(&self, key0: FlagLongId) -> FlagId

source§

fn lookup_intern_flag(&self, key0: FlagId) -> FlagLongId

source§

fn crate_roots(&self) -> Arc<OrderedHashMap<CrateId, Directory>>

Main input of the project. Lists all the crates.
source§

fn set_crate_roots(&mut self, value__: Arc<OrderedHashMap<CrateId, Directory>>)

Set the value of the crate_roots input. Read more
source§

fn set_crate_roots_with_durability( &mut self, value__: Arc<OrderedHashMap<CrateId, Directory>>, durability__: Durability )

Set the value of the crate_roots input and promise that its value will never change again. Read more
source§

fn file_overrides(&self) -> Arc<OrderedHashMap<FileId, Arc<String>>>

Overrides for file content. Mostly used by language server and tests. TODO(spapini): Currently, when this input changes, all the file_content() queries will be invalidated. Change this mechanism to hold file_overrides on the db struct outside salsa mechanism, and invalidate manually.
source§

fn set_file_overrides( &mut self, value__: Arc<OrderedHashMap<FileId, Arc<String>>> )

Set the value of the file_overrides input. Read more
source§

fn set_file_overrides_with_durability( &mut self, value__: Arc<OrderedHashMap<FileId, Arc<String>>>, durability__: Durability )

Set the value of the file_overrides input and promise that its value will never change again. Read more
source§

fn flags(&self) -> Arc<OrderedHashMap<FlagId, Arc<Flag>>>

The compilation flags.
source§

fn set_flags(&mut self, value__: Arc<OrderedHashMap<FlagId, Arc<Flag>>>)

Set the value of the flags input. Read more
source§

fn set_flags_with_durability( &mut self, value__: Arc<OrderedHashMap<FlagId, Arc<Flag>>>, durability__: Durability )

Set the value of the flags input and promise that its value will never change again. Read more
source§

fn cfg_set(&self) -> Arc<CfgSet>

The #[cfg(...)] options.
source§

fn set_cfg_set(&mut self, value__: Arc<CfgSet>)

Set the value of the cfg_set input. Read more
source§

fn set_cfg_set_with_durability( &mut self, value__: Arc<CfgSet>, durability__: Durability )

Set the value of the cfg_set input and promise that its value will never change again. Read more
source§

fn crates(&self) -> Vec<CrateId, Global>

List of crates in the project.
source§

fn crate_root_dir(&self, key0: CrateId) -> Option<Directory>

Root directory of the crate.
source§

fn priv_raw_file_content(&self, key0: FileId) -> Option<Arc<String>>

Query for raw file contents. Private.
source§

fn file_content(&self, key0: FileId) -> Option<Arc<String>>

Query for the file contents. This takes overrides into consideration.
source§

fn file_summary(&self, key0: FileId) -> Option<Arc<FileSummary>>

source§

fn get_flag(&self, key0: FlagId) -> Option<Arc<Flag>>

Query to get a compilation flag by its ID.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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<DB> ParserGroup for DBwhere DB: SyntaxGroup + Upcast<dyn SyntaxGroup> + FilesGroup + Database + HasQueryGroup<ParserDatabase>,

source§

fn priv_file_syntax_data(&self, key0: FileId) -> SyntaxData

Should only be used internally. Parses a file and returns the result and the generated ParserDiagnostic.
source§

fn file_syntax(&self, key0: FileId) -> Result<Arc<SyntaxFile>, DiagnosticAdded>

Parses a file and returns its AST.
source§

fn file_syntax_diagnostics(&self, key0: FileId) -> Diagnostics<ParserDiagnostic>

Returns the parser diagnostics for this file.
source§

impl<DB> SyntaxGroup for DBwhere DB: FilesGroup + Upcast<dyn FilesGroup> + Database + HasQueryGroup<SyntaxDatabase>,

source§

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

§

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 Twhere U: TryFrom<T>,

§

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> Upcast<T> for Twhere T: ?Sized,

source§

fn upcast(&self) -> &T

source§

impl<T> UpcastMut<T> for Twhere T: ?Sized,

source§

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