From c9b79a3d36f5df1e2bbdf97a494015a91a46f1e5 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Tue, 14 Aug 2018 12:38:08 +0200 Subject: [PATCH] IDEA-CR-35882 restore old method (no external usages, but anyway) --- .../xdebugger/breakpoints/XBreakpointListener.java | 2 +- .../xdebugger/breakpoints/XBreakpointManager.java | 12 ++++++++++-- .../impl/breakpoints/XBreakpointManagerImpl.java | 6 ++++++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/breakpoints/XBreakpointListener.java b/platform/xdebugger-api/src/com/intellij/xdebugger/breakpoints/XBreakpointListener.java index 8abd24bffce9..2c7757bd7e3b 100644 --- a/platform/xdebugger-api/src/com/intellij/xdebugger/breakpoints/XBreakpointListener.java +++ b/platform/xdebugger-api/src/com/intellij/xdebugger/breakpoints/XBreakpointListener.java @@ -7,7 +7,7 @@ import org.jetbrains.annotations.NotNull; import java.util.EventListener; public interface XBreakpointListener> extends EventListener { - Topic TOPIC = new Topic<>("Project open and close events", XBreakpointListener.class); + Topic TOPIC = new Topic<>("XBreakpointManager events", XBreakpointListener.class); default void breakpointAdded(@NotNull B breakpoint) { } diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/breakpoints/XBreakpointManager.java b/platform/xdebugger-api/src/com/intellij/xdebugger/breakpoints/XBreakpointManager.java index 5db2c49770e9..ee32e8fdf54c 100644 --- a/platform/xdebugger-api/src/com/intellij/xdebugger/breakpoints/XBreakpointManager.java +++ b/platform/xdebugger-api/src/com/intellij/xdebugger/breakpoints/XBreakpointManager.java @@ -63,14 +63,22 @@ public interface XBreakpointManager { @NotNull XBreakpointListener listener, Disposable parentDisposable); + // no externals usages, agreed to keep it anyway for now + // cannot be default because project message bus must be used /** - * Use {@link XBreakpointListener#TOPIC} + * @deprecated Use {@link XBreakpointListener#TOPIC} + */ + @Deprecated + void addBreakpointListener(@NotNull XBreakpointListener> listener, @NotNull Disposable parentDisposable); + + /** + * @deprecated Use {@link XBreakpointListener#TOPIC} */ @Deprecated void addBreakpointListener(@NotNull XBreakpointListener> listener); /** - * Use {@link XBreakpointListener#TOPIC} + * @deprecated Use {@link XBreakpointListener#TOPIC} */ @Deprecated void removeBreakpointListener(@NotNull XBreakpointListener> listener); diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointManagerImpl.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointManagerImpl.java index b062336a7e58..f220f62b703b 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointManagerImpl.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointManagerImpl.java @@ -322,6 +322,12 @@ public class XBreakpointManagerImpl implements XBreakpointManager { getOrCreateDispatcher(type).addListener(listener, parentDisposable); } + @SuppressWarnings("deprecation") + @Override + public void addBreakpointListener(@NotNull XBreakpointListener> listener, @NotNull Disposable parentDisposable) { + myProject.getMessageBus().connect(parentDisposable).subscribe(XBreakpointListener.TOPIC, listener); + } + @Override public void addBreakpointListener(@NotNull final XBreakpointListener> listener) { myAllBreakpointsDispatcher.addListener(listener);