diff --git a/compiler/tests-common/org/jetbrains/kotlin/test/testFramework/mock/MockFileManager.java b/compiler/tests-common/org/jetbrains/kotlin/test/testFramework/mock/MockFileManager.java index 787a49df7d1..3156769b134 100644 --- a/compiler/tests-common/org/jetbrains/kotlin/test/testFramework/mock/MockFileManager.java +++ b/compiler/tests-common/org/jetbrains/kotlin/test/testFramework/mock/MockFileManager.java @@ -22,17 +22,25 @@ import com.intellij.psi.PsiFile; import com.intellij.psi.SingleRootFileViewProvider; import com.intellij.psi.impl.PsiManagerEx; import com.intellij.psi.impl.file.impl.FileManager; -import com.intellij.util.containers.WeakFactoryMap; +import com.intellij.util.containers.ConcurrentWeakFactoryMap; +import com.intellij.util.containers.ContainerUtil; +import com.intellij.util.containers.FactoryMap; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.List; +import java.util.Map; public class MockFileManager implements FileManager { private final PsiManagerEx myManager; - // in mock tests it's LightVirtualFile, they're only alive when they're referenced, + // in mock tests it's LightVirtualFile, they're only alive when they're referenced, // and there can not be several instances representing the same file - private final WeakFactoryMap myViewProviders = new WeakFactoryMap() { + private final FactoryMap myViewProviders = new ConcurrentWeakFactoryMap() { + @Override + protected Map createMap() { + return ContainerUtil.createConcurrentWeakKeyWeakValueMap(); + } + @Override protected FileViewProvider create(VirtualFile key) { return new SingleRootFileViewProvider(myManager, key); diff --git a/update_dependencies.xml b/update_dependencies.xml index 9a431ab31fa..806e93fcddc 100644 --- a/update_dependencies.xml +++ b/update_dependencies.xml @@ -1,7 +1,7 @@ - +