pub trait SourceRootDatabase:
Database
+ HasQueryGroup<SourceRootDatabaseStorage>
+ SourceDatabase {
// Required methods
fn file_source_root(&self, file_id: FileId) -> SourceRootId;
fn set_file_source_root(&mut self, file_id: FileId, value__: SourceRootId);
fn set_file_source_root_with_durability(
&mut self,
file_id: FileId,
value__: SourceRootId,
durability__: Durability,
);
fn source_root(&self, id: SourceRootId) -> Arc<SourceRoot>;
fn set_source_root(&mut self, id: SourceRootId, value__: Arc<SourceRoot>);
fn set_source_root_with_durability(
&mut self,
id: SourceRootId,
value__: Arc<SourceRoot>,
durability__: Durability,
);
fn source_root_crates(&self, id: SourceRootId) -> Arc<[CrateId]>;
}
Expand description
We don’t want to give HIR knowledge of source roots, hence we extract these methods into a separate DB.
Required Methods§
sourcefn file_source_root(&self, file_id: FileId) -> SourceRootId
fn file_source_root(&self, file_id: FileId) -> SourceRootId
Path to a file, relative to the root of its source root. Source root of the file.
sourcefn set_file_source_root(&mut self, file_id: FileId, value__: SourceRootId)
fn set_file_source_root(&mut self, file_id: FileId, value__: SourceRootId)
Set the value of the file_source_root
input.
See file_source_root
for details.
Note: Setting values will trigger cancellation of any ongoing queries; this method blocks until those queries have been cancelled.
sourcefn set_file_source_root_with_durability(
&mut self,
file_id: FileId,
value__: SourceRootId,
durability__: Durability,
)
fn set_file_source_root_with_durability( &mut self, file_id: FileId, value__: SourceRootId, durability__: Durability, )
Set the value of the file_source_root
input with a
specific durability instead of the default of
Durability::LOW
. You can use Durability::MAX
to promise that its value will never change again.
See file_source_root
for details.
Note: Setting values will trigger cancellation of any ongoing queries; this method blocks until those queries have been cancelled.
sourcefn source_root(&self, id: SourceRootId) -> Arc<SourceRoot>
fn source_root(&self, id: SourceRootId) -> Arc<SourceRoot>
Contents of the source root.
sourcefn set_source_root(&mut self, id: SourceRootId, value__: Arc<SourceRoot>)
fn set_source_root(&mut self, id: SourceRootId, value__: Arc<SourceRoot>)
Set the value of the source_root
input.
See source_root
for details.
Note: Setting values will trigger cancellation of any ongoing queries; this method blocks until those queries have been cancelled.
sourcefn set_source_root_with_durability(
&mut self,
id: SourceRootId,
value__: Arc<SourceRoot>,
durability__: Durability,
)
fn set_source_root_with_durability( &mut self, id: SourceRootId, value__: Arc<SourceRoot>, durability__: Durability, )
Set the value of the source_root
input with a
specific durability instead of the default of
Durability::LOW
. You can use Durability::MAX
to promise that its value will never change again.
See source_root
for details.
Note: Setting values will trigger cancellation of any ongoing queries; this method blocks until those queries have been cancelled.
sourcefn source_root_crates(&self, id: SourceRootId) -> Arc<[CrateId]>
fn source_root_crates(&self, id: SourceRootId) -> Arc<[CrateId]>
Crates whose root fool is in id
.