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

Side by Side 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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of service; 5 part of service;
6 6
7 /// Helper function for canceling a Future<StreamSubscription>. 7 /// Helper function for canceling a Future<StreamSubscription>.
8 Future cancelFutureSubscription( 8 Future cancelFutureSubscription(
9 Future<StreamSubscription> subscriptionFuture) async { 9 Future<StreamSubscription> subscriptionFuture) async {
10 if (subscriptionFuture != null) { 10 if (subscriptionFuture != null) {
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after
422 abstract class ServiceObjectOwner extends ServiceObject { 422 abstract class ServiceObjectOwner extends ServiceObject {
423 /// Creates an empty [ServiceObjectOwner]. 423 /// Creates an empty [ServiceObjectOwner].
424 ServiceObjectOwner._empty(ServiceObjectOwner owner) : super._empty(owner); 424 ServiceObjectOwner._empty(ServiceObjectOwner owner) : super._empty(owner);
425 425
426 /// Builds a [ServiceObject] corresponding to the [id] from [map]. 426 /// Builds a [ServiceObject] corresponding to the [id] from [map].
427 /// The result may come from the cache. The result will not necessarily 427 /// The result may come from the cache. The result will not necessarily
428 /// be [loaded]. 428 /// be [loaded].
429 ServiceObject getFromMap(ObservableMap map); 429 ServiceObject getFromMap(ObservableMap map);
430 } 430 }
431 431
432 abstract class Location {
433 Script get script;
434 int get tokenPos;
435 }
436
432 /// A [SourceLocation] represents a location or range in the source code. 437 /// A [SourceLocation] represents a location or range in the source code.
433 class SourceLocation extends ServiceObject { 438 class SourceLocation extends ServiceObject implements Location {
434 Script script; 439 Script script;
435 int tokenPos; 440 int tokenPos;
436 int endTokenPos; 441 int endTokenPos;
437 442
438 Future<int> getLine() async { 443 Future<int> getLine() async {
439 await script.load(); 444 await script.load();
440 return script.tokenToLine(tokenPos); 445 return script.tokenToLine(tokenPos);
441 } 446 }
442 447
443 Future<int> getColumn() async { 448 Future<int> getColumn() async {
(...skipping 23 matching lines...) Expand all
467 if (endTokenPos == null) { 472 if (endTokenPos == null) {
468 return '${script.name}:token(${tokenPos})'; 473 return '${script.name}:token(${tokenPos})';
469 } else { 474 } else {
470 return '${script.name}:tokens(${tokenPos}-${endTokenPos})'; 475 return '${script.name}:tokens(${tokenPos}-${endTokenPos})';
471 } 476 }
472 } 477 }
473 } 478 }
474 479
475 /// An [UnresolvedSourceLocation] represents a location in the source 480 /// An [UnresolvedSourceLocation] represents a location in the source
476 // code which has not been precisely mapped to a token position. 481 // code which has not been precisely mapped to a token position.
477 class UnresolvedSourceLocation extends ServiceObject { 482 class UnresolvedSourceLocation extends ServiceObject implements Location {
478 Script script; 483 Script script;
479 String scriptUri; 484 String scriptUri;
480 int line; 485 int line;
481 int column; 486 int column;
482 int tokenPos; 487 int tokenPos;
483 488
484 Future<int> getLine() async { 489 Future<int> getLine() async {
485 if (tokenPos != null) { 490 if (tokenPos != null) {
486 await script.load(); 491 await script.load();
487 return script.tokenToLine(tokenPos); 492 return script.tokenToLine(tokenPos);
(...skipping 1007 matching lines...) Expand 10 before | Expand all | Expand 10 after
1495 // TODO(turnidge): Pass line as an int instead of a string. 1500 // TODO(turnidge): Pass line as an int instead of a string.
1496 try { 1501 try {
1497 Map params = { 1502 Map params = {
1498 'scriptId': script.id, 1503 'scriptId': script.id,
1499 'line': line.toString(), 1504 'line': line.toString(),
1500 }; 1505 };
1501 if (col != null) { 1506 if (col != null) {
1502 params['column'] = col.toString(); 1507 params['column'] = col.toString();
1503 } 1508 }
1504 Breakpoint bpt = await invokeRpc('addBreakpoint', params); 1509 Breakpoint bpt = await invokeRpc('addBreakpoint', params);
1505 if (bpt.resolved && 1510 if (bpt.resolved && script.loaded) {
1506 script.loaded && 1511 SourceLocation loc = bpt.location;
Ivan Posva 2015/09/09 17:09:27 Was this change still needed after adding the Loca
1507 script.tokenToLine(bpt.location.tokenPos) != line) { 1512 if (script.tokenToLine(loc.tokenPos) != line) {
1508 // TODO(turnidge): Can this still happen? 1513 script.getLine(line).possibleBpt = false;
1509 script.getLine(line).possibleBpt = false; 1514 }
1510 } 1515 }
1511 return bpt; 1516 return bpt;
1512 } on ServerRpcException catch(e) { 1517 } on ServerRpcException catch(e) {
1513 if (e.code == ServerRpcException.kCannotAddBreakpoint) { 1518 if (e.code == ServerRpcException.kCannotAddBreakpoint) {
1514 // Unable to set a breakpoint at the desired line. 1519 // Unable to set a breakpoint at the desired line.
1515 script.getLine(line).possibleBpt = false; 1520 script.getLine(line).possibleBpt = false;
1516 } 1521 }
1517 rethrow; 1522 rethrow;
1518 } 1523 }
1519 } 1524 }
(...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after
1965 1970
1966 // TODO(turnidge): Add state to track if a breakpoint has been 1971 // TODO(turnidge): Add state to track if a breakpoint has been
1967 // removed from the program. Remove from the cache when deleted. 1972 // removed from the program. Remove from the cache when deleted.
1968 bool get canCache => true; 1973 bool get canCache => true;
1969 bool get immutable => false; 1974 bool get immutable => false;
1970 1975
1971 // A unique integer identifier for this breakpoint. 1976 // A unique integer identifier for this breakpoint.
1972 @observable int number; 1977 @observable int number;
1973 1978
1974 // Either SourceLocation or UnresolvedSourceLocation. 1979 // Either SourceLocation or UnresolvedSourceLocation.
1975 @observable ServiceObject location; 1980 @observable Location location;
1976 1981
1977 // The breakpoint is in a file which is not yet loaded. 1982 // The breakpoint is in a file which is not yet loaded.
1978 @observable bool latent; 1983 @observable bool latent;
1979 1984
1980 // The breakpoint has been assigned to a final source location. 1985 // The breakpoint has been assigned to a final source location.
1981 @observable bool resolved; 1986 @observable bool resolved;
1982 1987
1983 void _update(ObservableMap map, bool mapIsRef) { 1988 void _update(ObservableMap map, bool mapIsRef) {
1984 _loaded = true; 1989 _loaded = true;
1985 _upgradeCollection(map, owner); 1990 _upgradeCollection(map, owner);
(...skipping 1010 matching lines...) Expand 10 before | Expand all | Expand 10 after
2996 var hits = _hits[line.line]; 3001 var hits = _hits[line.line];
2997 line.hits = hits; 3002 line.hits = hits;
2998 } 3003 }
2999 } 3004 }
3000 3005
3001 void _addBreakpoint(Breakpoint bpt) { 3006 void _addBreakpoint(Breakpoint bpt) {
3002 var line; 3007 var line;
3003 if (bpt.location.tokenPos != null) { 3008 if (bpt.location.tokenPos != null) {
3004 line = tokenToLine(bpt.location.tokenPos); 3009 line = tokenToLine(bpt.location.tokenPos);
3005 } else { 3010 } else {
3006 line = bpt.location.line; 3011 UnresolvedSourceLocation loc = bpt.location;
3012 line = loc.line;
3007 } 3013 }
3008 getLine(line).addBreakpoint(bpt); 3014 getLine(line).addBreakpoint(bpt);
3009 } 3015 }
3010 3016
3011 void _removeBreakpoint(Breakpoint bpt) { 3017 void _removeBreakpoint(Breakpoint bpt) {
3012 var line; 3018 var line;
3013 if (bpt.location.tokenPos != null) { 3019 if (bpt.location.tokenPos != null) {
3014 line = tokenToLine(bpt.location.tokenPos); 3020 line = tokenToLine(bpt.location.tokenPos);
3015 } else { 3021 } else {
3016 line = bpt.location.line; 3022 UnresolvedSourceLocation loc = bpt.location;
3023 line = loc.line;
3017 } 3024 }
3018 if (line != null) { 3025 if (line != null) {
3019 getLine(line).removeBreakpoint(bpt); 3026 getLine(line).removeBreakpoint(bpt);
3020 } 3027 }
3021 } 3028 }
3022 3029
3023 List<LocalVarLocation> scanLineForLocalVariableLocations(Pattern pattern, 3030 List<LocalVarLocation> scanLineForLocalVariableLocations(Pattern pattern,
3024 String name, 3031 String name,
3025 String lineContents, 3032 String lineContents,
3026 int lineNumber, 3033 int lineNumber,
(...skipping 909 matching lines...) Expand 10 before | Expand all | Expand 10 after
3936 var v = list[i]; 3943 var v = list[i];
3937 if ((v is ObservableMap) && _isServiceMap(v)) { 3944 if ((v is ObservableMap) && _isServiceMap(v)) {
3938 list[i] = owner.getFromMap(v); 3945 list[i] = owner.getFromMap(v);
3939 } else if (v is ObservableList) { 3946 } else if (v is ObservableList) {
3940 _upgradeObservableList(v, owner); 3947 _upgradeObservableList(v, owner);
3941 } else if (v is ObservableMap) { 3948 } else if (v is ObservableMap) {
3942 _upgradeObservableMap(v, owner); 3949 _upgradeObservableMap(v, owner);
3943 } 3950 }
3944 } 3951 }
3945 } 3952 }
OLDNEW
« 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