aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_db
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_db')
-rw-r--r--crates/ra_db/src/input.rs13
1 files changed, 7 insertions, 6 deletions
diff --git a/crates/ra_db/src/input.rs b/crates/ra_db/src/input.rs
index 37da8c549..44c5bac93 100644
--- a/crates/ra_db/src/input.rs
+++ b/crates/ra_db/src/input.rs
@@ -1,7 +1,7 @@
1use std::sync::Arc; 1use std::sync::Arc;
2 2
3use rustc_hash::FxHashMap; 3use rustc_hash::{FxHashSet, FxHashMap};
4use rustc_hash::FxHashSet; 4use ra_syntax::SmolStr;
5use salsa; 5use salsa;
6 6
7use crate::file_resolver::FileResolverImp; 7use crate::file_resolver::FileResolverImp;
@@ -31,14 +31,15 @@ impl CrateData {
31 } 31 }
32 } 32 }
33 33
34 fn add_dep(&mut self, dep: CrateId) { 34 fn add_dep(&mut self, name: SmolStr, crate_id: CrateId) {
35 self.dependencies.push(Dependency { crate_id: dep }) 35 self.dependencies.push(Dependency { name, crate_id })
36 } 36 }
37} 37}
38 38
39#[derive(Debug, Clone, PartialEq, Eq)] 39#[derive(Debug, Clone, PartialEq, Eq)]
40pub struct Dependency { 40pub struct Dependency {
41 crate_id: CrateId, 41 crate_id: CrateId,
42 name: SmolStr,
42} 43}
43 44
44impl Dependency { 45impl Dependency {
@@ -57,8 +58,8 @@ impl CrateGraph {
57 //FIXME: check that we don't have cycles here. 58 //FIXME: check that we don't have cycles here.
58 // Just a simple depth first search from `to` should work, 59 // Just a simple depth first search from `to` should work,
59 // the graph is small. 60 // the graph is small.
60 pub fn add_dep(&mut self, from: CrateId, to: CrateId) { 61 pub fn add_dep(&mut self, from: CrateId, name: SmolStr, to: CrateId) {
61 self.arena.get_mut(&from).unwrap().add_dep(to) 62 self.arena.get_mut(&from).unwrap().add_dep(name, to)
62 } 63 }
63 pub fn crate_root(&self, crate_id: CrateId) -> FileId { 64 pub fn crate_root(&self, crate_id: CrateId) -> FileId {
64 self.arena[&crate_id].file_id 65 self.arena[&crate_id].file_id