diff options
Diffstat (limited to 'crates/ra_hir/src/nameres')
-rw-r--r-- | crates/ra_hir/src/nameres/collector.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/crates/ra_hir/src/nameres/collector.rs b/crates/ra_hir/src/nameres/collector.rs index 4f363df36..dc591e8d3 100644 --- a/crates/ra_hir/src/nameres/collector.rs +++ b/crates/ra_hir/src/nameres/collector.rs | |||
@@ -448,7 +448,7 @@ where | |||
448 | ); | 448 | ); |
449 | 449 | ||
450 | if let Some(def) = resolved_res.resolved_def.get_macros() { | 450 | if let Some(def) = resolved_res.resolved_def.get_macros() { |
451 | let call_id = MacroCallLoc { def: def.id, ast_id: *ast_id }.id(self.db); | 451 | let call_id = self.db.intern_macro(MacroCallLoc { def: def.id, ast_id: *ast_id }); |
452 | resolved.push((*module_id, call_id, def.id)); | 452 | resolved.push((*module_id, call_id, def.id)); |
453 | res = ReachedFixedPoint::No; | 453 | res = ReachedFixedPoint::No; |
454 | return false; | 454 | return false; |
@@ -676,7 +676,8 @@ where | |||
676 | // Case 1: macro rules, define a macro in crate-global mutable scope | 676 | // Case 1: macro rules, define a macro in crate-global mutable scope |
677 | if is_macro_rules(&mac.path) { | 677 | if is_macro_rules(&mac.path) { |
678 | if let Some(name) = &mac.name { | 678 | if let Some(name) = &mac.name { |
679 | let macro_id = MacroDefId { ast_id, krate: self.def_collector.def_map.krate }; | 679 | let macro_id = |
680 | MacroDefId { ast_id, krate: self.def_collector.def_map.krate.crate_id }; | ||
680 | let macro_ = MacroDef { id: macro_id }; | 681 | let macro_ = MacroDef { id: macro_id }; |
681 | self.def_collector.define_macro(self.module_id, name.clone(), macro_, mac.export); | 682 | self.def_collector.define_macro(self.module_id, name.clone(), macro_, mac.export); |
682 | } | 683 | } |
@@ -689,7 +690,7 @@ where | |||
689 | self.def_collector.def_map[self.module_id].scope.get_legacy_macro(&name) | 690 | self.def_collector.def_map[self.module_id].scope.get_legacy_macro(&name) |
690 | }) { | 691 | }) { |
691 | let def = macro_def.id; | 692 | let def = macro_def.id; |
692 | let macro_call_id = MacroCallLoc { def, ast_id }.id(self.def_collector.db); | 693 | let macro_call_id = self.def_collector.db.intern_macro(MacroCallLoc { def, ast_id }); |
693 | 694 | ||
694 | self.def_collector.collect_macro_expansion(self.module_id, macro_call_id, def); | 695 | self.def_collector.collect_macro_expansion(self.module_id, macro_call_id, def); |
695 | return; | 696 | return; |