// used in Fabrique public synchronized void addBreakpoint(@NotNull Breakpoint breakpoint) { myBreakpoints.put(breakpoint.myXBreakpoint, breakpoint); myBreakpointsListForIteration = null; breakpoint.updateUI(); RequestManagerImpl.createRequests(breakpoint); myDispatcher.getMulticaster().breakpointsChanged(); if (breakpoint instanceof MethodBreakpoint || breakpoint instanceof WildcardMethodBreakpoint) { XDebugSessionImpl.NOTIFICATION_GROUP .createNotification( "Method breakpoints may dramatically slow down debugging", MessageType.WARNING) .notify(myProject); } }
@Nullable public MethodBreakpoint addMethodBreakpoint(Document document, int lineIndex) { ApplicationManager.getApplication().assertIsDispatchThread(); XLineBreakpoint xBreakpoint = addXLineBreakpoint(JavaMethodBreakpointType.class, document, lineIndex); MethodBreakpoint breakpoint = MethodBreakpoint.create(myProject, xBreakpoint); if (breakpoint == null) { return null; } XDebugSessionImpl.NOTIFICATION_GROUP .createNotification( "Method breakpoints may dramatically slow down debugging", MessageType.WARNING) .notify(myProject); addBreakpoint(breakpoint); return breakpoint; }