diff options
author | Aleksey Kladov <[email protected]> | 2019-11-04 19:28:47 +0000 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2019-11-04 19:28:47 +0000 |
commit | 42370610ce03c1bb5893d9e29c2c215482e8d8ca (patch) | |
tree | 2a0e5598eb5f13187294effe89818d7c5327d71c /crates/ra_assists/src/test_db.rs | |
parent | 74d827bb8001952f90c85fca3d064fe3096009bd (diff) |
Restore assists tests
Diffstat (limited to 'crates/ra_assists/src/test_db.rs')
-rw-r--r-- | crates/ra_assists/src/test_db.rs | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/crates/ra_assists/src/test_db.rs b/crates/ra_assists/src/test_db.rs new file mode 100644 index 000000000..7b196561a --- /dev/null +++ b/crates/ra_assists/src/test_db.rs | |||
@@ -0,0 +1,43 @@ | |||
1 | use std::sync::Arc; | ||
2 | |||
3 | use ra_db::{salsa, CrateId, FileId, FileLoader, FileLoaderDelegate, RelativePath}; | ||
4 | |||
5 | #[salsa::database( | ||
6 | ra_db::SourceDatabaseExtStorage, | ||
7 | ra_db::SourceDatabaseStorage, | ||
8 | hir::db::InternDatabaseStorage, | ||
9 | hir::db::AstDatabaseStorage, | ||
10 | hir::db::DefDatabaseStorage, | ||
11 | hir::db::DefDatabase2Storage, | ||
12 | hir::db::HirDatabaseStorage | ||
13 | )] | ||
14 | #[derive(Debug, Default)] | ||
15 | pub struct TestDB { | ||
16 | runtime: salsa::Runtime<TestDB>, | ||
17 | } | ||
18 | |||
19 | impl salsa::Database for TestDB { | ||
20 | fn salsa_runtime(&self) -> &salsa::Runtime<Self> { | ||
21 | &self.runtime | ||
22 | } | ||
23 | } | ||
24 | |||
25 | impl std::panic::RefUnwindSafe for TestDB {} | ||
26 | |||
27 | impl FileLoader for TestDB { | ||
28 | fn file_text(&self, file_id: FileId) -> Arc<String> { | ||
29 | FileLoaderDelegate(self).file_text(file_id) | ||
30 | } | ||
31 | fn resolve_relative_path( | ||
32 | &self, | ||
33 | anchor: FileId, | ||
34 | relative_path: &RelativePath, | ||
35 | ) -> Option<FileId> { | ||
36 | FileLoaderDelegate(self).resolve_relative_path(anchor, relative_path) | ||
37 | } | ||
38 | fn relevant_crates(&self, file_id: FileId) -> Arc<Vec<CrateId>> { | ||
39 | FileLoaderDelegate(self).relevant_crates(file_id) | ||
40 | } | ||
41 | } | ||
42 | |||
43 | impl hir::debug::HirDebugHelper for TestDB {} | ||