From cfc0226642460985e2ca1f2d3be9d12af1432d8c Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Sat, 19 Sep 2015 15:19:55 +0300 Subject: [PATCH] more checkCanceled --- .../intellij/psi/impl/FindSuperElementsHelper.java | 4 ++++ .../psi/impl/search/JavaClassInheritorsSearcher.java | 7 ++++--- .../impl/search/JavaDirectInheritorsSearcher.java | 12 ++++++++---- .../psi/impl/search/MethodUsagesSearcher.java | 4 ++-- .../src/com/intellij/util/ExecutorsQuery.java | 4 +++- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/java/java-analysis-impl/src/com/intellij/psi/impl/FindSuperElementsHelper.java b/java/java-analysis-impl/src/com/intellij/psi/impl/FindSuperElementsHelper.java index 7d5bfda6dfec..8a468bd71614 100644 --- a/java/java-analysis-impl/src/com/intellij/psi/impl/FindSuperElementsHelper.java +++ b/java/java-analysis-impl/src/com/intellij/psi/impl/FindSuperElementsHelper.java @@ -15,6 +15,7 @@ */ package com.intellij.psi.impl; +import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.Ref; import com.intellij.psi.*; @@ -84,11 +85,14 @@ public class FindSuperElementsHelper { ClassInheritorsSearch.search(containingClass, containingClass.getUseScope(), true, true, false).forEach(new Processor() { @Override public boolean process(PsiClass inheritor) { + ProgressManager.checkCanceled(); for (PsiClassType interfaceType : inheritor.getImplementsListTypes()) { + ProgressManager.checkCanceled(); PsiClassType.ClassResolveResult resolved = interfaceType.resolveGenerics(); PsiClass anInterface = resolved.getElement(); if (anInterface == null || !checkedInterfaces.add(PsiAnchor.create(anInterface))) continue; for (PsiMethod superMethod : anInterface.findMethodsByName(method.getName(), true)) { + ProgressManager.checkCanceled(); PsiClass superInterface = superMethod.getContainingClass(); if (superInterface == null) { continue; diff --git a/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaClassInheritorsSearcher.java b/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaClassInheritorsSearcher.java index 7846f74651e2..b6f1d08b2111 100644 --- a/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaClassInheritorsSearcher.java +++ b/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaClassInheritorsSearcher.java @@ -21,6 +21,7 @@ import com.intellij.openapi.application.ReadActionProcessor; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.ProgressIndicatorProvider; +import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Computable; import com.intellij.openapi.util.Ref; @@ -81,7 +82,7 @@ public class JavaClassInheritorsSearcher extends QueryExecutorBase() { @Override public boolean process(final PsiClass aClass) { - ProgressIndicatorProvider.checkCanceled(); + ProgressManager.checkCanceled(); return isJavaLangObject(aClass) || consumer.process(aClass); } }); @@ -95,7 +96,7 @@ public class JavaClassInheritorsSearcher extends QueryExecutorBase processor = new ReadActionProcessor() { @Override public boolean processInReadAction(PsiClass candidate) { - ProgressIndicatorProvider.checkCanceled(); + ProgressManager.checkCanceled(); if (parameters.isCheckInheritance() || parameters.isCheckDeep() && !(candidate instanceof PsiAnonymousClass)) { if (!candidate.isInheritor(currentBase.get(), false)) { @@ -130,7 +131,7 @@ public class JavaClassInheritorsSearcher extends QueryExecutorBase() { @Override public boolean process(final PsiClass psiClass) { + ProgressManager.checkCanceled(); if (psiClass.isInterface()) { return consumer.process(psiClass); } @@ -113,7 +114,7 @@ public class JavaDirectInheritorsSearcher implements QueryExecutor> classes = new HashMap>(); for (final PsiReferenceList referenceList : candidates) { - ProgressIndicatorProvider.checkCanceled(); + ProgressManager.checkCanceled(); final PsiClass candidate = (PsiClass)ApplicationManager.getApplication().runReadAction(new Computable() { @Override public PsiElement compute() { @@ -139,6 +140,7 @@ public class JavaDirectInheritorsSearcher implements QueryExecutor sameNamedClasses : classes.values()) { + ProgressManager.checkCanceled(); if (!processSameNamedClasses(consumer, sameNamedClasses, jarFile)) return false; } } @@ -155,7 +157,7 @@ public class JavaDirectInheritorsSearcher implements QueryExecutor() { @@ -210,6 +213,7 @@ public class JavaDirectInheritorsSearcher implements QueryExecutor 1) { for (PsiClass sameNamedClass : sameNamedClasses) { + ProgressManager.checkCanceled(); boolean fromSameJar = Comparing.equal(getJarFile(sameNamedClass), jarFile); if (fromSameJar) { sameJarClassFound = true; diff --git a/java/java-indexing-impl/src/com/intellij/psi/impl/search/MethodUsagesSearcher.java b/java/java-indexing-impl/src/com/intellij/psi/impl/search/MethodUsagesSearcher.java index 8ab27b1b4286..0bc09d7b52f7 100644 --- a/java/java-indexing-impl/src/com/intellij/psi/impl/search/MethodUsagesSearcher.java +++ b/java/java-indexing-impl/src/com/intellij/psi/impl/search/MethodUsagesSearcher.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2013 JetBrains s.r.o. + * Copyright 2000-2015 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -119,7 +119,7 @@ public class MethodUsagesSearcher extends QueryExecutorBase T resolveInReadAction(@NotNull Project p, Computable computable) { + static T resolveInReadAction(@NotNull Project p, @NotNull Computable computable) { return ApplicationManager.getApplication().isReadAccessAllowed() ? computable.compute() : DumbService.getInstance(p).runReadActionInSmartMode(computable); } diff --git a/platform/core-api/src/com/intellij/util/ExecutorsQuery.java b/platform/core-api/src/com/intellij/util/ExecutorsQuery.java index 1b4bedc24fbb..fda929cc77ab 100644 --- a/platform/core-api/src/com/intellij/util/ExecutorsQuery.java +++ b/platform/core-api/src/com/intellij/util/ExecutorsQuery.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2015 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,6 +17,7 @@ package com.intellij.util; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.progress.ProcessCanceledException; +import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.IndexNotReadyException; import org.jetbrains.annotations.NotNull; @@ -40,6 +41,7 @@ public final class ExecutorsQuery extends AbstractQuery consumer) { for (QueryExecutor executor : myExecutors) { try { + ProgressManager.checkCanceled(); if (!executor.execute(myParameters, consumer)) { return false; }