// steps and the array of results from the server in lock-step, populating
// each breakpoint with its steps.
for (int i = 0; i < breakpoints.size() &&
i < stepList.length(); i++)
{
FunctionSteps steps = stepList.get(i);
Breakpoint breakpoint = breakpoints.get(i);
if (steps.getSteps().length() > 0)
{
// if the server set this breakpoint on a different line than
// requested, make sure there's not already a breakpoint on that
// line; if there is, discard this one.
if (breakpoint.getLineNumber() != steps.getLineNumber())
{
for (Breakpoint possibleDupe: breakpoints_)
{
if (breakpoint.getPath().equals(
possibleDupe.getPath()) &&
steps.getLineNumber() ==
possibleDupe.getLineNumber() &&
breakpoint.getBreakpointId() !=
possibleDupe.getBreakpointId())
{
breakpoint.setState(Breakpoint.STATE_REMOVING);
unSettableBreakpoints.add(breakpoint);
}
}
}
breakpoint.addFunctionSteps(steps.getName(),
steps.getLineNumber(),
steps.getSteps());
}
else
{
unSettableBreakpoints.add(breakpoint);
}