Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-expand/src/lib.rs')
-rw-r--r--crates/hir-expand/src/lib.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/crates/hir-expand/src/lib.rs b/crates/hir-expand/src/lib.rs
index 9dc08dda50..7a993ed509 100644
--- a/crates/hir-expand/src/lib.rs
+++ b/crates/hir-expand/src/lib.rs
@@ -282,6 +282,17 @@ impl MacroDefKind {
pub fn is_declarative(&self) -> bool {
matches!(self, MacroDefKind::Declarative(..))
}
+
+ pub fn erased_ast_id(&self) -> ErasedAstId {
+ match *self {
+ MacroDefKind::ProcMacro(id, ..) => id.erase(),
+ MacroDefKind::BuiltIn(id, _)
+ | MacroDefKind::BuiltInAttr(id, _)
+ | MacroDefKind::BuiltInDerive(id, _)
+ | MacroDefKind::BuiltInEager(id, _)
+ | MacroDefKind::Declarative(id, ..) => id.erase(),
+ }
+ }
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]