cleanup
authorAlexey Kudravtsev <cdr@intellij.com>
Tue, 24 Aug 2010 10:52:35 +0000 (14:52 +0400)
committerAlexey Kudravtsev <cdr@intellij.com>
Wed, 25 Aug 2010 10:37:17 +0000 (14:37 +0400)
platform/platform-api/src/com/intellij/openapi/actionSystem/DefaultActionGroup.java
platform/platform-impl/src/com/intellij/application/options/PathMacrosImpl.java
platform/platform-impl/src/com/intellij/openapi/application/impl/LaterInvocator.java
platform/util/src/com/intellij/util/UniqueResultsQuery.java
platform/util/src/com/intellij/util/containers/ConcurrentMultiMap.java
plugins/IntelliLang/src/org/intellij/plugins/intelliLang/Configuration.java
plugins/IntelliLang/src/org/intellij/plugins/intelliLang/inject/TemporaryPlacesRegistry.java

index 50e311961d9ea73a527ed2b93cb42ef68acc73b5..c6cad49946fb2c793eb87a7e7ec7bfeaa74ed561 100644 (file)
 package com.intellij.openapi.actionSystem;
 
 import com.intellij.openapi.util.Pair;
+import com.intellij.util.containers.ContainerUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import java.util.List;
-import java.util.concurrent.CopyOnWriteArrayList;
 
 /**
  * A default implementation of {@link ActionGroup}. Provides the ability
@@ -36,11 +36,11 @@ public class DefaultActionGroup extends ActionGroup {
   /**
    * Contains instances of AnAction
    */
-  private final List<AnAction> mySortedChildren = new CopyOnWriteArrayList<AnAction>();
+  private final List<AnAction> mySortedChildren = ContainerUtil.createEmptyCOWList();
   /**
    * Contains instances of Pair
    */
