diff options
Diffstat (limited to 'crates/hir_def/src/item_tree.rs')
-rw-r--r-- | crates/hir_def/src/item_tree.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/crates/hir_def/src/item_tree.rs b/crates/hir_def/src/item_tree.rs index 6494cebd3..1226d7d85 100644 --- a/crates/hir_def/src/item_tree.rs +++ b/crates/hir_def/src/item_tree.rs | |||
@@ -195,6 +195,13 @@ impl ItemTree { | |||
195 | } | 195 | } |
196 | } | 196 | } |
197 | 197 | ||
198 | pub fn inner_items_of_block(&self, block: FileAstId<ast::BlockExpr>) -> &[ModItem] { | ||
199 | match &self.data { | ||
200 | Some(data) => data.inner_items.get(&block).map(|it| &**it).unwrap_or(&[]), | ||
201 | None => &[], | ||
202 | } | ||
203 | } | ||
204 | |||
198 | pub fn source<S: ItemTreeNode>(&self, db: &dyn DefDatabase, of: ItemTreeId<S>) -> S::Source { | 205 | pub fn source<S: ItemTreeNode>(&self, db: &dyn DefDatabase, of: ItemTreeId<S>) -> S::Source { |
199 | // This unwrap cannot fail, since it has either succeeded above, or resulted in an empty | 206 | // This unwrap cannot fail, since it has either succeeded above, or resulted in an empty |
200 | // ItemTree (in which case there is no valid `FileItemTreeId` to call this method with). | 207 | // ItemTree (in which case there is no valid `FileItemTreeId` to call this method with). |