diff --git a/.idea/inspectionProfiles/idea_default.xml b/.idea/inspectionProfiles/idea_default.xml index 4f4986d7817b..875762095c59 100644 --- a/.idea/inspectionProfiles/idea_default.xml +++ b/.idea/inspectionProfiles/idea_default.xml @@ -825,6 +825,16 @@ + + + + + + + + + + diff --git a/images/src/org/intellij/images/thumbnail/actions/FilterByTagActionGroup.java b/images/src/org/intellij/images/thumbnail/actions/FilterByTagActionGroup.java index 860b7ced576a..346534f29dc4 100644 --- a/images/src/org/intellij/images/thumbnail/actions/FilterByTagActionGroup.java +++ b/images/src/org/intellij/images/thumbnail/actions/FilterByTagActionGroup.java @@ -20,6 +20,7 @@ import com.intellij.icons.AllIcons; import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.text.StringUtil; +import com.intellij.util.containers.ContainerUtil; import org.intellij.images.search.ImageTagManager; import org.intellij.images.search.TagFilter; import org.intellij.images.thumbnail.ThumbnailView; @@ -29,7 +30,6 @@ import org.jetbrains.annotations.Nullable; import java.util.Arrays; import java.util.List; -import java.util.stream.Collectors; public final class FilterByTagActionGroup extends ActionGroup implements PopupAction { @@ -62,9 +62,8 @@ public final class FilterByTagActionGroup extends ActionGroup implements PopupAc if (view == null) return AnAction.EMPTY_ARRAY; ImageTagManager tagManager = ImageTagManager.getInstance(project); - List tagActions = tagManager.getAllTags() - .stream().map(tag -> new MyToggleAction(view, new TagFilter(tag, tagManager))) - .collect(Collectors.toList()); + List tagActions = + ContainerUtil.map(tagManager.getAllTags(), tag -> new MyToggleAction(view, new TagFilter(tag, tagManager))); group.add(new AnAction("All") { @Override public void actionPerformed(@NotNull AnActionEvent e) { diff --git a/java/compiler/impl/src/com/intellij/compiler/backwardRefs/DirtyScopeHolder.java b/java/compiler/impl/src/com/intellij/compiler/backwardRefs/DirtyScopeHolder.java index 3012f8673e28..dfcd46d5ba60 100644 --- a/java/compiler/impl/src/com/intellij/compiler/backwardRefs/DirtyScopeHolder.java +++ b/java/compiler/impl/src/com/intellij/compiler/backwardRefs/DirtyScopeHolder.java @@ -20,7 +20,8 @@ import com.intellij.openapi.roots.ModuleRootEvent; import com.intellij.openapi.roots.ModuleRootListener; import com.intellij.openapi.util.UserDataHolderBase; import com.intellij.openapi.util.io.FileUtil; -import com.intellij.openapi.vfs.*; +import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.openapi.vfs.VirtualFileManager; import com.intellij.openapi.vfs.newvfs.BulkFileListener; import com.intellij.openapi.vfs.newvfs.events.*; import com.intellij.psi.PsiDocumentManager; @@ -41,7 +42,6 @@ import java.util.Collections; import java.util.List; import java.util.Set; import java.util.function.BiConsumer; -import java.util.stream.Collectors; @SuppressWarnings("WeakerAccess") public class DirtyScopeHolder extends UserDataHolderBase implements BulkFileListener { @@ -128,7 +128,7 @@ public class DirtyScopeHolder extends UserDataHolderBase implements BulkFileList return null; } final ModuleManager moduleManager = ModuleManager.getInstance(myService.getProject()); - return myCompilationAffectedModules.stream().map(moduleManager::findModuleByName).collect(Collectors.toList()); + return ContainerUtil.map(myCompilationAffectedModules, moduleManager::findModuleByName); }); compilationFinished(() -> { if (compiledModules == null) return; diff --git a/java/compiler/impl/src/com/intellij/compiler/inspection/ChangeSuperClassFix.java b/java/compiler/impl/src/com/intellij/compiler/inspection/ChangeSuperClassFix.java index dd53566f7a82..8414c05ce2f6 100644 --- a/java/compiler/impl/src/com/intellij/compiler/inspection/ChangeSuperClassFix.java +++ b/java/compiler/impl/src/com/intellij/compiler/inspection/ChangeSuperClassFix.java @@ -196,7 +196,7 @@ public class ChangeSuperClassFix implements LocalQuickFix, HighPriorityAction { String newClassName, Project project) { if (ApplicationManager.getApplication().isUnitTestMode()) { - return candidates.stream().map(c -> (PsiMethod)c.getMember()).collect(Collectors.toList()); + return ContainerUtil.map(candidates, c -> (PsiMethod)c.getMember()); } MemberSelectionPanel panel = new MemberSelectionPanel("Choose members to delete since they are already defined in " + newClassName + "", @@ -216,7 +216,7 @@ public class ChangeSuperClassFix implements LocalQuickFix, HighPriorityAction { } }; return dlg.showAndGet() - ? panel.getTable().getSelectedMemberInfos().stream().map(info -> (PsiMethod)info.getMember()).collect(Collectors.toList()) + ? ContainerUtil.map(panel.getTable().getSelectedMemberInfos(), info -> (PsiMethod)info.getMember()) : Collections.emptyList(); } } diff --git a/java/debugger/impl/src/com/intellij/debugger/memory/action/ShowInstancesByClassAction.java b/java/debugger/impl/src/com/intellij/debugger/memory/action/ShowInstancesByClassAction.java index 3a169dbf9e53..f0d47335b677 100644 --- a/java/debugger/impl/src/com/intellij/debugger/memory/action/ShowInstancesByClassAction.java +++ b/java/debugger/impl/src/com/intellij/debugger/memory/action/ShowInstancesByClassAction.java @@ -15,21 +15,21 @@ */ package com.intellij.debugger.memory.action; +import com.intellij.debugger.memory.ui.InstancesWindow; import com.intellij.debugger.memory.ui.JavaReferenceInfo; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.text.StringUtil; +import com.intellij.util.containers.ContainerUtil; import com.intellij.xdebugger.XDebugSession; import com.intellij.xdebugger.XDebuggerManager; import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl; import com.sun.jdi.ObjectReference; import com.sun.jdi.ReferenceType; import org.jetbrains.annotations.NotNull; -import com.intellij.debugger.memory.ui.InstancesWindow; import java.util.Collections; import java.util.List; -import java.util.stream.Collectors; public class ShowInstancesByClassAction extends DebuggerTreeAction { @Override @@ -54,7 +54,7 @@ public class ShowInstancesByClassAction extends DebuggerTreeAction { final ReferenceType referenceType = ref.referenceType(); new InstancesWindow(debugSession, l -> { final List instances = referenceType.instances(l); - return instances == null ? Collections.emptyList() : instances.stream().map(JavaReferenceInfo::new).collect(Collectors.toList()); + return instances == null ? Collections.emptyList() : ContainerUtil.map(instances, JavaReferenceInfo::new); }, referenceType.name()).show(); } } diff --git a/java/debugger/impl/src/com/intellij/debugger/memory/ui/ClassesFilteredView.java b/java/debugger/impl/src/com/intellij/debugger/memory/ui/ClassesFilteredView.java index 0762b532abf3..04694b731d35 100644 --- a/java/debugger/impl/src/com/intellij/debugger/memory/ui/ClassesFilteredView.java +++ b/java/debugger/impl/src/com/intellij/debugger/memory/ui/ClassesFilteredView.java @@ -17,6 +17,7 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.Disposer; import com.intellij.ui.DoubleClickListener; +import com.intellij.util.containers.ContainerUtil; import com.intellij.xdebugger.XDebugSession; import com.intellij.xdebugger.XDebugSessionListener; import com.intellij.xdebugger.XDebuggerManager; @@ -46,7 +47,6 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; -import java.util.stream.Collectors; import static com.intellij.xdebugger.memory.ui.ClassesTable.DiffViewTableModel.CLASSNAME_COLUMN_INDEX; import static com.intellij.xdebugger.memory.ui.ClassesTable.DiffViewTableModel.DIFF_COLUMN_INDEX; @@ -244,7 +244,7 @@ public class ClassesFilteredView extends ClassesFilteredViewBase { TrackerForNewInstances strategy = getStrategy(selectedClass); if (strategy != null && strategy.isReady()) { List newInstances = strategy.getNewInstances(); - return (InstancesProvider) limit -> newInstances.stream().map(JavaReferenceInfo::new).collect(Collectors.toList()); + return (InstancesProvider)limit -> ContainerUtil.map(newInstances, JavaReferenceInfo::new); } } } @@ -315,7 +315,8 @@ public class ClassesFilteredView extends ClassesFilteredViewBase { if (data != null) { final List newInstances = strategy.getNewInstances(); data.getTrackedStacks().pinStacks(ref); - final InstancesWindow instancesWindow = new InstancesWindow(debugSession, limit -> newInstances.stream().map(JavaReferenceInfo::new).collect(Collectors.toList()), ref.name()); + final InstancesWindow instancesWindow = new InstancesWindow(debugSession, + limit -> ContainerUtil.map(newInstances, JavaReferenceInfo::new), ref.name()); Disposer.register(instancesWindow.getDisposable(), () -> data.getTrackedStacks().unpinStacks(ref)); instancesWindow.show(); } diff --git a/java/debugger/impl/src/com/intellij/debugger/memory/ui/InstancesView.java b/java/debugger/impl/src/com/intellij/debugger/memory/ui/InstancesView.java index 9e952d7e167d..c3e10baea443 100644 --- a/java/debugger/impl/src/com/intellij/debugger/memory/ui/InstancesView.java +++ b/java/debugger/impl/src/com/intellij/debugger/memory/ui/InstancesView.java @@ -12,7 +12,10 @@ import com.intellij.debugger.engine.events.DebuggerContextCommandImpl; import com.intellij.debugger.memory.filtering.FilteringResult; import com.intellij.debugger.memory.filtering.FilteringTask; import com.intellij.debugger.memory.filtering.FilteringTaskCallback; -import com.intellij.debugger.memory.utils.*; +import com.intellij.debugger.memory.utils.AndroidUtil; +import com.intellij.debugger.memory.utils.ErrorsValueGroup; +import com.intellij.debugger.memory.utils.InstanceJavaValue; +import com.intellij.debugger.memory.utils.InstanceValueDescriptor; import com.intellij.debugger.ui.impl.watch.DebuggerTreeNodeImpl; import com.intellij.debugger.ui.impl.watch.MessageDescriptor; import com.intellij.debugger.ui.impl.watch.NodeManagerImpl; @@ -25,6 +28,7 @@ import com.intellij.openapi.wm.IdeFocusManager; import com.intellij.ui.DoubleClickListener; import com.intellij.ui.components.JBLabel; import com.intellij.ui.components.JBPanel; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.JBUI; import com.intellij.util.ui.UIUtil; import com.intellij.util.ui.update.UiNotifyConnector; @@ -37,9 +41,9 @@ import com.intellij.xdebugger.impl.ui.XDebuggerExpressionEditor; import com.intellij.xdebugger.memory.ui.InstancesTree; import com.intellij.xdebugger.memory.ui.InstancesViewBase; import com.intellij.xdebugger.memory.utils.InstancesProvider; -import org.jetbrains.annotations.NotNull; import com.sun.jdi.ObjectReference; import com.sun.jdi.Value; +import org.jetbrains.annotations.NotNull; import javax.swing.*; import java.awt.*; @@ -47,7 +51,6 @@ import java.awt.event.MouseEvent; import java.util.List; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; -import java.util.stream.Collectors; class InstancesView extends InstancesViewBase { private static final Logger LOG = Logger.getInstance(InstancesView.class); @@ -181,7 +184,8 @@ class InstancesView extends InstancesViewBase { final int limit = myIsAndroidVM ? AndroidUtil.ANDROID_INSTANCES_LIMIT : DEFAULT_INSTANCES_LIMIT; - List instances = getInstancesProvider().getInstances(limit + 1).stream().map(referenceInfo -> ((JavaReferenceInfo) referenceInfo).getObjectReference()).collect(Collectors.toList()); + List instances = ContainerUtil + .map(getInstancesProvider().getInstances(limit + 1), referenceInfo -> ((JavaReferenceInfo)referenceInfo).getObjectReference()); final EvaluationContextImpl evaluationContext = myDebugProcess .getDebuggerContext().createEvaluationContext(); diff --git a/java/debugger/impl/src/com/intellij/debugger/memory/ui/JavaTypeInfo.java b/java/debugger/impl/src/com/intellij/debugger/memory/ui/JavaTypeInfo.java index 0412125f8dea..dd4fd01ec514 100644 --- a/java/debugger/impl/src/com/intellij/debugger/memory/ui/JavaTypeInfo.java +++ b/java/debugger/impl/src/com/intellij/debugger/memory/ui/JavaTypeInfo.java @@ -1,6 +1,7 @@ // Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.debugger.memory.ui; +import com.intellij.util.containers.ContainerUtil; import com.intellij.xdebugger.memory.ui.ReferenceInfo; import com.intellij.xdebugger.memory.ui.TypeInfo; import com.sun.jdi.ReferenceType; @@ -14,7 +15,7 @@ public class JavaTypeInfo implements TypeInfo { private final ReferenceType referenceType; public static List wrap(List types) { - return types.stream().map(JavaTypeInfo::new).collect(Collectors.toList()); + return ContainerUtil.map(types, JavaTypeInfo::new); } public JavaTypeInfo(@NotNull ReferenceType referenceType) { @@ -30,7 +31,7 @@ public class JavaTypeInfo implements TypeInfo { @NotNull @Override public List getInstances(int limit) { - return getReferenceType().instances(limit).stream().map(JavaReferenceInfo::new).collect(Collectors.toList()); + return ContainerUtil.map(getReferenceType().instances(limit), JavaReferenceInfo::new); } @NotNull diff --git a/java/debugger/impl/src/org/jetbrains/java/debugger/JavaDebuggerEditorsProvider.java b/java/debugger/impl/src/org/jetbrains/java/debugger/JavaDebuggerEditorsProvider.java index 849b51baa05b..cefb49a674a9 100644 --- a/java/debugger/impl/src/org/jetbrains/java/debugger/JavaDebuggerEditorsProvider.java +++ b/java/debugger/impl/src/org/jetbrains/java/debugger/JavaDebuggerEditorsProvider.java @@ -14,6 +14,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.*; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.util.containers.ContainerUtil; import com.intellij.xdebugger.XExpression; import com.intellij.xdebugger.XSourcePosition; import com.intellij.xdebugger.evaluation.EvaluationMode; @@ -24,7 +25,6 @@ import org.jetbrains.annotations.Nullable; import java.util.Collection; import java.util.Collections; -import java.util.stream.Collectors; public class JavaDebuggerEditorsProvider extends XDebuggerEditorsProviderBase { @NotNull @@ -44,9 +44,7 @@ public class JavaDebuggerEditorsProvider extends XDebuggerEditorsProviderBase { @NotNull @Override public Collection getSupportedLanguages(@Nullable PsiElement context) { - return DebuggerUtilsEx.getCodeFragmentFactories(context).stream() - .map(factory -> factory.getFileType().getLanguage()) - .collect(Collectors.toList()); + return ContainerUtil.map(DebuggerUtilsEx.getCodeFragmentFactories(context), factory -> factory.getFileType().getLanguage()); } @NotNull diff --git a/java/debugger/openapi/src/com/intellij/debugger/engine/JSR45PositionManager.java b/java/debugger/openapi/src/com/intellij/debugger/engine/JSR45PositionManager.java index ecc646dfc380..ed1d4e3ab0b8 100644 --- a/java/debugger/openapi/src/com/intellij/debugger/engine/JSR45PositionManager.java +++ b/java/debugger/openapi/src/com/intellij/debugger/engine/JSR45PositionManager.java @@ -14,6 +14,7 @@ import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.fileTypes.LanguageFileType; import com.intellij.openapi.util.Computable; import com.intellij.psi.PsiFile; +import com.intellij.util.containers.ContainerUtil; import com.sun.jdi.*; import com.sun.jdi.request.ClassPrepareRequest; import org.jetbrains.annotations.NonNls; @@ -23,7 +24,6 @@ import java.io.File; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java.util.stream.Collectors; /** * @author Eugene Zhuravlev @@ -176,7 +176,7 @@ public abstract class JSR45PositionManager implements PositionManager { } protected List getRelativeSourePathsByType(final ReferenceType type) throws AbsentInformationException { - return type.sourcePaths(myStratumId).stream().map(this::getRelativePath).collect(Collectors.toList()); + return ContainerUtil.map(type.sourcePaths(myStratumId), this::getRelativePath); } protected List getLocationsOfLine(final ReferenceType type, final String fileName, diff --git a/java/idea-ui/src/com/intellij/jarRepository/settings/RepositoryLibraryPropertiesEditor.java b/java/idea-ui/src/com/intellij/jarRepository/settings/RepositoryLibraryPropertiesEditor.java index 79277fa1b221..df963190f8da 100644 --- a/java/idea-ui/src/com/intellij/jarRepository/settings/RepositoryLibraryPropertiesEditor.java +++ b/java/idea-ui/src/com/intellij/jarRepository/settings/RepositoryLibraryPropertiesEditor.java @@ -27,6 +27,7 @@ import com.intellij.ui.CollectionComboBoxModel; import com.intellij.ui.components.JBCheckBox; import com.intellij.ui.components.JBLabel; import com.intellij.ui.components.labels.SwingActionLink; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.ThreeStateCheckBox; import com.intellij.util.ui.UI; import com.intellij.util.ui.UIUtil; @@ -48,7 +49,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Set; -import java.util.stream.Collectors; public class RepositoryLibraryPropertiesEditor { private static final Logger LOG = Logger.getInstance(RepositoryLibraryPropertiesEditor.class); @@ -173,7 +173,7 @@ public class RepositoryLibraryPropertiesEditor { CollectionComboBoxModel versionSelectorModel = new CollectionComboBoxModel<>(); versionSelectorModel.add(VersionItem.LatestRelease.INSTANCE); versionSelectorModel.add(VersionItem.LatestVersion.INSTANCE); - versionSelectorModel.add(versions.stream().map(VersionItem.ExactVersion::new).collect(Collectors.toList())); + versionSelectorModel.add(ContainerUtil.map(versions, VersionItem.ExactVersion::new)); versionSelector.setModel(versionSelectorModel); versionSelector.setSelectedItem(toVersionItem(model.getVersion())); setState(State.Loaded); diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/JavaModuleGraphUtil.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/JavaModuleGraphUtil.java index 7971415cc14a..8f8bc3fcdd52 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/JavaModuleGraphUtil.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/JavaModuleGraphUtil.java @@ -160,7 +160,7 @@ public class JavaModuleGraphUtil { DFSTBuilder builder = new DFSTBuilder<>(graph); Collection> components = builder.getComponents(); if (!components.isEmpty()) { - return components.stream().map(ContainerUtil::newLinkedHashSet).collect(Collectors.toList()); + return ContainerUtil.map(components, ContainerUtil::newLinkedHashSet); } } } diff --git a/java/java-impl/src/com/intellij/codeInsight/externalAnnotation/NotNullAnnotationProvider.java b/java/java-impl/src/com/intellij/codeInsight/externalAnnotation/NotNullAnnotationProvider.java index 6b6e9ce7cb33..9564e6525bcb 100644 --- a/java/java-impl/src/com/intellij/codeInsight/externalAnnotation/NotNullAnnotationProvider.java +++ b/java/java-impl/src/com/intellij/codeInsight/externalAnnotation/NotNullAnnotationProvider.java @@ -23,6 +23,6 @@ public class NotNullAnnotationProvider implements AnnotationProvider { @NotNull @Override public String[] getAnnotationsToRemove(Project project) { - return NullableNotNullManager.getInstance(project).getNullables().toArray(ArrayUtil.EMPTY_STRING_ARRAY); + return ArrayUtil.toStringArray(NullableNotNullManager.getInstance(project).getNullables()); } } diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/SortContentAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/SortContentAction.java index c44841f5e09d..1466003172b0 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/SortContentAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/SortContentAction.java @@ -233,7 +233,7 @@ public class SortContentAction extends PsiElementBaseIntentionAction { } SortableEntry copy() { - List afterSeparator = myAfterSeparator.stream().map(el -> (PsiComment)el.copy()).collect(Collectors.toList()); + List afterSeparator = ContainerUtil.map(myAfterSeparator, el -> (PsiComment)el.copy()); List beforeSeparator = myBeforeSeparator.stream().map(el -> (PsiComment)el.copy()).collect(Collectors.toList()); return new SortableEntry(myElement.copy(), beforeSeparator, afterSeparator); } @@ -330,7 +330,7 @@ public class SortContentAction extends PsiElementBaseIntentionAction { if (sm.run()) return null; List entries = sm.mySortableEntries; - List entryElements = entries.stream().map(e -> e.myElement).collect(Collectors.toList()); + List entryElements = ContainerUtil.map(entries, e -> e.myElement); if (entryElements.size() < MIN_ELEMENTS_COUNT) return null; if (!strategy.isSuitableElements(entryElements)) return null; return new SortableList(entries, strategy, sm.myLineLayout, beforeFirst); diff --git a/java/java-impl/src/com/intellij/codeInspection/magicConstant/MagicConstantInspection.java b/java/java-impl/src/com/intellij/codeInspection/magicConstant/MagicConstantInspection.java index 4d859031db86..d5313fb48876 100644 --- a/java/java-impl/src/com/intellij/codeInspection/magicConstant/MagicConstantInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/magicConstant/MagicConstantInspection.java @@ -797,7 +797,7 @@ public class MagicConstantInspection extends AbstractBaseJavaLocalInspectionTool @Override public void invoke(@NotNull Project project, @NotNull PsiFile file, @NotNull PsiElement startElement, @NotNull PsiElement endElement) { - List values = myMemberValuePointers.stream().map(SmartPsiElementPointer::getElement).collect(Collectors.toList()); + List values = ContainerUtil.map(myMemberValuePointers, SmartPsiElementPointer::getElement); String text = StringUtil.join(Collections.nCopies(values.size(), "0"), " | "); PsiExpression concatExp = PsiElementFactory.SERVICE.getInstance(project).createExpressionFromText(text, startElement); diff --git a/java/java-impl/src/com/intellij/codeInspection/streamMigration/JoiningMigration.java b/java/java-impl/src/com/intellij/codeInspection/streamMigration/JoiningMigration.java index 666a22746e6b..bedef1ce3cf9 100644 --- a/java/java-impl/src/com/intellij/codeInspection/streamMigration/JoiningMigration.java +++ b/java/java-impl/src/com/intellij/codeInspection/streamMigration/JoiningMigration.java @@ -1192,7 +1192,7 @@ List builderStrInitializers = null; private static List copyReplacingVar(@NotNull List joinParts, @NotNull PsiLocalVariable localVariable, @NotNull PsiExpression replacement) { - List copies = joinParts.stream().map(expression -> (PsiExpression)expression.copy()).collect(Collectors.toList()); + List copies = ContainerUtil.map(joinParts, expression -> (PsiExpression)expression.copy()); for (PsiElement joinPart : copies) { ReferencesSearch.search(localVariable, new LocalSearchScope(joinPart)).forEach(reference -> { reference.getElement().replace(replacement); diff --git a/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/ImportHelper.java b/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/ImportHelper.java index aa08a9065013..5fef92dd21c3 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/ImportHelper.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/ImportHelper.java @@ -44,7 +44,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.*; -import java.util.stream.Collectors; import static java.util.stream.Collectors.toSet; @@ -220,7 +219,7 @@ public class ImportHelper{ JavaPsiFacade facade = JavaPsiFacade.getInstance(manager.getProject()); List onDemandImportsList = new ArrayList<>(onDemandImports); - List onDemandElements = onDemandImportsList.stream().map(onDemandName -> facade.findClass(onDemandName, resolveScope)).collect(Collectors.toList()); + List onDemandElements = ContainerUtil.map(onDemandImportsList, onDemandName -> facade.findClass(onDemandName, resolveScope)); Set namesToUseSingle = new THashSet<>(); for (Pair pair : names) { String name = pair.getFirst(); diff --git a/json/src/com/intellij/json/codeinsight/JsonDuplicatePropertyKeysInspection.java b/json/src/com/intellij/json/codeinsight/JsonDuplicatePropertyKeysInspection.java index c9747679cff6..17127d48b4d0 100644 --- a/json/src/com/intellij/json/codeinsight/JsonDuplicatePropertyKeysInspection.java +++ b/json/src/com/intellij/json/codeinsight/JsonDuplicatePropertyKeysInspection.java @@ -35,6 +35,7 @@ import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.SmartPointerManager; import com.intellij.psi.SmartPsiElementPointer; import com.intellij.psi.util.PsiEditorUtil; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.MultiMap; import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; @@ -89,7 +90,7 @@ public class JsonDuplicatePropertyKeysInspection extends LocalInspectionTool { private NavigateToDuplicatesFix(@NotNull Collection sameNamedKeys, @NotNull PsiElement element, @NotNull String entryKey) { super("Navigate to duplicates"); - mySameNamedKeys = sameNamedKeys.stream().map(k -> SmartPointerManager.createPointer(k)).collect(Collectors.toList()); + mySameNamedKeys = ContainerUtil.map(sameNamedKeys, k -> SmartPointerManager.createPointer(k)); myElement = SmartPointerManager.createPointer(element); myEntryKey = entryKey; } diff --git a/json/src/com/jetbrains/jsonSchema/extension/JsonSchemaUserDefinedProviderFactory.java b/json/src/com/jetbrains/jsonSchema/extension/JsonSchemaUserDefinedProviderFactory.java index 09117dd53ecb..b488b37e0bf5 100644 --- a/json/src/com/jetbrains/jsonSchema/extension/JsonSchemaUserDefinedProviderFactory.java +++ b/json/src/com/jetbrains/jsonSchema/extension/JsonSchemaUserDefinedProviderFactory.java @@ -6,6 +6,7 @@ import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.PairProcessor; +import com.intellij.util.containers.ContainerUtil; import com.jetbrains.jsonSchema.JsonSchemaMappingsProjectConfiguration; import com.jetbrains.jsonSchema.UserDefinedJsonSchemaConfiguration; import com.jetbrains.jsonSchema.impl.JsonSchemaVersion; @@ -17,7 +18,6 @@ import java.io.File; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; import static com.jetbrains.jsonSchema.remote.JsonFileResolver.isHttpPath; @@ -31,10 +31,9 @@ public class JsonSchemaUserDefinedProviderFactory implements JsonSchemaProviderF final JsonSchemaMappingsProjectConfiguration configuration = JsonSchemaMappingsProjectConfiguration.getInstance(project); final Map map = configuration.getStateMap(); - final List providers = map.values().stream() - .map(schema -> createProvider(project, schema)).collect(Collectors.toList()); + final List providers = ContainerUtil.map(map.values(), schema -> createProvider(project, schema)); - return providers.isEmpty() ? Collections.emptyList() : providers; + return providers; } @NotNull diff --git a/json/src/com/jetbrains/jsonSchema/impl/JsonSchemaAnnotatorChecker.java b/json/src/com/jetbrains/jsonSchema/impl/JsonSchemaAnnotatorChecker.java index 14edca328346..15441ad226c0 100644 --- a/json/src/com/jetbrains/jsonSchema/impl/JsonSchemaAnnotatorChecker.java +++ b/json/src/com/jetbrains/jsonSchema/impl/JsonSchemaAnnotatorChecker.java @@ -68,8 +68,8 @@ class JsonSchemaAnnotatorChecker { if (!result.myExcludingSchemas.isEmpty()) { // we can have several oneOf groups, each about, for instance, a part of properties // - then we should allow properties from neighbour schemas (even if additionalProperties=false) - final List list = result.myExcludingSchemas.stream() - .map(group -> processSchemasVariants(group, elementToCheck, true, options).getSecond()).collect(Collectors.toList()); + final List list = + ContainerUtil.map(result.myExcludingSchemas, group -> processSchemasVariants(group, elementToCheck, true, options).getSecond()); checkers.add(mergeErrors(list, options, result.myExcludingSchemas)); } } @@ -1120,8 +1120,8 @@ class JsonSchemaAnnotatorChecker { errors.stream().map(e -> (JsonValidationError.MissingMultiplePropsIssueData)e.getIssueData()) .map(d -> d.getMessage(false)).collect(Collectors.joining(", or ")), isOneOf ? JsonValidationError.FixableIssueKind.MissingOneOfProperty : JsonValidationError.FixableIssueKind.MissingAnyOfProperty, - new JsonValidationError.MissingOneOfPropsIssueData(errors.stream().map(e -> (JsonValidationError.MissingMultiplePropsIssueData)e.getIssueData()).collect( - Collectors.toList())), errors.iterator().next().getPriority()); + new JsonValidationError.MissingOneOfPropsIssueData( + ContainerUtil.map(errors, e -> (JsonValidationError.MissingMultiplePropsIssueData)e.getIssueData())), errors.iterator().next().getPriority()); } if (commonIssueKind == JsonValidationError.FixableIssueKind.ProhibitedType) { diff --git a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/MarkerCache.java b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/MarkerCache.java index 7e12836fb7dc..a2f8c674b741 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/MarkerCache.java +++ b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/MarkerCache.java @@ -27,13 +27,13 @@ import com.intellij.openapi.util.TextRange; import com.intellij.openapi.util.UnfairTextRange; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.Collections; import java.util.Comparator; import java.util.List; -import java.util.stream.Collectors; /** * @author peter @@ -199,9 +199,11 @@ class MarkerCache { UpdatedRanges ranges = new UpdatedRanges(0, frozen, infos, new ManualRangeMarker[]{marker}); // NB: convert events from completion to whole doc change event to more precise translation List newEvents = - events.stream().map(event -> isWholeDocumentReplace(frozen, (DocumentEventImpl)event) - ? new DocumentEventImpl(event.getDocument(), event.getOffset(), event.getOldFragment(), event.getNewFragment(), event.getOldTimeStamp(), true, ((DocumentEventImpl)event).getInitialStartOffset(), ((DocumentEventImpl)event).getInitialOldLength()) : event) - .collect(Collectors.toList()); + ContainerUtil.map(events, event -> isWholeDocumentReplace(frozen, (DocumentEventImpl)event) + ? new DocumentEventImpl(event.getDocument(), event.getOffset(), event.getOldFragment(), + event.getNewFragment(), event.getOldTimeStamp(), true, + ((DocumentEventImpl)event).getInitialStartOffset(), + ((DocumentEventImpl)event).getInitialOldLength()) : event); UpdatedRanges updated = applyEvents(newEvents, ranges); return updated.myMarkers[0]; } diff --git a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/AbstractModuleDataService.java b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/AbstractModuleDataService.java index 01dd12f8ff01..c77d72fadb0e 100644 --- a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/AbstractModuleDataService.java +++ b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/AbstractModuleDataService.java @@ -60,7 +60,6 @@ import java.nio.file.Path; import java.util.List; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; -import java.util.stream.Collectors; /** * @author Vladislav.Soroka @@ -311,11 +310,10 @@ public abstract class AbstractModuleDataService extends Ab } }) .whenExpired(() -> { - List filesToRemove = orphanModules.stream().map(Path::toFile).collect(Collectors.toList()); - filesToRemove.addAll(orphanModules.stream() - .map(path -> path.resolveSibling(path.getFileName() + ".path").toFile()) - .collect(Collectors.toList())); - FileUtil.asyncDelete(filesToRemove); + List filesToRemove = ContainerUtil.map(orphanModules, Path::toFile); + List toRemove2 = ContainerUtil.map(orphanModules, path -> path.resolveSibling(path.getFileName() + ".path").toFile()); + + FileUtil.asyncDelete(ContainerUtil.concat(filesToRemove, toRemove2)); }); Disposer.register(project, cleanUpNotification::expire); diff --git a/platform/lang-api/src/com/intellij/psi/codeStyle/ExcludedFiles.java b/platform/lang-api/src/com/intellij/psi/codeStyle/ExcludedFiles.java index 03d892c25ff6..daa44506b7cc 100644 --- a/platform/lang-api/src/com/intellij/psi/codeStyle/ExcludedFiles.java +++ b/platform/lang-api/src/com/intellij/psi/codeStyle/ExcludedFiles.java @@ -61,8 +61,7 @@ public class ExcludedFiles { public class State { @OptionTag("DO_NOT_FORMAT") public List getDescriptors() { - return myDescriptors.stream() - .map(descriptor -> descriptor.getState()).collect(Collectors.toList()); + return ContainerUtil.map(myDescriptors, descriptor -> descriptor.getState()); } public void setDescriptors(@NotNull List states) { diff --git a/platform/lang-impl/src/com/intellij/application/options/CodeCompletionOptions.java b/platform/lang-impl/src/com/intellij/application/options/CodeCompletionOptions.java index 627e786e46c9..c705e9bd7b1e 100644 --- a/platform/lang-impl/src/com/intellij/application/options/CodeCompletionOptions.java +++ b/platform/lang-impl/src/com/intellij/application/options/CodeCompletionOptions.java @@ -8,12 +8,11 @@ import com.intellij.openapi.options.CompositeConfigurable; import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.options.UnnamedConfigurable; import com.intellij.openapi.options.ex.ConfigurableWrapper; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import javax.swing.*; -import java.util.Collections; import java.util.List; -import java.util.stream.Collectors; public class CodeCompletionOptions extends CompositeConfigurable implements EditorOptionsProvider { private static final ExtensionPointName EP_NAME = ExtensionPointName.create("com.intellij.codeCompletionConfigurable"); @@ -28,11 +27,7 @@ public class CodeCompletionOptions extends CompositeConfigurable configurables = getConfigurables(); - List components = configurables.isEmpty() - ? Collections.emptyList() - : configurables.stream() - .map(UnnamedConfigurable::createComponent) - .collect(Collectors.toList()); + List components = ContainerUtil.map(configurables, UnnamedConfigurable::createComponent); myPanel = new CodeCompletionPanel(components); return myPanel.myPanel; } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/unwrap/UnwrapHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/unwrap/UnwrapHandler.java index 9b164c232524..4e1770c8f1bb 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/unwrap/UnwrapHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/unwrap/UnwrapHandler.java @@ -42,6 +42,7 @@ import com.intellij.psi.PsiFile; import com.intellij.psi.impl.source.tree.RecursiveTreeElementWalkingVisitor; import com.intellij.psi.impl.source.tree.TreeElement; import com.intellij.util.IncorrectOperationException; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.NotNullList; import org.jetbrains.annotations.NotNull; @@ -49,7 +50,6 @@ import javax.swing.*; import java.util.ArrayList; import java.util.List; import java.util.function.Function; -import java.util.stream.Collectors; public class UnwrapHandler implements CodeInsightActionHandler { public static final int HIGHLIGHTER_LEVEL = HighlighterLayer.SELECTION + 1; @@ -108,7 +108,7 @@ public class UnwrapHandler implements CodeInsightActionHandler { private static void showPopup(final List options, Editor editor) { final ScopeHighlighter highlighter = new ScopeHighlighter(editor); - List model = options.stream().map(a -> new MyItem(((MyUnwrapAction)a).getName(), options.indexOf(a))).collect(Collectors.toList()); + List model = ContainerUtil.map(options, a -> new MyItem(((MyUnwrapAction)a).getName(), options.indexOf(a))); Function optionByName = item -> (MyUnwrapAction)options.get(item.index); JBPopupFactory.getInstance() diff --git a/platform/lang-impl/src/com/intellij/codeInspection/ui/actions/KeyAwareInspectionViewAction.java b/platform/lang-impl/src/com/intellij/codeInspection/ui/actions/KeyAwareInspectionViewAction.java index 80da3b9fc4e6..aaa42923e1c6 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/ui/actions/KeyAwareInspectionViewAction.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/ui/actions/KeyAwareInspectionViewAction.java @@ -160,7 +160,7 @@ public abstract class KeyAwareInspectionViewAction extends InspectionViewActionB break; default: context = null; - scope = new AnalysisScope(view.getProject(), files.stream().map(PsiFile::getVirtualFile).collect(Collectors.toList())); + scope = new AnalysisScope(view.getProject(), ContainerUtil.map(files, PsiFile::getVirtualFile)); } RunInspectionIntention.selectScopeAndRunInspection(key.toString(), scope, useModule ? module : null, context, view.getProject()); diff --git a/platform/lang-impl/src/com/intellij/formatting/FormatTextRanges.java b/platform/lang-impl/src/com/intellij/formatting/FormatTextRanges.java index 6928e480f56b..462ea38a337c 100644 --- a/platform/lang-impl/src/com/intellij/formatting/FormatTextRanges.java +++ b/platform/lang-impl/src/com/intellij/formatting/FormatTextRanges.java @@ -25,7 +25,6 @@ import org.jetbrains.annotations.NotNull; import java.util.List; import java.util.Optional; -import java.util.stream.Collectors; public class FormatTextRanges implements FormattingRangesInfo { private final List myInsertedRanges; @@ -98,22 +97,16 @@ public class FormatTextRanges implements FormattingRangesInfo { } public List getTextRanges() { - return myStorage - .getRanges() - .stream() - .map(FormatTextRange::getTextRange) - .collect(Collectors.toList()); + return ContainerUtil.map(myStorage + .getRanges(), FormatTextRange::getTextRange); } public List getExtendedFormattingRanges() { - return myStorage - .getRanges() - .stream() - .map((range) -> { - TextRange textRange = range.getTextRange(); - return new UnfairTextRange(textRange.getStartOffset() - 500, textRange.getEndOffset() + 500); - }) - .collect(Collectors.toList()); + return ContainerUtil.map(myStorage + .getRanges(), (range) -> { + TextRange textRange = range.getTextRange(); + return new UnfairTextRange(textRange.getStartOffset() - 500, textRange.getEndOffset() + 500); + }); } private static List optimizedChangedRanges(@NotNull List allChangedRanges) { diff --git a/platform/lang-impl/src/com/intellij/ide/actions/runAnything/groups/RunAnythingCompletionGroup.java b/platform/lang-impl/src/com/intellij/ide/actions/runAnything/groups/RunAnythingCompletionGroup.java index 70556b1dd97f..530498edb2de 100644 --- a/platform/lang-impl/src/com/intellij/ide/actions/runAnything/groups/RunAnythingCompletionGroup.java +++ b/platform/lang-impl/src/com/intellij/ide/actions/runAnything/groups/RunAnythingCompletionGroup.java @@ -5,6 +5,7 @@ import com.intellij.ide.actions.runAnything.activity.RunAnythingProvider; import com.intellij.ide.actions.runAnything.items.RunAnythingItem; import com.intellij.openapi.actionSystem.DataContext; import com.intellij.util.ObjectUtils; +import com.intellij.util.containers.ContainerUtil; import one.util.streamex.StreamEx; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -37,7 +38,7 @@ public class RunAnythingCompletionGroup> ext @Override public Collection getGroupItems(@NotNull DataContext dataContext, @NotNull String pattern) { P provider = getProvider(); - return provider.getValues(dataContext, pattern).stream().map(value -> provider.getMainListItem(dataContext, value)).collect(Collectors.toList()); + return ContainerUtil.map(provider.getValues(dataContext, pattern), value -> provider.getMainListItem(dataContext, value)); } public static Collection createCompletionGroups() { diff --git a/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/SearchEverywhereManagerImpl.java b/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/SearchEverywhereManagerImpl.java index b2da2d386393..10c5ebd6d3f3 100644 --- a/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/SearchEverywhereManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/SearchEverywhereManagerImpl.java @@ -16,6 +16,7 @@ import com.intellij.openapi.wm.WindowManager; import com.intellij.ui.ScreenUtil; import com.intellij.ui.SearchTextField; import com.intellij.ui.awt.RelativePoint; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.JBInsets; import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; @@ -76,9 +77,8 @@ public class SearchEverywhereManagerImpl implements SearchEverywhereManager { Collections.sort(contributors, Comparator.comparingInt(SearchEverywhereContributor::getSortWeight)); myContributorFilters.computeIfAbsent(ALL_CONTRIBUTORS_GROUP_ID, s -> { - List ids = contributors.stream() - .map(contributor -> contributor.getSearchProviderId()) - .collect(Collectors.toList()); + List ids = + ContainerUtil.map(contributors, contributor -> contributor.getSearchProviderId()); return new PersistentSearchEverywhereContributorFilter<>(ids, SearchEverywhereConfiguration.getInstance(project), id -> contributorsNames.get(id), id -> null); diff --git a/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/SearchEverywhereUI.java b/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/SearchEverywhereUI.java index d3d737fb15bb..fd072f82ec29 100644 --- a/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/SearchEverywhereUI.java +++ b/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/SearchEverywhereUI.java @@ -498,9 +498,8 @@ public class SearchEverywhereUI extends BigPopupUI implements DataProvider, Quic .collect(Collectors.toSet())); } else { - List lst = commands.stream() - .map(command -> new SESearcher.ElementInfo(command, 0, stubCommandContributor)) - .collect(Collectors.toList()); + List lst = + ContainerUtil.map(commands, command -> new SESearcher.ElementInfo(command, 0, stubCommandContributor)); myListModel.addElements(lst, stubCommandContributor); ScrollingUtil.ensureSelectionExists(myResultsList); } diff --git a/platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesTreeViewPanel.java b/platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesTreeViewPanel.java index 07f700fd8c8c..274372b894b6 100644 --- a/platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesTreeViewPanel.java +++ b/platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesTreeViewPanel.java @@ -45,6 +45,7 @@ import com.intellij.ui.docking.DockManager; import com.intellij.ui.docking.DockableContent; import com.intellij.ui.treeStructure.actions.CollapseAllAction; import com.intellij.util.*; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.JBIterable; import com.intellij.util.ui.JBUI; import com.intellij.util.ui.UIUtil; @@ -61,7 +62,6 @@ import java.awt.event.MouseListener; import java.io.File; import java.util.List; import java.util.*; -import java.util.stream.Collectors; /** * @author anna @@ -380,8 +380,8 @@ public class FavoritesTreeViewPanel extends JPanel implements DataProvider, Dock List listNames = getSelectedElements(String.class); final List selectedElements = new SmartList<>(); for (String listname : listNames) { - selectedElements.addAll(myFavoritesManager.getVirtualFiles(listname, false) - .stream().map(file -> new OpenFileDescriptor(myProject, file)).collect(Collectors.toList())); + selectedElements.addAll( + ContainerUtil.map(myFavoritesManager.getVirtualFiles(listname, false), file -> new OpenFileDescriptor(myProject, file))); } selectedElements.addAll(getSelectedElements(Navigatable.class)); return selectedElements.isEmpty() ? null : selectedElements.toArray(new Navigatable[0]); diff --git a/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeViewTreeModel.java b/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeViewTreeModel.java index 2c49dbbf4a90..b15268fc41d6 100644 --- a/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeViewTreeModel.java +++ b/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeViewTreeModel.java @@ -51,25 +51,24 @@ import com.intellij.util.Consumer; import com.intellij.util.SmartList; import com.intellij.util.concurrency.Invoker; import com.intellij.util.concurrency.InvokerSupplier; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.tree.TreeModelAdapter; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import javax.swing.Icon; +import javax.swing.*; import javax.swing.event.TreeModelEvent; import javax.swing.tree.TreePath; -import java.awt.Color; +import java.awt.*; +import java.util.List; import java.util.*; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.BiFunction; -import java.util.stream.Collectors; import static com.intellij.ide.projectView.impl.CompoundIconProvider.findIcon; import static com.intellij.ide.projectView.impl.ShowModulesAction.hasModules; import static com.intellij.openapi.util.io.FileUtil.getLocationRelativeToUserHome; -import static com.intellij.openapi.vfs.VfsUtilCore.VFS_SEPARATOR_CHAR; -import static com.intellij.openapi.vfs.VfsUtilCore.getRelativePath; -import static com.intellij.openapi.vfs.VfsUtilCore.isAncestor; +import static com.intellij.openapi.vfs.VfsUtilCore.*; import static java.util.Collections.emptyList; public final class ScopeViewTreeModel extends BaseTreeModel implements InvokerSupplier { @@ -576,10 +575,7 @@ public final class ScopeViewTreeModel extends BaseTreeModel im } }); if (provider == null) return children; - List nodes = files - .stream() - .map(file -> new PsiFileNode(getProject(), file, getSettings())) - .collect(Collectors.toList()); + List nodes = ContainerUtil.map(files, file -> new PsiFileNode(getProject(), file, getSettings())); children.addAll(provider.modify(parent, nodes, getSettings())); return children; } diff --git a/platform/lang-impl/src/com/intellij/internal/psiView/PsiViewerSourceWrapper.java b/platform/lang-impl/src/com/intellij/internal/psiView/PsiViewerSourceWrapper.java index c2020cb02279..1540245dda42 100644 --- a/platform/lang-impl/src/com/intellij/internal/psiView/PsiViewerSourceWrapper.java +++ b/platform/lang-impl/src/com/intellij/internal/psiView/PsiViewerSourceWrapper.java @@ -49,9 +49,7 @@ class PsiViewerSourceWrapper implements Comparable { @NotNull public static List getExtensionBasedWrappers() { - return PsiViewerExtension.EP_NAME.getExtensionList().stream() - .map(el -> new PsiViewerSourceWrapper(el)) - .collect(Collectors.toList()); + return ContainerUtil.map(PsiViewerExtension.EP_NAME.getExtensionList(), el -> new PsiViewerSourceWrapper(el)); } @NotNull diff --git a/platform/lang-impl/src/com/intellij/openapi/util/registry/RegistryUi.java b/platform/lang-impl/src/com/intellij/openapi/util/registry/RegistryUi.java index 2bd3f647524d..06411221b59a 100644 --- a/platform/lang-impl/src/com/intellij/openapi/util/registry/RegistryUi.java +++ b/platform/lang-impl/src/com/intellij/openapi/util/registry/RegistryUi.java @@ -20,6 +20,7 @@ import com.intellij.ui.*; import com.intellij.ui.speedSearch.SpeedSearchUtil; import com.intellij.ui.table.JBTable; import com.intellij.util.PlatformIcons; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.JBUI; import com.intellij.util.ui.UIUtil; import com.intellij.xml.util.XmlStringUtil; @@ -40,7 +41,6 @@ import java.awt.event.KeyEvent; import java.awt.image.BufferedImage; import java.util.List; import java.util.*; -import java.util.stream.Collectors; /** * @author Kirill Kalishev @@ -216,9 +216,7 @@ public class RegistryUi implements Disposable { private MyTableModel() { myAll = Registry.getAll(); - myAll.addAll(Experiments.EP_NAME.getExtensionList().stream() - .map(ExperimentalFeatureRegistryValueWrapper::new) - .collect(Collectors.toList())); + myAll.addAll(ContainerUtil.map(Experiments.EP_NAME.getExtensionList(), ExperimentalFeatureRegistryValueWrapper::new)); final List recent = getRecent(); Collections.sort(myAll, (o1, o2) -> { diff --git a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/header/InspectionProfileSchemesModel.java b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/header/InspectionProfileSchemesModel.java index c154165da7af..fe52ffaf22be 100644 --- a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/header/InspectionProfileSchemesModel.java +++ b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/header/InspectionProfileSchemesModel.java @@ -102,7 +102,7 @@ public abstract class InspectionProfileSchemesModel implements SchemesModel allProfiles = myProfilePanels.stream().map(p -> p.getProfile()).collect(Collectors.toList()); + final List allProfiles = ContainerUtil.map(myProfilePanels, p -> p.getProfile()); panel.resetSchemes(allProfiles); } diff --git a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/header/InspectionProfileSchemesPanel.java b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/header/InspectionProfileSchemesPanel.java index 25087be4adbe..a82ee8fd3ab9 100644 --- a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/header/InspectionProfileSchemesPanel.java +++ b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/header/InspectionProfileSchemesPanel.java @@ -63,11 +63,9 @@ public class InspectionProfileSchemesPanel extends AbstractDescriptionAwareSchem @Override protected void onProfileRemoved(@NotNull SingleInspectionProfilePanel profilePanel) { myConfigurable.removeProfilePanel(profilePanel); - final List currentProfiles = getModel() - .getProfilePanels() - .stream() - .map(SingleInspectionProfilePanel::getProfile) - .collect(Collectors.toList()); + final List currentProfiles = ContainerUtil.map(getModel() + .getProfilePanels(), + SingleInspectionProfilePanel::getProfile); resetSchemes(currentProfiles); selectScheme(ContainerUtil.getFirstItem(currentProfiles)); } diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/InjectionRegistrarImpl.java b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/InjectionRegistrarImpl.java index 32819223d168..71ca39bfc647 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/InjectionRegistrarImpl.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/InjectionRegistrarImpl.java @@ -49,13 +49,13 @@ import com.intellij.psi.util.PsiUtilCore; import com.intellij.util.ObjectUtils; import com.intellij.util.PathUtil; import com.intellij.util.SmartList; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; @SuppressWarnings("deprecation") class InjectionRegistrarImpl extends MultiHostRegistrarImpl implements MultiHostRegistrar { @@ -91,7 +91,7 @@ class InjectionRegistrarImpl extends MultiHostRegistrarImpl implements MultiHost @Nullable("null means nobody cared to call .doneInjecting()") @Deprecated public List> getResult() { - return resultFiles == null ? null : resultFiles.stream().map(file -> Pair.create(InjectedLanguageUtil.getShreds(file), file)).collect(Collectors.toList()); + return resultFiles == null ? null : ContainerUtil.map(resultFiles, file -> Pair.create(InjectedLanguageUtil.getShreds(file), file)); } @Nullable diff --git a/platform/lang-impl/src/com/intellij/task/impl/ProjectTaskManagerImpl.java b/platform/lang-impl/src/com/intellij/task/impl/ProjectTaskManagerImpl.java index 932df3f04a86..11c378e88560 100644 --- a/platform/lang-impl/src/com/intellij/task/impl/ProjectTaskManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/task/impl/ProjectTaskManagerImpl.java @@ -65,12 +65,12 @@ public class ProjectTaskManagerImpl extends ProjectTaskManager { @Override public void compile(@NotNull VirtualFile[] files, @Nullable ProjectTaskNotification callback) { - List buildTasks = stream(files) - .collect(groupingBy( - file -> ProjectFileIndex.SERVICE.getInstance(myProject).getModuleForFile(file, false))) - .entrySet().stream() - .map(entry -> new ModuleFilesBuildTaskImpl(entry.getKey(), false, entry.getValue())) - .collect(Collectors.toList()); + List buildTasks = map(stream(files) + .collect(groupingBy( + file -> ProjectFileIndex.SERVICE.getInstance(myProject) + .getModuleForFile(file, false))) + .entrySet(), entry -> new ModuleFilesBuildTaskImpl(entry.getKey(), false, + entry.getValue())); run(new ProjectTaskList(buildTasks), callback); } 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 203df95c6631..1c94fd7c7e4d 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexImpl.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexImpl.java @@ -94,7 +94,6 @@ import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.ReentrantReadWriteLock; import java.util.function.Predicate; -import java.util.stream.Collectors; import java.util.stream.Stream; /** @@ -1487,7 +1486,7 @@ public class FileBasedIndexImpl extends FileBasedIndex implements BaseComponent, @NotNull Collection getFilesToUpdate(final Project project) { - return myChangedFilesCollector.getAllFilesToUpdate().stream().filter(filesToBeIndexedForProjectCondition(project)).collect(Collectors.toList()); + return ContainerUtil.filter(myChangedFilesCollector.getAllFilesToUpdate(), filesToBeIndexedForProjectCondition(project)::test); } @NotNull diff --git a/platform/platform-api/src/com/intellij/util/net/HttpConfigurable.java b/platform/platform-api/src/com/intellij/util/net/HttpConfigurable.java index dfa888c277d4..2f0a3faaac48 100644 --- a/platform/platform-api/src/com/intellij/util/net/HttpConfigurable.java +++ b/platform/platform-api/src/com/intellij/util/net/HttpConfigurable.java @@ -463,7 +463,7 @@ public class HttpConfigurable implements PersistentStateComponent> getJvmPropertiesList(boolean withAutodetection, @Nullable URI uri) { List> properties = getInstance().getJvmProperties(withAutodetection, uri); - return properties.stream().map(p -> KeyValue.create(p.first, p.second)).collect(Collectors.toList()); + return ContainerUtil.map(properties, p -> KeyValue.create(p.first, p.second)); } @NotNull diff --git a/platform/platform-impl/src/com/intellij/diagnostic/errordialog/PluginConflictDialog.java b/platform/platform-impl/src/com/intellij/diagnostic/errordialog/PluginConflictDialog.java index 9930d60c5266..0cfe87f2fc76 100644 --- a/platform/platform-impl/src/com/intellij/diagnostic/errordialog/PluginConflictDialog.java +++ b/platform/platform-impl/src/com/intellij/diagnostic/errordialog/PluginConflictDialog.java @@ -25,6 +25,7 @@ import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.util.text.StringUtil; import com.intellij.ui.components.JBLabel; import com.intellij.ui.components.JBRadioButton; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.JBEmptyBorder; import com.intellij.util.ui.JBUI; import org.jetbrains.annotations.NotNull; @@ -110,16 +111,13 @@ public class PluginConflictDialog extends DialogWrapper { final ButtonGroup buttonGroup = new ButtonGroup(); myConflictingPluginsListPanel = new JPanel(new GridLayout(0, 1)); - final List pluginDescriptions = myConflictingPlugins.stream() - .map(plugin -> getChooserPanelForPlugin(buttonGroup, plugin)) - .collect(Collectors.toList()); + final List pluginDescriptions = + ContainerUtil.map(myConflictingPlugins, plugin -> getChooserPanelForPlugin(buttonGroup, plugin)); + pluginDescriptions.forEach(myConflictingPluginsListPanel::add); if (!myIsConflictWithPlatform) { - pluginDescriptions.add(getChooserPanelForPlugin(buttonGroup, null)); - } - - for (JPanel panel : pluginDescriptions) { - myConflictingPluginsListPanel.add(panel); + JPanel chooserPanelForPlugin = getChooserPanelForPlugin(buttonGroup, null); + myConflictingPluginsListPanel.add(chooserPanelForPlugin); } setUpDefaultSelection(); diff --git a/platform/platform-impl/src/com/intellij/ide/gdpr/ConsentOptions.java b/platform/platform-impl/src/com/intellij/ide/gdpr/ConsentOptions.java index 4efc18488766..c871bc375f7b 100644 --- a/platform/platform-impl/src/com/intellij/ide/gdpr/ConsentOptions.java +++ b/platform/platform-impl/src/com/intellij/ide/gdpr/ConsentOptions.java @@ -11,6 +11,7 @@ import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.CharsetToolkit; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -176,9 +177,7 @@ public final class ConsentOptions { public void setConsents(Collection confirmedByUser) { saveConfirmedConsents( - confirmedByUser.stream().map( - c -> new ConfirmedConsent(c.getId(), c.getVersion(), c.isAccepted(), 0L) - ).collect(Collectors.toList()) + ContainerUtil.map(confirmedByUser, c -> new ConfirmedConsent(c.getId(), c.getVersion(), c.isAccepted(), 0L)) ); } diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerMain.java b/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerMain.java index b0fe8d51631c..dc7984b7b55d 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerMain.java +++ b/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerMain.java @@ -417,7 +417,7 @@ public abstract class PluginManagerMain implements Disposable { Runnable onSuccess, @Nullable Runnable cleanup) throws IOException { return downloadPlugins(plugins, - allPlugins.stream().map(p -> new PluginNode(p, p.getIdString(), "-1")).collect(Collectors.toList()), + ContainerUtil.map(allPlugins, p -> new PluginNode(p, p.getIdString(), "-1")), onSuccess, new PluginEnabler.HEADLESS(), cleanup); diff --git a/platform/platform-impl/src/com/intellij/ide/ui/PluginBooleanOptionDescriptor.java b/platform/platform-impl/src/com/intellij/ide/ui/PluginBooleanOptionDescriptor.java index d532107f1e1b..fb8e984cda39 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/PluginBooleanOptionDescriptor.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/PluginBooleanOptionDescriptor.java @@ -27,6 +27,7 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.extensions.PluginId; import com.intellij.openapi.ui.popup.Balloon; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import java.io.IOException; @@ -100,9 +101,7 @@ public class PluginBooleanOptionDescriptor extends BooleanOptionDescription { @Override public void run() { List disabledPlugins = PluginManagerCore.getDisabledPlugins(); - List ids = switchedPlugins.stream() - .map(PluginId::getIdString) - .collect(Collectors.toList()); + List ids = ContainerUtil.map(switchedPlugins, PluginId::getIdString); boolean notificationValid = enabled ? ids.stream().noneMatch(disabledPlugins::contains) : disabledPlugins.containsAll(ids); diff --git a/platform/platform-impl/src/com/intellij/openapi/fileChooser/tree/FileTreeModel.java b/platform/platform-impl/src/com/intellij/openapi/fileChooser/tree/FileTreeModel.java index ff1d7e0dff52..9f990aa65a32 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileChooser/tree/FileTreeModel.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileChooser/tree/FileTreeModel.java @@ -316,7 +316,7 @@ public final class FileTreeModel extends AbstractTreeModel implements Identifiab List files = roots; if (files == null) files = getSystemRoots(); if (files == null || files.isEmpty()) return emptyList(); - return files.stream().map(file -> new Root(this, file)).collect(toList()); + return ContainerUtil.map(files, file -> new Root(this, file)); } private static List getRoots(FileChooserDescriptor descriptor) { diff --git a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/KeymapSchemeManager.java b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/KeymapSchemeManager.java index 175a92f4dd6a..01ded80c9b74 100644 --- a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/KeymapSchemeManager.java +++ b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/KeymapSchemeManager.java @@ -21,6 +21,7 @@ import com.intellij.openapi.keymap.Keymap; import com.intellij.openapi.keymap.KeymapManager; import com.intellij.openapi.keymap.impl.KeymapManagerImpl; import com.intellij.openapi.util.Condition; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -32,7 +33,6 @@ import static com.intellij.openapi.keymap.KeyMapBundle.message; import static com.intellij.openapi.util.SystemInfo.isMac; import static com.intellij.openapi.util.text.StringUtil.isEmptyOrSpaces; import static com.intellij.openapi.util.text.StringUtil.naturalCompare; -import static java.util.stream.Collectors.toList; /** * This class operates with the KeymapManager. @@ -207,7 +207,7 @@ final class KeymapSchemeManager extends AbstractSchemeActions impl } KeymapScheme selected = selector.getSelectedScheme(); Keymap active = selected == null ? null : selected.getOriginal(); - List keymaps = list.stream().map(scheme -> scheme.apply()).collect(toList()); + List keymaps = ContainerUtil.map(list, scheme -> scheme.apply()); KeymapManagerImpl manager = (KeymapManagerImpl)KeymapManager.getInstance(); manager.setKeymaps(keymaps, active, FILTER); selector.notifyConsumer(selected); diff --git a/platform/platform-impl/src/com/intellij/terminal/JBTerminalWidget.java b/platform/platform-impl/src/com/intellij/terminal/JBTerminalWidget.java index e91e1545b062..73cba8d05091 100644 --- a/platform/platform-impl/src/com/intellij/terminal/JBTerminalWidget.java +++ b/platform/platform-impl/src/com/intellij/terminal/JBTerminalWidget.java @@ -27,6 +27,7 @@ import com.intellij.openapi.wm.ToolWindowManager; import com.intellij.ui.SearchTextField; import com.intellij.ui.components.JBScrollBar; import com.intellij.ui.components.JBScrollPane; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.JBSwingUtilities; import com.intellij.util.ui.RegionPainter; import com.jediterm.terminal.SubstringFinder; @@ -52,7 +53,6 @@ import java.awt.event.ItemListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.util.List; -import java.util.stream.Collectors; public class JBTerminalWidget extends JediTermWidget implements Disposable { private final Project myProject; @@ -225,9 +225,10 @@ public class JBTerminalWidget extends JediTermWidget implements Disposable { public LinkResult apply(String line) { Filter.Result r = filter.applyFilter(line, line.length()); if (r != null) { - return new LinkResult(r.getResultItems().stream().map( - (item -> new LinkResultItem(item.getHighlightStartOffset(), item.getHighlightEndOffset(), new LinkInfo( - () -> item.getHyperlinkInfo().navigate(project))))).collect(Collectors.toList())); + return new LinkResult(ContainerUtil.map(r.getResultItems(), + (item -> new LinkResultItem(item.getHighlightStartOffset(), item.getHighlightEndOffset(), + new LinkInfo( + () -> item.getHyperlinkInfo().navigate(project)))))); } else { return null; diff --git a/platform/platform-impl/src/com/intellij/ui/tree/AsyncTreeModel.java b/platform/platform-impl/src/com/intellij/ui/tree/AsyncTreeModel.java index b0f8b0be7a6a..c60fe213e0a7 100644 --- a/platform/platform-impl/src/com/intellij/ui/tree/AsyncTreeModel.java +++ b/platform/platform-impl/src/com/intellij/ui/tree/AsyncTreeModel.java @@ -10,6 +10,7 @@ import com.intellij.util.Consumer; import com.intellij.util.concurrency.Command; import com.intellij.util.concurrency.Invoker; import com.intellij.util.concurrency.InvokerSupplier; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.SmartHashSet; import com.intellij.util.ui.tree.AbstractTreeModel; import com.intellij.util.ui.tree.TreeModelAdapter; @@ -32,7 +33,6 @@ import java.util.function.ToIntFunction; import static java.util.Collections.emptyList; import static java.util.Collections.singletonList; -import static java.util.stream.Collectors.toList; import static org.jetbrains.concurrency.Promises.rejectedPromise; /** @@ -899,7 +899,7 @@ public final class AsyncTreeModel extends AbstractTreeModel implements Identifia private void updatePaths(@NotNull Object oldObject, @NotNull Object newObject) { if (paths.stream().anyMatch(path -> contains(path, oldObject))) { // replace instance of user's object in all internal maps to avoid memory leaks - List updated = paths.stream().map(path -> update(path, oldObject, newObject)).collect(toList()); + List updated = ContainerUtil.map(paths, path -> update(path, oldObject, newObject)); paths.clear(); paths.addAll(updated); forEachChildExceptLoading(child -> child.updatePaths(oldObject, newObject)); diff --git a/platform/structuralsearch/source/com/intellij/structuralsearch/plugin/replace/impl/ReplacementBuilder.java b/platform/structuralsearch/source/com/intellij/structuralsearch/plugin/replace/impl/ReplacementBuilder.java index 1122da0697c2..1594ce6b6dc9 100644 --- a/platform/structuralsearch/source/com/intellij/structuralsearch/plugin/replace/impl/ReplacementBuilder.java +++ b/platform/structuralsearch/source/com/intellij/structuralsearch/plugin/replace/impl/ReplacementBuilder.java @@ -19,12 +19,12 @@ import com.intellij.structuralsearch.plugin.replace.ReplaceOptions; import com.intellij.structuralsearch.plugin.replace.ReplacementInfo; import com.intellij.util.IncorrectOperationException; import com.intellij.util.SmartList; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.Nullable; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; /** * @author maxim @@ -155,7 +155,7 @@ public final class ReplacementBuilder { if (scriptSupport == null) { final String constraint = options.getVariableDefinition(info.getName()).getScriptCodeConstraint(); final List variableNames = - options.getVariableDefinitions().stream().map(o -> o.getName()).collect(Collectors.toList()); + ContainerUtil.map(options.getVariableDefinitions(), o -> o.getName()); scriptSupport = new ScriptSupport(myProject, StringUtil.unquoteString(constraint), info.getName(), variableNames); replacementVarsMap.put(info.getName(), scriptSupport); } diff --git a/platform/structuralsearch/source/com/intellij/structuralsearch/plugin/replace/ui/ReplaceUsageViewContext.java b/platform/structuralsearch/source/com/intellij/structuralsearch/plugin/replace/ui/ReplaceUsageViewContext.java index 2788b2875e31..a33fbf8745fb 100644 --- a/platform/structuralsearch/source/com/intellij/structuralsearch/plugin/replace/ui/ReplaceUsageViewContext.java +++ b/platform/structuralsearch/source/com/intellij/structuralsearch/plugin/replace/ui/ReplaceUsageViewContext.java @@ -33,6 +33,7 @@ import com.intellij.usages.UsageInfo2UsageAdapter; import com.intellij.usages.UsageView; import com.intellij.usages.rules.UsageInFile; import com.intellij.util.ObjectUtils; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import java.util.*; @@ -92,12 +93,12 @@ class ReplaceUsageViewContext extends UsageViewContext { final Set excluded = myUsageView.getExcludedUsages(); usages = usages.stream().filter(u -> !excluded.contains(u)).filter(u -> isValid((UsageInfo2UsageAdapter)u)).collect(Collectors.toList()); - final List files = usages.stream().map(i -> ((UsageInFile)i).getFile()).collect(Collectors.toList()); + final List files = ContainerUtil.map(usages, i -> ((UsageInFile)i).getFile()); if (ReadonlyStatusHandler.getInstance(mySearchContext.getProject()).ensureFilesWritable(files).hasReadonlyFiles()) { return; } removeUsagesAndSelectNext(usages, excluded); - final List replacementInfos = usages.stream().map(usage2ReplacementInfo::get).collect(Collectors.toList()); + final List replacementInfos = ContainerUtil.map(usages, usage2ReplacementInfo::get); final LocalHistoryAction action = LocalHistory.getInstance().startAction(SSRBundle.message("structural.replace.title")); try { CommandProcessor.getInstance().executeCommand( diff --git a/platform/testFramework/src/com/intellij/testFramework/VfsTestUtil.java b/platform/testFramework/src/com/intellij/testFramework/VfsTestUtil.java index e54ff5c50a0e..d04ef2c49c78 100644 --- a/platform/testFramework/src/com/intellij/testFramework/VfsTestUtil.java +++ b/platform/testFramework/src/com/intellij/testFramework/VfsTestUtil.java @@ -15,6 +15,7 @@ import com.intellij.openapi.vfs.VirtualFileManager; import com.intellij.openapi.vfs.newvfs.BulkFileListener; import com.intellij.openapi.vfs.newvfs.events.*; import com.intellij.util.PathUtil; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.messages.MessageBusConnection; import org.jetbrains.annotations.NotNull; import org.junit.Assert; @@ -23,7 +24,6 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; /** * @author nik @@ -159,7 +159,7 @@ public class VfsTestUtil { @NotNull public static List print(@NotNull List events) { - return events.stream().map(VfsTestUtil::print).collect(Collectors.toList()); + return ContainerUtil.map(events, VfsTestUtil::print); } private static String print(VFileEvent e) { diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerHistoryManager.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerHistoryManager.java index ecfce7120d82..684c2e314317 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerHistoryManager.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerHistoryManager.java @@ -21,7 +21,6 @@ import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; /** * @author nik @@ -67,7 +66,7 @@ public class XDebuggerHistoryManager implements PersistentStateComponent expressions = myRecentExpressions.get(id); - List states = expressions.stream().map(ExpressionState::new).collect(Collectors.toList()); + List states = ContainerUtil.map(expressions, ExpressionState::new); Element entryElement = new Element(EXPRESSIONS_TAG); entryElement.setAttribute(ID_ATTRIBUTE, id); for (ExpressionState expressionState : states) { diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspection.java index fff955743ab1..f72e3253467b 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspection.java @@ -46,6 +46,7 @@ import com.intellij.ui.components.JBScrollPane; import com.intellij.ui.components.panels.VerticalBox; import com.intellij.util.ObjectUtils; import com.intellij.util.Query; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.OrderedSet; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.psiutils.ClassUtils; @@ -62,7 +63,6 @@ import org.jetbrains.annotations.NotNull; import javax.swing.*; import java.util.*; -import java.util.stream.Collectors; public class TypeMayBeWeakenedInspection extends AbstractBaseJavaLocalInspectionTool { @SuppressWarnings({"PublicField", "WeakerAccess"}) @@ -516,9 +516,7 @@ public class TypeMayBeWeakenedInspection extends AbstractBaseJavaLocalInspection weakestClasses.removeIf(weakestClass -> !weakestClass.isInterface()); } - weakestClasses = weakestClasses.stream() - .map(psiClass -> tryReplaceWithParentStopper(originClass, psiClass, myStopClassSet)) - .collect(Collectors.toList()); + weakestClasses = ContainerUtil.map(weakestClasses, psiClass -> tryReplaceWithParentStopper(originClass, psiClass, myStopClassSet)); return weakestClasses; } diff --git a/plugins/coverage-common/src/com/intellij/coverage/CoverageDataManagerImpl.java b/plugins/coverage-common/src/com/intellij/coverage/CoverageDataManagerImpl.java index 72cbff5b9d62..1988d04301c9 100644 --- a/plugins/coverage-common/src/com/intellij/coverage/CoverageDataManagerImpl.java +++ b/plugins/coverage-common/src/com/intellij/coverage/CoverageDataManagerImpl.java @@ -413,7 +413,7 @@ public class CoverageDataManagerImpl extends CoverageDataManager { * Called from EDT, on external coverage suite choosing */ public void addRootsToWatch(List suites) { - myCurrentSuiteRoots = suites.stream().map(suite -> suite.getCoverageDataFileName()).collect(Collectors.toList()); + myCurrentSuiteRoots = ContainerUtil.map(suites, suite -> suite.getCoverageDataFileName()); LocalFileSystem fileSystem = LocalFileSystem.getInstance(); myCurrentSuiteRoots.forEach(path -> fileSystem.refreshAndFindFileByPath(path)); myWatchRequests = fileSystem.addRootsToWatch(myCurrentSuiteRoots, true); diff --git a/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundlePropertiesUpdateManager.java b/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundlePropertiesUpdateManager.java index 8a1600d75e1f..05e44f86fb36 100644 --- a/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundlePropertiesUpdateManager.java +++ b/plugins/properties/src/com/intellij/lang/properties/editor/ResourceBundlePropertiesUpdateManager.java @@ -30,6 +30,7 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.codeStyle.CodeStyleManager; import com.intellij.util.IncorrectOperationException; import com.intellij.util.SmartList; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.FactoryMap; import com.intellij.util.containers.IntArrayList; import com.intellij.util.graph.*; @@ -38,7 +39,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.*; -import java.util.stream.Collectors; /** * @author Dmitry Batkovich @@ -170,7 +170,7 @@ public class ResourceBundlePropertiesUpdateManager { @Nullable private static Pair, Boolean> keysOrder(final ResourceBundle resourceBundle) { final List propertiesOrders = - resourceBundle.getPropertiesFiles().stream().map(PropertiesOrder::new).collect(Collectors.toList()); + ContainerUtil.map(resourceBundle.getPropertiesFiles(), PropertiesOrder::new); final boolean[] isAlphaSorted = new boolean[]{true}; final Graph generator = GraphGenerator.generate(CachingSemiGraph.cache(new InboundSemiGraph() { diff --git a/plugins/stream-debugger/src/com/intellij/debugger/streams/action/TraceStreamAction.java b/plugins/stream-debugger/src/com/intellij/debugger/streams/action/TraceStreamAction.java index aa83cd2d3f2a..e70e0c35a15b 100644 --- a/plugins/stream-debugger/src/com/intellij/debugger/streams/action/TraceStreamAction.java +++ b/plugins/stream-debugger/src/com/intellij/debugger/streams/action/TraceStreamAction.java @@ -25,6 +25,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.util.TextRange; import com.intellij.psi.PsiElement; import com.intellij.psi.util.PsiEditorUtil; +import com.intellij.util.containers.ContainerUtil; import com.intellij.xdebugger.XDebugSession; import com.intellij.xdebugger.XDebuggerManager; import one.util.streamex.StreamEx; @@ -44,7 +45,7 @@ public class TraceStreamAction extends AnAction { private final DebuggerPositionResolver myPositionResolver = new DebuggerPositionResolverImpl(); private final List mySupportedLibraries = - LibrarySupportProvider.getList().stream().map(SupportedLibrary::new).collect(Collectors.toList()); + ContainerUtil.map(LibrarySupportProvider.getList(), SupportedLibrary::new); private final Set mySupportedLanguages = StreamEx.of(mySupportedLibraries).map(x -> x.languageId).toSet(); private int myLastVisitedPsiElementHash; @@ -100,7 +101,7 @@ public class TraceStreamAction extends AnAction { throw new RuntimeException("editor not found"); } - new MyStreamChainChooser(editor).show(chains.stream().map(StreamChainOption::new).collect(Collectors.toList()), + new MyStreamChainChooser(editor).show(ContainerUtil.map(chains, StreamChainOption::new), provider -> runTrace(provider.chain, provider.library, session)); } } diff --git a/plugins/stream-debugger/src/com/intellij/debugger/streams/psi/impl/JavaStreamChainBuilder.java b/plugins/stream-debugger/src/com/intellij/debugger/streams/psi/impl/JavaStreamChainBuilder.java index c1645f387fef..40fe97042f57 100644 --- a/plugins/stream-debugger/src/com/intellij/debugger/streams/psi/impl/JavaStreamChainBuilder.java +++ b/plugins/stream-debugger/src/com/intellij/debugger/streams/psi/impl/JavaStreamChainBuilder.java @@ -7,12 +7,12 @@ import com.intellij.debugger.streams.psi.PsiUtil; import com.intellij.debugger.streams.wrapper.StreamChain; import com.intellij.debugger.streams.wrapper.StreamChainBuilder; import com.intellij.psi.*; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.*; -import java.util.stream.Collectors; /** * @author Vitaliy.Bibaev @@ -87,7 +87,7 @@ public class JavaStreamChainBuilder implements StreamChainBuilder { @NotNull private List buildChains(@NotNull List> chains, @NotNull PsiElement context) { - return chains.stream().map(x -> myChainTransformer.transform(x, context)).collect(Collectors.toList()); + return ContainerUtil.map(chains, x -> myChainTransformer.transform(x, context)); } private class MyStreamChainExistenceChecker extends MyVisitorBase { diff --git a/plugins/stream-debugger/src/com/intellij/debugger/streams/trace/IntermediateState.java b/plugins/stream-debugger/src/com/intellij/debugger/streams/trace/IntermediateState.java index b6594629785b..1da95d4b2e06 100644 --- a/plugins/stream-debugger/src/com/intellij/debugger/streams/trace/IntermediateState.java +++ b/plugins/stream-debugger/src/com/intellij/debugger/streams/trace/IntermediateState.java @@ -1,11 +1,11 @@ // Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.debugger.streams.trace; +import com.intellij.util.containers.ContainerUtil; import com.sun.jdi.Value; import org.jetbrains.annotations.NotNull; import java.util.List; -import java.util.stream.Collectors; /** * @author Vitaliy.Bibaev @@ -17,6 +17,6 @@ public interface IntermediateState { @NotNull default List getRawValues() { - return getTrace().stream().map(TraceElement::getValue).collect(Collectors.toList()); + return ContainerUtil.map(getTrace(), TraceElement::getValue); } } diff --git a/plugins/stream-debugger/src/com/intellij/debugger/streams/trace/impl/TracingResultImpl.java b/plugins/stream-debugger/src/com/intellij/debugger/streams/trace/impl/TracingResultImpl.java index ca5f13bfb27d..8cc00928a7b3 100644 --- a/plugins/stream-debugger/src/com/intellij/debugger/streams/trace/impl/TracingResultImpl.java +++ b/plugins/stream-debugger/src/com/intellij/debugger/streams/trace/impl/TracingResultImpl.java @@ -12,12 +12,12 @@ import com.intellij.debugger.streams.trace.*; import com.intellij.debugger.streams.wrapper.IntermediateStreamCall; import com.intellij.debugger.streams.wrapper.StreamChain; import com.intellij.debugger.streams.wrapper.TraceUtil; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; /** * @author Vitaliy.Bibaev @@ -60,9 +60,8 @@ public class TracingResultImpl implements TracingResult { public ResolvedTracingResult resolve(@NotNull ResolverFactory resolverFactory) { assert myTrace.size() == mySourceChain.length(); - List resolvedTraces = myTrace.stream() - .map(x -> resolverFactory.getResolver(x.getCall().getName()).resolve(x)) - .collect(Collectors.toList()); + List resolvedTraces = + ContainerUtil.map(myTrace, x -> resolverFactory.getResolver(x.getCall().getName()).resolve(x)); final TraceInfo firstCallTrace = myTrace.get(0); final List intermediateCalls = mySourceChain.getIntermediateCalls(); diff --git a/plugins/stream-debugger/src/com/intellij/debugger/streams/ui/impl/CollectionTree.java b/plugins/stream-debugger/src/com/intellij/debugger/streams/ui/impl/CollectionTree.java index 88b642fa54c3..70f90fb5f6f1 100644 --- a/plugins/stream-debugger/src/com/intellij/debugger/streams/ui/impl/CollectionTree.java +++ b/plugins/stream-debugger/src/com/intellij/debugger/streams/ui/impl/CollectionTree.java @@ -20,6 +20,7 @@ import com.intellij.openapi.project.Project; import com.intellij.ui.JBColor; import com.intellij.util.EventDispatcher; import com.intellij.util.ObjectUtils; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.UIUtil; import com.intellij.xdebugger.frame.*; import com.intellij.xdebugger.impl.actions.XDebuggerActions; @@ -37,8 +38,8 @@ import org.jetbrains.java.debugger.JavaDebuggerEditorsProvider; import javax.swing.tree.TreePath; import java.awt.*; -import java.util.*; import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -135,7 +136,7 @@ public class CollectionTree extends XDebuggerTree implements TraceContainer { CollectionTree(@NotNull List traceElements, @NotNull EvaluationContextImpl evaluationContext) { - this(traceElements.stream().map(TraceElement::getValue).collect(Collectors.toList()), traceElements, evaluationContext); + this(ContainerUtil.map(traceElements, TraceElement::getValue), traceElements, evaluationContext); } @Override diff --git a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/xml/XmlTagImpl.java b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/xml/XmlTagImpl.java index c3c42ab6ff78..a462701e7aa3 100644 --- a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/xml/XmlTagImpl.java +++ b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/xml/XmlTagImpl.java @@ -376,7 +376,7 @@ public class XmlTagImpl extends XmlElementImpl implements XmlTag, HintedReferenc descriptor = descriptors.get(0); } else if (descriptors.size() > 1) { - descriptor = new MultiFileNsDescriptor(descriptors.stream().map(descriptor1 -> (XmlNSDescriptorImpl)descriptor1).collect(Collectors.toList())); + descriptor = new MultiFileNsDescriptor(ContainerUtil.map(descriptors, descriptor1 -> (XmlNSDescriptorImpl)descriptor1)); } if (descriptor == null) { return new Result<>(null, this, file[0] == null ? this : file[0],