1 package org.jetbrains.debugger;
3 import org.jetbrains.annotations.NotNull;
4 import org.jetbrains.annotations.Nullable;
5 import org.jetbrains.concurrency.Promise;
6 import org.jetbrains.debugger.values.ValueManager;
11 * An object that matches the execution state of the VM while suspended
13 public interface SuspendContext {
15 SuspendState getState();
17 @Nullable("if no frames (paused by user)")
21 * @return the current exception state, or {@code null} if current state is
22 * not {@code EXCEPTION}
26 ExceptionData getExceptionData();
29 CallFrame getTopFrame();
32 * Call frames for the current suspended state (from the innermost (top) frame to the main (bottom) frame)
35 Promise<CallFrame[]> getFrames();
38 * @return a set of the breakpoints hit on VM suspension with which this
39 * context is associated. An empty collection if the suspension was
40 * not related to hitting breakpoints (e.g. a step end)
43 List<Breakpoint> getBreakpointsHit();
46 * @return value mapping that all values have by default; typically unique for a particular {@link SuspendContext}
49 ValueManager getValueManager();