mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-15 02:59:33 +07:00
Java: performance - avoid expensive inheritor searches
GitOrigin-RevId: 213914d469b705358a05f8361280b2b55eb19331
This commit is contained in:
committed by
intellij-monorepo-bot
parent
159cf612e9
commit
2960f7659b
@@ -18,6 +18,7 @@ import com.intellij.refactoring.util.RefactoringUIUtil;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.containers.MultiMap;
|
||||
import com.siyeh.IntentionPowerPackBundle;
|
||||
import com.siyeh.ig.psiutils.DeclarationSearchUtils;
|
||||
import one.util.streamex.EntryStream;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -107,9 +108,11 @@ public class ConvertInterfaceToClassIntention extends PsiBasedModCommandAction<P
|
||||
if (!aClass.isInterface() || aClass.isAnnotationType()) {
|
||||
return false;
|
||||
}
|
||||
if (DeclarationSearchUtils.isTooExpensiveToSearch(aClass, false)) {
|
||||
return false;
|
||||
}
|
||||
final SearchScope useScope = aClass.getUseScope();
|
||||
for (PsiClass inheritor :
|
||||
ClassInheritorsSearch.search(aClass, useScope, true)) {
|
||||
for (PsiClass inheritor : ClassInheritorsSearch.search(aClass, useScope, true)) {
|
||||
if (inheritor.isInterface()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user