Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir_def/src/item_tree.rs')
| -rw-r--r-- | crates/hir_def/src/item_tree.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/crates/hir_def/src/item_tree.rs b/crates/hir_def/src/item_tree.rs index 45b374f338..c51201f675 100644 --- a/crates/hir_def/src/item_tree.rs +++ b/crates/hir_def/src/item_tree.rs @@ -920,6 +920,17 @@ impl From<AssocItem> for ModItem { } } +impl AssocItem { + pub fn ast_id(self, tree: &ItemTree) -> FileAstId<ast::AssocItem> { + match self { + AssocItem::Function(id) => tree[id].ast_id.upcast(), + AssocItem::TypeAlias(id) => tree[id].ast_id.upcast(), + AssocItem::Const(id) => tree[id].ast_id.upcast(), + AssocItem::MacroCall(id) => tree[id].ast_id.upcast(), + } + } +} + #[derive(Debug, Eq, PartialEq)] pub struct Variant { pub name: Name, |