package org.jetbrains.debugger; import com.intellij.util.Url; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.EventListener; /** * This interface is used by the SDK to report debug events for a certain {@link Vm} to * the clients. */ public interface DebugEventListener extends EventListener { /** * Reports the virtual machine has suspended (on hitting * breakpoints or a step end). The {@code context} can be used to access the * current backtrace. */ void suspended(@NotNull SuspendContext context); /** * Reports the virtual machine has resumed. This can happen * asynchronously, due to a user action in the browser (without explicitly * resuming the VM through */ void resumed(); /** * Reports the debug connection has terminated and {@link Vm} has stopped operating. * This event is not reported if connection was closed explicitly on our side */ void disconnected(); /** * Reports that a new script has been loaded into a tab. * * @param script loaded into the tab */ void scriptLoaded(@NotNull Script script, @Nullable String sourceMapData); void sourceMapFound(@NotNull Script script, @Nullable Url sourceMapUrl, @NotNull String sourceMapData); /** * Reports that the script has been collected and is no longer used in VM. */ void scriptCollected(Script script); void scriptsCleared(); /** * Reports that script source has been altered in remote VM. */ void scriptContentChanged(@NotNull Script newScript); /** * Reports a navigation event on the target. * * @param newUrl the new URL of the debugged target */ void navigated(String newUrl); void errorOccurred(@NotNull String errorMessage); }