mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
more checkCanceled
This commit is contained in:
+2
@@ -27,6 +27,7 @@ import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.editor.FoldingGroup;
|
||||
import com.intellij.openapi.progress.ProgressIndicatorProvider;
|
||||
import com.intellij.openapi.progress.ProgressManager;
|
||||
import com.intellij.openapi.project.DumbAware;
|
||||
import com.intellij.openapi.project.DumbService;
|
||||
import com.intellij.openapi.project.IndexNotReadyException;
|
||||
@@ -522,6 +523,7 @@ public abstract class JavaFoldingBuilderBase extends CustomFoldingBuilder implem
|
||||
|
||||
PsiClass[] classes = file.getClasses();
|
||||
for (PsiClass aClass : classes) {
|
||||
ProgressManager.checkCanceled();
|
||||
ProgressIndicatorProvider.checkCanceled();
|
||||
addElementsToFold(descriptors, aClass, document, true, quick);
|
||||
}
|
||||
|
||||
@@ -38,6 +38,7 @@ import com.intellij.openapi.editor.markup.SeparatorPlacement;
|
||||
import com.intellij.openapi.progress.EmptyProgressIndicator;
|
||||
import com.intellij.openapi.progress.ProcessCanceledException;
|
||||
import com.intellij.openapi.progress.ProgressIndicator;
|
||||
import com.intellij.openapi.progress.ProgressManager;
|
||||
import com.intellij.openapi.project.DumbAware;
|
||||
import com.intellij.openapi.project.DumbService;
|
||||
import com.intellij.openapi.project.IndexNotReadyException;
|
||||
@@ -163,12 +164,12 @@ public class LineMarkersPass extends TextEditorHighlightingPass implements LineM
|
||||
@NotNull ProgressIndicator progress) throws ProcessCanceledException {
|
||||
ApplicationManager.getApplication().assertReadAccessAllowed();
|
||||
//noinspection ForLoopReplaceableByForEach
|
||||
for (int i = 0, elementsSize = elements.size(); i < elementsSize; i++) {
|
||||
for (int i = 0; i < elements.size(); i++) {
|
||||
PsiElement element = elements.get(i);
|
||||
progress.checkCanceled();
|
||||
|
||||
//noinspection ForLoopReplaceableByForEach
|
||||
for (int j = 0, providersSize = providers.size(); j < providersSize; j++) {
|
||||
for (int j = 0; j < providers.size(); j++) {
|
||||
ProgressManager.checkCanceled();
|
||||
LineMarkerProvider provider = providers.get(j);
|
||||
LineMarkerInfo info;
|
||||
try {
|
||||
|
||||
@@ -24,6 +24,7 @@ import com.intellij.lang.Language;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.progress.ProcessCanceledException;
|
||||
import com.intellij.openapi.progress.ProgressIndicator;
|
||||
import com.intellij.openapi.progress.ProgressManager;
|
||||
import com.intellij.openapi.project.DumbAware;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
@@ -75,6 +76,7 @@ class SlowLineMarkersPass extends TextEditorHighlightingPass implements LineMark
|
||||
@NotNull List<LineMarkerInfo> result,
|
||||
@NotNull ProgressIndicator progress) throws ProcessCanceledException {
|
||||
for (LineMarkerProvider provider : providers) {
|
||||
ProgressManager.checkCanceled();
|
||||
provider.collectSlowLineMarkers(elements, result);
|
||||
}
|
||||
}
|
||||
|
||||
+10
-2
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.siyeh.ig.threading;
|
||||
|
||||
import com.intellij.openapi.progress.ProgressManager;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.search.SearchScope;
|
||||
@@ -202,14 +203,16 @@ class VariableAccessVisitor extends JavaRecursiveElementWalkingVisitor {
|
||||
new HashSet<PsiMethod>(usedMethods);
|
||||
boolean stabilized = false;
|
||||
while (!stabilized) {
|
||||
ProgressManager.checkCanceled();
|
||||
stabilized = true;
|
||||
final Set<PsiMethod> methodsDeterminedThisPass =
|
||||
new HashSet<PsiMethod>();
|
||||
for (PsiMethod method : remainingMethods) {
|
||||
final Collection<PsiReference> references =
|
||||
referenceMap.get(method);
|
||||
ProgressManager.checkCanceled();
|
||||
final Collection<PsiReference> references = referenceMap.get(method);
|
||||
boolean areAllReferencesSynchronized = true;
|
||||
for (PsiReference reference : references) {
|
||||
ProgressManager.checkCanceled();
|
||||
if (isKnownToBeUsed(reference)) {
|
||||
if (isInKnownUnsynchronizedContext(reference)) {
|
||||
methodsNotAlwaysSynchronized.add(method);
|
||||
@@ -242,13 +245,16 @@ class VariableAccessVisitor extends JavaRecursiveElementWalkingVisitor {
|
||||
new HashSet<PsiMethod>(privateMethods);
|
||||
boolean stabilized = false;
|
||||
while (!stabilized) {
|
||||
ProgressManager.checkCanceled();
|
||||
stabilized = true;
|
||||
final Set<PsiMethod> methodsDeterminedThisPass =
|
||||
new HashSet<PsiMethod>();
|
||||
for (PsiMethod method : remainingMethods) {
|
||||
ProgressManager.checkCanceled();
|
||||
final Collection<PsiReference> references =
|
||||
referenceMap.get(method);
|
||||
for (PsiReference reference : references) {
|
||||
ProgressManager.checkCanceled();
|
||||
if (isKnownToBeUsed(reference)) {
|
||||
usedMethods.add(method);
|
||||
methodsDeterminedThisPass.add(method);
|
||||
@@ -266,6 +272,7 @@ class VariableAccessVisitor extends JavaRecursiveElementWalkingVisitor {
|
||||
final HashMap<PsiMethod, Collection<PsiReference>> referenceMap =
|
||||
new HashMap<PsiMethod, Collection<PsiReference>>();
|
||||
for (PsiMethod method : privateMethods) {
|
||||
ProgressManager.checkCanceled();
|
||||
final SearchScope scope = method.getUseScope();
|
||||
final Collection<PsiReference> references =
|
||||
ReferencesSearch.search(method, scope).findAll();
|
||||
@@ -278,6 +285,7 @@ class VariableAccessVisitor extends JavaRecursiveElementWalkingVisitor {
|
||||
final Set<PsiMethod> privateMethods = new HashSet<PsiMethod>();
|
||||
final PsiMethod[] methods = aClass.getMethods();
|
||||
for (PsiMethod method : methods) {
|
||||
ProgressManager.checkCanceled();
|
||||
if (method.hasModifierProperty(PsiModifier.PRIVATE)) {
|
||||
privateMethods.add(method);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user