@VisibleForTesting XBreakpointManager getXBreakpointManager(Project project) { return XDebuggerManager.getInstance(project).getBreakpointManager(); }
@Override protected void processBreakPoint(@NotNull XLineBreakpoint breakpoint, XDebugSession session) { XDebuggerManager.getInstance(session.getProject()).getBreakpointManager().updateBreakpointPresentation( breakpoint, AllIcons.Debugger.Db_invalid_breakpoint, "You can't set a breakpoint here" ); } }
@Override protected void processBreakPoint(@NotNull XLineBreakpoint breakpoint, XDebugSession session) { XDebuggerManager.getInstance(session.getProject()).getBreakpointManager().updateBreakpointPresentation( breakpoint, AllIcons.Debugger.Db_verified_breakpoint, "Breakpoint set" ); } }
@NotNull private CloudDebugProcess mockCloudDebugProcess( XBreakpointManager breakpointManager, XDebugSession debugSession) { Project project = mock(Project.class); when(debugSession.getProject()).thenReturn(project); XDebuggerManager debuggerManager = mock(XDebuggerManager.class); when(project.getComponent(XDebuggerManager.class)).thenReturn(debuggerManager); when(debuggerManager.getBreakpointManager()).thenReturn(breakpointManager); return spy(new CloudDebugProcess(debugSession)); }
@Override public void stop() { myDebugThread.setStop(); ApplicationManager.getApplication().runReadAction( () -> { XBreakpointManager breakpointManager = XDebuggerManager.getInstance(getSession().getProject()).getBreakpointManager(); Collection<? extends XLineBreakpoint<PerlLineBreakpointProperties>> breakpoints = breakpointManager.getBreakpoints(PerlLineBreakpointType.class); for (XLineBreakpoint<PerlLineBreakpointProperties> breakpoint : breakpoints) { breakpointManager.updateBreakpointPresentation(breakpoint, null, null); } } ); }
when(debuggerManager.getBreakpointManager()).thenReturn(breakpointManager);
project.addComponent(XDebuggerManager.class, debuggerManager); breakpointManager = mock(XBreakpointManager.class); when(debuggerManager.getBreakpointManager()).thenReturn(breakpointManager);
@Nullable public static XLineBreakpoint findBreakpoint(final Project project, final PerlDebuggingEventBreakpoint breakpointBase) { final XLineBreakpoint[] result = new XLineBreakpoint[]{null}; ApplicationManager.getApplication().runReadAction(() -> { String path = breakpointBase.getPath(); VirtualFile virtualFile; String virtualFileUrl; virtualFile = VfsUtil.findFileByIoFile(new File(breakpointBase.getDebugThread().getDebugProfileState().mapPathToLocal(path)), true); if (virtualFile == null) { virtualFileUrl = PerlRemoteFileSystem.PROTOCOL_PREFIX + path; } else { virtualFileUrl = virtualFile.getUrl(); } Collection<? extends XLineBreakpoint<PerlLineBreakpointProperties>> breakpoints = XDebuggerManager.getInstance(project).getBreakpointManager().getBreakpoints(PerlLineBreakpointType.class); for (XLineBreakpoint<PerlLineBreakpointProperties> breakpoint : breakpoints) { if (StringUtil.equals(breakpoint.getFileUrl(), virtualFileUrl) && breakpoint.getLine() == breakpointBase.getLine()) { result[0] = breakpoint; return; } } }); return result[0]; }
final XBreakpointManager manager = XDebuggerManager.getInstance(process.getXDebugSession().getProject()) .getBreakpointManager(); if (serverBreakpoint.getLocation() == null) { continue;
@Override public void stop() { getStateController().stopBackgroundListening(); RunProfile profile = getXDebugSession().getRunProfile(); if (profile instanceof CloudDebugRunConfiguration) { ((CloudDebugRunConfiguration) profile).setProcessState(processState); } getRepositoryValidator().restoreToOriginalState(getXDebugSession().getProject()); XBreakpointManager breakpointManager = XDebuggerManager.getInstance(getXDebugSession().getProject()).getBreakpointManager(); for (XBreakpoint bp : breakpointManager.getAllBreakpoints()) { com.intellij.debugger.ui.breakpoints.Breakpoint cloudBreakpoint = BreakpointManager.getJavaBreakpoint(bp); if (!(cloudBreakpoint instanceof CloudLineBreakpointType.CloudLineBreakpoint)) { continue; } CloudLineBreakpointType.CloudLineBreakpoint cloudLineBreakpoint = (CloudLineBreakpointType.CloudLineBreakpoint) cloudBreakpoint; cloudLineBreakpoint.setVerified(false); cloudLineBreakpoint.setErrorMessage(null); updateBreakpointPresentation(cloudLineBreakpoint); } }
final XBreakpointManager manager = XDebuggerManager.getInstance(process.getXDebugSession().getProject()) .getBreakpointManager(); if (serverBreakpoint.getLocation() == null) { LOG.warn(