Skip to content

Commit 4d4ac1d

Browse files
Profile import_assets better
1 parent 821e836 commit 4d4ac1d

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

crates/ide_db/src/helpers/import_assets.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,7 @@ impl<'a> ImportAssets<'a> {
244244
prefixed: Option<PrefixKind>,
245245
defs_for_candidate_name: impl Iterator<Item = Either<ModuleDef, MacroDef>>,
246246
) -> FxHashSet<LocatedImport> {
247+
let _p = profile::span("import_assets::applicable_defs");
247248
let current_crate = self.module_with_candidate.krate();
248249

249250
let mod_path = |item| get_mod_path(db, item, &self.module_with_candidate, prefixed);
@@ -278,6 +279,8 @@ fn path_applicable_imports(
278279
mod_path: impl Fn(ItemInNs) -> Option<ModPath> + Copy,
279280
defs_for_candidate_name: impl Iterator<Item = Either<ModuleDef, MacroDef>>,
280281
) -> FxHashSet<LocatedImport> {
282+
let _p = profile::span("import_assets::path_applicable_imports");
283+
281284
let items_for_candidate_name =
282285
defs_for_candidate_name.map(|def| def.either(ItemInNs::from, ItemInNs::from));
283286

@@ -306,6 +309,7 @@ fn import_for_item(
306309
unresolved_qualifier: &str,
307310
original_item: ItemInNs,
308311
) -> Option<LocatedImport> {
312+
let _p = profile::span("import_assets::import_for_item");
309313
let (item_candidate, trait_to_import) = match original_item.as_module_def_id() {
310314
Some(module_def_id) => {
311315
match ModuleDef::from(module_def_id).as_assoc_item(db).map(|assoc| assoc.container(db))
@@ -397,6 +401,7 @@ fn trait_applicable_items(
397401
mod_path: impl Fn(ItemInNs) -> Option<ModPath>,
398402
defs_for_candidate_name: impl Iterator<Item = Either<ModuleDef, MacroDef>>,
399403
) -> FxHashSet<LocatedImport> {
404+
let _p = profile::span("import_assets::trait_applicable_items");
400405
let mut required_assoc_items = FxHashSet::default();
401406

402407
let trait_candidates = defs_for_candidate_name

0 commit comments

Comments
 (0)