aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/resolve.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-10-30 09:27:54 +0000
committerAleksey Kladov <[email protected]>2019-10-30 09:27:54 +0000
commita136cc0653d2b4133fb6387009cfdbaf3e2cf275 (patch)
treec7693867220abfefd90acb9965d91c6fe0023d38 /crates/ra_hir/src/resolve.rs
parent56bc874f1d14922686b26afc8793b7e57a652990 (diff)
introduce ra_hir_def
Diffstat (limited to 'crates/ra_hir/src/resolve.rs')
-rw-r--r--crates/ra_hir/src/resolve.rs17
1 files changed, 10 insertions, 7 deletions
diff --git a/crates/ra_hir/src/resolve.rs b/crates/ra_hir/src/resolve.rs
index 3c797c0c3..8b6269407 100644
--- a/crates/ra_hir/src/resolve.rs
+++ b/crates/ra_hir/src/resolve.rs
@@ -1,6 +1,7 @@
1//! Name resolution. 1//! Name resolution.
2use std::sync::Arc; 2use std::sync::Arc;
3 3
4use hir_def::CrateModuleId;
4use rustc_hash::FxHashSet; 5use rustc_hash::FxHashSet;
5 6
6use crate::{ 7use crate::{
@@ -13,7 +14,7 @@ use crate::{
13 generics::GenericParams, 14 generics::GenericParams,
14 impl_block::ImplBlock, 15 impl_block::ImplBlock,
15 name::{Name, SELF_PARAM, SELF_TYPE}, 16 name::{Name, SELF_PARAM, SELF_TYPE},
16 nameres::{CrateDefMap, CrateModuleId, PerNs}, 17 nameres::{CrateDefMap, PerNs},
17 path::{Path, PathKind}, 18 path::{Path, PathKind},
18 Adt, BuiltinType, Const, Enum, EnumVariant, Function, MacroDef, ModuleDef, Static, Struct, 19 Adt, BuiltinType, Const, Enum, EnumVariant, Function, MacroDef, ModuleDef, Static, Struct,
19 Trait, TypeAlias, 20 Trait, TypeAlias,
@@ -330,8 +331,8 @@ impl Resolver {
330 for scope in &self.scopes { 331 for scope in &self.scopes {
331 if let Scope::ModuleScope(m) = scope { 332 if let Scope::ModuleScope(m) = scope {
332 if let Some(prelude) = m.crate_def_map.prelude() { 333 if let Some(prelude) = m.crate_def_map.prelude() {
333 let prelude_def_map = db.crate_def_map(prelude.krate); 334 let prelude_def_map = db.crate_def_map(prelude.krate());
334 traits.extend(prelude_def_map[prelude.module_id].scope.traits()); 335 traits.extend(prelude_def_map[prelude.id.module_id].scope.traits());
335 } 336 }
336 traits.extend(m.crate_def_map[m.module_id].scope.traits()); 337 traits.extend(m.crate_def_map[m.module_id].scope.traits());
337 } 338 }
@@ -444,10 +445,12 @@ impl Scope {
444 f(name.clone(), ScopeDef::ModuleDef(*def)); 445 f(name.clone(), ScopeDef::ModuleDef(*def));
445 }); 446 });
446 if let Some(prelude) = m.crate_def_map.prelude() { 447 if let Some(prelude) = m.crate_def_map.prelude() {
447 let prelude_def_map = db.crate_def_map(prelude.krate); 448 let prelude_def_map = db.crate_def_map(prelude.krate());
448 prelude_def_map[prelude.module_id].scope.entries().for_each(|(name, res)| { 449 prelude_def_map[prelude.id.module_id].scope.entries().for_each(
449 f(name.clone(), res.def.into()); 450 |(name, res)| {
450 }); 451 f(name.clone(), res.def.into());
452 },
453 );
451 } 454 }
452 } 455 }
453 Scope::GenericParams(gp) => { 456 Scope::GenericParams(gp) => {