aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/nameres/lower.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir/src/nameres/lower.rs')
-rw-r--r--crates/ra_hir/src/nameres/lower.rs40
1 files changed, 0 insertions, 40 deletions
diff --git a/crates/ra_hir/src/nameres/lower.rs b/crates/ra_hir/src/nameres/lower.rs
deleted file mode 100644
index d4c7f2481..000000000
--- a/crates/ra_hir/src/nameres/lower.rs
+++ /dev/null
@@ -1,40 +0,0 @@
1use ra_syntax::{
2 AstNode, SourceFile, TreeArc, AstPtr,
3 ast,
4};
5use ra_arena::{RawId, impl_arena_id, map::ArenaMap};
6
7use crate::{Path, ModuleSource, Name};
8
9#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
10pub struct ImportId(RawId);
11impl_arena_id!(ImportId);
12
13#[derive(Debug, Clone, PartialEq, Eq)]
14pub struct ImportData {
15 pub(super) path: Path,
16 pub(super) alias: Option<Name>,
17 pub(super) is_glob: bool,
18 pub(super) is_prelude: bool,
19 pub(super) is_extern_crate: bool,
20}
21
22#[derive(Debug, Default, PartialEq, Eq)]
23pub struct ImportSourceMap {
24 map: ArenaMap<ImportId, AstPtr<ast::PathSegment>>,
25}
26
27impl ImportSourceMap {
28 pub(crate) fn insert(&mut self, import: ImportId, segment: &ast::PathSegment) {
29 self.map.insert(import, AstPtr::new(segment))
30 }
31
32 pub fn get(&self, source: &ModuleSource, import: ImportId) -> TreeArc<ast::PathSegment> {
33 let file = match source {
34 ModuleSource::SourceFile(file) => &*file,
35 ModuleSource::Module(m) => m.syntax().ancestors().find_map(SourceFile::cast).unwrap(),
36 };
37
38 self.map[import].to_node(file).to_owned()
39 }
40}