From b84efbaacfc980ba167edc145aa7ca5d738448ff Mon Sep 17 00:00:00 2001 From: Jonas Schievink Date: Thu, 18 Mar 2021 15:37:14 +0100 Subject: Make MacroDefId's `AstId` mandatory when possible --- crates/hir/src/semantics/source_to_def.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'crates/hir/src/semantics') diff --git a/crates/hir/src/semantics/source_to_def.rs b/crates/hir/src/semantics/source_to_def.rs index c6ad5ecb5..762809fcd 100644 --- a/crates/hir/src/semantics/source_to_def.rs +++ b/crates/hir/src/semantics/source_to_def.rs @@ -195,12 +195,12 @@ impl SourceToDefCtx<'_, '_> { &mut self, src: InFile, ) -> Option { - let kind = MacroDefKind::Declarative; + let file_ast_id = self.db.ast_id_map(src.file_id).ast_id(&src.value); + let ast_id = AstId::new(src.file_id, file_ast_id.upcast()); + let kind = MacroDefKind::Declarative(ast_id); let file_id = src.file_id.original_file(self.db.upcast()); let krate = self.file_to_def(file_id).get(0).copied()?.krate(); - let file_ast_id = self.db.ast_id_map(src.file_id).ast_id(&src.value); - let ast_id = Some(AstId::new(src.file_id, file_ast_id.upcast())); - Some(MacroDefId { krate, ast_id, kind, local_inner: false }) + Some(MacroDefId { krate, kind, local_inner: false }) } pub(super) fn find_container(&mut self, src: InFile<&SyntaxNode>) -> Option { -- cgit v1.2.3