aboutsummaryrefslogtreecommitdiff
path: root/crates
diff options
context:
space:
mode:
Diffstat (limited to 'crates')
-rw-r--r--crates/ra_db/src/lib.rs1
-rw-r--r--crates/ra_db/src/mock.rs30
-rw-r--r--crates/ra_ide_api/src/mock_analysis.rs6
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 @@
2mod cancellation; 2mod cancellation;
3mod input; 3mod input;
4mod loc2id; 4mod loc2id;
5pub mod mock;
6 5
7use std::{ 6use 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 @@
1use rustc_hash::FxHashSet;
2use relative_path::{RelativePath, RelativePathBuf};
3
4use crate::{FileId};
5
6#[derive(Default, Debug, Clone)]
7pub struct FileMap(Vec<(FileId, RelativePathBuf)>);
8
9impl 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
3use relative_path::RelativePathBuf; 3use relative_path::RelativePathBuf;
4use test_utils::{extract_offset, extract_range, parse_fixture, CURSOR_MARKER}; 4use test_utils::{extract_offset, extract_range, parse_fixture, CURSOR_MARKER};
5use ra_db::mock::FileMap;
6 5
7use crate::{Analysis, AnalysisChange, AnalysisHost, CrateGraph, FileId, FilePosition, FileRange, SourceRootId}; 6use 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 }