From 9bbd2c30dc1212204f8bdaff926dfc0fbed6f3f4 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Fri, 30 Jun 2017 16:59:28 +0300 Subject: [PATCH] kotlin compatibility restored --- .../codeInsight/JavaProjectCodeInsightSettings.java | 2 +- platform/util/src/com/intellij/AbstractBundle.java | 2 +- .../util/containers/ConcurrentWeakFactoryMap.java | 12 ++++++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/JavaProjectCodeInsightSettings.java b/java/java-impl/src/com/intellij/codeInsight/JavaProjectCodeInsightSettings.java index d73e7d1d6290..6012cca036ee 100644 --- a/java/java-impl/src/com/intellij/codeInsight/JavaProjectCodeInsightSettings.java +++ b/java/java-impl/src/com/intellij/codeInsight/JavaProjectCodeInsightSettings.java @@ -44,7 +44,7 @@ import java.util.regex.Pattern; @State(name = "JavaProjectCodeInsightSettings", storages = @Storage("codeInsightSettings.xml")) public class JavaProjectCodeInsightSettings implements PersistentStateComponent { @SuppressWarnings("MismatchedQueryAndUpdateOfCollection") - private static final ConcurrentMap ourPatterns = ConcurrentWeakFactoryMap.createMap(key-> + private static final ConcurrentMap ourPatterns = ConcurrentWeakFactoryMap.createWeakMap(key-> PatternUtil.fromMask(key) ); diff --git a/platform/util/src/com/intellij/AbstractBundle.java b/platform/util/src/com/intellij/AbstractBundle.java index b1c21fd29353..0af36178304b 100644 --- a/platform/util/src/com/intellij/AbstractBundle.java +++ b/platform/util/src/com/intellij/AbstractBundle.java @@ -70,7 +70,7 @@ public abstract class AbstractBundle { @SuppressWarnings("MismatchedQueryAndUpdateOfCollection") private static final Map> ourCache = - ConcurrentWeakFactoryMap.createMap(new Function>() { + ConcurrentWeakFactoryMap.createWeakMap(new Function>() { @Override public Map fun(ClassLoader k) {return ContainerUtil.createConcurrentSoftValueMap();} }); diff --git a/platform/util/src/com/intellij/util/containers/ConcurrentWeakFactoryMap.java b/platform/util/src/com/intellij/util/containers/ConcurrentWeakFactoryMap.java index 8901e161eb9f..3a7f2d4500ab 100644 --- a/platform/util/src/com/intellij/util/containers/ConcurrentWeakFactoryMap.java +++ b/platform/util/src/com/intellij/util/containers/ConcurrentWeakFactoryMap.java @@ -25,9 +25,17 @@ import java.util.concurrent.ConcurrentMap; /** * @author peter */ -public abstract class ConcurrentWeakFactoryMap { +public abstract class ConcurrentWeakFactoryMap extends ConcurrentFactoryMap { + /** + * Use {@link #createWeakMap(Function)} instead + * TODO to remove in IDEA 2018 + */ + @Deprecated + public ConcurrentWeakFactoryMap() { + } + @NotNull - public static ConcurrentMap createMap(@NotNull Function compute) { + public static ConcurrentMap createWeakMap(@NotNull Function compute) { return ConcurrentFactoryMap.createMap(compute, new Producer>() { @Override public ConcurrentMap produce() {return ContainerUtil.createConcurrentWeakMap();}