aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/nameres.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir/src/nameres.rs')
-rw-r--r--crates/ra_hir/src/nameres.rs18
1 files changed, 9 insertions, 9 deletions
diff --git a/crates/ra_hir/src/nameres.rs b/crates/ra_hir/src/nameres.rs
index 44a4ddba0..7922e3f7e 100644
--- a/crates/ra_hir/src/nameres.rs
+++ b/crates/ra_hir/src/nameres.rs
@@ -200,7 +200,7 @@ impl ModuleScope {
200#[derive(Debug, Clone, PartialEq, Eq, Default)] 200#[derive(Debug, Clone, PartialEq, Eq, Default)]
201pub struct Resolution { 201pub struct Resolution {
202 /// None for unresolved 202 /// None for unresolved
203 pub def: PerNs<ModuleDef>, 203 pub def: PerNs,
204 /// ident by which this is imported into local scope. 204 /// ident by which this is imported into local scope.
205 pub import: Option<ImportId>, 205 pub import: Option<ImportId>,
206} 206}
@@ -213,7 +213,7 @@ impl Resolution {
213 213
214#[derive(Debug, Clone)] 214#[derive(Debug, Clone)]
215struct ResolvePathResult { 215struct ResolvePathResult {
216 resolved_def: PerNs<ModuleDef>, 216 resolved_def: PerNs,
217 segment_index: Option<usize>, 217 segment_index: Option<usize>,
218 reached_fixedpoint: ReachedFixedPoint, 218 reached_fixedpoint: ReachedFixedPoint,
219} 219}
@@ -224,7 +224,7 @@ impl ResolvePathResult {
224 } 224 }
225 225
226 fn with( 226 fn with(
227 resolved_def: PerNs<ModuleDef>, 227 resolved_def: PerNs,
228 reached_fixedpoint: ReachedFixedPoint, 228 reached_fixedpoint: ReachedFixedPoint,
229 segment_index: Option<usize>, 229 segment_index: Option<usize>,
230 ) -> ResolvePathResult { 230 ) -> ResolvePathResult {
@@ -316,7 +316,7 @@ impl CrateDefMap {
316 db: &impl DefDatabase, 316 db: &impl DefDatabase,
317 original_module: CrateModuleId, 317 original_module: CrateModuleId,
318 path: &Path, 318 path: &Path,
319 ) -> (PerNs<ModuleDef>, Option<usize>) { 319 ) -> (PerNs, Option<usize>) {
320 let res = self.resolve_path_fp_with_macro(db, ResolveMode::Other, original_module, path); 320 let res = self.resolve_path_fp_with_macro(db, ResolveMode::Other, original_module, path);
321 (res.resolved_def, res.segment_index) 321 (res.resolved_def, res.segment_index)
322 } 322 }
@@ -331,7 +331,7 @@ impl CrateDefMap {
331 path: &Path, 331 path: &Path,
332 ) -> ResolvePathResult { 332 ) -> ResolvePathResult {
333 let mut segments = path.segments.iter().enumerate(); 333 let mut segments = path.segments.iter().enumerate();
334 let mut curr_per_ns: PerNs<ModuleDef> = match path.kind { 334 let mut curr_per_ns: PerNs = match path.kind {
335 PathKind::Crate => { 335 PathKind::Crate => {
336 PerNs::types(Module { krate: self.krate, module_id: self.root }.into()) 336 PerNs::types(Module { krate: self.krate, module_id: self.root }.into())
337 } 337 }
@@ -456,7 +456,7 @@ impl CrateDefMap {
456 ResolvePathResult::with(curr_per_ns, ReachedFixedPoint::Yes, None) 456 ResolvePathResult::with(curr_per_ns, ReachedFixedPoint::Yes, None)
457 } 457 }
458 458
459 fn resolve_name_in_crate_root_or_extern_prelude(&self, name: &Name) -> PerNs<ModuleDef> { 459 fn resolve_name_in_crate_root_or_extern_prelude(&self, name: &Name) -> PerNs {
460 let from_crate_root = 460 let from_crate_root =
461 self[self.root].scope.get(name).map_or_else(PerNs::none, |res| res.def); 461 self[self.root].scope.get(name).map_or_else(PerNs::none, |res| res.def);
462 let from_extern_prelude = self.resolve_name_in_extern_prelude(name); 462 let from_extern_prelude = self.resolve_name_in_extern_prelude(name);
@@ -469,7 +469,7 @@ impl CrateDefMap {
469 db: &impl DefDatabase, 469 db: &impl DefDatabase,
470 module: CrateModuleId, 470 module: CrateModuleId,
471 name: &Name, 471 name: &Name,
472 ) -> PerNs<ModuleDef> { 472 ) -> PerNs {
473 // Resolve in: 473 // Resolve in:
474 // - legacy scope of macro 474 // - legacy scope of macro
475 // - current module / scope 475 // - current module / scope
@@ -485,11 +485,11 @@ impl CrateDefMap {
485 from_legacy_macro.or(from_scope).or(from_extern_prelude).or(from_prelude) 485 from_legacy_macro.or(from_scope).or(from_extern_prelude).or(from_prelude)
486 } 486 }
487 487
488 fn resolve_name_in_extern_prelude(&self, name: &Name) -> PerNs<ModuleDef> { 488 fn resolve_name_in_extern_prelude(&self, name: &Name) -> PerNs {
489 self.extern_prelude.get(name).map_or(PerNs::none(), |&it| PerNs::types(it)) 489 self.extern_prelude.get(name).map_or(PerNs::none(), |&it| PerNs::types(it))
490 } 490 }
491 491
492 fn resolve_in_prelude(&self, db: &impl DefDatabase, name: &Name) -> PerNs<ModuleDef> { 492 fn resolve_in_prelude(&self, db: &impl DefDatabase, name: &Name) -> PerNs {
493 if let Some(prelude) = self.prelude { 493 if let Some(prelude) = self.prelude {
494 let keep; 494 let keep;
495 let def_map = if prelude.krate == self.krate { 495 let def_map = if prelude.krate == self.krate {