diff options
author | Jonas Schievink <[email protected]> | 2020-06-23 12:46:38 +0100 |
---|---|---|
committer | Jonas Schievink <[email protected]> | 2020-06-24 15:53:54 +0100 |
commit | 689e147c9dc416027fd36e94673431533df545f9 (patch) | |
tree | fe8c4d6937134388bd23416706c08a4de046cf06 /crates/ra_hir_def/src/item_tree | |
parent | 5a81427304114d2c6ada9e9258ffe31e715c25bc (diff) |
Collect inner items in expression macros
Diffstat (limited to 'crates/ra_hir_def/src/item_tree')
-rw-r--r-- | crates/ra_hir_def/src/item_tree/lower.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/crates/ra_hir_def/src/item_tree/lower.rs b/crates/ra_hir_def/src/item_tree/lower.rs index 841c7a852..3bb437e81 100644 --- a/crates/ra_hir_def/src/item_tree/lower.rs +++ b/crates/ra_hir_def/src/item_tree/lower.rs | |||
@@ -52,7 +52,7 @@ impl Ctx { | |||
52 | } | 52 | } |
53 | } | 53 | } |
54 | 54 | ||
55 | pub(super) fn lower(mut self, item_owner: &dyn ModuleItemOwner) -> ItemTree { | 55 | pub(super) fn lower_module_items(mut self, item_owner: &dyn ModuleItemOwner) -> ItemTree { |
56 | self.tree.top_level = item_owner | 56 | self.tree.top_level = item_owner |
57 | .items() | 57 | .items() |
58 | .flat_map(|item| self.lower_mod_item(&item, false)) | 58 | .flat_map(|item| self.lower_mod_item(&item, false)) |
@@ -61,6 +61,11 @@ impl Ctx { | |||
61 | self.tree | 61 | self.tree |
62 | } | 62 | } |
63 | 63 | ||
64 | pub(super) fn lower_inner_items(mut self, within: &SyntaxNode) -> ItemTree { | ||
65 | self.collect_inner_items(within); | ||
66 | self.tree | ||
67 | } | ||
68 | |||
64 | fn lower_mod_item(&mut self, item: &ast::ModuleItem, inner: bool) -> Option<ModItems> { | 69 | fn lower_mod_item(&mut self, item: &ast::ModuleItem, inner: bool) -> Option<ModItems> { |
65 | assert!(inner || self.inner_items.is_empty()); | 70 | assert!(inner || self.inner_items.is_empty()); |
66 | 71 | ||