Search in sources :

Example 1 with SetFunctionBreakpointsResponse

use of org.eclipse.lsp4j.debug.SetFunctionBreakpointsResponse in project magik-tools by StevenLooman.

the class MagikDebugAdapter method setFunctionBreakpoints.

@Override
public CompletableFuture<SetFunctionBreakpointsResponse> setFunctionBreakpoints(final SetFunctionBreakpointsArguments args) {
    LOGGER.trace("setFunctionBreakpoints");
    return CompletableFuture.supplyAsync(() -> {
        try {
            // Clear existing breakpoints.
            this.breakpointManager.clearFunctionBreakpoints();
            // Set new breakpoints.
            final FunctionBreakpoint[] functionBreakpoints = args.getBreakpoints();
            final List<MagikBreakpoint> magikBreakpoints = this.breakpointManager.addFunctionBreakpoints(functionBreakpoints);
            // Return response.
            final SetFunctionBreakpointsResponse response = new SetFunctionBreakpointsResponse();
            final Breakpoint[] breakpoints = Lsp4jConversion.toLsp4j(null, magikBreakpoints);
            response.setBreakpoints(breakpoints);
            return response;
        } catch (InterruptedException exception) {
            java.lang.Thread.currentThread().interrupt();
            throw new CompletionException(exception.getMessage(), exception);
        } catch (IOException | ExecutionException exception) {
            throw new CompletionException(exception.getMessage(), exception);
        }
    });
}
Also used : MagikBreakpoint(nl.ramsolutions.sw.magik.debugadapter.BreakpointManager.MagikBreakpoint) Breakpoint(org.eclipse.lsp4j.debug.Breakpoint) FunctionBreakpoint(org.eclipse.lsp4j.debug.FunctionBreakpoint) SourceBreakpoint(org.eclipse.lsp4j.debug.SourceBreakpoint) MagikBreakpoint(nl.ramsolutions.sw.magik.debugadapter.BreakpointManager.MagikBreakpoint) CompletionException(java.util.concurrent.CompletionException) SetFunctionBreakpointsResponse(org.eclipse.lsp4j.debug.SetFunctionBreakpointsResponse) IOException(java.io.IOException) ExecutionException(java.util.concurrent.ExecutionException) FunctionBreakpoint(org.eclipse.lsp4j.debug.FunctionBreakpoint)

Aggregations

IOException (java.io.IOException)1 CompletionException (java.util.concurrent.CompletionException)1 ExecutionException (java.util.concurrent.ExecutionException)1 MagikBreakpoint (nl.ramsolutions.sw.magik.debugadapter.BreakpointManager.MagikBreakpoint)1 Breakpoint (org.eclipse.lsp4j.debug.Breakpoint)1 FunctionBreakpoint (org.eclipse.lsp4j.debug.FunctionBreakpoint)1 SetFunctionBreakpointsResponse (org.eclipse.lsp4j.debug.SetFunctionBreakpointsResponse)1 SourceBreakpoint (org.eclipse.lsp4j.debug.SourceBreakpoint)1