Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-def/src/per_ns.rs')
-rw-r--r--crates/hir-def/src/per_ns.rs26
1 files changed, 12 insertions, 14 deletions
diff --git a/crates/hir-def/src/per_ns.rs b/crates/hir-def/src/per_ns.rs
index 899dd4afff..c2d3f67f17 100644
--- a/crates/hir-def/src/per_ns.rs
+++ b/crates/hir-def/src/per_ns.rs
@@ -6,7 +6,7 @@
use bitflags::bitflags;
use crate::{
- item_scope::{ImportId, ImportOrExternCrate, ItemInNs},
+ item_scope::{ImportId, ImportOrExternCrate, ImportOrGlob, ItemInNs},
visibility::Visibility,
MacroId, ModuleDefId,
};
@@ -36,8 +36,8 @@ pub struct Item<Def, Import = ImportId> {
}
pub type TypesItem = Item<ModuleDefId, ImportOrExternCrate>;
-pub type ValuesItem = Item<ModuleDefId>;
-pub type MacrosItem = Item<MacroId>;
+pub type ValuesItem = Item<ModuleDefId, ImportOrGlob>;
+pub type MacrosItem = Item<MacroId, ImportOrGlob>;
#[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
pub struct PerNs {
@@ -59,7 +59,7 @@ impl PerNs {
PerNs { types: None, values: None, macros: None }
}
- pub fn values(def: ModuleDefId, vis: Visibility, import: Option<ImportId>) -> PerNs {
+ pub fn values(def: ModuleDefId, vis: Visibility, import: Option<ImportOrGlob>) -> PerNs {
PerNs { types: None, values: Some(Item { def, vis, import }), macros: None }
}
@@ -78,13 +78,13 @@ impl PerNs {
values: Some(Item {
def: values,
vis,
- import: import.and_then(ImportOrExternCrate::into_import),
+ import: import.and_then(ImportOrExternCrate::import_or_glob),
}),
macros: None,
}
}
- pub fn macros(def: MacroId, vis: Visibility, import: Option<ImportId>) -> PerNs {
+ pub fn macros(def: MacroId, vis: Visibility, import: Option<ImportOrGlob>) -> PerNs {
PerNs { types: None, values: None, macros: Some(Item { def, vis, import }) }
}
@@ -108,7 +108,7 @@ impl PerNs {
self.values.map(|it| it.def)
}
- pub fn take_values_import(self) -> Option<(ModuleDefId, Option<ImportId>)> {
+ pub fn take_values_import(self) -> Option<(ModuleDefId, Option<ImportOrGlob>)> {
self.values.map(|it| (it.def, it.import))
}
@@ -116,7 +116,7 @@ impl PerNs {
self.macros.map(|it| it.def)
}
- pub fn take_macros_import(self) -> Option<(MacroId, Option<ImportId>)> {
+ pub fn take_macros_import(self) -> Option<(MacroId, Option<ImportOrGlob>)> {
self.macros.map(|it| (it.def, it.import))
}
@@ -159,14 +159,12 @@ impl PerNs {
.map(|it| (ItemInNs::Types(it.def), it.import))
.into_iter()
.chain(
- self.values.map(|it| {
- (ItemInNs::Values(it.def), it.import.map(ImportOrExternCrate::Import))
- }),
+ self.values
+ .map(|it| (ItemInNs::Values(it.def), it.import.map(ImportOrExternCrate::from))),
)
.chain(
- self.macros.map(|it| {
- (ItemInNs::Macros(it.def), it.import.map(ImportOrExternCrate::Import))
- }),
+ self.macros
+ .map(|it| (ItemInNs::Macros(it.def), it.import.map(ImportOrExternCrate::from))),
)
}
}