Skip to content

Commit 831bb1c

Browse files
committed
refactor: use attrsOwner directly in is_cfg_enabled
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
1 parent 15de338 commit 831bb1c

File tree

4 files changed

+15
-22
lines changed

4 files changed

+15
-22
lines changed

crates/ra_hir_def/src/adt.rs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -118,11 +118,12 @@ fn lower_enum(
118118
module_id: ModuleId,
119119
) {
120120
let expander = CfgExpander::new(db, ast.file_id, module_id.krate);
121-
let variants =
122-
ast.value.variant_list().into_iter().flat_map(|it| it.variants()).filter(|var| {
123-
let attrs = expander.parse_attrs(var);
124-
expander.is_cfg_enabled(&attrs)
125-
});
121+
let variants = ast
122+
.value
123+
.variant_list()
124+
.into_iter()
125+
.flat_map(|it| it.variants())
126+
.filter(|var| expander.is_cfg_enabled(var));
126127
for var in variants {
127128
trace.alloc(
128129
|| var.clone(),
@@ -215,8 +216,7 @@ fn lower_struct(
215216
match &ast.value {
216217
ast::StructKind::Tuple(fl) => {
217218
for (i, fd) in fl.fields().enumerate() {
218-
let attrs = expander.parse_attrs(&fd);
219-
if !expander.is_cfg_enabled(&attrs) {
219+
if !expander.is_cfg_enabled(&fd) {
220220
continue;
221221
}
222222

@@ -233,8 +233,7 @@ fn lower_struct(
233233
}
234234
ast::StructKind::Record(fl) => {
235235
for fd in fl.fields() {
236-
let attrs = expander.parse_attrs(&fd);
237-
if !expander.is_cfg_enabled(&attrs) {
236+
if !expander.is_cfg_enabled(&fd) {
238237
continue;
239238
}
240239

crates/ra_hir_def/src/body.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ impl CfgExpander {
6060
Attrs::new(owner, &self.hygiene)
6161
}
6262

63-
pub(crate) fn is_cfg_enabled(&self, attrs: &Attrs) -> bool {
63+
pub(crate) fn is_cfg_enabled(&self, owner: &dyn ast::AttrsOwner) -> bool {
64+
let attrs = self.parse_attrs(owner);
6465
attrs.is_cfg_enabled(&self.cfg_options)
6566
}
6667
}
@@ -141,12 +142,8 @@ impl Expander {
141142
InFile { file_id: self.current_file_id, value }
142143
}
143144

144-
pub(crate) fn parse_attrs(&self, owner: &dyn ast::AttrsOwner) -> Attrs {
145-
self.cfg_expander.parse_attrs(owner)
146-
}
147-
148-
pub(crate) fn is_cfg_enabled(&self, attrs: &Attrs) -> bool {
149-
self.cfg_expander.is_cfg_enabled(attrs)
145+
pub(crate) fn is_cfg_enabled(&self, owner: &dyn ast::AttrsOwner) -> bool {
146+
self.cfg_expander.is_cfg_enabled(owner)
150147
}
151148

152149
fn parse_path(&mut self, path: ast::Path) -> Option<Path> {

crates/ra_hir_def/src/body/lower.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,7 @@ impl ExprCollector<'_> {
162162

163163
fn collect_expr(&mut self, expr: ast::Expr) -> ExprId {
164164
let syntax_ptr = AstPtr::new(&expr);
165-
let attrs = self.expander.parse_attrs(&expr);
166-
if !self.expander.is_cfg_enabled(&attrs) {
165+
if !self.expander.is_cfg_enabled(&expr) {
167166
return self.missing_expr();
168167
}
169168
match expr {
@@ -329,8 +328,7 @@ impl ExprCollector<'_> {
329328
.fields()
330329
.inspect(|field| field_ptrs.push(AstPtr::new(field)))
331330
.filter_map(|field| {
332-
let attrs = self.expander.parse_attrs(&field);
333-
if !self.expander.is_cfg_enabled(&attrs) {
331+
if !self.expander.is_cfg_enabled(&field) {
334332
return None;
335333
}
336334
let name = field.field_name()?.as_name();

crates/ra_hir_def/src/data.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -335,8 +335,7 @@ fn collect_items(
335335
.filter_map(|item_node| match item_node {
336336
ast::ImplItem::FnDef(it) => {
337337
let name = it.name().map_or_else(Name::missing, |it| it.as_name());
338-
let attrs = expander.parse_attrs(&it);
339-
if !expander.is_cfg_enabled(&attrs) {
338+
if !expander.is_cfg_enabled(&it) {
340339
return None;
341340
}
342341
let def = FunctionLoc { container, ast_id: AstId::new(file_id, items.ast_id(&it)) }

0 commit comments

Comments
 (0)