diff --git a/java/compiler/impl/src/com/intellij/compiler/impl/TranslatingCompilerFilesMonitor.java b/java/compiler/impl/src/com/intellij/compiler/impl/TranslatingCompilerFilesMonitor.java index c43bbd4bc3fb..aebb7357ad7e 100644 --- a/java/compiler/impl/src/com/intellij/compiler/impl/TranslatingCompilerFilesMonitor.java +++ b/java/compiler/impl/src/com/intellij/compiler/impl/TranslatingCompilerFilesMonitor.java @@ -112,6 +112,7 @@ public class TranslatingCompilerFilesMonitor implements ApplicationComponent { public TIntObjectHashMap> createValue(Integer key) { TIntObjectHashMap> map = null; try { + ensureOutputStorageInitialized(); map = myOutputRootsStorage.get(key); } catch (IOException e) { @@ -385,6 +386,14 @@ public class TranslatingCompilerFilesMonitor implements ApplicationComponent { myOutputsToDelete.clear(); FileUtil.delete(file); } + + ensureOutputStorageInitialized(); + } + + private void ensureOutputStorageInitialized() { + if (myOutputRootsStorage != null) { + return; + } final File rootsFile = new File(CompilerPaths.getCompilerSystemDirectory(), OUTPUT_ROOTS_FILENAME); try { initOutputRootsFile(rootsFile);