diff --git a/java/compiler/impl/src/com/intellij/compiler/server/BuildMessageDispatcher.java b/java/compiler/impl/src/com/intellij/compiler/server/BuildMessageDispatcher.java index 59c19f0ad7fe..096a113cf7f9 100644 --- a/java/compiler/impl/src/com/intellij/compiler/server/BuildMessageDispatcher.java +++ b/java/compiler/impl/src/com/intellij/compiler/server/BuildMessageDispatcher.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2012 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,7 +16,7 @@ package com.intellij.compiler.server; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.util.containers.ConcurrentHashSet; +import com.intellij.util.containers.ContainerUtil; import io.netty.channel.Channel; import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandlerContext; @@ -44,7 +44,7 @@ class BuildMessageDispatcher extends SimpleChannelInboundHandlerAdapter SESSION_DATA = AttributeKey.valueOf("BuildMessageDispatcher.sessionData"); private final Map mySessionDescriptors = new ConcurrentHashMap(16, 0.75f, 1); - private final Set myCanceledSessions = new ConcurrentHashSet(); + private final Set myCanceledSessions = ContainerUtil.newConcurrentSet(); public void registerBuildMessageHandler(@NotNull final RequestFuture future, @Nullable CmdlineRemoteProto.Message.ControllerMessage params) { final BuilderMessageHandler wrappedHandler = new DelegatingMessageHandler() { diff --git a/java/java-impl/src/com/intellij/slicer/SliceLeafAnalyzer.java b/java/java-impl/src/com/intellij/slicer/SliceLeafAnalyzer.java index 8be533f31f45..5c41984a6838 100644 --- a/java/java-impl/src/com/intellij/slicer/SliceLeafAnalyzer.java +++ b/java/java-impl/src/com/intellij/slicer/SliceLeafAnalyzer.java @@ -33,7 +33,6 @@ import com.intellij.psi.impl.source.tree.AstBufferUtil; import com.intellij.util.NullableFunction; import com.intellij.util.PairProcessor; import com.intellij.util.WalkingState; -import com.intellij.util.containers.ConcurrentHashSet; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.FactoryMap; import gnu.trove.TObjectHashingStrategy; @@ -191,7 +190,7 @@ public class SliceLeafAnalyzer { @Override protected Collection create(SliceNode key) { - return new ConcurrentHashSet(LEAF_ELEMENT_EQUALITY); + return ContainerUtil.newConcurrentSet(LEAF_ELEMENT_EQUALITY); } }; } diff --git a/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java b/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java index 78d3e73e7ea3..1041b9fa1c71 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java +++ b/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java @@ -24,7 +24,6 @@ import com.intellij.psi.*; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.tree.IElementType; import com.intellij.util.Processor; -import com.intellij.util.containers.ConcurrentHashSet; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.HashMap; import gnu.trove.THashMap; @@ -1043,7 +1042,7 @@ public class TypeConversionUtil { return getMaybeSuperClassSubstitutor(superClassCandidate, derivedClassCandidate, derivedSubstitutor, null); } - private static final Set ourReportedSuperClassSubstitutorExceptions = new ConcurrentHashSet(); + private static final Set ourReportedSuperClassSubstitutorExceptions = ContainerUtil.newConcurrentSet(); /** * Calculates substitutor that binds type parameters in superClass with diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java index c32dbd178aeb..b5568aaa5c6d 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2012 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,7 +24,6 @@ import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.SmartList; import com.intellij.util.concurrency.BoundedTaskExecutor; -import com.intellij.util.containers.ConcurrentHashSet; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.MultiMap; import com.intellij.util.io.MappingFailedException; @@ -1230,7 +1229,7 @@ public class IncProjectBuilder { private static CompileContext createContextWrapper(final CompileContext delegate) { final ClassLoader loader = delegate.getClass().getClassLoader(); final UserDataHolderBase localDataHolder = new UserDataHolderBase(); - final Set deletedKeysSet = new ConcurrentHashSet(); + final Set deletedKeysSet = ContainerUtil.newConcurrentSet(); final Class dataHolderInterface = UserDataHolder.class; final Class messageHandlerInterface = MessageHandler.class; return (CompileContext)Proxy.newProxyInstance(loader, new Class[]{CompileContext.class}, new InvocationHandler() { diff --git a/platform/core-impl/src/com/intellij/mock/MockComponentManager.java b/platform/core-impl/src/com/intellij/mock/MockComponentManager.java index 02439ac0b794..9b92ed11310e 100644 --- a/platform/core-impl/src/com/intellij/mock/MockComponentManager.java +++ b/platform/core-impl/src/com/intellij/mock/MockComponentManager.java @@ -23,7 +23,7 @@ import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.Conditions; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.UserDataHolderBase; -import com.intellij.util.containers.ConcurrentHashSet; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.messages.MessageBus; import com.intellij.util.messages.MessageBusFactory; import com.intellij.util.pico.IdeaPicoContainer; @@ -46,7 +46,7 @@ public class MockComponentManager extends UserDataHolderBase implements Componen public MockComponentManager(@Nullable PicoContainer parent, @NotNull Disposable parentDisposable) { myPicoContainer = new IdeaPicoContainer(parent) { - private final Set myDisposableComponents = new ConcurrentHashSet(); + private final Set myDisposableComponents = ContainerUtil.newConcurrentSet(); @Override @Nullable diff --git a/platform/core-impl/src/com/intellij/openapi/progress/util/AbstractProgressIndicatorBase.java b/platform/core-impl/src/com/intellij/openapi/progress/util/AbstractProgressIndicatorBase.java index 4841aa3b44a7..af8546cb6147 100644 --- a/platform/core-impl/src/com/intellij/openapi/progress/util/AbstractProgressIndicatorBase.java +++ b/platform/core-impl/src/com/intellij/openapi/progress/util/AbstractProgressIndicatorBase.java @@ -23,12 +23,14 @@ import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.util.UserDataHolderBase; -import com.intellij.util.containers.ConcurrentHashSet; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.DoubleArrayList; import com.intellij.util.containers.Stack; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; +import java.util.Set; + public class AbstractProgressIndicatorBase extends UserDataHolderBase implements ProgressIndicatorStacked { private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.progress.util.ProgressIndicatorBase"); @@ -69,7 +71,7 @@ public class AbstractProgressIndicatorBase extends UserDataHolderBase implements myRunning = true; } - private static final ConcurrentHashSet ourReportedReuseExceptions = new ConcurrentHashSet(2); + private static final Set ourReportedReuseExceptions = ContainerUtil.newConcurrentSet(); protected boolean isReuseable() { return false; diff --git a/platform/core-impl/src/com/intellij/psi/impl/PsiDocumentManagerBase.java b/platform/core-impl/src/com/intellij/psi/impl/PsiDocumentManagerBase.java index 80352b7c0a13..9bd52662a5b3 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/PsiDocumentManagerBase.java +++ b/platform/core-impl/src/com/intellij/psi/impl/PsiDocumentManagerBase.java @@ -47,7 +47,6 @@ import com.intellij.util.Processor; import com.intellij.util.SmartList; import com.intellij.util.SystemProperties; import com.intellij.util.concurrency.Semaphore; -import com.intellij.util.containers.ConcurrentHashSet; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.messages.MessageBus; import org.jetbrains.annotations.NonNls; @@ -67,7 +66,7 @@ public abstract class PsiDocumentManagerBase extends PsiDocumentManager implemen protected final Project myProject; private final PsiManager myPsiManager; private final DocumentCommitProcessor myDocumentCommitProcessor; - protected final Set myUncommittedDocuments = new ConcurrentHashSet(); + protected final Set myUncommittedDocuments = ContainerUtil.newConcurrentSet(); private final Map myLastCommittedTexts = ContainerUtil.newConcurrentMap(); private volatile boolean myIsCommitInProgress; diff --git a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/remote/ExternalSystemProgressNotificationManagerImpl.java b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/remote/ExternalSystemProgressNotificationManagerImpl.java index 30f98f407167..1c3c7bf13e89 100644 --- a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/remote/ExternalSystemProgressNotificationManagerImpl.java +++ b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/remote/ExternalSystemProgressNotificationManagerImpl.java @@ -20,7 +20,6 @@ import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskId; import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskNotificationEvent; import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskNotificationListener; import com.intellij.openapi.externalSystem.service.notification.ExternalSystemProgressNotificationManager; -import com.intellij.util.containers.ConcurrentHashSet; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; @@ -56,7 +55,7 @@ public class ExternalSystemProgressNotificationManagerImpl extends RemoteObject ids = myListeners.get(listener); } else { - ids = myListeners.putIfAbsent(listener, new ConcurrentHashSet()); + ids = myListeners.putIfAbsent(listener, ContainerUtil.newConcurrentSet()); } } return ids.add(taskId); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/IntentionListStep.java b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/IntentionListStep.java index 99cfc6e9f978..0700b6e1e1b2 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/IntentionListStep.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/IntentionListStep.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2013 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -39,7 +39,7 @@ import com.intellij.openapi.util.Iconable; import com.intellij.psi.*; import com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil; import com.intellij.psi.util.PsiUtilBase; -import com.intellij.util.containers.ConcurrentHashSet; +import com.intellij.util.containers.ContainerUtil; import gnu.trove.THashSet; import gnu.trove.TObjectHashingStrategy; import org.jetbrains.annotations.NotNull; @@ -54,10 +54,12 @@ import java.util.*; class IntentionListStep implements ListPopupStep, SpeedSearchFilter { private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.intention.impl.IntentionListStep"); - private final Set myCachedIntentions = new ConcurrentHashSet(ACTION_TEXT_AND_CLASS_EQUALS); - private final Set myCachedErrorFixes = new ConcurrentHashSet(ACTION_TEXT_AND_CLASS_EQUALS); - private final Set myCachedInspectionFixes = new ConcurrentHashSet(ACTION_TEXT_AND_CLASS_EQUALS); - private final Set myCachedGutters = new ConcurrentHashSet(ACTION_TEXT_AND_CLASS_EQUALS); + private final Set myCachedIntentions = + ContainerUtil.newConcurrentSet(ACTION_TEXT_AND_CLASS_EQUALS); + private final Set myCachedErrorFixes = + ContainerUtil.newConcurrentSet(ACTION_TEXT_AND_CLASS_EQUALS); + private final Set myCachedInspectionFixes = ContainerUtil.newConcurrentSet(ACTION_TEXT_AND_CLASS_EQUALS); + private final Set myCachedGutters = ContainerUtil.newConcurrentSet(ACTION_TEXT_AND_CLASS_EQUALS); private final IntentionManagerSettings mySettings; @Nullable private final IntentionHintComponent myIntentionHintComponent; diff --git a/platform/lang-impl/src/com/intellij/formatting/FormattingProgressTask.java b/platform/lang-impl/src/com/intellij/formatting/FormattingProgressTask.java index 6fd20d76190c..511f81106948 100644 --- a/platform/lang-impl/src/com/intellij/formatting/FormattingProgressTask.java +++ b/platform/lang-impl/src/com/intellij/formatting/FormattingProgressTask.java @@ -27,7 +27,6 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiFile; import com.intellij.util.SequentialModalProgressTask; import com.intellij.util.SequentialTask; -import com.intellij.util.containers.ConcurrentHashSet; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; @@ -139,7 +138,7 @@ public class FormattingProgressTask extends SequentialModalProgressTask implemen private Collection getCallbacks(@NotNull EventType eventType) { Collection result = myCallbacks.get(eventType); if (result == null) { - Collection candidate = myCallbacks.putIfAbsent(eventType, result = new ConcurrentHashSet()); + Collection candidate = myCallbacks.putIfAbsent(eventType, result = ContainerUtil.newConcurrentSet()); if (candidate != null) { result = candidate; } diff --git a/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexImpl.java b/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexImpl.java index 48cf63103139..989ff0b07105 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexImpl.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexImpl.java @@ -69,7 +69,6 @@ import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.stubs.SerializationManagerEx; import com.intellij.util.*; import com.intellij.util.concurrency.Semaphore; -import com.intellij.util.containers.ConcurrentHashSet; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.io.*; import com.intellij.util.io.DataOutputStream; @@ -129,7 +128,7 @@ public class FileBasedIndexImpl extends FileBasedIndex { private final FileDocumentManager myFileDocumentManager; private final FileTypeManagerImpl myFileTypeManager; private final SerializationManagerEx mySerializationManagerEx; - private final ConcurrentHashSet> myUpToDateIndicesForUnsavedOrTransactedDocuments = new ConcurrentHashSet>(); + private final Set> myUpToDateIndicesForUnsavedOrTransactedDocuments = ContainerUtil.newConcurrentSet(); private volatile SmartFMap myTransactionMap = SmartFMap.emptyMap(); @Nullable private final String myConfigPath; @@ -139,7 +138,7 @@ public class FileBasedIndexImpl extends FileBasedIndex { private volatile int myLocalModCount; private volatile int myFilesModCount; private final AtomicInteger myUpdatingFiles = new AtomicInteger(); - private final ConcurrentHashSet myProjectsBeingUpdated = new ConcurrentHashSet(); + private final Set myProjectsBeingUpdated = ContainerUtil.newConcurrentSet(); @SuppressWarnings({"FieldCanBeLocal", "UnusedDeclaration"}) private volatile boolean myInitialized; // need this variable for memory barrier @@ -1874,7 +1873,7 @@ public class FileBasedIndexImpl extends FileBasedIndex { } private final class ChangedFilesCollector extends VirtualFileAdapter implements BulkFileListener { - private final Set myFilesToUpdate = new ConcurrentHashSet(); + private final Set myFilesToUpdate = ContainerUtil.newConcurrentSet(); private final Queue myFutureInvalidations = new ConcurrentLinkedQueue(); private final ManagingFS myManagingFS = ManagingFS.getInstance(); diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileDocumentManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileDocumentManagerImpl.java index e396a7f76b44..25832256f0e7 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileDocumentManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileDocumentManagerImpl.java @@ -67,8 +67,8 @@ import com.intellij.ui.components.JBScrollPane; import com.intellij.util.Function; import com.intellij.util.PairProcessor; import com.intellij.util.ThrowableRunnable; -import com.intellij.util.containers.ConcurrentHashSet; import com.intellij.util.containers.ConcurrentWeakValueHashMap; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.messages.MessageBus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -94,7 +94,7 @@ public class FileDocumentManagerImpl extends FileDocumentManager implements Virt private static final Key FILE_KEY = Key.create("FILE_KEY"); private static final Key MUST_RECOMPUTE_FILE_TYPE = Key.create("Must recompute file type"); - private final Set myUnsavedDocuments = new ConcurrentHashSet(); + private final Set myUnsavedDocuments = ContainerUtil.newConcurrentSet(); private final Map myDocuments = new ConcurrentWeakValueHashMap(); private final MessageBus myBus; diff --git a/platform/platform-impl/src/com/intellij/openapi/progress/impl/ProgressManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/progress/impl/ProgressManagerImpl.java index 7ed1c335ddbc..878e60099b50 100644 --- a/platform/platform-impl/src/com/intellij/openapi/progress/impl/ProgressManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/progress/impl/ProgressManagerImpl.java @@ -34,7 +34,6 @@ import com.intellij.openapi.wm.WindowManager; import com.intellij.openapi.wm.ex.ProgressIndicatorEx; import com.intellij.psi.PsiLock; import com.intellij.ui.SystemNotifications; -import com.intellij.util.containers.ConcurrentHashSet; import com.intellij.util.containers.ConcurrentLongObjectMap; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.SmartHashSet; @@ -70,7 +69,7 @@ public class ProgressManagerImpl extends ProgressManager implements Disposable { // the active indicator for the thread id private static final ConcurrentLongObjectMap currentIndicators = ContainerUtil.createConcurrentLongObjectMap(); // threads which are running under canceled indicator - static final Set threadsUnderCanceledIndicator = new ConcurrentHashSet(); + static final Set threadsUnderCanceledIndicator = ContainerUtil.newConcurrentSet(); // active (i.e. which have executeProcessUnderProgress() method running) indicators which are not inherited from StandardProgressIndicator. // for them an extra processing thread (see myCheckCancelledFuture) has to be run to call their non-standard checkCanceled() method diff --git a/platform/platform-impl/src/com/intellij/openapi/vfs/impl/jar/JarFileSystemImpl.java b/platform/platform-impl/src/com/intellij/openapi/vfs/impl/jar/JarFileSystemImpl.java index 4329da96fa90..11ba63776be4 100644 --- a/platform/platform-impl/src/com/intellij/openapi/vfs/impl/jar/JarFileSystemImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/vfs/impl/jar/JarFileSystemImpl.java @@ -25,7 +25,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.newvfs.VfsImplUtil; import com.intellij.util.Function; import com.intellij.util.SystemProperties; -import com.intellij.util.containers.ConcurrentHashSet; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -39,7 +39,7 @@ public class JarFileSystemImpl extends JarFileSystem { public JarFileSystemImpl() { boolean noCopy = SystemProperties.getBooleanProperty("idea.jars.nocopy", !SystemInfo.isWindows); - myNoCopyJarPaths = noCopy ? null : new ConcurrentHashSet(FileUtil.PATH_HASHING_STRATEGY); + myNoCopyJarPaths = noCopy ? null : ContainerUtil.newConcurrentSet(FileUtil.PATH_HASHING_STRATEGY); // to prevent platform .jar files from copying boolean runningFromDist = new File(PathManager.getLibPath(), "openapi.jar").exists(); diff --git a/platform/platform-impl/src/com/intellij/openapi/vfs/tracker/VirtualFileTrackerImpl.java b/platform/platform-impl/src/com/intellij/openapi/vfs/tracker/VirtualFileTrackerImpl.java index afdf6b8f194b..89acaf597e3f 100644 --- a/platform/platform-impl/src/com/intellij/openapi/vfs/tracker/VirtualFileTrackerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/vfs/tracker/VirtualFileTrackerImpl.java @@ -18,7 +18,7 @@ package com.intellij.openapi.vfs.tracker; import com.intellij.openapi.Disposable; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.vfs.*; -import com.intellij.util.containers.ConcurrentHashSet; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -178,7 +178,7 @@ public class VirtualFileTrackerImpl implements VirtualFileTracker { Set listeners = map.get(fileUrl); if (listeners == null) { - listeners = new ConcurrentHashSet(); + listeners = ContainerUtil.newConcurrentSet(); map.put(fileUrl, listeners); } return listeners; diff --git a/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/RootIndex.java b/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/RootIndex.java index 33ff1a509522..2d3c4fcc650d 100644 --- a/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/RootIndex.java +++ b/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/RootIndex.java @@ -34,7 +34,6 @@ import com.intellij.openapi.vfs.newvfs.events.VFileEvent; import com.intellij.util.CollectionQuery; import com.intellij.util.EmptyQuery; import com.intellij.util.Query; -import com.intellij.util.containers.ConcurrentHashSet; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.MultiMap; import gnu.trove.TObjectIntHashMap; @@ -64,7 +63,7 @@ public class RootIndex { }; private final Map> myDirectoriesByPackageNameCache = ContainerUtil.newConcurrentMap(); - private final Set myNonExistentPackages = new ConcurrentHashSet(); + private final Set myNonExistentPackages = ContainerUtil.newConcurrentSet(); private final InfoCache myInfoCache; private final List> myRootTypes = ContainerUtil.newArrayList(); private final TObjectIntHashMap> myRootTypeId = new TObjectIntHashMap>(); diff --git a/platform/script-debugger/backend/src/org/jetbrains/debugger/BreakpointManagerBase.java b/platform/script-debugger/backend/src/org/jetbrains/debugger/BreakpointManagerBase.java index b6130d955d65..bf8dd81cdccb 100644 --- a/platform/script-debugger/backend/src/org/jetbrains/debugger/BreakpointManagerBase.java +++ b/platform/script-debugger/backend/src/org/jetbrains/debugger/BreakpointManagerBase.java @@ -19,7 +19,6 @@ import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.Consumer; import com.intellij.util.EventDispatcher; import com.intellij.util.SmartList; -import com.intellij.util.containers.ConcurrentHashSet; import com.intellij.util.containers.ContainerUtil; import gnu.trove.TObjectHashingStrategy; import org.jetbrains.annotations.NotNull; @@ -31,7 +30,7 @@ import java.util.Set; import java.util.concurrent.ConcurrentMap; public abstract class BreakpointManagerBase> implements BreakpointManager { - protected final Set breakpoints = new ConcurrentHashSet(); + protected final Set breakpoints = ContainerUtil.newConcurrentSet(); protected final ConcurrentMap breakpointDuplicationByTarget = ContainerUtil.newConcurrentMap(new TObjectHashingStrategy() { @Override diff --git a/platform/util/src/com/intellij/util/containers/ConcurrentHashSet.java b/platform/util/src/com/intellij/util/containers/ConcurrentHashSet.java index f86dd2eedeeb..2b4331a50706 100644 --- a/platform/util/src/com/intellij/util/containers/ConcurrentHashSet.java +++ b/platform/util/src/com/intellij/util/containers/ConcurrentHashSet.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2012 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,16 +24,16 @@ import java.util.Iterator; import java.util.Set; import java.util.concurrent.ConcurrentMap; -public class ConcurrentHashSet implements Set { +class ConcurrentHashSet implements Set { private final ConcurrentMap map; - public ConcurrentHashSet(int initialCapacity) { + ConcurrentHashSet(int initialCapacity) { map = ContainerUtil.newConcurrentMap(initialCapacity); } - public ConcurrentHashSet() { + ConcurrentHashSet() { map = ContainerUtil.newConcurrentMap(); } - public ConcurrentHashSet(@NotNull TObjectHashingStrategy hashingStrategy) { + ConcurrentHashSet(@NotNull TObjectHashingStrategy hashingStrategy) { map = ContainerUtil.newConcurrentMap(hashingStrategy); } diff --git a/platform/util/src/com/intellij/util/containers/ContainerUtil.java b/platform/util/src/com/intellij/util/containers/ContainerUtil.java index 74784b2dbd4d..75fa2203bc18 100644 --- a/platform/util/src/com/intellij/util/containers/ContainerUtil.java +++ b/platform/util/src/com/intellij/util/containers/ContainerUtil.java @@ -363,6 +363,18 @@ public class ContainerUtil extends ContainerUtilRt { return ContainerUtilRt.newTreeSet(comparator); } + @NotNull + @Contract(pure=true) + public static Set newConcurrentSet() { + return new ConcurrentHashSet(); + } + + @NotNull + @Contract(pure=true) + public static Set newConcurrentSet(@NotNull TObjectHashingStrategy hashStrategy) { + return new ConcurrentHashSet(hashStrategy); + } + @NotNull @Contract(pure=true) public static ConcurrentMap newConcurrentMap() { diff --git a/platform/util/src/com/intellij/util/containers/MultiMap.java b/platform/util/src/com/intellij/util/containers/MultiMap.java index f14303607c26..cdb0f1298a8d 100644 --- a/platform/util/src/com/intellij/util/containers/MultiMap.java +++ b/platform/util/src/com/intellij/util/containers/MultiMap.java @@ -297,7 +297,7 @@ public class MultiMap implements Serializable { @NotNull @Override protected Collection createCollection() { - return new ConcurrentHashSet(); + return ContainerUtil.newConcurrentSet(); } @NotNull diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogManager.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogManager.java index 4e6b1b272006..c5b011f8eec8 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogManager.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogManager.java @@ -1,3 +1,18 @@ +/* + * Copyright 2000-2014 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package com.intellij.vcs.log.impl; import com.intellij.openapi.Disposable; @@ -19,7 +34,6 @@ import com.intellij.ui.content.Content; import com.intellij.ui.content.ContentManagerAdapter; import com.intellij.ui.content.ContentManagerEvent; import com.intellij.util.Consumer; -import com.intellij.util.containers.ConcurrentHashSet; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.MultiMap; import com.intellij.util.ui.UIUtil; @@ -162,7 +176,7 @@ public class VcsLogManager implements Disposable { @NotNull private final String myTabName; @NotNull private final MyRefreshPostponedEventsListener myPostponedEventsListener; - @NotNull private final Set myRootsToRefresh = new ConcurrentHashSet(); + @NotNull private final Set myRootsToRefresh = ContainerUtil.newConcurrentSet(); public PostponeableLogRefresher(@NotNull Project project, @NotNull VcsLogDataHolder dataHolder, @NotNull String contentTabName) { myDataHolder = dataHolder; diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/findUsages/GroovyConstructorUsagesSearcher.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/findUsages/GroovyConstructorUsagesSearcher.java index d3b9cec9481d..06a9c0aec6d9 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/findUsages/GroovyConstructorUsagesSearcher.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/findUsages/GroovyConstructorUsagesSearcher.java @@ -36,7 +36,6 @@ import com.intellij.psi.util.PsiModificationTracker; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.util.PairProcessor; import com.intellij.util.Processor; -import com.intellij.util.containers.ConcurrentHashSet; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -89,7 +88,7 @@ public class GroovyConstructorUsagesSearcher extends QueryExecutorBase processed = collector.getSearchSession().getUserData(LITERALLY_CONSTRUCTED_CLASSES); if (processed == null) { - collector.getSearchSession().putUserData(LITERALLY_CONSTRUCTED_CLASSES, processed = new ConcurrentHashSet()); + collector.getSearchSession().putUserData(LITERALLY_CONSTRUCTED_CLASSES, processed = ContainerUtil.newConcurrentSet()); } if (!processed.add(clazz)) return; @@ -143,7 +142,7 @@ public class GroovyConstructorUsagesSearcher extends QueryExecutorBase newExpressionProcessor, final LiteralConstructorSearcher literalProcessor) { - final Set processedMethods = new ConcurrentHashSet(); + final Set processedMethods = ContainerUtil.newConcurrentSet(); ReferencesSearch.searchOptimized(clazz, scope, true, collector, true, new PairProcessor() { @Override diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/dataFlow/types/TypeInferenceHelper.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/dataFlow/types/TypeInferenceHelper.java index 47743a6766fe..5f85f9f368b8 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/dataFlow/types/TypeInferenceHelper.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/dataFlow/types/TypeInferenceHelper.java @@ -24,7 +24,6 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.PsiRecursiveElementWalkingVisitor; import com.intellij.psi.PsiType; import com.intellij.psi.util.*; -import com.intellij.util.containers.ConcurrentHashSet; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -376,7 +375,7 @@ public class TypeInferenceHelper { final GrControlFlowOwner scope; final Instruction[] flow; final AtomicReference> varTypes; - final ConcurrentHashSet tooComplex = new ConcurrentHashSet(); + final Set tooComplex = ContainerUtil.newConcurrentSet(); InferenceCache(final GrControlFlowOwner scope) { this.scope = scope; diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java index 3b8ba30d2288..738a71253c84 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2012 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -43,7 +43,6 @@ import com.intellij.ui.ColoredTreeCellRenderer; import com.intellij.util.ArrayUtil; import com.intellij.util.EventDispatcher; import com.intellij.util.Function; -import com.intellij.util.containers.ConcurrentHashSet; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.Convertor; import com.intellij.util.containers.MultiMap; @@ -136,7 +135,7 @@ public class TaskManagerImpl extends TaskManager implements ProjectComponent, Pe private final List myRepositories = new ArrayList(); private final EventDispatcher myDispatcher = EventDispatcher.create(TaskListener.class); - private Set myBadRepositories = new ConcurrentHashSet(); + private Set myBadRepositories = ContainerUtil.newConcurrentSet(); public TaskManagerImpl(Project project, WorkingContextManager contextManager, ChangeListManager changeListManager) {