⬆️ salsa

This commit is contained in:
Aleksey Kladov 2019-01-25 23:27:16 +03:00
parent d65dca6bb3
commit 1fd18f020d
10 changed files with 29 additions and 28 deletions

View file

@ -8,11 +8,11 @@ use ra_db::{
use crate::{symbol_index, LineIndex};
#[salsa::database(
ra_db::FilesDatabase,
ra_db::SyntaxDatabase,
LineIndexDatabase,
symbol_index::SymbolsDatabase,
hir::db::HirDatabase
ra_db::FilesDatabaseStorage,
ra_db::SyntaxDatabaseStorage,
LineIndexDatabaseStorage,
symbol_index::SymbolsDatabaseStorage,
hir::db::HirDatabaseStorage
)]
#[derive(Debug)]
pub(crate) struct RootDatabase {
@ -62,7 +62,7 @@ impl AsRef<hir::HirInterner> for RootDatabase {
}
}
#[salsa::query_group]
#[salsa::query_group(LineIndexDatabaseStorage)]
pub(crate) trait LineIndexDatabase: ra_db::FilesDatabase + BaseDatabase {
fn line_index(&self, file_id: FileId) -> Arc<LineIndex>;
}

View file

@ -5,7 +5,7 @@ use hir::{
};
use ra_db::{
FilesDatabase, SourceRoot, SourceRootId, SyntaxDatabase,
salsa::Database,
salsa::{Database, SweepStrategy},
};
use ra_ide_api_light::{self, assists, LocalEdit, Severity};
use ra_syntax::{
@ -77,13 +77,13 @@ impl db::RootDatabase {
/// for some reason. Needs investigation.
pub(crate) fn collect_garbage(&mut self) {
self.query(ra_db::SourceFileQuery)
.sweep(salsa::SweepStrategy::default().discard_values());
.sweep(SweepStrategy::default().discard_values());
self.query(hir::db::HirSourceFileQuery)
.sweep(salsa::SweepStrategy::default().discard_values());
.sweep(SweepStrategy::default().discard_values());
self.query(hir::db::FileItemsQuery)
.sweep(salsa::SweepStrategy::default().discard_values());
.sweep(SweepStrategy::default().discard_values());
self.query(hir::db::FileItemQuery)
.sweep(salsa::SweepStrategy::default().discard_values());
.sweep(SweepStrategy::default().discard_values());
}
}

View file

@ -44,7 +44,7 @@ use crate::{
db::RootDatabase,
};
#[salsa::query_group]
#[salsa::query_group(SymbolsDatabaseStorage)]
pub(crate) trait SymbolsDatabase: hir::db::HirDatabase {
fn file_symbols(&self, file_id: FileId) -> Arc<SymbolIndex>;
#[salsa::input]