| OLD | NEW |
| 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 // Some value smaller than the object ring, so requesting a large array | 7 // Some value smaller than the object ring, so requesting a large array |
| 8 // doesn't result in an expired ref because the elements lapped it in the | 8 // doesn't result in an expired ref because the elements lapped it in the |
| 9 // object ring. | 9 // object ring. |
| 10 const int kDefaultFieldLimit = 100; | 10 const int kDefaultFieldLimit = 100; |
| (...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 434 size = map['size']; | 434 size = map['size']; |
| 435 } | 435 } |
| 436 } | 436 } |
| 437 | 437 |
| 438 class RetainingObject implements M.RetainingObject { | 438 class RetainingObject implements M.RetainingObject { |
| 439 int get retainedSize => object.retainedSize; | 439 int get retainedSize => object.retainedSize; |
| 440 final HeapObject object; | 440 final HeapObject object; |
| 441 RetainingObject(this.object); | 441 RetainingObject(this.object); |
| 442 } | 442 } |
| 443 | 443 |
| 444 abstract class ServiceObjectOwner extends ServiceObject { | 444 abstract class ServiceObjectOwner extends ServiceObject |
| 445 implements M.ServiceObjectOwner { |
| 445 /// Creates an empty [ServiceObjectOwner]. | 446 /// Creates an empty [ServiceObjectOwner]. |
| 446 ServiceObjectOwner._empty(ServiceObjectOwner owner) : super._empty(owner); | 447 ServiceObjectOwner._empty(ServiceObjectOwner owner) : super._empty(owner); |
| 447 | 448 |
| 448 /// Builds a [ServiceObject] corresponding to the [id] from [map]. | 449 /// Builds a [ServiceObject] corresponding to the [id] from [map]. |
| 449 /// The result may come from the cache. The result will not necessarily | 450 /// The result may come from the cache. The result will not necessarily |
| 450 /// be [loaded]. | 451 /// be [loaded]. |
| 451 ServiceObject getFromMap(Map map); | 452 ServiceObject getFromMap(Map map); |
| 453 |
| 454 Future<M.Object> invokeRpc(String method, Map params); |
| 452 } | 455 } |
| 453 | 456 |
| 454 abstract class Location implements M.Location { | 457 abstract class Location implements M.Location { |
| 455 Script get script; | 458 Script get script; |
| 456 int get tokenPos; | 459 int get tokenPos; |
| 457 } | 460 } |
| 458 | 461 |
| 459 /// A [SourceLocation] represents a location or range in the source code. | 462 /// A [SourceLocation] represents a location or range in the source code. |
| 460 class SourceLocation extends ServiceObject | 463 class SourceLocation extends ServiceObject |
| 461 implements Location, M.SourceLocation { | 464 implements Location, M.SourceLocation { |
| (...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 825 "Response is missing the 'type' field", map); | 828 "Response is missing the 'type' field", map); |
| 826 return new Future.error(exception); | 829 return new Future.error(exception); |
| 827 } | 830 } |
| 828 return new Future.value(map); | 831 return new Future.value(map); |
| 829 }).catchError((e) { | 832 }).catchError((e) { |
| 830 // Errors pass through. | 833 // Errors pass through. |
| 831 return new Future.error(e); | 834 return new Future.error(e); |
| 832 }); | 835 }); |
| 833 } | 836 } |
| 834 | 837 |
| 835 Future<ServiceObject> invokeRpc(String method, Map params) { | 838 Future<dynamic> invokeRpc(String method, Map params) { |
| 836 return invokeRpcNoUpgrade(method, params).then((Map response) { | 839 return invokeRpcNoUpgrade(method, params).then((Map response) { |
| 837 var obj = new ServiceObject._fromMap(this, response); | 840 var obj = new ServiceObject._fromMap(this, response); |
| 838 if ((obj != null) && obj.canCache) { | 841 if ((obj != null) && obj.canCache) { |
| 839 String objId = obj.id; | 842 String objId = obj.id; |
| 840 _cache.putIfAbsent(objId, () => obj); | 843 _cache.putIfAbsent(objId, () => obj); |
| 841 } | 844 } |
| 842 return obj; | 845 return obj; |
| 843 }).catchError((e) { | 846 }).catchError((e) { |
| 844 return new Future.error(e); | 847 return new Future.error(e); |
| 845 }); | 848 }); |
| (...skipping 612 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1458 _cache[mapId] = obj; | 1461 _cache[mapId] = obj; |
| 1459 } | 1462 } |
| 1460 return obj; | 1463 return obj; |
| 1461 } | 1464 } |
| 1462 | 1465 |
| 1463 Future<Map> invokeRpcNoUpgrade(String method, Map params) { | 1466 Future<Map> invokeRpcNoUpgrade(String method, Map params) { |
| 1464 params['isolateId'] = id; | 1467 params['isolateId'] = id; |
| 1465 return vm.invokeRpcNoUpgrade(method, params); | 1468 return vm.invokeRpcNoUpgrade(method, params); |
| 1466 } | 1469 } |
| 1467 | 1470 |
| 1468 Future<ServiceObject> invokeRpc(String method, Map params) { | 1471 Future<dynamic> invokeRpc(String method, Map params) { |
| 1469 return invokeRpcNoUpgrade(method, params).then((Map response) { | 1472 return invokeRpcNoUpgrade(method, params).then((Map response) { |
| 1470 return getFromMap(response); | 1473 return getFromMap(response); |
| 1471 }); | 1474 }); |
| 1472 } | 1475 } |
| 1473 | 1476 |
| 1474 Future<ServiceObject> getObject(String objectId, | 1477 Future<ServiceObject> getObject(String objectId, |
| 1475 {bool reload: true, int count: kDefaultFieldLimit}) { | 1478 {bool reload: true, int count: kDefaultFieldLimit}) { |
| 1476 assert(objectId != null && objectId != ''); | 1479 assert(objectId != null && objectId != ''); |
| 1477 var obj = _cache[objectId]; | 1480 var obj = _cache[objectId]; |
| 1478 if (obj != null) { | 1481 if (obj != null) { |
| (...skipping 3146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4625 var v = list[i]; | 4628 var v = list[i]; |
| 4626 if ((v is Map) && _isServiceMap(v)) { | 4629 if ((v is Map) && _isServiceMap(v)) { |
| 4627 list[i] = owner.getFromMap(v); | 4630 list[i] = owner.getFromMap(v); |
| 4628 } else if (v is List) { | 4631 } else if (v is List) { |
| 4629 _upgradeList(v, owner); | 4632 _upgradeList(v, owner); |
| 4630 } else if (v is Map) { | 4633 } else if (v is Map) { |
| 4631 _upgradeMap(v, owner); | 4634 _upgradeMap(v, owner); |
| 4632 } | 4635 } |
| 4633 } | 4636 } |
| 4634 } | 4637 } |
| OLD | NEW |