blob: a8038bed8f419b4c81db8220df6a8bba4715d43d [file] [log] [blame]
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);
}