diff options
Diffstat (limited to 'crates/hir_def/src/lib.rs')
-rw-r--r-- | crates/hir_def/src/lib.rs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/crates/hir_def/src/lib.rs b/crates/hir_def/src/lib.rs index e2af0e514..d69116d51 100644 --- a/crates/hir_def/src/lib.rs +++ b/crates/hir_def/src/lib.rs | |||
@@ -62,7 +62,7 @@ use hir_expand::{ | |||
62 | ast_id_map::FileAstId, | 62 | ast_id_map::FileAstId, |
63 | eager::{expand_eager_macro, ErrorEmitted, ErrorSink}, | 63 | eager::{expand_eager_macro, ErrorEmitted, ErrorSink}, |
64 | hygiene::Hygiene, | 64 | hygiene::Hygiene, |
65 | AstId, HirFileId, InFile, MacroCallId, MacroCallKind, MacroDefId, MacroDefKind, | 65 | AstId, AttrId, HirFileId, InFile, MacroCallId, MacroCallKind, MacroDefId, MacroDefKind, |
66 | }; | 66 | }; |
67 | use la_arena::Idx; | 67 | use la_arena::Idx; |
68 | use nameres::DefMap; | 68 | use nameres::DefMap; |
@@ -690,13 +690,16 @@ fn macro_call_as_call_id( | |||
690 | ) | 690 | ) |
691 | .map(MacroCallId::from) | 691 | .map(MacroCallId::from) |
692 | } else { | 692 | } else { |
693 | Ok(def.as_lazy_macro(db.upcast(), krate, MacroCallKind::FnLike(call.ast_id)).into()) | 693 | Ok(def |
694 | .as_lazy_macro(db.upcast(), krate, MacroCallKind::FnLike { ast_id: call.ast_id }) | ||
695 | .into()) | ||
694 | }; | 696 | }; |
695 | Ok(res) | 697 | Ok(res) |
696 | } | 698 | } |
697 | 699 | ||
698 | fn derive_macro_as_call_id( | 700 | fn derive_macro_as_call_id( |
699 | item_attr: &AstIdWithPath<ast::Item>, | 701 | item_attr: &AstIdWithPath<ast::Item>, |
702 | derive_attr: AttrId, | ||
700 | db: &dyn db::DefDatabase, | 703 | db: &dyn db::DefDatabase, |
701 | krate: CrateId, | 704 | krate: CrateId, |
702 | resolver: impl Fn(path::ModPath) -> Option<MacroDefId>, | 705 | resolver: impl Fn(path::ModPath) -> Option<MacroDefId>, |
@@ -707,7 +710,11 @@ fn derive_macro_as_call_id( | |||
707 | .as_lazy_macro( | 710 | .as_lazy_macro( |
708 | db.upcast(), | 711 | db.upcast(), |
709 | krate, | 712 | krate, |
710 | MacroCallKind::Derive(item_attr.ast_id, last_segment.to_string()), | 713 | MacroCallKind::Derive { |
714 | ast_id: item_attr.ast_id, | ||
715 | derive_name: last_segment.to_string(), | ||
716 | derive_attr, | ||
717 | }, | ||
711 | ) | 718 | ) |
712 | .into(); | 719 | .into(); |
713 | Ok(res) | 720 | Ok(res) |