aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_def/src/data.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/hir_def/src/data.rs')
-rw-r--r--crates/hir_def/src/data.rs24
1 files changed, 12 insertions, 12 deletions
diff --git a/crates/hir_def/src/data.rs b/crates/hir_def/src/data.rs
index fefc31129..0be868ba2 100644
--- a/crates/hir_def/src/data.rs
+++ b/crates/hir_def/src/data.rs
@@ -38,7 +38,7 @@ impl FunctionData {
38 let krate = loc.container.module(db).krate; 38 let krate = loc.container.module(db).krate;
39 let crate_graph = db.crate_graph(); 39 let crate_graph = db.crate_graph();
40 let cfg_options = &crate_graph[krate].cfg_options; 40 let cfg_options = &crate_graph[krate].cfg_options;
41 let item_tree = db.item_tree(loc.id.file_id); 41 let item_tree = loc.id.item_tree(db);
42 let func = &item_tree[loc.id.value]; 42 let func = &item_tree[loc.id.value];
43 43
44 let enabled_params = func 44 let enabled_params = func
@@ -89,7 +89,7 @@ impl TypeAliasData {
89 typ: TypeAliasId, 89 typ: TypeAliasId,
90 ) -> Arc<TypeAliasData> { 90 ) -> Arc<TypeAliasData> {
91 let loc = typ.lookup(db); 91 let loc = typ.lookup(db);
92 let item_tree = db.item_tree(loc.id.file_id); 92 let item_tree = loc.id.item_tree(db);
93 let typ = &item_tree[loc.id.value]; 93 let typ = &item_tree[loc.id.value];
94 94
95 Arc::new(TypeAliasData { 95 Arc::new(TypeAliasData {
@@ -115,23 +115,23 @@ pub struct TraitData {
115impl TraitData { 115impl TraitData {
116 pub(crate) fn trait_data_query(db: &dyn DefDatabase, tr: TraitId) -> Arc<TraitData> { 116 pub(crate) fn trait_data_query(db: &dyn DefDatabase, tr: TraitId) -> Arc<TraitData> {
117 let tr_loc = tr.lookup(db); 117 let tr_loc = tr.lookup(db);
118 let item_tree = db.item_tree(tr_loc.id.file_id); 118 let item_tree = tr_loc.id.item_tree(db);
119 let tr_def = &item_tree[tr_loc.id.value]; 119 let tr_def = &item_tree[tr_loc.id.value];
120 let name = tr_def.name.clone(); 120 let name = tr_def.name.clone();
121 let is_auto = tr_def.is_auto; 121 let is_auto = tr_def.is_auto;
122 let is_unsafe = tr_def.is_unsafe; 122 let is_unsafe = tr_def.is_unsafe;
123 let module_id = tr_loc.container; 123 let module_id = tr_loc.container;
124 let container = AssocContainerId::TraitId(tr); 124 let container = AssocContainerId::TraitId(tr);
125 let mut expander = Expander::new(db, tr_loc.id.file_id, module_id);
126 let visibility = item_tree[tr_def.visibility].clone(); 125 let visibility = item_tree[tr_def.visibility].clone();
127 let bounds = tr_def.bounds.clone(); 126 let bounds = tr_def.bounds.clone();
127 let mut expander = Expander::new(db, tr_loc.id.file_id(), module_id);
128 128
129 let items = collect_items( 129 let items = collect_items(
130 db, 130 db,
131 module_id, 131 module_id,
132 &mut expander, 132 &mut expander,
133 tr_def.items.iter().copied(), 133 tr_def.items.iter().copied(),
134 tr_loc.id.file_id, 134 tr_loc.id.file_id(),
135 container, 135 container,
136 100, 136 100,
137 ); 137 );
@@ -167,21 +167,21 @@ impl ImplData {
167 let _p = profile::span("impl_data_query"); 167 let _p = profile::span("impl_data_query");
168 let impl_loc = id.lookup(db); 168 let impl_loc = id.lookup(db);
169 169
170 let item_tree = db.item_tree(impl_loc.id.file_id); 170 let item_tree = impl_loc.id.item_tree(db);
171 let impl_def = &item_tree[impl_loc.id.value]; 171 let impl_def = &item_tree[impl_loc.id.value];
172 let target_trait = impl_def.target_trait.map(|id| item_tree[id].clone()); 172 let target_trait = impl_def.target_trait.map(|id| item_tree[id].clone());
173 let target_type = item_tree[impl_def.target_type].clone(); 173 let target_type = item_tree[impl_def.target_type].clone();
174 let is_negative = impl_def.is_negative; 174 let is_negative = impl_def.is_negative;
175 let module_id = impl_loc.container; 175 let module_id = impl_loc.container;
176 let container = AssocContainerId::ImplId(id); 176 let container = AssocContainerId::ImplId(id);
177 let mut expander = Expander::new(db, impl_loc.id.file_id, module_id); 177 let mut expander = Expander::new(db, impl_loc.id.file_id(), module_id);
178 178
179 let items = collect_items( 179 let items = collect_items(
180 db, 180 db,
181 module_id, 181 module_id,
182 &mut expander, 182 &mut expander,
183 impl_def.items.iter().copied(), 183 impl_def.items.iter().copied(),
184 impl_loc.id.file_id, 184 impl_loc.id.file_id(),
185 container, 185 container,
186 100, 186 100,
187 ); 187 );
@@ -202,7 +202,7 @@ pub struct ConstData {
202impl ConstData { 202impl ConstData {
203 pub(crate) fn const_data_query(db: &dyn DefDatabase, konst: ConstId) -> Arc<ConstData> { 203 pub(crate) fn const_data_query(db: &dyn DefDatabase, konst: ConstId) -> Arc<ConstData> {
204 let loc = konst.lookup(db); 204 let loc = konst.lookup(db);
205 let item_tree = db.item_tree(loc.id.file_id); 205 let item_tree = loc.id.item_tree(db);
206 let konst = &item_tree[loc.id.value]; 206 let konst = &item_tree[loc.id.value];
207 207
208 Arc::new(ConstData { 208 Arc::new(ConstData {
@@ -225,7 +225,7 @@ pub struct StaticData {
225impl StaticData { 225impl StaticData {
226 pub(crate) fn static_data_query(db: &dyn DefDatabase, konst: StaticId) -> Arc<StaticData> { 226 pub(crate) fn static_data_query(db: &dyn DefDatabase, konst: StaticId) -> Arc<StaticData> {
227 let node = konst.lookup(db); 227 let node = konst.lookup(db);
228 let item_tree = db.item_tree(node.id.file_id); 228 let item_tree = node.id.item_tree(db);
229 let statik = &item_tree[node.id.value]; 229 let statik = &item_tree[node.id.value];
230 230
231 Arc::new(StaticData { 231 Arc::new(StaticData {
@@ -251,7 +251,7 @@ fn collect_items(
251 return Vec::new(); 251 return Vec::new();
252 } 252 }
253 253
254 let item_tree = db.item_tree(file_id); 254 let item_tree = db.file_item_tree(file_id);
255 let crate_graph = db.crate_graph(); 255 let crate_graph = db.crate_graph();
256 let cfg_options = &crate_graph[module.krate].cfg_options; 256 let cfg_options = &crate_graph[module.krate].cfg_options;
257 257
@@ -292,7 +292,7 @@ fn collect_items(
292 if let Ok(res) = res { 292 if let Ok(res) = res {
293 if let Some((mark, mac)) = res.value { 293 if let Some((mark, mac)) = res.value {
294 let src: InFile<ast::MacroItems> = expander.to_source(mac); 294 let src: InFile<ast::MacroItems> = expander.to_source(mac);
295 let item_tree = db.item_tree(src.file_id); 295 let item_tree = db.file_item_tree(src.file_id);
296 let iter = 296 let iter =
297 item_tree.top_level_items().iter().filter_map(ModItem::as_assoc_item); 297 item_tree.top_level_items().iter().filter_map(ModItem::as_assoc_item);
298 items.extend(collect_items( 298 items.extend(collect_items(