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

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

Issue 1320793005: Fix analyzer problems in object.dart. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 3 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 1a5ad42f372ea7aa17c864c754b836c00fd5d077..fac9fc5234ffc82ad43318fd90e17163f2e6bc2a 100644
--- a/runtime/observatory/lib/src/service/object.dart
+++ b/runtime/observatory/lib/src/service/object.dart
@@ -429,8 +429,13 @@ abstract class ServiceObjectOwner extends ServiceObject {
ServiceObject getFromMap(ObservableMap map);
}
+abstract class Location {
+ Script get script;
+ int get tokenPos;
+}
+
/// A [SourceLocation] represents a location or range in the source code.
-class SourceLocation extends ServiceObject {
+class SourceLocation extends ServiceObject implements Location {
Script script;
int tokenPos;
int endTokenPos;
@@ -474,7 +479,7 @@ class SourceLocation extends ServiceObject {
/// An [UnresolvedSourceLocation] represents a location in the source
// code which has not been precisely mapped to a token position.
-class UnresolvedSourceLocation extends ServiceObject {
+class UnresolvedSourceLocation extends ServiceObject implements Location {
Script script;
String scriptUri;
int line;
@@ -1502,11 +1507,11 @@ class Isolate extends ServiceObjectOwner with Coverage {
params['column'] = col.toString();
}
Breakpoint bpt = await invokeRpc('addBreakpoint', params);
- if (bpt.resolved &&
- script.loaded &&
- script.tokenToLine(bpt.location.tokenPos) != line) {
- // TODO(turnidge): Can this still happen?
- script.getLine(line).possibleBpt = false;
+ if (bpt.resolved && script.loaded) {
+ SourceLocation loc = bpt.location;
Ivan Posva 2015/09/09 17:09:27 Was this change still needed after adding the Loca
+ if (script.tokenToLine(loc.tokenPos) != line) {
+ script.getLine(line).possibleBpt = false;
+ }
}
return bpt;
} on ServerRpcException catch(e) {
@@ -1972,7 +1977,7 @@ class Breakpoint extends ServiceObject {
@observable int number;
// Either SourceLocation or UnresolvedSourceLocation.
- @observable ServiceObject location;
+ @observable Location location;
// The breakpoint is in a file which is not yet loaded.
@observable bool latent;
@@ -3003,7 +3008,8 @@ class Script extends HeapObject with Coverage {
if (bpt.location.tokenPos != null) {
line = tokenToLine(bpt.location.tokenPos);
} else {
- line = bpt.location.line;
+ UnresolvedSourceLocation loc = bpt.location;
+ line = loc.line;
}
getLine(line).addBreakpoint(bpt);
}
@@ -3013,7 +3019,8 @@ class Script extends HeapObject with Coverage {
if (bpt.location.tokenPos != null) {
line = tokenToLine(bpt.location.tokenPos);
} else {
- line = bpt.location.line;
+ UnresolvedSourceLocation loc = bpt.location;
+ line = loc.line;
}
if (line != null) {
getLine(line).removeBreakpoint(bpt);
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698