diff options
Diffstat (limited to 'crates')
-rw-r--r-- | crates/ra_db/Cargo.toml | 3 | ||||
-rw-r--r-- | crates/ra_db/src/lib.rs | 4 | ||||
-rw-r--r-- | crates/ra_hir/Cargo.toml | 1 | ||||
-rw-r--r-- | crates/ra_hir/src/db.rs | 2 | ||||
-rw-r--r-- | crates/ra_hir/src/mock.rs | 8 | ||||
-rw-r--r-- | crates/ra_ide_api/Cargo.toml | 1 | ||||
-rw-r--r-- | crates/ra_ide_api/src/db.rs | 12 | ||||
-rw-r--r-- | crates/ra_ide_api/src/imp.rs | 10 | ||||
-rw-r--r-- | crates/ra_ide_api/src/symbol_index.rs | 2 |
9 files changed, 23 insertions, 20 deletions
diff --git a/crates/ra_db/Cargo.toml b/crates/ra_db/Cargo.toml index 3568da905..9aa77f72e 100644 --- a/crates/ra_db/Cargo.toml +++ b/crates/ra_db/Cargo.toml | |||
@@ -6,9 +6,10 @@ authors = ["Aleksey Kladov <[email protected]>"] | |||
6 | 6 | ||
7 | [dependencies] | 7 | [dependencies] |
8 | relative-path = "0.4.0" | 8 | relative-path = "0.4.0" |
9 | salsa = "0.10.0-alpha3" | 9 | salsa = "0.10.0-alpha4" |
10 | rustc-hash = "1.0" | 10 | rustc-hash = "1.0" |
11 | parking_lot = "0.7.0" | 11 | parking_lot = "0.7.0" |
12 | |||
12 | ra_arena = { path = "../ra_arena" } | 13 | ra_arena = { path = "../ra_arena" } |
13 | ra_syntax = { path = "../ra_syntax" } | 14 | ra_syntax = { path = "../ra_syntax" } |
14 | test_utils = { path = "../test_utils" } | 15 | test_utils = { path = "../test_utils" } |
diff --git a/crates/ra_db/src/lib.rs b/crates/ra_db/src/lib.rs index 7e13f70bc..3a0aa7d24 100644 --- a/crates/ra_db/src/lib.rs +++ b/crates/ra_db/src/lib.rs | |||
@@ -63,7 +63,7 @@ pub struct FileRange { | |||
63 | pub range: TextRange, | 63 | pub range: TextRange, |
64 | } | 64 | } |
65 | 65 | ||
66 | #[salsa::query_group] | 66 | #[salsa::query_group(FilesDatabaseStorage)] |
67 | pub trait FilesDatabase: salsa::Database { | 67 | pub trait FilesDatabase: salsa::Database { |
68 | /// Text of the file. | 68 | /// Text of the file. |
69 | #[salsa::input] | 69 | #[salsa::input] |
@@ -102,7 +102,7 @@ fn source_root_crates(db: &impl FilesDatabase, id: SourceRootId) -> Arc<Vec<Crat | |||
102 | Arc::new(res) | 102 | Arc::new(res) |
103 | } | 103 | } |
104 | 104 | ||
105 | #[salsa::query_group] | 105 | #[salsa::query_group(SyntaxDatabaseStorage)] |
106 | pub trait SyntaxDatabase: FilesDatabase + BaseDatabase { | 106 | pub trait SyntaxDatabase: FilesDatabase + BaseDatabase { |
107 | fn source_file(&self, file_id: FileId) -> TreeArc<SourceFile>; | 107 | fn source_file(&self, file_id: FileId) -> TreeArc<SourceFile>; |
108 | } | 108 | } |
diff --git a/crates/ra_hir/Cargo.toml b/crates/ra_hir/Cargo.toml index 3d802ade4..57a4b155b 100644 --- a/crates/ra_hir/Cargo.toml +++ b/crates/ra_hir/Cargo.toml | |||
@@ -12,7 +12,6 @@ rustc-hash = "1.0" | |||
12 | parking_lot = "0.7.0" | 12 | parking_lot = "0.7.0" |
13 | ena = "0.11" | 13 | ena = "0.11" |
14 | join_to_string = "0.1.3" | 14 | join_to_string = "0.1.3" |
15 | salsa = "0.10.0-alpha3" | ||
16 | 15 | ||
17 | ra_syntax = { path = "../ra_syntax" } | 16 | ra_syntax = { path = "../ra_syntax" } |
18 | ra_arena = { path = "../ra_arena" } | 17 | ra_arena = { path = "../ra_arena" } |
diff --git a/crates/ra_hir/src/db.rs b/crates/ra_hir/src/db.rs index 3c82262a2..dfbf41bd6 100644 --- a/crates/ra_hir/src/db.rs +++ b/crates/ra_hir/src/db.rs | |||
@@ -18,7 +18,7 @@ use crate::{ | |||
18 | generics::{GenericParams, GenericDef}, | 18 | generics::{GenericParams, GenericDef}, |
19 | }; | 19 | }; |
20 | 20 | ||
21 | #[salsa::query_group] | 21 | #[salsa::query_group(HirDatabaseStorage)] |
22 | pub trait HirDatabase: SyntaxDatabase + AsRef<HirInterner> { | 22 | pub trait HirDatabase: SyntaxDatabase + AsRef<HirInterner> { |
23 | #[salsa::invoke(HirFileId::hir_source_file)] | 23 | #[salsa::invoke(HirFileId::hir_source_file)] |
24 | fn hir_source_file(&self, file_id: HirFileId) -> TreeArc<SourceFile>; | 24 | fn hir_source_file(&self, file_id: HirFileId) -> TreeArc<SourceFile>; |
diff --git a/crates/ra_hir/src/mock.rs b/crates/ra_hir/src/mock.rs index 36b174cd6..2dc252b1e 100644 --- a/crates/ra_hir/src/mock.rs +++ b/crates/ra_hir/src/mock.rs | |||
@@ -2,7 +2,7 @@ use std::{sync::Arc, panic}; | |||
2 | 2 | ||
3 | use parking_lot::Mutex; | 3 | use parking_lot::Mutex; |
4 | use ra_db::{ | 4 | use ra_db::{ |
5 | BaseDatabase, FilePosition, FileId, CrateGraph, SourceRoot, SourceRootId, FilesDatabase, | 5 | BaseDatabase, FilePosition, FileId, CrateGraph, SourceRoot, SourceRootId, FilesDatabase, salsa, |
6 | }; | 6 | }; |
7 | use relative_path::RelativePathBuf; | 7 | use relative_path::RelativePathBuf; |
8 | use test_utils::{parse_fixture, CURSOR_MARKER, extract_offset}; | 8 | use test_utils::{parse_fixture, CURSOR_MARKER, extract_offset}; |
@@ -11,7 +11,11 @@ use crate::{db, HirInterner}; | |||
11 | 11 | ||
12 | pub const WORKSPACE: SourceRootId = SourceRootId(0); | 12 | pub const WORKSPACE: SourceRootId = SourceRootId(0); |
13 | 13 | ||
14 | #[salsa::database(ra_db::FilesDatabase, ra_db::SyntaxDatabase, db::HirDatabase)] | 14 | #[salsa::database( |
15 | ra_db::FilesDatabaseStorage, | ||
16 | ra_db::SyntaxDatabaseStorage, | ||
17 | db::HirDatabaseStorage | ||
18 | )] | ||
15 | #[derive(Debug)] | 19 | #[derive(Debug)] |
16 | pub(crate) struct MockDatabase { | 20 | pub(crate) struct MockDatabase { |
17 | events: Mutex<Option<Vec<salsa::Event<MockDatabase>>>>, | 21 | events: Mutex<Option<Vec<salsa::Event<MockDatabase>>>>, |
diff --git a/crates/ra_ide_api/Cargo.toml b/crates/ra_ide_api/Cargo.toml index dfdddea50..79e473463 100644 --- a/crates/ra_ide_api/Cargo.toml +++ b/crates/ra_ide_api/Cargo.toml | |||
@@ -14,7 +14,6 @@ fst = "0.3.1" | |||
14 | rustc-hash = "1.0" | 14 | rustc-hash = "1.0" |
15 | parking_lot = "0.7.0" | 15 | parking_lot = "0.7.0" |
16 | unicase = "2.2.0" | 16 | unicase = "2.2.0" |
17 | salsa = "0.10.0-alpha3" | ||
18 | 17 | ||
19 | ra_syntax = { path = "../ra_syntax" } | 18 | ra_syntax = { path = "../ra_syntax" } |
20 | ra_ide_api_light = { path = "../ra_ide_api_light" } | 19 | ra_ide_api_light = { path = "../ra_ide_api_light" } |
diff --git a/crates/ra_ide_api/src/db.rs b/crates/ra_ide_api/src/db.rs index f0190ae51..30891aed4 100644 --- a/crates/ra_ide_api/src/db.rs +++ b/crates/ra_ide_api/src/db.rs | |||
@@ -8,11 +8,11 @@ use ra_db::{ | |||
8 | use crate::{symbol_index, LineIndex}; | 8 | use crate::{symbol_index, LineIndex}; |
9 | 9 | ||
10 | #[salsa::database( | 10 | #[salsa::database( |
11 | ra_db::FilesDatabase, | 11 | ra_db::FilesDatabaseStorage, |
12 | ra_db::SyntaxDatabase, | 12 | ra_db::SyntaxDatabaseStorage, |
13 | LineIndexDatabase, | 13 | LineIndexDatabaseStorage, |
14 | symbol_index::SymbolsDatabase, | 14 | symbol_index::SymbolsDatabaseStorage, |
15 | hir::db::HirDatabase | 15 | hir::db::HirDatabaseStorage |
16 | )] | 16 | )] |
17 | #[derive(Debug)] | 17 | #[derive(Debug)] |
18 | pub(crate) struct RootDatabase { | 18 | pub(crate) struct RootDatabase { |
@@ -62,7 +62,7 @@ impl AsRef<hir::HirInterner> for RootDatabase { | |||
62 | } | 62 | } |
63 | } | 63 | } |
64 | 64 | ||
65 | #[salsa::query_group] | 65 | #[salsa::query_group(LineIndexDatabaseStorage)] |
66 | pub(crate) trait LineIndexDatabase: ra_db::FilesDatabase + BaseDatabase { | 66 | pub(crate) trait LineIndexDatabase: ra_db::FilesDatabase + BaseDatabase { |
67 | fn line_index(&self, file_id: FileId) -> Arc<LineIndex>; | 67 | fn line_index(&self, file_id: FileId) -> Arc<LineIndex>; |
68 | } | 68 | } |
diff --git a/crates/ra_ide_api/src/imp.rs b/crates/ra_ide_api/src/imp.rs index 961f7b230..bd9e3f1e3 100644 --- a/crates/ra_ide_api/src/imp.rs +++ b/crates/ra_ide_api/src/imp.rs | |||
@@ -5,7 +5,7 @@ use hir::{ | |||
5 | }; | 5 | }; |
6 | use ra_db::{ | 6 | use ra_db::{ |
7 | FilesDatabase, SourceRoot, SourceRootId, SyntaxDatabase, | 7 | FilesDatabase, SourceRoot, SourceRootId, SyntaxDatabase, |
8 | salsa::Database, | 8 | salsa::{Database, SweepStrategy}, |
9 | }; | 9 | }; |
10 | use ra_ide_api_light::{self, assists, LocalEdit, Severity}; | 10 | use ra_ide_api_light::{self, assists, LocalEdit, Severity}; |
11 | use ra_syntax::{ | 11 | use ra_syntax::{ |
@@ -77,13 +77,13 @@ impl db::RootDatabase { | |||
77 | /// for some reason. Needs investigation. | 77 | /// for some reason. Needs investigation. |
78 | pub(crate) fn collect_garbage(&mut self) { | 78 | pub(crate) fn collect_garbage(&mut self) { |
79 | self.query(ra_db::SourceFileQuery) | 79 | self.query(ra_db::SourceFileQuery) |
80 | .sweep(salsa::SweepStrategy::default().discard_values()); | 80 | .sweep(SweepStrategy::default().discard_values()); |
81 | self.query(hir::db::HirSourceFileQuery) | 81 | self.query(hir::db::HirSourceFileQuery) |
82 | .sweep(salsa::SweepStrategy::default().discard_values()); | 82 | .sweep(SweepStrategy::default().discard_values()); |
83 | self.query(hir::db::FileItemsQuery) | 83 | self.query(hir::db::FileItemsQuery) |
84 | .sweep(salsa::SweepStrategy::default().discard_values()); | 84 | .sweep(SweepStrategy::default().discard_values()); |
85 | self.query(hir::db::FileItemQuery) | 85 | self.query(hir::db::FileItemQuery) |
86 | .sweep(salsa::SweepStrategy::default().discard_values()); | 86 | .sweep(SweepStrategy::default().discard_values()); |
87 | } | 87 | } |
88 | } | 88 | } |
89 | 89 | ||
diff --git a/crates/ra_ide_api/src/symbol_index.rs b/crates/ra_ide_api/src/symbol_index.rs index 6184ad3ec..e073a349e 100644 --- a/crates/ra_ide_api/src/symbol_index.rs +++ b/crates/ra_ide_api/src/symbol_index.rs | |||
@@ -44,7 +44,7 @@ use crate::{ | |||
44 | db::RootDatabase, | 44 | db::RootDatabase, |
45 | }; | 45 | }; |
46 | 46 | ||
47 | #[salsa::query_group] | 47 | #[salsa::query_group(SymbolsDatabaseStorage)] |
48 | pub(crate) trait SymbolsDatabase: hir::db::HirDatabase { | 48 | pub(crate) trait SymbolsDatabase: hir::db::HirDatabase { |
49 | fn file_symbols(&self, file_id: FileId) -> Arc<SymbolIndex>; | 49 | fn file_symbols(&self, file_id: FileId) -> Arc<SymbolIndex>; |
50 | #[salsa::input] | 50 | #[salsa::input] |