diff options
Diffstat (limited to 'crates')
-rw-r--r-- | crates/ra_db/src/lib.rs | 1 | ||||
-rw-r--r-- | crates/ra_db/src/mock.rs | 30 | ||||
-rw-r--r-- | crates/ra_ide_api/src/mock_analysis.rs | 6 |
3 files changed, 2 insertions, 35 deletions
diff --git a/crates/ra_db/src/lib.rs b/crates/ra_db/src/lib.rs index 6e17f33f0..ca775030d 100644 --- a/crates/ra_db/src/lib.rs +++ b/crates/ra_db/src/lib.rs | |||
@@ -2,7 +2,6 @@ | |||
2 | mod cancellation; | 2 | mod cancellation; |
3 | mod input; | 3 | mod input; |
4 | mod loc2id; | 4 | mod loc2id; |
5 | pub mod mock; | ||
6 | 5 | ||
7 | use std::{ | 6 | use std::{ |
8 | panic, sync::Arc, | 7 | panic, sync::Arc, |
diff --git a/crates/ra_db/src/mock.rs b/crates/ra_db/src/mock.rs deleted file mode 100644 index 5e185062b..000000000 --- a/crates/ra_db/src/mock.rs +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | use rustc_hash::FxHashSet; | ||
2 | use relative_path::{RelativePath, RelativePathBuf}; | ||
3 | |||
4 | use crate::{FileId}; | ||
5 | |||
6 | #[derive(Default, Debug, Clone)] | ||
7 | pub struct FileMap(Vec<(FileId, RelativePathBuf)>); | ||
8 | |||
9 | impl FileMap { | ||
10 | pub fn add(&mut self, path: RelativePathBuf) -> FileId { | ||
11 | let file_id = FileId((self.0.len() + 1) as u32); | ||
12 | self.0.push((file_id, path)); | ||
13 | file_id | ||
14 | } | ||
15 | |||
16 | pub fn files(&self) -> FxHashSet<FileId> { | ||
17 | self.iter().map(|(id, _)| id).collect() | ||
18 | } | ||
19 | |||
20 | pub fn file_id(&self, path: &str) -> FileId { | ||
21 | assert!(path.starts_with('/')); | ||
22 | self.iter().find(|(_, p)| p == &path[1..]).unwrap().0 | ||
23 | } | ||
24 | |||
25 | fn iter<'a>(&'a self) -> impl Iterator<Item = (FileId, &'a RelativePath)> + 'a { | ||
26 | self.0 | ||
27 | .iter() | ||
28 | .map(|(id, path)| (*id, path.as_relative_path())) | ||
29 | } | ||
30 | } | ||
diff --git a/crates/ra_ide_api/src/mock_analysis.rs b/crates/ra_ide_api/src/mock_analysis.rs index 846c76cfe..0f2d22ab2 100644 --- a/crates/ra_ide_api/src/mock_analysis.rs +++ b/crates/ra_ide_api/src/mock_analysis.rs | |||
@@ -2,7 +2,6 @@ use std::sync::Arc; | |||
2 | 2 | ||
3 | use relative_path::RelativePathBuf; | 3 | use relative_path::RelativePathBuf; |
4 | use test_utils::{extract_offset, extract_range, parse_fixture, CURSOR_MARKER}; | 4 | use test_utils::{extract_offset, extract_range, parse_fixture, CURSOR_MARKER}; |
5 | use ra_db::mock::FileMap; | ||
6 | 5 | ||
7 | use crate::{Analysis, AnalysisChange, AnalysisHost, CrateGraph, FileId, FilePosition, FileRange, SourceRootId}; | 6 | use crate::{Analysis, AnalysisChange, AnalysisHost, CrateGraph, FileId, FilePosition, FileRange, SourceRootId}; |
8 | 7 | ||
@@ -83,15 +82,14 @@ impl MockAnalysis { | |||
83 | } | 82 | } |
84 | pub fn analysis_host(self) -> AnalysisHost { | 83 | pub fn analysis_host(self) -> AnalysisHost { |
85 | let mut host = AnalysisHost::default(); | 84 | let mut host = AnalysisHost::default(); |
86 | let mut file_map = FileMap::default(); | ||
87 | let source_root = SourceRootId(0); | 85 | let source_root = SourceRootId(0); |
88 | let mut change = AnalysisChange::new(); | 86 | let mut change = AnalysisChange::new(); |
89 | change.add_root(source_root, true); | 87 | change.add_root(source_root, true); |
90 | let mut crate_graph = CrateGraph::default(); | 88 | let mut crate_graph = CrateGraph::default(); |
91 | for (path, contents) in self.files.into_iter() { | 89 | for (i, (path, contents)) in self.files.into_iter().enumerate() { |
92 | assert!(path.starts_with('/')); | 90 | assert!(path.starts_with('/')); |
93 | let path = RelativePathBuf::from_path(&path[1..]).unwrap(); | 91 | let path = RelativePathBuf::from_path(&path[1..]).unwrap(); |
94 | let file_id = file_map.add(path.clone()); | 92 | let file_id = FileId(i as u32 + 1); |
95 | if path == "/lib.rs" || path == "/main.rs" { | 93 | if path == "/lib.rs" || path == "/main.rs" { |
96 | crate_graph.add_crate_root(file_id); | 94 | crate_graph.add_crate_root(file_id); |
97 | } | 95 | } |