diff options
author | Aleksey Kladov <[email protected]> | 2019-12-21 16:34:28 +0000 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2019-12-21 16:34:28 +0000 |
commit | 1a8f2aa024c6f1a5e9704c9cbd2e5a020debe2c2 (patch) | |
tree | 2d432efaf61acd53adc8cf0f78f4ed60f1fa758c /crates/ra_hir_def/src/nameres/raw.rs | |
parent | 02f79e37ca1c4a617a46b85bf897dffbf4abed9e (diff) |
Move LocalImportId
Diffstat (limited to 'crates/ra_hir_def/src/nameres/raw.rs')
-rw-r--r-- | crates/ra_hir_def/src/nameres/raw.rs | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/crates/ra_hir_def/src/nameres/raw.rs b/crates/ra_hir_def/src/nameres/raw.rs index 73e57f1e5..1b83b2247 100644 --- a/crates/ra_hir_def/src/nameres/raw.rs +++ b/crates/ra_hir_def/src/nameres/raw.rs | |||
@@ -20,9 +20,7 @@ use ra_syntax::{ | |||
20 | }; | 20 | }; |
21 | use test_utils::tested_by; | 21 | use test_utils::tested_by; |
22 | 22 | ||
23 | use crate::{ | 23 | use crate::{attr::Attrs, db::DefDatabase, path::ModPath, FileAstId, HirFileId, InFile}; |
24 | attr::Attrs, db::DefDatabase, path::ModPath, FileAstId, HirFileId, InFile, LocalImportId, | ||
25 | }; | ||
26 | 24 | ||
27 | /// `RawItems` is a set of top-level items in a file (except for impls). | 25 | /// `RawItems` is a set of top-level items in a file (except for impls). |
28 | /// | 26 | /// |
@@ -31,7 +29,7 @@ use crate::{ | |||
31 | #[derive(Debug, Default, PartialEq, Eq)] | 29 | #[derive(Debug, Default, PartialEq, Eq)] |
32 | pub struct RawItems { | 30 | pub struct RawItems { |
33 | modules: Arena<Module, ModuleData>, | 31 | modules: Arena<Module, ModuleData>, |
34 | imports: Arena<LocalImportId, ImportData>, | 32 | imports: Arena<Import, ImportData>, |
35 | defs: Arena<Def, DefData>, | 33 | defs: Arena<Def, DefData>, |
36 | macros: Arena<Macro, MacroData>, | 34 | macros: Arena<Macro, MacroData>, |
37 | impls: Arena<Impl, ImplData>, | 35 | impls: Arena<Impl, ImplData>, |
@@ -73,9 +71,9 @@ impl Index<Module> for RawItems { | |||
73 | } | 71 | } |
74 | } | 72 | } |
75 | 73 | ||
76 | impl Index<LocalImportId> for RawItems { | 74 | impl Index<Import> for RawItems { |
77 | type Output = ImportData; | 75 | type Output = ImportData; |
78 | fn index(&self, idx: LocalImportId) -> &ImportData { | 76 | fn index(&self, idx: Import) -> &ImportData { |
79 | &self.imports[idx] | 77 | &self.imports[idx] |
80 | } | 78 | } |
81 | } | 79 | } |
@@ -110,7 +108,7 @@ pub(super) struct RawItem { | |||
110 | #[derive(Debug, PartialEq, Eq, Clone, Copy)] | 108 | #[derive(Debug, PartialEq, Eq, Clone, Copy)] |
111 | pub(super) enum RawItemKind { | 109 | pub(super) enum RawItemKind { |
112 | Module(Module), | 110 | Module(Module), |
113 | Import(LocalImportId), | 111 | Import(Import), |
114 | Def(Def), | 112 | Def(Def), |
115 | Macro(Macro), | 113 | Macro(Macro), |
116 | Impl(Impl), | 114 | Impl(Impl), |
@@ -126,6 +124,10 @@ pub(super) enum ModuleData { | |||
126 | Definition { name: Name, ast_id: FileAstId<ast::Module>, items: Vec<RawItem> }, | 124 | Definition { name: Name, ast_id: FileAstId<ast::Module>, items: Vec<RawItem> }, |
127 | } | 125 | } |
128 | 126 | ||
127 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] | ||
128 | pub(crate) struct Import(RawId); | ||
129 | impl_arena_id!(Import); | ||
130 | |||
129 | #[derive(Debug, Clone, PartialEq, Eq)] | 131 | #[derive(Debug, Clone, PartialEq, Eq)] |
130 | pub struct ImportData { | 132 | pub struct ImportData { |
131 | pub(super) path: ModPath, | 133 | pub(super) path: ModPath, |