Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Unified Diff: runtime/observatory/lib/src/service/object.dart

Issue 866663003: Add a working command line debugger to Observatory. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 &&

Powered by Google App Engine
This is Rietveld 408576698