-  private final List<Pair<AnAction,Constraints>> myPairs = new CopyOnWriteArrayList<Pair<AnAction, Constraints>>();
+  private final List<Pair<AnAction,Constraints>> myPairs = ContainerUtil.createEmptyCOWList();
 
   public DefaultActionGroup(){
     this(null, false);
index ce82d3c66632356d870e95c0d436910b724e8bc4..1f3494c0a0394e154134540a94f4784b8d970618 100644 (file)
@@ -26,13 +26,13 @@ import com.intellij.openapi.util.RoamingTypeDisabled;
 import com.intellij.openapi.util.WriteExternalException;
 import com.intellij.util.concurrency.JBReentrantReadWriteLock;
 import com.intellij.util.concurrency.LockFactory;
+import com.intellij.util.containers.ContainerUtil;
 import com.intellij.util.containers.HashMap;
 import org.jdom.Element;
 import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 
 import java.util.*;
-import java.util.concurrent.CopyOnWriteArrayList;
 
 /**
  *  @author dsl
@@ -42,7 +42,7 @@ public class PathMacrosImpl extends PathMacros implements ApplicationComponent,
   private final Map<String,String> myLegacyMacros = new HashMap<String,String>();
   private final Map<String,String> myMacros = new HashMap<String, String>();
   private final JBReentrantReadWriteLock myLock = LockFactory.createReadWriteLock();
-  private final List<String> myIgnoredMacros = new CopyOnWriteArrayList<String>();
+  private final List<String> myIgnoredMacros = ContainerUtil.createEmptyCOWList();
 
   @NonNls
   public static final String MACRO_ELEMENT = "macro";
index e48983837ddb34f7037a3aa235f93588a60bdca9..20cde5319e85e44d1dff5486d6e26b8e62f61b1c 100644 (file)
@@ -25,9 +25,10 @@ import com.intellij.openapi.progress.ProgressIndicator;
 import com.intellij.openapi.util.ActionCallback;
 import com.intellij.openapi.util.Condition;
 import com.intellij.openapi.util.Conditions;
-import com.intellij.util.EventDispatcher;
 import com.intellij.util.ArrayUtil;
+import com.intellij.util.EventDispatcher;
 import com.intellij.util.concurrency.Semaphore;
+import com.intellij.util.containers.ContainerUtil;
 import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -38,7 +39,6 @@ import java.awt.*;
 import java.util.*;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.CopyOnWriteArrayList;
 
 @SuppressWarnings({"SSBasedInspection"})
 public class LaterInvocator {
@@ -70,7 +70,7 @@ public class LaterInvocator {
     }
   }
 
-  private static final List<Object> ourModalEntities = new CopyOnWriteArrayList<Object>();
+  private static final List<Object> ourModalEntities = ContainerUtil.createEmptyCOWList();
   private static final List<RunnableInfo> ourQueue = new ArrayList<RunnableInfo>(); //protected by LOCK
   private static volatile int ourQueueSkipCount = 0; // optimization
   private static final Runnable ourFlushQueueRunnable = new FlushQueue();
index 4c0c0abf65e6a1ea52ec41a6e1931b60294dde97..400516b62d63797e5db48dbf0bb63c48d1d9c727 100644 (file)
@@ -20,10 +20,7 @@ import com.intellij.util.containers.ConcurrentHashSet;
 import gnu.trove.TObjectHashingStrategy;
 import org.jetbrains.annotations.NotNull;
 
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.*;
 
 /**
  * @author max
@@ -80,7 +77,7 @@ public class UniqueResultsQuery<T, M> implements Query<T> {
       return (Collection<T>)collection;
     }
     else {
-      final CommonProcessors.CollectProcessor<T> processor = new CommonProcessors.CollectProcessor<T>(new CopyOnWriteArrayList<T>());
+      final CommonProcessors.CollectProcessor<T> processor = new CommonProcessors.CollectProcessor<T>(Collections.synchronizedList(new ArrayList<T>()));
       forEach(processor);
       return processor.getResults();
     }
index 6ad007c332edd8acf12241f1ff3d86fa8563d921..91e36164b813ad5d23a3ea97300c4349f0b22a55 100644 (file)
@@ -18,7 +18,6 @@ package com.intellij.util.containers;
 
 import java.util.Collection;
 import java.util.Map;
-import java.util.concurrent.CopyOnWriteArrayList;
 
 /**
  * @author peter
@@ -30,6 +29,6 @@ public class ConcurrentMultiMap<K,V> extends MultiMap<K,V> {
 
   @Override
   protected Collection<V> createCollection() {
-    return new CopyOnWriteArrayList<V>();
+    return ContainerUtil.createEmptyCOWList();
   }
 }
index 0334350041285809dcb59f37cdc578f4cab6736d..bd9017c98a889370f366b3c8b616ec0b4ea5aabe 100644 (file)
@@ -93,7 +93,7 @@ public final class Configuration implements PersistentStateComponent<Element>, M
   private final Map<String, List<BaseInjection>> myInjections = new ConcurrentFactoryMap<String, List<BaseInjection>>() {
     @Override
     protected List<BaseInjection> create(final String key) {
-      return new CopyOnWriteArrayList<BaseInjection>();
+      return ContainerUtil.createEmptyCOWList();
     }
   };
   private ArrayList<BaseInjection> myDefaultInjections;
index 7302462ab30324038da4dc8690e9b29eeaf38d8f..a05a3fd82bdeca7ef666b2ae035dfebb99bb5d56 100644 (file)
@@ -19,21 +19,23 @@ package org.intellij.plugins.intelliLang.inject;
 import com.intellij.openapi.components.ServiceManager;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.util.Condition;
-import com.intellij.psi.*;
+import com.intellij.psi.PsiElement;
+import com.intellij.psi.PsiLanguageInjectionHost;
+import com.intellij.psi.SmartPointerManager;
+import com.intellij.psi.SmartPsiElementPointer;
 import com.intellij.util.PairProcessor;
 import com.intellij.util.containers.ContainerUtil;
 import org.intellij.plugins.intelliLang.Configuration;
 
 import java.util.Collections;
 import java.util.List;
-import java.util.concurrent.CopyOnWriteArrayList;
 
 /**
  * @author Gregory.Shrago
  */
 public class TemporaryPlacesRegistry {
   private final Project myProject;
-  private final List<TemporaryPlace> myTempPlaces = new CopyOnWriteArrayList<TemporaryPlace>();
+  private final List<TemporaryPlace> myTempPlaces = ContainerUtil.createEmptyCOWList();
 
   public static TemporaryPlacesRegistry getInstance(final Project project) {
     return ServiceManager.getService(project, TemporaryPlacesRegistry.class);