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
/**
* 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);
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
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";
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;
import java.util.*;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.CopyOnWriteArrayList;
@SuppressWarnings({"SSBasedInspection"})
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();
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
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();
}
import java.util.Collection;
import java.util.Map;
-import java.util.concurrent.CopyOnWriteArrayList;
/**
* @author peter
@Override
protected Collection<V> createCollection() {
- return new CopyOnWriteArrayList<V>();
+ return ContainerUtil.createEmptyCOWList();
}
}
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;
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);