From db9ae01faea85d07b740d67334da4951ea6b21bb Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 7 Feb 2018 18:11:56 +0100 Subject: [PATCH] more daemon reactivity during contract inference --- .../src/com/intellij/psi/impl/source/FileLocalResolver.java | 2 ++ .../source/tree/RecursiveLighterASTNodeWalkingVisitor.java | 5 ++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/FileLocalResolver.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/FileLocalResolver.java index d5c76bffecf4..009f469a41e5 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/FileLocalResolver.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/FileLocalResolver.java @@ -17,6 +17,7 @@ package com.intellij.psi.impl.source; import com.intellij.lang.LighterAST; import com.intellij.lang.LighterASTNode; +import com.intellij.openapi.progress.ProgressManager; import com.intellij.psi.JavaTokenType; import com.intellij.psi.impl.source.tree.ElementType; import com.intellij.psi.impl.source.tree.LightTreeUtil; @@ -59,6 +60,7 @@ public class FileLocalResolver { boolean passedClass = false; LighterASTNode lastParent = ref; while (true) { + ProgressManager.checkCanceled(); LighterASTNode scope = myTree.getParent(lastParent); if (scope == null) return LightResolveResult.NON_LOCAL; diff --git a/platform/core-impl/src/com/intellij/psi/impl/source/tree/RecursiveLighterASTNodeWalkingVisitor.java b/platform/core-impl/src/com/intellij/psi/impl/source/tree/RecursiveLighterASTNodeWalkingVisitor.java index 3a8c11e25305..e05b1b109214 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/source/tree/RecursiveLighterASTNodeWalkingVisitor.java +++ b/platform/core-impl/src/com/intellij/psi/impl/source/tree/RecursiveLighterASTNodeWalkingVisitor.java @@ -20,13 +20,11 @@ import com.intellij.lang.LighterAST; import com.intellij.lang.LighterASTNode; import com.intellij.lang.LighterASTTokenNode; import com.intellij.lang.LighterLazyParseableNode; -import com.intellij.util.Function; +import com.intellij.openapi.progress.ProgressManager; import com.intellij.util.WalkingState; -import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.Stack; import org.jetbrains.annotations.NotNull; -import java.util.Collections; import java.util.List; public abstract class RecursiveLighterASTNodeWalkingVisitor extends LighterASTNodeVisitor { @@ -97,6 +95,7 @@ public abstract class RecursiveLighterASTNodeWalkingVisitor extends LighterASTNo @Override public void visit(@NotNull IndexedLighterASTNode iNode) { + ProgressManager.checkCanceled(); LighterASTNode element = iNode.node; RecursiveLighterASTNodeWalkingVisitor visitor = RecursiveLighterASTNodeWalkingVisitor.this; if (element instanceof LighterLazyParseableNode) {