From 7c7ffb2825102d9fbc1c0a5524fa2f93dc59dbc5 Mon Sep 17 00:00:00 2001 From: Dmitry Batkovich Date: Wed, 3 May 2017 14:48:46 +0300 Subject: [PATCH] javac ast indices: fix indices state if new project is created --- .../backwardRefs/CompilerReferenceServiceImpl.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 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 c69df2ec92d8..31f1c929d367 100644 --- a/java/compiler/impl/src/com/intellij/compiler/backwardRefs/CompilerReferenceServiceImpl.java +++ b/java/compiler/impl/src/com/intellij/compiler/backwardRefs/CompilerReferenceServiceImpl.java @@ -144,7 +144,8 @@ public class CompilerReferenceServiceImpl extends CompilerReferenceServiceEx imp if (!ApplicationManager.getApplication().isUnitTestMode()) { ApplicationManager.getApplication().executeOnPooledThread(() -> { boolean isUpToDate; - if (CompilerReferenceReader.exists(myProject)) { + boolean indexExist = CompilerReferenceReader.exists(myProject); + if (indexExist) { CompileScope projectCompileScope = compilerManager.createProjectCompileScope(myProject); isUpToDate = compilerManager.isUpToDate(projectCompileScope); } else { @@ -154,7 +155,7 @@ public class CompilerReferenceServiceImpl extends CompilerReferenceServiceEx imp if (isUpToDate) { openReaderIfNeed(IndexOpenReason.UP_TO_DATE_CACHE); } else { - markAsOutdated(); + markAsOutdated(indexExist); } }); }); @@ -586,10 +587,12 @@ public class CompilerReferenceServiceImpl extends CompilerReferenceServiceEx imp } } - private void markAsOutdated() { + private void markAsOutdated(boolean decrementBuildCount) { myOpenCloseLock.lock(); try { - --myActiveBuilds; + if (decrementBuildCount) { + --myActiveBuilds; + } myDirtyScopeHolder.upToDateChecked(false); } finally { myOpenCloseLock.unlock();