Reload only the properties that do not affect vfs

This commit is contained in:
Kirill Bulatov
2020-03-20 22:09:23 +02:00
parent 2feaef91bd
commit 332799d914
4 changed files with 89 additions and 60 deletions

View File

@@ -115,12 +115,16 @@ impl RootDatabase {
db.set_crate_graph_with_durability(Default::default(), Durability::HIGH);
db.set_local_roots_with_durability(Default::default(), Durability::HIGH);
db.set_library_roots_with_durability(Default::default(), Durability::HIGH);
let lru_capacity = lru_capacity.unwrap_or(ra_db::DEFAULT_LRU_CAP);
db.query_mut(ra_db::ParseQuery).set_lru_capacity(lru_capacity);
db.query_mut(hir::db::ParseMacroQuery).set_lru_capacity(lru_capacity);
db.query_mut(hir::db::MacroExpandQuery).set_lru_capacity(lru_capacity);
db.update_lru_capacity(lru_capacity);
db
}
pub fn update_lru_capacity(&mut self, lru_capacity: Option<usize>) {
let lru_capacity = lru_capacity.unwrap_or(ra_db::DEFAULT_LRU_CAP);
self.query_mut(ra_db::ParseQuery).set_lru_capacity(lru_capacity);
self.query_mut(hir::db::ParseMacroQuery).set_lru_capacity(lru_capacity);
self.query_mut(hir::db::MacroExpandQuery).set_lru_capacity(lru_capacity);
}
}
impl salsa::ParallelDatabase for RootDatabase {