boolean isQuorum = DebuggerUtils.isQuorumSource(fo);
if (!isQuorum) {
return;
}
Line line = DebuggerUtils.getCurrentLine();
Breakpoint[] breakpoints = DebuggerManager.getDebuggerManager().getBreakpoints();
int i, k = breakpoints.length;
for (i = 0; i < k; i++) {
if (breakpoints[i] instanceof QuorumBreakpoint
&& (((QuorumBreakpoint) breakpoints[i]).getLine() != null)
&& ((QuorumBreakpoint) breakpoints[i]).getLine().equals(line)) {
//Remove a breakpoint
QuorumBreakpoint bp = (QuorumBreakpoint)breakpoints[i];
if (!TODUtils.isTODEnabled()) {
if (compiler != null) {
compiler.toggleBreakpoint(bp.getLine().getLineNumber() + 1, bp.getFileObject());
}
} else {
if (TextToSpeechOptions.isScreenReading()) {
speech.speak("Removed breakpoint at line " + (line.getLineNumber() + 1) + " in " + fo.getNameExt(), SpeechPriority.MEDIUM);
}
DebuggerManager.getDebuggerManager().removeBreakpoint(bp);
}
break;
}
}
if (i == k) { //add a breakpoint
QuorumBreakpoint bp = DebuggerUtils.getBreakpointAtLine();
if (!TODUtils.isTODEnabled()) {
if (compiler != null) {
compiler.toggleBreakpoint(bp.getLine().getLineNumber() + 1, bp.getFileObject());
}
} else {
if (TextToSpeechOptions.isScreenReading()) {
speech.speak("Added Breakpoint at line " + (line.getLineNumber() + 1) + " in " + fo.getNameExt(), SpeechPriority.MEDIUM);
}
DebuggerManager.getDebuggerManager().addBreakpoint(bp);
}
}
}