aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_analysis/src/descriptors/module/nameres.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2018-11-27 13:55:56 +0000
committerAleksey Kladov <[email protected]>2018-11-27 15:25:35 +0000
commitf4860870dae309f5287a287de0aa3a1a1b1de36b (patch)
treeb487b5623db2a45f3c6cd3ae52e60b5fc90033a6 /crates/ra_analysis/src/descriptors/module/nameres.rs
parent68f66e0f446a2bd2385cfd236856f2a73bd58a3d (diff)
scope-based resolve path
Diffstat (limited to 'crates/ra_analysis/src/descriptors/module/nameres.rs')
-rw-r--r--crates/ra_analysis/src/descriptors/module/nameres.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/crates/ra_analysis/src/descriptors/module/nameres.rs b/crates/ra_analysis/src/descriptors/module/nameres.rs
index d347a69b0..d2964f67f 100644
--- a/crates/ra_analysis/src/descriptors/module/nameres.rs
+++ b/crates/ra_analysis/src/descriptors/module/nameres.rs
@@ -103,7 +103,16 @@ pub(crate) struct ItemMap {
103 103
104#[derive(Debug, Default, PartialEq, Eq, Clone)] 104#[derive(Debug, Default, PartialEq, Eq, Clone)]
105pub(crate) struct ModuleScope { 105pub(crate) struct ModuleScope {
106 pub(crate) items: FxHashMap<SmolStr, Resolution>, 106 items: FxHashMap<SmolStr, Resolution>,
107}
108
109impl ModuleScope {
110 pub(crate) fn entries<'a>(&'a self) -> impl Iterator<Item = (&'a SmolStr, &Resolution)> + 'a {
111 self.items.iter()
112 }
113 pub(crate) fn get(&self, name: &SmolStr) -> Option<&Resolution> {
114 self.items.get(name)
115 }
107} 116}
108 117
109/// A set of items and imports declared inside a module, without relation to 118/// A set of items and imports declared inside a module, without relation to