java index: do not use project as disposable (service is used in scala plugin)

GitOrigin-RevId: 207934507b707b5539312fe63befd40a9b16912a
This commit is contained in:
Dmitry Batkovich
2021-03-22 19:27:13 +00:00
committed by intellij-monorepo-bot
parent a21ae5b03c
commit 557b268ab4
@@ -8,6 +8,7 @@ import com.intellij.compiler.backwardRefs.view.CompilerReferenceHierarchyTestInf
import com.intellij.compiler.backwardRefs.view.DirtyScopeTestInfo;
import com.intellij.compiler.server.BuildManager;
import com.intellij.lang.injection.InjectedLanguageManager;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ReadAction;
import com.intellij.openapi.compiler.CompileScope;
@@ -67,7 +68,9 @@ import java.util.stream.Collectors;
import static com.intellij.psi.search.GlobalSearchScope.getScopeRestrictedByFileTypes;
import static com.intellij.psi.search.GlobalSearchScope.notScope;
public abstract class CompilerReferenceServiceBase<Reader extends CompilerReferenceReader<?>> implements CompilerReferenceService, ModificationTracker {
public abstract class CompilerReferenceServiceBase<Reader extends CompilerReferenceReader<?>> implements CompilerReferenceService,
ModificationTracker,
Disposable {
private static final Logger LOG = Logger.getInstance(CompilerReferenceServiceBase.class);
private final Set<FileType> myFileTypes;
@@ -98,7 +101,7 @@ public abstract class CompilerReferenceServiceBase<Reader extends CompilerRefere
return;
}
myDirtyScopeHolder.installVFSListener(project);
myDirtyScopeHolder.installVFSListener(this);
if (!ApplicationManager.getApplication().isUnitTestMode()) {
CompilerManager compilerManager = CompilerManager.getInstance(project);
boolean isUpToDate;
@@ -125,7 +128,7 @@ public abstract class CompilerReferenceServiceBase<Reader extends CompilerRefere
});
}
Disposer.register(project, () -> closeReaderIfNeeded(IndexCloseReason.PROJECT_CLOSED));
Disposer.register(this, () -> closeReaderIfNeeded(IndexCloseReason.PROJECT_CLOSED));
}
@Nullable
@@ -617,6 +620,9 @@ public abstract class CompilerReferenceServiceBase<Reader extends CompilerRefere
}
}
@Override
public void dispose() { }
@Nullable
protected <T> T onException(@NotNull Exception e, @NotNull String actionName) {
if (e instanceof ControlFlowException) {