diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/DebugProcessEvents.java b/java/debugger/impl/src/com/intellij/debugger/engine/DebugProcessEvents.java index 53532ef3c86b..2749c31fdbd2 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/DebugProcessEvents.java +++ b/java/debugger/impl/src/com/intellij/debugger/engine/DebugProcessEvents.java @@ -31,7 +31,6 @@ import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.registry.Registry; import com.intellij.util.ConcurrencyUtil; import com.intellij.util.Consumer; -import com.intellij.util.ObjectUtils; import com.intellij.util.concurrency.AppExecutorUtil; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.UIUtil; @@ -385,10 +384,13 @@ public class DebugProcessEvents extends DebugProcessImpl { @Override public void extensionAdded(@NotNull PositionManagerFactory extension, @NotNull PluginDescriptor pluginDescriptor) { getManagerThread().invoke(PrioritizedTask.Priority.NORMAL, () -> - ObjectUtils.consumeIfNotNull(extension.createPositionManager(DebugProcessEvents.this), m -> { - mapping.put(extension, m); - appendPositionManager(m); - })); + { + PositionManager manager = extension.createPositionManager(DebugProcessEvents.this); + if (manager != null) { + mapping.put(extension, manager); + appendPositionManager(manager); + } + }); } @Override diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/DebugProcessImpl.java b/java/debugger/impl/src/com/intellij/debugger/engine/DebugProcessImpl.java index 150860cbfb43..414b19149182 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/DebugProcessImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/engine/DebugProcessImpl.java @@ -194,7 +194,9 @@ public abstract class DebugProcessImpl extends UserDataHolderBase implements Deb } public void setWatchMethodReturnValuesEnabled(boolean enabled) { - ObjectUtils.consumeIfNotNull(myReturnValueWatcher, v -> v.setEnabled(enabled)); + if (myReturnValueWatcher != null) { + myReturnValueWatcher.setEnabled(enabled); + } } public boolean canGetMethodReturnValue() { @@ -2308,7 +2310,9 @@ public abstract class DebugProcessImpl extends UserDataHolderBase implements Deb @Override public void contextAction(@NotNull SuspendContextImpl suspendContext) { breakpointManager.applyThreadFilter(DebugProcessImpl.this, null); // clear the filter on resume - ObjectUtils.consumeIfNotNull(myReturnValueWatcher, MethodReturnValueWatcher::clear); + if (myReturnValueWatcher != null) { + myReturnValueWatcher.clear(); + } super.contextAction(suspendContext); } @@ -2448,11 +2452,15 @@ public abstract class DebugProcessImpl extends UserDataHolderBase implements Deb } public void startWatchingMethodReturn(ThreadReferenceProxyImpl thread) { - ObjectUtils.consumeIfNotNull(myReturnValueWatcher, v -> v.enable(thread.getThreadReference())); + if (myReturnValueWatcher != null) { + myReturnValueWatcher.enable(thread.getThreadReference()); + } } void stopWatchingMethodReturn() { - ObjectUtils.consumeIfNotNull(myReturnValueWatcher, MethodReturnValueWatcher::disable); + if (myReturnValueWatcher != null) { + myReturnValueWatcher.disable(); + } } private record VirtualMachineData(VirtualMachineProxyImpl vm, RemoteConnection connection, diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/DescriptorTree.java b/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/DescriptorTree.java index a68a66b45b06..8e8286e6bfb8 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/DescriptorTree.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/DescriptorTree.java @@ -3,13 +3,12 @@ package com.intellij.debugger.ui.impl.watch; import com.intellij.debugger.ui.tree.NodeDescriptor; import com.intellij.openapi.util.Pair; +import com.intellij.util.containers.ContainerUtil; import one.util.streamex.StreamEx; import java.util.*; -import static com.intellij.util.ObjectUtils.consumeIfNotNull; import static com.intellij.util.containers.ContainerUtil.iterateBackward; -import static com.intellij.util.containers.ContainerUtil.map; public class DescriptorTree { private final HashMap> myChildrenMap = new HashMap<>(); @@ -71,8 +70,10 @@ public class DescriptorTree { Pair nodeInfo = stack.pop(); NodeDescriptor child = nodeInfo.second; walker.visit(nodeInfo.first, child); - consumeIfNotNull(myChildrenMap.get(child), - children -> iterateBackward(map(children, e -> new Pair<>(child, e))).forEach(stack::push)); + List list = myChildrenMap.get(child); + if (list != null) { + iterateBackward(ContainerUtil.map(list, e -> new Pair<>(child, e))).forEach(stack::push); + } } } diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/overhead/OverheadView.java b/java/debugger/impl/src/com/intellij/debugger/ui/overhead/OverheadView.java index c9da1f8f31f6..64a27beae5ab 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/overhead/OverheadView.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/overhead/OverheadView.java @@ -36,7 +36,6 @@ import java.util.Comparator; import java.util.List; import java.util.function.Function; -import static com.intellij.util.ObjectUtils.consumeIfNotNull; import static com.intellij.util.containers.ContainerUtil.getFirstItem; import static com.intellij.util.containers.ContainerUtil.mapNotNull; @@ -120,7 +119,11 @@ public class OverheadView extends BorderLayoutPanel implements Disposable, DataP ReadAction.nonBlocking( () -> getFirstItem(mapNotNull(getSelectedBreakpoints(), XBreakpoint::getNavigatable))) .expireWith(OverheadView.this) - .finishOnUiThread(ModalityState.NON_MODAL, navigatable -> consumeIfNotNull(navigatable, n -> n.navigate(true))) + .finishOnUiThread(ModalityState.NON_MODAL, navigatable -> { + if (navigatable != null) { + navigatable.navigate(true); + } + }) .submit(AppExecutorUtil.getAppExecutorService()); return true; } diff --git a/platform/code-style-api/src/com/intellij/psi/codeStyle/CodeStyleSettingsManager.java b/platform/code-style-api/src/com/intellij/psi/codeStyle/CodeStyleSettingsManager.java index 0b6812969114..007f0ba17e08 100644 --- a/platform/code-style-api/src/com/intellij/psi/codeStyle/CodeStyleSettingsManager.java +++ b/platform/code-style-api/src/com/intellij/psi/codeStyle/CodeStyleSettingsManager.java @@ -16,7 +16,6 @@ import com.intellij.openapi.util.InvalidDataException; import com.intellij.openapi.util.WriteExternalException; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiFile; -import com.intellij.util.ObjectUtils; import com.intellij.util.containers.WeakList; import com.intellij.util.messages.MessageBus; import org.jdom.Element; @@ -314,13 +313,15 @@ public class CodeStyleSettingsManager implements PersistentStateComponentWithMod } public void fireCodeStyleSettingsChanged(@NotNull VirtualFile file) { - ObjectUtils.consumeIfNotNull(getProject(), project -> - fireCodeStyleSettingsChanged(new CodeStyleSettingsChangeEvent(project, file))); + if (getProject() != null) { + fireCodeStyleSettingsChanged(new CodeStyleSettingsChangeEvent(getProject(), file)); + } } public void fireCodeStyleSettingsChanged() { - ObjectUtils.consumeIfNotNull(getProject(), project -> - fireCodeStyleSettingsChanged(new CodeStyleSettingsChangeEvent(project, null))); + if (getProject() != null) { + fireCodeStyleSettingsChanged(new CodeStyleSettingsChangeEvent(getProject(), null)); + } } private void fireCodeStyleSettingsChanged(@NotNull CodeStyleSettingsChangeEvent event) { diff --git a/platform/code-style-api/src/com/intellij/psi/codeStyle/StoredOptionsContainer.java b/platform/code-style-api/src/com/intellij/psi/codeStyle/StoredOptionsContainer.java index 776000894d4a..a97640770fcb 100644 --- a/platform/code-style-api/src/com/intellij/psi/codeStyle/StoredOptionsContainer.java +++ b/platform/code-style-api/src/com/intellij/psi/codeStyle/StoredOptionsContainer.java @@ -2,7 +2,7 @@ package com.intellij.psi.codeStyle; import com.intellij.openapi.util.DifferenceFilter; -import com.intellij.util.ObjectUtils; +import org.jdom.Attribute; import org.jdom.Element; import org.jetbrains.annotations.NotNull; @@ -20,8 +20,12 @@ class StoredOptionsContainer { void processOptions(@NotNull Element element) { element.getChildren().forEach( child -> - ObjectUtils.consumeIfNotNull( - child.getAttribute("name"), attribute -> myOptionSet.add(attribute.getValue())) + { + Attribute childAttribute = child.getAttribute("name"); + if (childAttribute != null) { + myOptionSet.add(childAttribute.getValue()); + } + } ); } diff --git a/platform/code-style-impl/src/com/intellij/psi/impl/source/codeStyle/CodeFormatterFacade.java b/platform/code-style-impl/src/com/intellij/psi/impl/source/codeStyle/CodeFormatterFacade.java index a94a53b539d8..c66d1abb020d 100644 --- a/platform/code-style-impl/src/com/intellij/psi/impl/source/codeStyle/CodeFormatterFacade.java +++ b/platform/code-style-impl/src/com/intellij/psi/impl/source/codeStyle/CodeFormatterFacade.java @@ -181,9 +181,11 @@ public class CodeFormatterFacade { FormatterEx formatter = FormatterEx.getInstanceEx(); if (CodeStyleManager.getInstance(project).isSequentialProcessingAllowed()) { - ObjectUtils.consumeIfNotNull( - FormattingProgressCallbackFactory.getInstance().createProgressCallback(project, file, document), - callback -> formatter.setProgressTask(callback)); + FormattingProgressCallback progressCallback = + FormattingProgressCallbackFactory.getInstance().createProgressCallback(project, file, document); + if (progressCallback != null) { + formatter.setProgressTask(progressCallback); + } } CommonCodeStyleSettings.IndentOptions indentOptions = diff --git a/platform/code-style-impl/src/com/intellij/psi/impl/source/codeStyle/CoreCodeStyleUtil.java b/platform/code-style-impl/src/com/intellij/psi/impl/source/codeStyle/CoreCodeStyleUtil.java index 1e01c6db48a4..0dbc92332865 100644 --- a/platform/code-style-impl/src/com/intellij/psi/impl/source/codeStyle/CoreCodeStyleUtil.java +++ b/platform/code-style-impl/src/com/intellij/psi/impl/source/codeStyle/CoreCodeStyleUtil.java @@ -194,8 +194,12 @@ public final class CoreCodeStyleUtil { private void disposePointers() { SmartPointerManager pointerManager = SmartPointerManager.getInstance(myFile.getProject()); - ObjectUtils.consumeIfNotNull(startPointer, pointer -> pointerManager.removePointer(pointer)); - ObjectUtils.consumeIfNotNull(endPointer, pointer -> pointerManager.removePointer(pointer)); + if (startPointer != null) { + pointerManager.removePointer(startPointer); + } + if (endPointer != null) { + pointerManager.removePointer(endPointer); + } } } diff --git a/platform/execution-impl/src/com/intellij/execution/ui/layout/impl/RunnerContentUi.java b/platform/execution-impl/src/com/intellij/execution/ui/layout/impl/RunnerContentUi.java index 0706d063008e..c6283c8f7e4a 100644 --- a/platform/execution-impl/src/com/intellij/execution/ui/layout/impl/RunnerContentUi.java +++ b/platform/execution-impl/src/com/intellij/execution/ui/layout/impl/RunnerContentUi.java @@ -54,7 +54,7 @@ import com.intellij.ui.tabs.TabsListener; import com.intellij.ui.tabs.impl.JBTabsImpl; import com.intellij.util.Alarm; import com.intellij.util.ArrayUtil; -import com.intellij.util.ObjectUtils; +import com.intellij.util.Consumer; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.GraphicsUtil; import com.intellij.util.ui.JBInsets; @@ -345,22 +345,25 @@ public final class RunnerContentUi implements ContentUI, Disposable, CellTransfo @Override public void mousePressed(MouseEvent e) { - ObjectUtils.consumeIfNotNull(InternalDecoratorImpl.Companion.findTopLevelDecorator(myComponent), - decorator -> decorator.activate(ToolWindowEventSource.ToolWindowHeader)); + InternalDecoratorImpl topLevelDecorator = InternalDecoratorImpl.Companion.findTopLevelDecorator(myComponent); + if (topLevelDecorator != null) { + topLevelDecorator.activate(ToolWindowEventSource.ToolWindowHeader); + } myPressPoint = e.getPoint(); } @Override public void mouseClicked(MouseEvent e) { if (SwingUtilities.isLeftMouseButton(e) && e.getClickCount() == 2) { - ObjectUtils.consumeIfNotNull(InternalDecoratorImpl.Companion.findTopLevelDecorator(myComponent), - decorator -> { - if (decorator.isHeaderVisible()) return; - String id = decorator.getToolWindowId(); - ToolWindowManagerEx manager = ToolWindowManagerEx.getInstanceEx(myProject); - ToolWindow window = manager.getToolWindow(id); - ObjectUtils.consumeIfNotNull(window, w -> manager.setMaximized(w, !manager.isMaximized(w))); - }); + InternalDecoratorImpl topLevelDecorator = InternalDecoratorImpl.Companion.findTopLevelDecorator(myComponent); + if (topLevelDecorator != null && !topLevelDecorator.isHeaderVisible()) { + String id = topLevelDecorator.getToolWindowId(); + ToolWindowManagerEx manager = ToolWindowManagerEx.getInstanceEx(myProject); + ToolWindow window = manager.getToolWindow(id); + if (window != null) { + manager.setMaximized(window, !manager.isMaximized(window)); + } + } } } diff --git a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/util/ExternalSystemProgressEventConverter.java b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/util/ExternalSystemProgressEventConverter.java index cec5ce6b7a16..14e02abeb01e 100644 --- a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/util/ExternalSystemProgressEventConverter.java +++ b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/util/ExternalSystemProgressEventConverter.java @@ -3,11 +3,11 @@ package com.intellij.openapi.externalSystem.util; import com.intellij.build.events.BuildEvent; import com.intellij.build.events.EventResult; -import com.intellij.build.events.impl.*; import com.intellij.build.events.impl.FailureImpl; import com.intellij.build.events.impl.FailureResultImpl; import com.intellij.build.events.impl.SkippedResultImpl; import com.intellij.build.events.impl.SuccessResultImpl; +import com.intellij.build.events.impl.*; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.externalSystem.model.task.event.*; import com.intellij.util.ObjectUtils; @@ -24,7 +24,9 @@ public class ExternalSystemProgressEventConverter { public static @Nullable BuildEvent convertBuildEvent(@NotNull ExternalSystemTaskExecutionEvent event) { var hint = event.getProgressEvent().getDescriptor().getHint(); var buildEvent = convertAbstractBuildEvent(event); - ObjectUtils.consumeIfNotNull(buildEvent, it -> it.setHint(hint)); + if (buildEvent != null) { + buildEvent.setHint(hint); + } return buildEvent; } diff --git a/platform/lang-impl/src/com/intellij/application/options/codeStyle/excludedFiles/ExcludedFilesList.java b/platform/lang-impl/src/com/intellij/application/options/codeStyle/excludedFiles/ExcludedFilesList.java index 46f0965ade2a..5afa158d996d 100644 --- a/platform/lang-impl/src/com/intellij/application/options/codeStyle/excludedFiles/ExcludedFilesList.java +++ b/platform/lang-impl/src/com/intellij/application/options/codeStyle/excludedFiles/ExcludedFilesList.java @@ -18,7 +18,6 @@ import com.intellij.ui.AnActionButton; import com.intellij.ui.AnActionButtonRunnable; import com.intellij.ui.ToolbarDecorator; import com.intellij.ui.components.JBList; -import com.intellij.util.ObjectUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -60,7 +59,9 @@ public class ExcludedFilesList extends JBList { private void onSelectionChange() { int i = getSelectedIndex(); AnActionButton removeButton = ToolbarDecorator.findRemoveButton(myFileListDecorator.getActionsPanel()); - ObjectUtils.consumeIfNotNull(removeButton, button -> button.setEnabled(i >= 0)); + if (removeButton != null) { + removeButton.setEnabled(i >= 0); + } } public void reset(@NotNull CodeStyleSettings settings) { diff --git a/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/SearchEverywhereHeader.java b/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/SearchEverywhereHeader.java index e2b5e5f8857c..49e86f92f210 100644 --- a/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/SearchEverywhereHeader.java +++ b/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/SearchEverywhereHeader.java @@ -266,7 +266,9 @@ public class SearchEverywhereHeader { } public void resetScope() { - ObjectUtils.consumeIfNotNull(mySelectedTab.everywhereAction, action -> action.setEverywhere(true)); + if (mySelectedTab.everywhereAction != null) { + mySelectedTab.everywhereAction.setEverywhere(true); + } } public boolean isEverywhere() { diff --git a/platform/lang-impl/src/com/intellij/openapi/fileTypes/impl/associate/OSAssociateFileTypesUtil.java b/platform/lang-impl/src/com/intellij/openapi/fileTypes/impl/associate/OSAssociateFileTypesUtil.java index 0dfef8ba1e43..08c5ad67bfe7 100644 --- a/platform/lang-impl/src/com/intellij/openapi/fileTypes/impl/associate/OSAssociateFileTypesUtil.java +++ b/platform/lang-impl/src/com/intellij/openapi/fileTypes/impl/associate/OSAssociateFileTypesUtil.java @@ -13,7 +13,6 @@ import com.intellij.openapi.util.NlsSafe; import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.util.ObjectUtils; import com.intellij.util.containers.ContainerUtil; import org.apache.commons.lang.StringUtils; import org.jetbrains.annotations.Nls; @@ -78,7 +77,10 @@ public final class OSAssociateFileTypesUtil { } } else { - ObjectUtils.consumeIfNotNull(getFileTypeByName(name), fileType -> fileTypes.add(fileType)); + FileType type = getFileTypeByName(name); + if (type != null) { + fileTypes.add(type); + } } } ); diff --git a/platform/lang-impl/src/com/intellij/openapi/fileTypes/impl/associate/linux/LocalDesktopEntryCreator.java b/platform/lang-impl/src/com/intellij/openapi/fileTypes/impl/associate/linux/LocalDesktopEntryCreator.java index 49e0723f9ef7..c0bf961cbbdb 100644 --- a/platform/lang-impl/src/com/intellij/openapi/fileTypes/impl/associate/linux/LocalDesktopEntryCreator.java +++ b/platform/lang-impl/src/com/intellij/openapi/fileTypes/impl/associate/linux/LocalDesktopEntryCreator.java @@ -6,7 +6,6 @@ import com.intellij.openapi.application.PathManager; import com.intellij.openapi.fileTypes.impl.associate.OSFileAssociationException; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; -import com.intellij.util.ObjectUtils; import org.jetbrains.annotations.Nullable; import java.io.File; @@ -26,10 +25,10 @@ public final class LocalDesktopEntryCreator { builder.append("[Desktop Entry]\n") .append("Type=Application\n") .append("Exec=").append(getLauncherPath()).append("\n"); - ObjectUtils.consumeIfNotNull( - getIconPath(), - iconPath -> builder.append("Icon=").append(iconPath).append("\n") - ); + String path = getIconPath(); + if (path != null) { + builder.append("Icon=").append(path).append("\n"); + } builder.append("Name=").append(ApplicationNamesInfo.getInstance().getFullProductName()).append("\n") .append("NoDisplay=true\n"); try { diff --git a/platform/platform-api/src/com/intellij/ui/tabs/impl/TabLabel.java b/platform/platform-api/src/com/intellij/ui/tabs/impl/TabLabel.java index 478279967061..6f1caf3893d6 100644 --- a/platform/platform-api/src/com/intellij/ui/tabs/impl/TabLabel.java +++ b/platform/platform-api/src/com/intellij/ui/tabs/impl/TabLabel.java @@ -7,6 +7,7 @@ import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.options.advanced.AdvancedSettings; import com.intellij.openapi.ui.JBPopupMenu; +import com.intellij.openapi.ui.popup.JBPopup; import com.intellij.openapi.ui.popup.util.PopupUtil; import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.util.text.StringUtil; @@ -19,7 +20,6 @@ import com.intellij.ui.tabs.TabInfo; import com.intellij.ui.tabs.UiDecorator; import com.intellij.ui.tabs.impl.themes.TabTheme; import com.intellij.util.MathUtil; -import com.intellij.util.ObjectUtils; import com.intellij.util.ui.*; import com.intellij.util.ui.accessibility.ScreenReader; import org.jetbrains.annotations.NotNull; @@ -86,11 +86,10 @@ public class TabLabel extends JPanel implements Accessible, DataProvider { Component c = SwingUtilities.getDeepestComponentAt(e.getComponent(), e.getX(), e.getY()); if (c instanceof InplaceButton) return; myTabs.select(info, true); - ObjectUtils.consumeIfNotNull(PopupUtil.getPopupContainerFor(TabLabel.this), popup -> { - if (ClientProperty.isTrue(popup.getContent(), MorePopupAware.class)) { - popup.cancel(); - } - }); + JBPopup container = PopupUtil.getPopupContainerFor(TabLabel.this); + if (container != null && ClientProperty.isTrue(container.getContent(), MorePopupAware.class)) { + container.cancel(); + } } else { handlePopup(e); diff --git a/platform/platform-impl/src/com/intellij/application/options/editor/fonts/AppConsoleFontConfigurable.java b/platform/platform-impl/src/com/intellij/application/options/editor/fonts/AppConsoleFontConfigurable.java index 82332f2f145e..264e55b3d398 100644 --- a/platform/platform-impl/src/com/intellij/application/options/editor/fonts/AppConsoleFontConfigurable.java +++ b/platform/platform-impl/src/com/intellij/application/options/editor/fonts/AppConsoleFontConfigurable.java @@ -9,7 +9,6 @@ import com.intellij.openapi.editor.colors.impl.AppEditorFontOptions; import com.intellij.openapi.editor.colors.impl.AppFontOptions; import com.intellij.openapi.options.Configurable; import com.intellij.openapi.options.ConfigurableProvider; -import com.intellij.util.ObjectUtils; import com.intellij.util.ui.JBUI; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -123,7 +122,9 @@ public final class AppConsoleFontConfigurable extends AppFontConfigurable { } void updateOnEditorFontChange(@NotNull FontPreferences fontPreferences) { - ObjectUtils.consumeIfNotNull(myFontOptionsPanel, panel->panel.updateOnEditorFontChange(fontPreferences)); + if (myFontOptionsPanel != null) { + myFontOptionsPanel.updateOnEditorFontChange(fontPreferences); + } } public static class Provider extends ConfigurableProvider { diff --git a/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditServiceImpl.java b/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditServiceImpl.java index 66a22b7b1d5c..ac66be1cca0d 100644 --- a/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditServiceImpl.java +++ b/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditServiceImpl.java @@ -34,7 +34,7 @@ import com.intellij.openapi.wm.impl.FrameInfo; import com.intellij.openapi.wm.impl.IdeFrameImpl; import com.intellij.openapi.wm.impl.welcomeScreen.WelcomeFrame; import com.intellij.testFramework.LightVirtualFile; -import com.intellij.util.ObjectUtils; +import com.intellij.ui.tabs.TabInfo; import com.intellij.util.concurrency.NonUrgentExecutor; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.messages.MessageBusConnection; @@ -222,14 +222,13 @@ public final class LightEditServiceImpl implements LightEditService, private void logStartupTime() { if (!ApplicationManager.getApplication().isUnitTestMode()) { if (myFrameWrapper != null) { - ObjectUtils.consumeIfNotNull( - getEditPanel().getTabs().getSelectedInfo(), - tabInfo -> - UiNotifyConnector - .doWhenFirstShown(tabInfo.getComponent(), () -> ApplicationManager.getApplication().invokeLater(() -> { - LOG.info("Startup took: " + ManagementFactory.getRuntimeMXBean().getUptime() + " ms"); - })) - ); + TabInfo info = getEditPanel().getTabs().getSelectedInfo(); + if (info != null) { + UiNotifyConnector + .doWhenFirstShown(info.getComponent(), () -> ApplicationManager.getApplication().invokeLater(() -> { + LOG.info("Startup took: " + ManagementFactory.getRuntimeMXBean().getUptime() + " ms"); + })); + } } } } diff --git a/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditTabs.java b/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditTabs.java index 2480b1c8aea2..a99a0a27d142 100644 --- a/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditTabs.java +++ b/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditTabs.java @@ -34,7 +34,6 @@ import com.intellij.ui.tabs.TabInfo; import com.intellij.ui.tabs.TabsListener; import com.intellij.ui.tabs.impl.JBEditorTabs; import com.intellij.util.BitUtil; -import com.intellij.util.ObjectUtils; import com.intellij.util.concurrency.AppExecutorUtil; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.messages.MessageBusConnection; @@ -67,7 +66,9 @@ final class LightEditTabs extends JBEditorTabs implements LightEditorListener, C addListener(new TabsListener() { @Override public void selectionChanged(TabInfo oldSelection, TabInfo newSelection) { - ObjectUtils.consumeIfNotNull(oldSelection, tabInfo -> tabInfo.setTabColor(null)); + if (oldSelection != null) { + oldSelection.setTabColor(null); + } asyncUpdateTab(newSelection); onSelectionChange(newSelection); } @@ -106,7 +107,10 @@ final class LightEditTabs extends JBEditorTabs implements LightEditorListener, C @Override public void close() { - ObjectUtils.consumeIfNotNull(getSelectedInfo(), tabInfo -> closeTab(tabInfo)); + TabInfo info = getSelectedInfo(); + if (info != null) { + this.closeTab(info); + } } private static Icon getFileTypeIcon(@NotNull LightEditorInfo editorInfo) { diff --git a/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditorManagerImpl.java b/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditorManagerImpl.java index 949adea0b434..41506d8bde7e 100644 --- a/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditorManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditorManagerImpl.java @@ -60,11 +60,11 @@ public final class LightEditorManagerImpl implements LightEditorManager, Disposa } FileEditor fileEditor = pair.second; LightEditorInfo editorInfo = new LightEditorInfoImpl(pair.first, fileEditor, file); - ObjectUtils.consumeIfNotNull(EditorHistoryManager.getInstance(project).getState(file, pair.first), - state -> { - fileEditor.getComponent(); - fileEditor.setState(state); - }); + FileEditorState state = EditorHistoryManager.getInstance(project).getState(file, pair.first); + if (state != null) { + fileEditor.getComponent(); + fileEditor.setState(state); + } if (LightEditorInfoImpl.getEditor(editorInfo) instanceof EditorImpl editor) { editor.setDropHandler(new LightEditDropHandler()); } diff --git a/platform/platform-impl/src/com/intellij/ui/content/tabs/TabbedContentAction.java b/platform/platform-impl/src/com/intellij/ui/content/tabs/TabbedContentAction.java index 86f4c37098b0..8d1c25725514 100644 --- a/platform/platform-impl/src/com/intellij/ui/content/tabs/TabbedContentAction.java +++ b/platform/platform-impl/src/com/intellij/ui/content/tabs/TabbedContentAction.java @@ -216,8 +216,10 @@ public abstract class TabbedContentAction extends AnAction implements DumbAware @Override public void update(@NotNull AnActionEvent e) { - ObjectUtils.consumeIfNotNull(ActionUtil.getAction(myHorizontal ? "SplitVertically" : "SplitHorizontally"), - action -> e.getPresentation().setIcon(action.getTemplatePresentation().getIcon())); + AnAction action = ActionUtil.getAction(myHorizontal ? "SplitVertically" : "SplitHorizontally"); + if (action != null) { + e.getPresentation().setIcon(action.getTemplatePresentation().getIcon()); + } e.getPresentation().setEnabledAndVisible(myManager.getContents().length > 1); } diff --git a/platform/platform-impl/src/com/intellij/ui/mac/WindowTabsComponent.java b/platform/platform-impl/src/com/intellij/ui/mac/WindowTabsComponent.java index adfbe7cbf9ef..4a1464006a3c 100644 --- a/platform/platform-impl/src/com/intellij/ui/mac/WindowTabsComponent.java +++ b/platform/platform-impl/src/com/intellij/ui/mac/WindowTabsComponent.java @@ -10,6 +10,7 @@ import com.intellij.openapi.project.DumbAwareAction; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectManager; import com.intellij.openapi.ui.AbstractPainter; +import com.intellij.openapi.ui.popup.JBPopup; import com.intellij.openapi.ui.popup.util.PopupUtil; import com.intellij.openapi.util.ActionCallback; import com.intellij.openapi.util.Disposer; @@ -39,7 +40,6 @@ import com.intellij.ui.tabs.impl.*; import com.intellij.ui.tabs.impl.singleRow.SingleRowLayout; import com.intellij.ui.tabs.impl.singleRow.WindowTabsLayout; import com.intellij.ui.tabs.impl.themes.DefaultTabTheme; -import com.intellij.util.ObjectUtils; import com.intellij.util.ui.GraphicsUtil; import com.intellij.util.ui.JBFont; import com.intellij.util.ui.JBUI; @@ -145,11 +145,10 @@ public final class WindowTabsComponent extends JBTabsImpl { Component c = SwingUtilities.getDeepestComponentAt(e.getComponent(), e.getX(), e.getY()); if (c instanceof InplaceButton) return; myTabs.select(info, true); - ObjectUtils.consumeIfNotNull(PopupUtil.getPopupContainerFor(label), popup -> { - if (ClientProperty.isTrue(popup.getContent(), MorePopupAware.class)) { - popup.cancel(); - } - }); + JBPopup container = PopupUtil.getPopupContainerFor(label); + if (container != null && ClientProperty.isTrue(container.getContent(), MorePopupAware.class)) { + container.cancel(); + } } else { handlePopup(e); diff --git a/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java b/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java index 932ccd982b74..eab8e49a9043 100644 --- a/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java +++ b/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java @@ -114,7 +114,6 @@ import java.util.stream.Stream; import static com.intellij.openapi.util.text.StringUtil.splitByLines; import static com.intellij.testFramework.UsefulTestCase.assertSameLines; -import static com.intellij.util.ObjectUtils.consumeIfNotNull; import static com.intellij.util.containers.ContainerUtil.sorted; import static org.junit.Assert.*; @@ -1158,11 +1157,15 @@ public final class PlatformTestUtil { while (true) { try { if (System.currentTimeMillis() - start > timeoutInSeconds * 1000L) { - consumeIfNotNull(callback, Runnable::run); + if (callback != null) { + callback.run(); + } fail(errorMessageSupplier.get()); } if (condition.getAsBoolean()) { - consumeIfNotNull(callback, Runnable::run); + if (callback != null) { + callback.run(); + } break; } dispatchAllEventsInIdeEventQueue(); diff --git a/platform/util/src/com/intellij/util/ObjectUtils.java b/platform/util/src/com/intellij/util/ObjectUtils.java index 7ea3b65f5f08..0af9e879d4d6 100644 --- a/platform/util/src/com/intellij/util/ObjectUtils.java +++ b/platform/util/src/com/intellij/util/ObjectUtils.java @@ -142,7 +142,7 @@ public final class ObjectUtils { } /** - * Use {@code if (obj != null) ...} instead + * @deprecated Use {@code if (obj != null) ...} instead */ @Deprecated public static void consumeIfNotNull(@Nullable T obj, @NotNull Consumer consumer) { diff --git a/plugins/terminal/src/org/jetbrains/plugins/terminal/vfs/TerminalSessionEditor.java b/plugins/terminal/src/org/jetbrains/plugins/terminal/vfs/TerminalSessionEditor.java index 03120be13539..2d29afdad0ff 100644 --- a/plugins/terminal/src/org/jetbrains/plugins/terminal/vfs/TerminalSessionEditor.java +++ b/plugins/terminal/src/org/jetbrains/plugins/terminal/vfs/TerminalSessionEditor.java @@ -17,7 +17,6 @@ import com.intellij.terminal.JBTerminalWidget; import com.intellij.terminal.TerminalTitle; import com.intellij.terminal.TerminalTitleListener; import com.intellij.terminal.ui.TerminalWidgetKt; -import com.intellij.util.ObjectUtils; import com.jediterm.terminal.ui.TerminalWidgetListener; import org.jetbrains.annotations.NotNull; @@ -43,9 +42,10 @@ public final class TerminalSessionEditor extends UserDataHolderBase implements F FileEditorManagerEx.getInstanceEx(myProject).closeFile(myFile); }, myProject.getDisposed()); }; - ObjectUtils.consumeIfNotNull(JBTerminalWidget.asJediTermWidget(myFile.getTerminalWidget()), widget -> { - widget.addListener(myListener); - }); + JBTerminalWidget termWidget = JBTerminalWidget.asJediTermWidget(myFile.getTerminalWidget()); + if (termWidget != null) { + termWidget.addListener(myListener); + } terminalFile.getTerminalWidget().getTerminalTitle().addTitleListener(new TerminalTitleListener() { @Override @@ -102,9 +102,10 @@ public final class TerminalSessionEditor extends UserDataHolderBase implements F @Override public void dispose() { - ObjectUtils.consumeIfNotNull(JBTerminalWidget.asJediTermWidget(myFile.getTerminalWidget()), widget -> { - widget.removeListener(myListener); - }); + JBTerminalWidget termWidget = JBTerminalWidget.asJediTermWidget(myFile.getTerminalWidget()); + if (termWidget != null) { + termWidget.removeListener(myListener); + } if (Boolean.TRUE.equals(myFile.getUserData(FileEditorManagerImpl.CLOSING_TO_REOPEN))) { ApplicationManager.getApplication().invokeLater(() -> { boolean disposedBefore = Disposer.isDisposed(myFile.getTerminalWidget());