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);
}
});
}
Aggregations