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.rs | 11 |
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)] |