aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_def/src/body/lower.rs
diff options
context:
space:
mode:
authorJonas Schievink <[email protected]>2021-03-05 13:08:23 +0000
committerJonas Schievink <[email protected]>2021-03-09 17:27:23 +0000
commit13f4356d2f05c79a01e55b1bdd91d9a2dcf9c6f2 (patch)
treeaeabb6eb6e2a57aaeef4a7600e8388ff634911ec /crates/hir_def/src/body/lower.rs
parent8da50c907754d9af1dc4532938d7d72f34ec96bf (diff)
Store inner `BlockId`s in `Body`
Diffstat (limited to 'crates/hir_def/src/body/lower.rs')
-rw-r--r--crates/hir_def/src/body/lower.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/crates/hir_def/src/body/lower.rs b/crates/hir_def/src/body/lower.rs
index d4abe819d..c3aa1dc37 100644
--- a/crates/hir_def/src/body/lower.rs
+++ b/crates/hir_def/src/body/lower.rs
@@ -76,6 +76,7 @@ pub(super) fn lower(
76 labels: Arena::default(), 76 labels: Arena::default(),
77 params: Vec::new(), 77 params: Vec::new(),
78 body_expr: dummy_expr_id(), 78 body_expr: dummy_expr_id(),
79 block_scopes: Vec::new(),
79 item_scope: Default::default(), 80 item_scope: Default::default(),
80 _c: Count::new(), 81 _c: Count::new(),
81 }, 82 },
@@ -700,6 +701,8 @@ impl ExprCollector<'_> {
700 let block_loc = 701 let block_loc =
701 BlockLoc { ast_id, module: self.expander.def_map.module_id(self.expander.module) }; 702 BlockLoc { ast_id, module: self.expander.def_map.module_id(self.expander.module) };
702 let block_id = self.db.intern_block(block_loc); 703 let block_id = self.db.intern_block(block_loc);
704 self.body.block_scopes.push(block_id);
705
703 let opt_def_map = self.db.block_def_map(block_id); 706 let opt_def_map = self.db.block_def_map(block_id);
704 let has_def_map = opt_def_map.is_some(); 707 let has_def_map = opt_def_map.is_some();
705 let def_map = opt_def_map.unwrap_or_else(|| self.expander.def_map.clone()); 708 let def_map = opt_def_map.unwrap_or_else(|| self.expander.def_map.clone());