| Index: runtime/observatory/lib/src/elements/script_inset.dart
|
| diff --git a/runtime/observatory/lib/src/elements/script_inset.dart b/runtime/observatory/lib/src/elements/script_inset.dart
|
| index 8a9546740a599840b78565617ff376ce22b50198..2269c12bf9a03851c3f54a5419bc0b6f6a652512 100644
|
| --- a/runtime/observatory/lib/src/elements/script_inset.dart
|
| +++ b/runtime/observatory/lib/src/elements/script_inset.dart
|
| @@ -121,9 +121,17 @@ class BreakpointAnnotation extends Annotation {
|
|
|
| BreakpointAnnotation(this.bpt) {
|
| var script = bpt.location.script;
|
| - var pos = bpt.location.tokenPos;
|
| - line = script.tokenToLine(pos);
|
| - columnStart = script.tokenToCol(pos) - 1; // tokenToCol is 1-origin.
|
| + if (bpt.location.tokenPos != null) {
|
| + var pos = bpt.location.tokenPos;
|
| + line = script.tokenToLine(pos);
|
| + columnStart = script.tokenToCol(pos) - 1; // tokenToCol is 1-origin.
|
| + } else {
|
| + line = bpt.location.line;
|
| + columnStart = bpt.location.column;
|
| + if (columnStart == null) {
|
| + columnStart = 0;
|
| + }
|
| + }
|
| var length = script.guessTokenLength(line, columnStart);
|
| if (length == null) {
|
| length = 1;
|
| @@ -139,7 +147,11 @@ class BreakpointAnnotation extends Annotation {
|
| var pos = bpt.location.tokenPos;
|
| int line = script.tokenToLine(pos);
|
| int column = script.tokenToCol(pos);
|
| - element.classes.add("breakAnnotation");
|
| + if (bpt.resolved) {
|
| + element.classes.add("resolvedBreakAnnotation");
|
| + } else {
|
| + element.classes.add("unresolvedBreakAnnotation");
|
| + }
|
| element.title = "Breakpoint ${bpt.number} at ${line}:${column}";
|
| }
|
| }
|
| @@ -448,6 +460,11 @@ class ScriptInsetElement extends ObservatoryElement {
|
| Element a(String text) => new AnchorElement()..text = text;
|
| Element span(String text) => new SpanElement()..text = text;
|
|
|
| + Element hitsCurrent(Element element) {
|
| + element.classes.add('hitsCurrent');
|
| + element.title = "";
|
| + return element;
|
| + }
|
| Element hitsUnknown(Element element) {
|
| element.classes.add('hitsNone');
|
| element.title = "";
|
| @@ -930,7 +947,9 @@ class ScriptInsetElement extends ObservatoryElement {
|
| var e = span("$nbsp$lineNumber$nbsp");
|
| e.classes.add('noCopy');
|
|
|
| - if ((line == null) || (line.hits == null)) {
|
| + if (lineNumber == _currentLine) {
|
| + hitsCurrent(e);
|
| + } else if ((line == null) || (line.hits == null)) {
|
| hitsUnknown(e);
|
| } else if (line.hits == 0) {
|
| hitsNotExecuted(e);
|
|
|