From c0dc2ea79b88a8f5f7faa210876a8f0f4fdf9cff Mon Sep 17 00:00:00 2001 From: Dmitry Batkovich Date: Wed, 18 Jan 2017 19:39:47 +0300 Subject: [PATCH] javac ast indices: do not close index for a project if compilation for other project was invoked --- .../CompilerReferenceServiceImpl.java | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/java/compiler/impl/src/com/intellij/compiler/backwardRefs/CompilerReferenceServiceImpl.java b/java/compiler/impl/src/com/intellij/compiler/backwardRefs/CompilerReferenceServiceImpl.java index 649135c5e9bf..7e71586dfd85 100644 --- a/java/compiler/impl/src/com/intellij/compiler/backwardRefs/CompilerReferenceServiceImpl.java +++ b/java/compiler/impl/src/com/intellij/compiler/backwardRefs/CompilerReferenceServiceImpl.java @@ -94,8 +94,10 @@ public class CompilerReferenceServiceImpl extends CompilerReferenceService imple myProject.getMessageBus().connect(myProject).subscribe(BuildManagerListener.TOPIC, new BuildManagerListener() { @Override public void buildStarted(Project project, UUID sessionId, boolean isAutomake) { - myDirtyScopeHolder.compilerActivityStarted(); - closeReaderIfNeed(); + if (project == myProject) { + myDirtyScopeHolder.compilerActivityStarted(); + closeReaderIfNeed(); + } } }); @@ -112,17 +114,19 @@ public class CompilerReferenceServiceImpl extends CompilerReferenceService imple } private void compilationFinished(CompileContext context) { - Runnable compilationFinished = () -> { - final Module[] compilationModules = ReadAction.compute(() -> { - if (myProject.isDisposed()) return null; - return context.getCompileScope().getAffectedModules(); - }); - if (compilationModules == null) return; - myDirtyScopeHolder.compilerActivityFinished(); - myCompilationCount.increment(); - openReaderIfNeed(); - }; - executeOnBuildThread(compilationFinished); + if (context.getProject() == myProject) { + Runnable compilationFinished = () -> { + final Module[] compilationModules = ReadAction.compute(() -> { + if (myProject.isDisposed()) return null; + return context.getCompileScope().getAffectedModules(); + }); + if (compilationModules == null) return; + myDirtyScopeHolder.compilerActivityFinished(); + myCompilationCount.increment(); + openReaderIfNeed(); + }; + executeOnBuildThread(compilationFinished); + } } });