mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
more daemon reactivity during contract inference
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
+2
-3
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user