From f7902205ff9540e69a03418757f90c985062c573 Mon Sep 17 00:00:00 2001 From: Dmitry Batkovich Date: Tue, 4 Oct 2016 18:25:10 +0300 Subject: [PATCH] use BuildManagerListener in CompilerReferenceServiceImpl to be notified about auto-compilation IDEA-CR-14011 --- .../CompilerReferenceServiceImpl.java | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/java/compiler/impl/src/com/intellij/compiler/CompilerReferenceServiceImpl.java b/java/compiler/impl/src/com/intellij/compiler/CompilerReferenceServiceImpl.java index f52cc0f2e729..e8de37f8b142 100644 --- a/java/compiler/impl/src/com/intellij/compiler/CompilerReferenceServiceImpl.java +++ b/java/compiler/impl/src/com/intellij/compiler/CompilerReferenceServiceImpl.java @@ -15,10 +15,8 @@ */ package com.intellij.compiler; +import com.intellij.compiler.server.BuildManagerListener; import com.intellij.ide.highlighter.JavaFileType; -import com.intellij.openapi.compiler.CompileContext; -import com.intellij.openapi.compiler.CompileTask; -import com.intellij.openapi.compiler.CompilerManager; import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; @@ -40,9 +38,9 @@ import org.jetbrains.annotations.TestOnly; import java.util.Collections; import java.util.Set; +import java.util.UUID; import static com.intellij.psi.search.GlobalSearchScope.*; -import static com.intellij.psi.search.GlobalSearchScope.notScope; public class CompilerReferenceServiceImpl extends CompilerReferenceService { private static final Key> CACHE_KEY = Key.create("compiler.ref.service.search"); @@ -64,21 +62,21 @@ public class CompilerReferenceServiceImpl extends CompilerReferenceService { @Override public void projectOpened() { if (isEnabled()) { - CompilerManager.getInstance(myProject).addBeforeTask(new CompileTask() { + myProject.getMessageBus().connect(myProject).subscribe(BuildManagerListener.TOPIC, new BuildManagerListener() { @Override - public boolean execute(CompileContext context) { - closeReaderIfNeed(); - return true; + public void beforeBuildProcessStarted(Project project, UUID sessionId) { } - }); - CompilerManager.getInstance(myProject).addAfterTask(new CompileTask() { @Override - public boolean execute(CompileContext context) { + public void buildStarted(Project project, UUID sessionId, boolean isAutomake) { + closeReaderIfNeed(); + } + + @Override + public void buildFinished(Project project, UUID sessionId, boolean isAutomake) { myChangedModules.clear(); myDirtyScope = EMPTY_SCOPE; openReaderIfNeed(); - return true; } });