From 4f07d8dd587c24bca8622ee8c39e5a1e156825b4 Mon Sep 17 00:00:00 2001 From: Jonas Schievink Date: Fri, 18 Dec 2020 00:23:46 +0100 Subject: Refactor attributes API to allow handling cfg_attr --- crates/hir_def/src/data.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'crates/hir_def/src/data.rs') diff --git a/crates/hir_def/src/data.rs b/crates/hir_def/src/data.rs index dd3a906af..e7b7724f7 100644 --- a/crates/hir_def/src/data.rs +++ b/crates/hir_def/src/data.rs @@ -35,6 +35,7 @@ pub struct FunctionData { impl FunctionData { pub(crate) fn fn_data_query(db: &dyn DefDatabase, func: FunctionId) -> Arc { let loc = func.lookup(db); + let krate = loc.container.module(db).krate; let item_tree = db.item_tree(loc.id.file_id); let func = &item_tree[loc.id.value]; @@ -42,7 +43,7 @@ impl FunctionData { name: func.name.clone(), params: func.params.to_vec(), ret_type: func.ret_type.clone(), - attrs: item_tree.attrs(ModItem::from(loc.id.value).into()).clone(), + attrs: item_tree.attrs(db, krate, ModItem::from(loc.id.value).into()).clone(), has_self_param: func.has_self_param, has_body: func.has_body, is_unsafe: func.is_unsafe, @@ -233,7 +234,7 @@ fn collect_items( match item { AssocItem::Function(id) => { let item = &item_tree[id]; - let attrs = item_tree.attrs(ModItem::from(id).into()); + let attrs = item_tree.attrs(db, module.krate, ModItem::from(id).into()); if !attrs.is_cfg_enabled(&cfg_options) { continue; } -- cgit v1.2.3