mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
usage view - reduce usage of com.intellij.openapi.util.Factory
GitOrigin-RevId: d91139cbaf328ed536f4ad9db84aafbcbad64305
This commit is contained in:
committed by
intellij-monorepo-bot
parent
c7b029752c
commit
5f3b22977c
@@ -160,7 +160,7 @@ c:com.intellij.usages.impl.UsageViewManagerImpl
|
||||
- s:getProgressTitle(com.intellij.usages.UsageViewPresentation):java.lang.String
|
||||
- getSelectedUsageView():com.intellij.usages.UsageView
|
||||
- searchAndShowUsages(com.intellij.usages.UsageTarget[],com.intellij.openapi.util.Factory,com.intellij.usages.FindUsagesProcessPresentation,com.intellij.usages.UsageViewPresentation,com.intellij.usages.UsageViewManager$UsageViewStateListener):V
|
||||
- searchAndShowUsages(com.intellij.usages.UsageTarget[],com.intellij.openapi.util.Factory,Z,Z,com.intellij.usages.UsageViewPresentation,com.intellij.usages.UsageViewManager$UsageViewStateListener):com.intellij.usages.UsageView
|
||||
- searchAndShowUsages(com.intellij.usages.UsageTarget[],java.util.function.Supplier,Z,Z,com.intellij.usages.UsageViewPresentation,com.intellij.usages.UsageViewManager$UsageViewStateListener):com.intellij.usages.UsageView
|
||||
- showUsages(com.intellij.usages.UsageTarget[],com.intellij.usages.Usage[],com.intellij.usages.UsageViewPresentation):com.intellij.usages.UsageView
|
||||
- showUsages(com.intellij.usages.UsageTarget[],com.intellij.usages.Usage[],com.intellij.usages.UsageViewPresentation,com.intellij.openapi.util.Factory):com.intellij.usages.UsageView
|
||||
c:com.intellij.usages.impl.rules.FileGroupingRule
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.usages.impl;
|
||||
|
||||
import com.intellij.diagnostic.PerformanceWatcher;
|
||||
@@ -23,7 +23,6 @@ import com.intellij.openapi.progress.util.TooManyUsagesStatus;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.MessageType;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.Factory;
|
||||
import com.intellij.openapi.util.NlsSafe;
|
||||
import com.intellij.openapi.util.Segment;
|
||||
import com.intellij.openapi.util.text.HtmlBuilder;
|
||||
@@ -57,6 +56,7 @@ import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
final class SearchForUsagesRunnable implements Runnable {
|
||||
@NonNls private static final String FIND_OPTIONS_HREF_TARGET = "FindOptions";
|
||||
@@ -70,7 +70,7 @@ final class SearchForUsagesRunnable implements Runnable {
|
||||
private final AtomicReference<UsageViewEx> myUsageViewRef;
|
||||
private final UsageViewPresentation myPresentation;
|
||||
private final UsageTarget[] mySearchFor;
|
||||
private final Factory<? extends UsageSearcher> mySearcherFactory;
|
||||
private final Supplier<? extends UsageSearcher> mySearcherFactory;
|
||||
private final FindUsagesProcessPresentation myProcessPresentation;
|
||||
@NotNull private final SearchScope mySearchScopeToWarnOfFallingOutOf;
|
||||
private final UsageViewManager.UsageViewStateListener myListener;
|
||||
@@ -84,7 +84,7 @@ final class SearchForUsagesRunnable implements Runnable {
|
||||
@NotNull AtomicReference<UsageViewEx> usageViewRef,
|
||||
@NotNull UsageViewPresentation presentation,
|
||||
UsageTarget @NotNull [] searchFor,
|
||||
@NotNull Factory<? extends UsageSearcher> searcherFactory,
|
||||
@NotNull Supplier<? extends UsageSearcher> searcherFactory,
|
||||
@NotNull FindUsagesProcessPresentation processPresentation,
|
||||
@NotNull SearchScope searchScopeToWarnOfFallingOutOf,
|
||||
@Nullable UsageViewManager.UsageViewStateListener listener,
|
||||
@@ -299,7 +299,7 @@ final class SearchForUsagesRunnable implements Runnable {
|
||||
return null;
|
||||
}
|
||||
|
||||
UsageViewEx usageView = myUsageViewManager.createUsageView(mySearchFor, Usage.EMPTY_ARRAY, myPresentation, mySearcherFactory);
|
||||
UsageViewEx usageView = myUsageViewManager.createUsageView(mySearchFor, Usage.EMPTY_ARRAY, myPresentation, mySearcherFactory::get);
|
||||
if (myUsageViewRef.compareAndSet(null, usageView)) {
|
||||
// associate progress only if created successfully, otherwise Dispose will cancel the actual progress, see IDEA-195542
|
||||
PsiElement element = getPsiElement(mySearchFor);
|
||||
@@ -363,7 +363,7 @@ final class SearchForUsagesRunnable implements Runnable {
|
||||
}
|
||||
TooManyUsagesStatus.createFor(indicator);
|
||||
|
||||
UsageSearcher usageSearcher = mySearcherFactory.create();
|
||||
UsageSearcher usageSearcher = mySearcherFactory.get();
|
||||
long startSearchStamp = System.currentTimeMillis();
|
||||
GlobalSearchScope everythingScope = GlobalSearchScope.everythingScope(myProject);
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ public class UsageViewImpl implements UsageViewEx {
|
||||
private final UsageTarget[] myTargets;
|
||||
private UsageGroupingRule[] myGroupingRules;
|
||||
private final UsageFilteringRuleState myFilteringRulesState = UsageFilteringRuleStateService.createFilteringRuleState();
|
||||
private final Factory<? extends UsageSearcher> myUsageSearcherFactory;
|
||||
private final Supplier<? extends UsageSearcher> myUsageSearcherFactory;
|
||||
private final @NotNull Project myProject;
|
||||
|
||||
private volatile boolean mySearchInProgress = true;
|
||||
@@ -197,7 +197,7 @@ public class UsageViewImpl implements UsageViewEx {
|
||||
@NotNull CoroutineScope coroutineScope,
|
||||
@NotNull UsageViewPresentation presentation,
|
||||
UsageTarget @NotNull [] targets,
|
||||
@Nullable Factory<? extends UsageSearcher> usageSearcherFactory) {
|
||||
@Nullable Supplier<? extends UsageSearcher> usageSearcherFactory) {
|
||||
this.coroutineScope = coroutineScope;
|
||||
// fire events every 50 ms, not more often to batch requests
|
||||
myUniqueIdentifier = COUNTER.getAndIncrement();
|
||||
@@ -1778,7 +1778,7 @@ public class UsageViewImpl implements UsageViewEx {
|
||||
public boolean canPerformReRun() {
|
||||
if (myRerunAction != null && myRerunAction.isEnabled()) return allTargetsAreValid();
|
||||
try {
|
||||
return myUsageSearcherFactory != null && allTargetsAreValid() && myUsageSearcherFactory.create() != null;
|
||||
return myUsageSearcherFactory != null && allTargetsAreValid() && myUsageSearcherFactory.get() != null;
|
||||
}
|
||||
catch (PsiInvalidElementAccessException e) {
|
||||
return false;
|
||||
|
||||
@@ -140,7 +140,7 @@ public class UsageViewManagerImpl extends UsageViewManager {
|
||||
|
||||
@Override
|
||||
public @Nullable UsageView searchAndShowUsages(UsageTarget @NotNull [] searchFor,
|
||||
@NotNull Factory<? extends UsageSearcher> searcherFactory,
|
||||
@NotNull Supplier<? extends UsageSearcher> searcherFactory,
|
||||
boolean showPanelIfOnlyOneUsage,
|
||||
boolean showNotFoundMessage,
|
||||
@NotNull UsageViewPresentation presentation,
|
||||
@@ -153,7 +153,7 @@ public class UsageViewManagerImpl extends UsageViewManager {
|
||||
}
|
||||
|
||||
private UsageView doSearchAndShow(UsageTarget @NotNull [] searchFor,
|
||||
@NotNull Factory<? extends UsageSearcher> searcherFactory,
|
||||
@NotNull Supplier<? extends UsageSearcher> searcherFactory,
|
||||
@NotNull UsageViewPresentation presentation,
|
||||
@NotNull FindUsagesProcessPresentation processPresentation,
|
||||
@Nullable UsageViewStateListener listener) {
|
||||
|
||||
@@ -349,7 +349,7 @@ a:com.intellij.usages.UsageViewManager
|
||||
- a:getSelectedUsageView():com.intellij.usages.UsageView
|
||||
- s:isSelfUsage(com.intellij.usages.Usage,com.intellij.usages.UsageTarget[]):Z
|
||||
- a:searchAndShowUsages(com.intellij.usages.UsageTarget[],com.intellij.openapi.util.Factory,com.intellij.usages.FindUsagesProcessPresentation,com.intellij.usages.UsageViewPresentation,com.intellij.usages.UsageViewManager$UsageViewStateListener):V
|
||||
- a:searchAndShowUsages(com.intellij.usages.UsageTarget[],com.intellij.openapi.util.Factory,Z,Z,com.intellij.usages.UsageViewPresentation,com.intellij.usages.UsageViewManager$UsageViewStateListener):com.intellij.usages.UsageView
|
||||
- a:searchAndShowUsages(com.intellij.usages.UsageTarget[],java.util.function.Supplier,Z,Z,com.intellij.usages.UsageViewPresentation,com.intellij.usages.UsageViewManager$UsageViewStateListener):com.intellij.usages.UsageView
|
||||
- a:showUsages(com.intellij.usages.UsageTarget[],com.intellij.usages.Usage[],com.intellij.usages.UsageViewPresentation):com.intellij.usages.UsageView
|
||||
- a:showUsages(com.intellij.usages.UsageTarget[],com.intellij.usages.Usage[],com.intellij.usages.UsageViewPresentation,com.intellij.openapi.util.Factory):com.intellij.usages.UsageView
|
||||
com.intellij.usages.UsageViewManager$UsageViewStateListener
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.usages;
|
||||
|
||||
|
||||
@@ -10,6 +10,8 @@ import com.intellij.usages.rules.PsiElementUsage;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public abstract class UsageViewManager {
|
||||
public static UsageViewManager getInstance (Project project) {
|
||||
return project.getService(UsageViewManager.class);
|
||||
@@ -31,7 +33,7 @@ public abstract class UsageViewManager {
|
||||
|
||||
@Nullable ("returns null in case of no usages found or usage view not shown for one usage")
|
||||
public abstract UsageView searchAndShowUsages(UsageTarget @NotNull [] searchFor,
|
||||
@NotNull Factory<? extends UsageSearcher> searcherFactory,
|
||||
@NotNull Supplier<? extends UsageSearcher> searcherFactory,
|
||||
boolean showPanelIfOnlyOneUsage,
|
||||
boolean showNotFoundMessage,
|
||||
@NotNull UsageViewPresentation presentation,
|
||||
|
||||
Reference in New Issue
Block a user