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 41b5bd3f90eefdb33f5e948eafc4ea61613ec7d7..cdbd077c649444c04e6b99bb019e8445fc8a177f 100644 |
--- a/runtime/observatory/lib/src/elements/script_inset.dart |
+++ b/runtime/observatory/lib/src/elements/script_inset.dart |
@@ -218,11 +218,12 @@ class ScriptInsetElement extends ObservatoryElement { |
@published int currentPos; |
@published int startPos; |
@published int endPos; |
+ @published bool inDebuggerContext = false; |
- @observable int currentLine; |
- @observable int currentCol; |
- @observable int startLine; |
- @observable int endLine; |
+ int _currentLine; |
+ int _currentCol; |
+ int _startLine; |
+ int _endLine; |
var annotations = []; |
var annotationsCursor; |
@@ -234,7 +235,7 @@ class ScriptInsetElement extends ObservatoryElement { |
} |
void _scrollToCurrentPos() { |
- var line = querySelector('#${makeLineId(currentLine)}'); |
+ var line = querySelector('#${makeLineId(_currentLine)}'); |
if (line != null) { |
line.scrollIntoView(); |
} |
@@ -332,45 +333,47 @@ class ScriptInsetElement extends ObservatoryElement { |
} |
void computeAnnotations() { |
- startLine = (startPos != null |
- ? script.tokenToLine(startPos) |
- : 1); |
- currentLine = (currentPos != null |
- ? script.tokenToLine(currentPos) |
+ _startLine = (startPos != null |
+ ? script.tokenToLine(startPos) |
+ : 1); |
+ _currentLine = (currentPos != null |
+ ? script.tokenToLine(currentPos) |
+ : null); |
+ _currentCol = (currentPos != null |
+ ? (script.tokenToCol(currentPos) - 1) // make this 0-based. |
: null); |
- currentCol = (currentPos != null |
- ? (script.tokenToCol(currentPos) - 1) // make this 0-based. |
- : null); |
- endLine = (endPos != null |
- ? script.tokenToLine(endPos) |
- : script.lines.length); |
+ _endLine = (endPos != null |
+ ? script.tokenToLine(endPos) |
+ : script.lines.length); |
annotations.clear(); |
- if (currentLine != null) { |
+ if (_currentLine != null) { |
var a = new CurrentExecutionAnnotation(); |
- a.line = currentLine; |
- a.columnStart = currentCol; |
- a.columnStop = currentCol + 1; |
+ a.line = _currentLine; |
+ a.columnStart = _currentCol; |
+ a.columnStop = _currentCol + 1; |
annotations.add(a); |
} |
- loadFunctionsOf(script.library); |
+ if (!inDebuggerContext) { |
+ loadFunctionsOf(script.library); |
- for (var func in script.library.functions) { |
- if (func.script == script) { |
- annotations.add(new FunctionDeclarationAnnotation(func)); |
- } |
- } |
- for (var cls in script.library.classes) { |
- for (var func in cls.functions) { |
+ for (var func in script.library.functions) { |
if (func.script == script) { |
annotations.add(new FunctionDeclarationAnnotation(func)); |
} |
} |
- } |
+ for (var cls in script.library.classes) { |
+ for (var func in cls.functions) { |
+ if (func.script == script) { |
+ annotations.add(new FunctionDeclarationAnnotation(func)); |
+ } |
+ } |
+ } |
- for (var callSite in script.callSites) { |
- annotations.add(new CallSiteAnnotation(callSite)); |
+ for (var callSite in script.callSites) { |
+ annotations.add(new CallSiteAnnotation(callSite)); |
+ } |
} |
annotations.sort(); |
@@ -383,7 +386,7 @@ class ScriptInsetElement extends ObservatoryElement { |
annotationsCursor = 0; |
int blankLineCount = 0; |
- for (int i = (startLine - 1); i <= (endLine - 1); i++) { |
+ for (int i = (_startLine - 1); i <= (_endLine - 1); i++) { |
if (script.lines[i].isBlank) { |
// Try to introduce elipses if there are 4 or more contiguous |
// blank lines. |
@@ -517,7 +520,7 @@ class ScriptInsetElement extends ObservatoryElement { |
e.classes.add("sourceItem"); |
if (line != null) { |
- if (line.line == currentLine) { |
+ if (line.line == _currentLine) { |
e.classes.add("currentLine"); |
} |