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

Unified Diff: runtime/bin/vmservice/client/lib/src/elements/instance_ref.dart

Issue 192443004: Complete the switch to ServiceObject (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 9 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
Index: runtime/bin/vmservice/client/lib/src/elements/instance_ref.dart
diff --git a/runtime/bin/vmservice/client/lib/src/elements/instance_ref.dart b/runtime/bin/vmservice/client/lib/src/elements/instance_ref.dart
index a25647223a77b27a148e21f6fbc893f8f04d6fc0..fb807de8bdb2e5c920b932a43f57c0f2ba900759 100644
--- a/runtime/bin/vmservice/client/lib/src/elements/instance_ref.dart
+++ b/runtime/bin/vmservice/client/lib/src/elements/instance_ref.dart
@@ -6,36 +6,30 @@ library instance_ref_element;
import 'package:logging/logging.dart';
import 'package:polymer/polymer.dart';
+import 'package:observatory/service.dart';
import 'service_ref.dart';
@CustomTag('instance-ref')
class InstanceRefElement extends ServiceRefElement {
InstanceRefElement.created() : super.created();
- String get name {
- if (ref == null) {
- return super.name;
- }
- return ref['preview'];
- }
-
String get hoverText {
if (ref != null) {
- if (ref['type'] == '@Null') {
- if (ref['id'] == 'objects/optimized-out') {
+ if (ref.serviceType == 'Null') {
+ if (ref.id == 'objects/optimized-out') {
return 'This object is no longer needed and has been removed by the optimizing compiler.';
- } else if (ref['id'] == 'objects/collected') {
+ } else if (ref.id == 'objects/collected') {
return 'This object has been reclaimed by the garbage collector.';
- } else if (ref['id'] == 'objects/expired') {
+ } else if (ref.id == 'objects/expired') {
return 'The handle to this object has expired. Consider refreshing the page.';
- } else if (ref['id'] == 'objects/not-initialized') {
+ } else if (ref.id == 'objects/not-initialized') {
return 'This object will be initialized once it is accessed by the program.';
- } else if (ref['id'] == 'objects/being-initialized') {
+ } else if (ref.id == 'objects/being-initialized') {
return 'This object is currently being initialized.';
}
}
}
- return '';
+ return super.hoverText;
}
// TODO(turnidge): This is here to workaround vm/dart2js differences.
@@ -44,29 +38,28 @@ class InstanceRefElement extends ServiceRefElement {
}
void expandEvent(bool expand, var done) {
- print("Calling expandEvent");
+ assert(ref is ServiceMap);
+ ServiceMap refMap = ref;
if (expand) {
turnidge 2014/03/10 21:03:28 Would it work to replace this with ref.refresh(don
Cutch 2014/03/11 03:17:48 Yep.
- isolate.getMap(objectId).then((map) {
- if (map['type'] == 'Null') {
- // The object is no longer available. For example, the
- // object id may have expired or the object may have been
- // collected by the gc.
- map['type'] = '@Null';
+ ref.isolate.fetch(ref.id).then((ServiceMap map) {
+ if (map.serviceType == 'Null') {
ref = map;
+ ref.name = map['preview'];
+ ref.vmName = map['preview'];
} else {
- ref['fields'] = map['fields'];
- ref['elements'] = map['elements'];
- ref['length'] = map['length'];
+ refMap['fields'] = map['fields'];
+ refMap['elements'] = map['elements'];
+ refMap['length'] = map['length'];
}
- ref['fields'] = map['fields'];
- ref['elements'] = map['elements'];
- ref['length'] = map['length'];
+ refMap['fields'] = map['fields'];
+ refMap['elements'] = map['elements'];
+ refMap['length'] = map['length'];
}).catchError((e, trace) {
Logger.root.severe('Error while expanding instance-ref: $e\n$trace');
}).whenComplete(done);
} else {
- ref['fields'] = null;
- ref['elements'] = null;
+ refMap['fields'] = null;
+ refMap['elements'] = null;
done();
}
}

Powered by Google App Engine
This is Rietveld 408576698