diff --git a/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java b/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java index c6a110c32e43..6fe68c1949a6 100644 --- a/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java +++ b/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java @@ -87,7 +87,7 @@ public class ExternalAnnotationsManagerImpl extends ExternalAnnotationsManager { @NotNull private final ConcurrentMap> myExternalAnnotations = new ConcurrentWeakValueHashMap>(); @NotNull private volatile ThreeState myHasAnyAnnotationsRoots = ThreeState.UNSURE; - @NotNull private static final List NULL = new ArrayList(); + @NotNull private static final List NULL = new ArrayList(0); private final PsiManager myPsiManager; public ExternalAnnotationsManagerImpl(@NotNull final Project project, final PsiManager psiManager) { diff --git a/platform/util/src/com/intellij/openapi/util/Key.java b/platform/util/src/com/intellij/openapi/util/Key.java index 8a0b388a25c6..f2b25dbc25b0 100644 --- a/platform/util/src/com/intellij/openapi/util/Key.java +++ b/platform/util/src/com/intellij/openapi/util/Key.java @@ -15,7 +15,7 @@ */ package com.intellij.openapi.util; -import com.intellij.util.containers.ConcurrentWeakValueHashMap; +import com.intellij.util.containers.ConcurrentWeakValueIntObjectHashMap; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -34,7 +34,7 @@ public class Key { private static final AtomicInteger ourKeysCounter = new AtomicInteger(); private final int myIndex = ourKeysCounter.getAndIncrement(); private final String myName; // for debug purposes only - private static final ConcurrentWeakValueHashMap allKeys = new ConcurrentWeakValueHashMap(); + private static final ConcurrentWeakValueIntObjectHashMap allKeys = new ConcurrentWeakValueIntObjectHashMap(); public Key(@NotNull @NonNls String name) { myName = name; diff --git a/platform/util/src/com/intellij/util/containers/ConcurrentWeakValueHashMap.java b/platform/util/src/com/intellij/util/containers/ConcurrentWeakValueHashMap.java index eb64cbab9131..ba8d347fa876 100644 --- a/platform/util/src/com/intellij/util/containers/ConcurrentWeakValueHashMap.java +++ b/platform/util/src/com/intellij/util/containers/ConcurrentWeakValueHashMap.java @@ -76,14 +76,14 @@ public final class ConcurrentWeakValueHashMap implements ConcurrentMap } @Override - public V get(Object key) { + public V get(@NotNull Object key) { MyReference ref = myMap.get(key); if (ref == null) return null; return ref.get(); } @Override - public V put(K key, V value) { + public V put(@NotNull K key, @NotNull V value) { processQueue(); MyReference oldRef = myMap.put(key, createRef(key, value)); return oldRef != null ? oldRef.get() : null;