aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_api/src/parent_module.rs
diff options
context:
space:
mode:
authorbors[bot] <bors[bot]@users.noreply.github.com>2019-02-08 11:37:05 +0000
committerbors[bot] <bors[bot]@users.noreply.github.com>2019-02-08 11:37:05 +0000
commitb5fc999e7dafa8217d77088ae10bff96e767a3e9 (patch)
tree7fb47d6afa2eca87d2cd330e8e39af2ce3615dd5 /crates/ra_ide_api/src/parent_module.rs
parent9a1d2a46c249fa81294c156b9e23b624e14495cd (diff)
parent884f04670aea239f06fe5b6ff7a9f2073034f8bc (diff)
Merge #765
765: Jettison `imp` module r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'crates/ra_ide_api/src/parent_module.rs')
-rw-r--r--crates/ra_ide_api/src/parent_module.rs15
1 files changed, 14 insertions, 1 deletions
diff --git a/crates/ra_ide_api/src/parent_module.rs b/crates/ra_ide_api/src/parent_module.rs
index e94297fe3..603c3db6a 100644
--- a/crates/ra_ide_api/src/parent_module.rs
+++ b/crates/ra_ide_api/src/parent_module.rs
@@ -1,4 +1,4 @@
1use ra_db::FilePosition; 1use ra_db::{FilePosition, FileId, CrateId};
2 2
3use crate::{NavigationTarget, db::RootDatabase}; 3use crate::{NavigationTarget, db::RootDatabase};
4 4
@@ -13,6 +13,19 @@ pub(crate) fn parent_module(db: &RootDatabase, position: FilePosition) -> Vec<Na
13 vec![nav] 13 vec![nav]
14} 14}
15 15
16/// Returns `Vec` for the same reason as `parent_module`
17pub(crate) fn crate_for(db: &RootDatabase, file_id: FileId) -> Vec<CrateId> {
18 let module = match hir::source_binder::module_from_file_id(db, file_id) {
19 Some(it) => it,
20 None => return Vec::new(),
21 };
22 let krate = match module.krate(db) {
23 Some(it) => it,
24 None => return Vec::new(),
25 };
26 vec![krate.crate_id()]
27}
28
16#[cfg(test)] 29#[cfg(test)]
17mod tests { 30mod tests {
18 use crate::mock_analysis::analysis_and_position; 31 use crate::mock_analysis::analysis_and_position;