deprecate ObjectUtils.consumeIfNotNull, fix usages

GitOrigin-RevId: 576b7bbf18a6b1bc772c12dca24b82a4c8a5ad29
This commit is contained in:
Alexey Kudravtsev
2023-03-13 17:41:58 +00:00
committed by intellij-monorepo-bot
parent 80562754a0
commit cbf060942c
24 changed files with 137 additions and 95 deletions
@@ -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
@@ -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,
@@ -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<NodeDescriptor, List<NodeDescriptor>> myChildrenMap = new HashMap<>();
@@ -71,8 +70,10 @@ public class DescriptorTree {
Pair<NodeDescriptor, NodeDescriptor> 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<NodeDescriptor> list = myChildrenMap.get(child);
if (list != null) {
iterateBackward(ContainerUtil.map(list, e -> new Pair<>(child, e))).forEach(stack::push);
}
}
}
@@ -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;
}
@@ -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) {
@@ -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());
}
}
);
}
@@ -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 =
@@ -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);
}
}
}
@@ -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));
}
}
}
}
@@ -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;
}
@@ -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<FileSetDescriptor> {
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) {
@@ -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() {
@@ -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);
}
}
}
);
@@ -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 {
@@ -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);
@@ -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 {
@@ -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");
}));
}
}
}
}
@@ -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) {
@@ -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());
}
@@ -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);
}
@@ -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);
@@ -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();
@@ -142,7 +142,7 @@ public final class ObjectUtils {
}
/**
* Use {@code if (obj != null) ...} instead
* @deprecated Use {@code if (obj != null) ...} instead
*/
@Deprecated
public static <T> void consumeIfNotNull(@Nullable T obj, @NotNull Consumer<? super T> consumer) {
@@ -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());