Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--crates/hir-expand/src/lib.rs4
-rw-r--r--crates/hir/src/semantics.rs6
-rw-r--r--crates/hir/src/semantics/source_to_def.rs2
3 files changed, 6 insertions, 6 deletions
diff --git a/crates/hir-expand/src/lib.rs b/crates/hir-expand/src/lib.rs
index ec0716c5fa..a7150cf308 100644
--- a/crates/hir-expand/src/lib.rs
+++ b/crates/hir-expand/src/lib.rs
@@ -710,8 +710,8 @@ impl ExpansionInfo {
self.expanded.clone()
}
- pub fn call_node(&self) -> InFile<Option<SyntaxNode>> {
- self.arg.with_value(self.arg.value.as_ref().and_then(SyntaxNode::parent))
+ pub fn arg(&self) -> InFile<Option<&SyntaxNode>> {
+ self.arg.as_ref().map(|it| it.as_ref())
}
pub fn call_file(&self) -> HirFileId {
diff --git a/crates/hir/src/semantics.rs b/crates/hir/src/semantics.rs
index 2618ea3dec..f6c88edbff 100644
--- a/crates/hir/src/semantics.rs
+++ b/crates/hir/src/semantics.rs
@@ -772,7 +772,7 @@ impl<'db> SemanticsImpl<'db> {
let exp_info = macro_file.expansion_info(self.db.upcast());
let InMacroFile { file_id, value } = exp_info.expanded();
- if let InFile { file_id, value: Some(value) } = exp_info.call_node() {
+ if let InFile { file_id, value: Some(value) } = exp_info.arg() {
self.cache(value.ancestors().last().unwrap(), file_id);
}
self.cache(value, file_id.into());
@@ -786,7 +786,7 @@ impl<'db> SemanticsImpl<'db> {
// FIXME: uncached parse
// Create the source analyzer for the macro call scope
let Some(sa) = expansion_info
- .call_node()
+ .arg()
.value
.and_then(|it| self.analyze_no_infer(&it.ancestors().last().unwrap()))
else {
@@ -1145,7 +1145,7 @@ impl<'db> SemanticsImpl<'db> {
.expansion_info_cache
.entry(macro_file)
.or_insert_with(|| macro_file.expansion_info(self.db.upcast()));
- expansion_info.call_node().transpose()
+ expansion_info.arg().map(|node| node?.parent()).transpose()
})
}
}
diff --git a/crates/hir/src/semantics/source_to_def.rs b/crates/hir/src/semantics/source_to_def.rs
index df17a35734..74ed2640f4 100644
--- a/crates/hir/src/semantics/source_to_def.rs
+++ b/crates/hir/src/semantics/source_to_def.rs
@@ -434,7 +434,7 @@ impl SourceToDefCtx<'_, '_> {
.entry(macro_file)
.or_insert_with(|| macro_file.expansion_info(this.db.upcast()));
- expansion_info.call_node().map(|node| node?.parent()).transpose()
+ expansion_info.arg().map(|node| node?.parent()).transpose()
}
};
let mut node = node.cloned();