Chromium Code Reviews| Index: runtime/observatory/lib/src/service/object.dart |
| diff --git a/runtime/observatory/lib/src/service/object.dart b/runtime/observatory/lib/src/service/object.dart |
| index f4ec057dd8637c9db7649e179c194b4e17ef074f..840e954f81452cbcf24f94525da3554f496c0b3c 100644 |
| --- a/runtime/observatory/lib/src/service/object.dart |
| +++ b/runtime/observatory/lib/src/service/object.dart |
| @@ -1022,7 +1022,7 @@ class Isolate extends ServiceObjectOwner with Coverage { |
| } |
| // TODO(turnidge): Make this an ObservableList instead. |
| - ServiceMap breakpoints; |
| + ObservableList breakpoints = new ObservableList(); |
|
Cutch
2015/02/09 21:45:06
comment is out of date now.
turnidge
2015/02/09 21:53:08
Done.
|
| void _removeBreakpoint(ServiceMap bpt) { |
| var script = bpt['location']['script']; |
| @@ -1058,7 +1058,7 @@ class Isolate extends ServiceObjectOwner with Coverage { |
| void _updateBreakpoints(ServiceMap newBreakpoints) { |
| // Remove all of the old breakpoints from the Script lines. |
| if (breakpoints != null) { |
| - for (var bpt in breakpoints['breakpoints']) { |
| + for (var bpt in breakpoints) { |
| _removeBreakpoint(bpt); |
| } |
| } |
| @@ -1066,7 +1066,11 @@ class Isolate extends ServiceObjectOwner with Coverage { |
| for (var bpt in newBreakpoints['breakpoints']) { |
| _addBreakpoint(bpt); |
| } |
| - breakpoints = newBreakpoints; |
| + breakpoints.clear(); |
| + breakpoints.addAll(newBreakpoints['breakpoints']); |
| + |
| + // Sort the breakpoints by breakpointNumber. |
| + breakpoints.sort((a, b) => (a['breakpointNumber'] - b['breakpointNumber'])); |
| } |
| Future<ServiceObject> _inProgressReloadBpts; |
| @@ -1938,7 +1942,7 @@ class ScriptLine extends Observable { |
| possibleBpt = !_isTrivialLine(text); |
| // TODO(turnidge): This is not so efficient. Consider improving. |
| - for (var bpt in this.script.isolate.breakpoints['breakpoints']) { |
| + for (var bpt in this.script.isolate.breakpoints) { |
| var bptScript = bpt['location']['script']; |
| var bptTokenPos = bpt['location']['tokenPos']; |
| if (bptScript == this.script && |