diff options
Diffstat (limited to 'crates/hir_def/src/data.rs')
-rw-r--r-- | crates/hir_def/src/data.rs | 24 |
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 { | |||
115 | impl TraitData { | 115 | impl 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 { | |||
202 | impl ConstData { | 202 | impl 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 { | |||
225 | impl StaticData { | 225 | impl 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( |