aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def/src/body.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir_def/src/body.rs')
-rw-r--r--crates/ra_hir_def/src/body.rs13
1 files changed, 9 insertions, 4 deletions
diff --git a/crates/ra_hir_def/src/body.rs b/crates/ra_hir_def/src/body.rs
index 269501221..7e84e9113 100644
--- a/crates/ra_hir_def/src/body.rs
+++ b/crates/ra_hir_def/src/body.rs
@@ -18,12 +18,18 @@ use crate::{
18 18
19pub struct MacroResolver { 19pub struct MacroResolver {
20 crate_def_map: Arc<CrateDefMap>, 20 crate_def_map: Arc<CrateDefMap>,
21 current_file_id: HirFileId,
21 module: ModuleId, 22 module: ModuleId,
22} 23}
23 24
24impl MacroResolver { 25impl MacroResolver {
25 pub fn new(db: &impl DefDatabase2, module: ModuleId) -> MacroResolver { 26 pub fn new(
26 MacroResolver { crate_def_map: db.crate_def_map(module.krate), module } 27 db: &impl DefDatabase2,
28 current_file_id: HirFileId,
29 module: ModuleId,
30 ) -> MacroResolver {
31 let crate_def_map = db.crate_def_map(module.krate);
32 MacroResolver { crate_def_map, current_file_id, module }
27 } 33 }
28 34
29 fn resolve_path_as_macro(&self, db: &impl DefDatabase2, path: &Path) -> Option<MacroDefId> { 35 fn resolve_path_as_macro(&self, db: &impl DefDatabase2, path: &Path) -> Option<MacroDefId> {
@@ -77,11 +83,10 @@ impl Body {
77 pub fn new( 83 pub fn new(
78 db: &impl DefDatabase2, 84 db: &impl DefDatabase2,
79 resolver: MacroResolver, 85 resolver: MacroResolver,
80 file_id: HirFileId,
81 params: Option<ast::ParamList>, 86 params: Option<ast::ParamList>,
82 body: Option<ast::Expr>, 87 body: Option<ast::Expr>,
83 ) -> (Body, BodySourceMap) { 88 ) -> (Body, BodySourceMap) {
84 lower::lower(db, resolver, file_id, params, body) 89 lower::lower(db, resolver, params, body)
85 } 90 }
86 91
87 pub fn params(&self) -> &[PatId] { 92 pub fn params(&self) -> &[PatId] {