diff options
Diffstat (limited to 'crates/ra_hir_def/src')
-rw-r--r-- | crates/ra_hir_def/src/body/lower.rs | 2 | ||||
-rw-r--r-- | crates/ra_hir_def/src/generics.rs | 2 | ||||
-rw-r--r-- | crates/ra_hir_def/src/item_scope.rs | 4 | ||||
-rw-r--r-- | crates/ra_hir_def/src/lib.rs | 4 | ||||
-rw-r--r-- | crates/ra_hir_def/src/nameres.rs | 2 | ||||
-rw-r--r-- | crates/ra_hir_def/src/nameres/raw.rs | 4 | ||||
-rw-r--r-- | crates/ra_hir_def/src/nameres/tests/incremental.rs | 4 | ||||
-rw-r--r-- | crates/ra_hir_def/src/path/lower/lower_use.rs | 4 | ||||
-rw-r--r-- | crates/ra_hir_def/src/resolver.rs | 6 |
9 files changed, 14 insertions, 18 deletions
diff --git a/crates/ra_hir_def/src/body/lower.rs b/crates/ra_hir_def/src/body/lower.rs index 1fc892362..b1626fa11 100644 --- a/crates/ra_hir_def/src/body/lower.rs +++ b/crates/ra_hir_def/src/body/lower.rs | |||
@@ -448,7 +448,7 @@ where | |||
448 | // FIXME expand to statements in statement position | 448 | // FIXME expand to statements in statement position |
449 | ast::Expr::MacroCall(e) => { | 449 | ast::Expr::MacroCall(e) => { |
450 | let macro_call = self.expander.to_source(AstPtr::new(&e)); | 450 | let macro_call = self.expander.to_source(AstPtr::new(&e)); |
451 | match self.expander.enter_expand(self.db, e.clone()) { | 451 | match self.expander.enter_expand(self.db, e) { |
452 | Some((mark, expansion)) => { | 452 | Some((mark, expansion)) => { |
453 | self.source_map | 453 | self.source_map |
454 | .expansions | 454 | .expansions |
diff --git a/crates/ra_hir_def/src/generics.rs b/crates/ra_hir_def/src/generics.rs index f765e6edc..e07a4f947 100644 --- a/crates/ra_hir_def/src/generics.rs +++ b/crates/ra_hir_def/src/generics.rs | |||
@@ -71,7 +71,7 @@ impl GenericParams { | |||
71 | db: &impl DefDatabase, | 71 | db: &impl DefDatabase, |
72 | def: GenericDefId, | 72 | def: GenericDefId, |
73 | ) -> Arc<GenericParams> { | 73 | ) -> Arc<GenericParams> { |
74 | let (params, _source_map) = GenericParams::new(db, def.into()); | 74 | let (params, _source_map) = GenericParams::new(db, def); |
75 | Arc::new(params) | 75 | Arc::new(params) |
76 | } | 76 | } |
77 | 77 | ||
diff --git a/crates/ra_hir_def/src/item_scope.rs b/crates/ra_hir_def/src/item_scope.rs index d74a1cef2..6e958ca75 100644 --- a/crates/ra_hir_def/src/item_scope.rs +++ b/crates/ra_hir_def/src/item_scope.rs | |||
@@ -138,7 +138,7 @@ impl ItemScope { | |||
138 | 138 | ||
139 | pub(crate) fn push_res(&mut self, name: Name, def: PerNs) -> bool { | 139 | pub(crate) fn push_res(&mut self, name: Name, def: PerNs) -> bool { |
140 | let mut changed = false; | 140 | let mut changed = false; |
141 | let existing = self.visible.entry(name.clone()).or_default(); | 141 | let existing = self.visible.entry(name).or_default(); |
142 | 142 | ||
143 | if existing.types.is_none() && def.types.is_some() { | 143 | if existing.types.is_none() && def.types.is_some() { |
144 | existing.types = def.types; | 144 | existing.types = def.types; |
@@ -157,7 +157,7 @@ impl ItemScope { | |||
157 | } | 157 | } |
158 | 158 | ||
159 | pub(crate) fn resolutions<'a>(&'a self) -> impl Iterator<Item = (Name, PerNs)> + 'a { | 159 | pub(crate) fn resolutions<'a>(&'a self) -> impl Iterator<Item = (Name, PerNs)> + 'a { |
160 | self.visible.iter().map(|(name, res)| (name.clone(), res.clone())) | 160 | self.visible.iter().map(|(name, res)| (name.clone(), *res)) |
161 | } | 161 | } |
162 | 162 | ||
163 | pub(crate) fn collect_legacy_macros(&self) -> FxHashMap<Name, MacroDefId> { | 163 | pub(crate) fn collect_legacy_macros(&self) -> FxHashMap<Name, MacroDefId> { |
diff --git a/crates/ra_hir_def/src/lib.rs b/crates/ra_hir_def/src/lib.rs index aa0b558b8..564b5fec5 100644 --- a/crates/ra_hir_def/src/lib.rs +++ b/crates/ra_hir_def/src/lib.rs | |||
@@ -460,7 +460,7 @@ impl AsMacroCall for AstIdWithPath<ast::MacroCall> { | |||
460 | resolver: impl Fn(path::ModPath) -> Option<MacroDefId>, | 460 | resolver: impl Fn(path::ModPath) -> Option<MacroDefId>, |
461 | ) -> Option<MacroCallId> { | 461 | ) -> Option<MacroCallId> { |
462 | let def = resolver(self.path.clone())?; | 462 | let def = resolver(self.path.clone())?; |
463 | Some(def.as_call_id(db, MacroCallKind::FnLike(self.ast_id.clone()))) | 463 | Some(def.as_call_id(db, MacroCallKind::FnLike(self.ast_id))) |
464 | } | 464 | } |
465 | } | 465 | } |
466 | 466 | ||
@@ -471,6 +471,6 @@ impl AsMacroCall for AstIdWithPath<ast::ModuleItem> { | |||
471 | resolver: impl Fn(path::ModPath) -> Option<MacroDefId>, | 471 | resolver: impl Fn(path::ModPath) -> Option<MacroDefId>, |
472 | ) -> Option<MacroCallId> { | 472 | ) -> Option<MacroCallId> { |
473 | let def = resolver(self.path.clone())?; | 473 | let def = resolver(self.path.clone())?; |
474 | Some(def.as_call_id(db, MacroCallKind::Attr(self.ast_id.clone()))) | 474 | Some(def.as_call_id(db, MacroCallKind::Attr(self.ast_id))) |
475 | } | 475 | } |
476 | } | 476 | } |
diff --git a/crates/ra_hir_def/src/nameres.rs b/crates/ra_hir_def/src/nameres.rs index 852304dd0..c5137a0ab 100644 --- a/crates/ra_hir_def/src/nameres.rs +++ b/crates/ra_hir_def/src/nameres.rs | |||
@@ -156,7 +156,7 @@ impl ModuleOrigin { | |||
156 | ModuleOrigin::File { definition, .. } | ModuleOrigin::CrateRoot { definition } => { | 156 | ModuleOrigin::File { definition, .. } | ModuleOrigin::CrateRoot { definition } => { |
157 | let file_id = *definition; | 157 | let file_id = *definition; |
158 | let sf = db.parse(file_id).tree(); | 158 | let sf = db.parse(file_id).tree(); |
159 | return InFile::new(file_id.into(), ModuleSource::SourceFile(sf)); | 159 | InFile::new(file_id.into(), ModuleSource::SourceFile(sf)) |
160 | } | 160 | } |
161 | ModuleOrigin::Inline { definition } => { | 161 | ModuleOrigin::Inline { definition } => { |
162 | InFile::new(definition.file_id, ModuleSource::Module(definition.to_node(db))) | 162 | InFile::new(definition.file_id, ModuleSource::Module(definition.to_node(db))) |
diff --git a/crates/ra_hir_def/src/nameres/raw.rs b/crates/ra_hir_def/src/nameres/raw.rs index 650cf1f98..0e8c9da76 100644 --- a/crates/ra_hir_def/src/nameres/raw.rs +++ b/crates/ra_hir_def/src/nameres/raw.rs | |||
@@ -357,9 +357,7 @@ impl RawItemsCollector { | |||
357 | let visibility = | 357 | let visibility = |
358 | RawVisibility::from_ast_with_hygiene(extern_crate.visibility(), &self.hygiene); | 358 | RawVisibility::from_ast_with_hygiene(extern_crate.visibility(), &self.hygiene); |
359 | let alias = extern_crate.alias().map(|a| { | 359 | let alias = extern_crate.alias().map(|a| { |
360 | a.name() | 360 | a.name().map(|it| it.as_name()).map_or(ImportAlias::Underscore, ImportAlias::Alias) |
361 | .map(|it| it.as_name()) | ||
362 | .map_or(ImportAlias::Underscore, |a| ImportAlias::Alias(a)) | ||
363 | }); | 361 | }); |
364 | let attrs = self.parse_attrs(&extern_crate); | 362 | let attrs = self.parse_attrs(&extern_crate); |
365 | // FIXME: cfg_attr | 363 | // FIXME: cfg_attr |
diff --git a/crates/ra_hir_def/src/nameres/tests/incremental.rs b/crates/ra_hir_def/src/nameres/tests/incremental.rs index faeb7aa4d..83f429c29 100644 --- a/crates/ra_hir_def/src/nameres/tests/incremental.rs +++ b/crates/ra_hir_def/src/nameres/tests/incremental.rs | |||
@@ -116,7 +116,7 @@ fn typing_inside_a_macro_should_not_invalidate_def_map() { | |||
116 | let events = db.log_executed(|| { | 116 | let events = db.log_executed(|| { |
117 | let crate_def_map = db.crate_def_map(krate); | 117 | let crate_def_map = db.crate_def_map(krate); |
118 | let (_, module_data) = crate_def_map.modules.iter().last().unwrap(); | 118 | let (_, module_data) = crate_def_map.modules.iter().last().unwrap(); |
119 | assert_eq!(module_data.scope.resolutions().collect::<Vec<_>>().len(), 1); | 119 | assert_eq!(module_data.scope.resolutions().count(), 1); |
120 | }); | 120 | }); |
121 | assert!(format!("{:?}", events).contains("crate_def_map"), "{:#?}", events) | 121 | assert!(format!("{:?}", events).contains("crate_def_map"), "{:#?}", events) |
122 | } | 122 | } |
@@ -126,7 +126,7 @@ fn typing_inside_a_macro_should_not_invalidate_def_map() { | |||
126 | let events = db.log_executed(|| { | 126 | let events = db.log_executed(|| { |
127 | let crate_def_map = db.crate_def_map(krate); | 127 | let crate_def_map = db.crate_def_map(krate); |
128 | let (_, module_data) = crate_def_map.modules.iter().last().unwrap(); | 128 | let (_, module_data) = crate_def_map.modules.iter().last().unwrap(); |
129 | assert_eq!(module_data.scope.resolutions().collect::<Vec<_>>().len(), 1); | 129 | assert_eq!(module_data.scope.resolutions().count(), 1); |
130 | }); | 130 | }); |
131 | assert!(!format!("{:?}", events).contains("crate_def_map"), "{:#?}", events) | 131 | assert!(!format!("{:?}", events).contains("crate_def_map"), "{:#?}", events) |
132 | } | 132 | } |
diff --git a/crates/ra_hir_def/src/path/lower/lower_use.rs b/crates/ra_hir_def/src/path/lower/lower_use.rs index d2bc9d193..b6d1125e2 100644 --- a/crates/ra_hir_def/src/path/lower/lower_use.rs +++ b/crates/ra_hir_def/src/path/lower/lower_use.rs | |||
@@ -32,9 +32,7 @@ pub(crate) fn lower_use_tree( | |||
32 | } | 32 | } |
33 | } else { | 33 | } else { |
34 | let alias = tree.alias().map(|a| { | 34 | let alias = tree.alias().map(|a| { |
35 | a.name() | 35 | a.name().map(|it| it.as_name()).map_or(ImportAlias::Underscore, ImportAlias::Alias) |
36 | .map(|it| it.as_name()) | ||
37 | .map_or(ImportAlias::Underscore, |a| ImportAlias::Alias(a)) | ||
38 | }); | 36 | }); |
39 | let is_glob = tree.has_star(); | 37 | let is_glob = tree.has_star(); |
40 | if let Some(ast_path) = tree.path() { | 38 | if let Some(ast_path) = tree.path() { |
diff --git a/crates/ra_hir_def/src/resolver.rs b/crates/ra_hir_def/src/resolver.rs index e2b228e80..5365b80e2 100644 --- a/crates/ra_hir_def/src/resolver.rs +++ b/crates/ra_hir_def/src/resolver.rs | |||
@@ -474,7 +474,7 @@ impl Scope { | |||
474 | f(name.clone(), ScopeDef::PerNs(PerNs::macros(macro_, Visibility::Public))); | 474 | f(name.clone(), ScopeDef::PerNs(PerNs::macros(macro_, Visibility::Public))); |
475 | }); | 475 | }); |
476 | m.crate_def_map.extern_prelude.iter().for_each(|(name, &def)| { | 476 | m.crate_def_map.extern_prelude.iter().for_each(|(name, &def)| { |
477 | f(name.clone(), ScopeDef::PerNs(PerNs::types(def.into(), Visibility::Public))); | 477 | f(name.clone(), ScopeDef::PerNs(PerNs::types(def, Visibility::Public))); |
478 | }); | 478 | }); |
479 | if let Some(prelude) = m.crate_def_map.prelude { | 479 | if let Some(prelude) = m.crate_def_map.prelude { |
480 | let prelude_def_map = db.crate_def_map(prelude.krate); | 480 | let prelude_def_map = db.crate_def_map(prelude.krate); |
@@ -499,10 +499,10 @@ impl Scope { | |||
499 | } | 499 | } |
500 | } | 500 | } |
501 | Scope::ImplBlockScope(i) => { | 501 | Scope::ImplBlockScope(i) => { |
502 | f(name![Self], ScopeDef::ImplSelfType((*i).into())); | 502 | f(name![Self], ScopeDef::ImplSelfType(*i)); |
503 | } | 503 | } |
504 | Scope::AdtScope(i) => { | 504 | Scope::AdtScope(i) => { |
505 | f(name![Self], ScopeDef::AdtSelfType((*i).into())); | 505 | f(name![Self], ScopeDef::AdtSelfType(*i)); |
506 | } | 506 | } |
507 | Scope::ExprScope(scope) => { | 507 | Scope::ExprScope(scope) => { |
508 | scope.expr_scopes.entries(scope.scope_id).iter().for_each(|e| { | 508 | scope.expr_scopes.entries(scope.scope_id).iter().for_each(|e| { |