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

Unified Diff: runtime/bin/vmservice/observatory/lib/src/elements/service_ref.dart

Issue 547703002: Rework how types work in the VM Service. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: gen js Created 6 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
Index: runtime/bin/vmservice/observatory/lib/src/elements/service_ref.dart
diff --git a/runtime/bin/vmservice/observatory/lib/src/elements/service_ref.dart b/runtime/bin/vmservice/observatory/lib/src/elements/service_ref.dart
index edb28c74cb78c161a2ba36dc4d408ba8d2ca930f..3637bbd2680a69538e8a1626d0f4a1e0c9a64c63 100644
--- a/runtime/bin/vmservice/observatory/lib/src/elements/service_ref.dart
+++ b/runtime/bin/vmservice/observatory/lib/src/elements/service_ref.dart
@@ -64,7 +64,7 @@ class AnyServiceRefElement extends ObservatoryElement {
AnyServiceRefElement.created() : super.created();
Element _constructElementForRef() {
- var type = ref.vmType;
+ var type = ref.type;
switch (type) {
case 'Class':
ServiceRefElement element = new Element.tag('class-ref');
@@ -94,28 +94,17 @@ class AnyServiceRefElement extends ObservatoryElement {
ServiceRefElement element = new Element.tag('library-ref');
element.ref = ref;
return element;
- case 'Array':
- case 'Bigint':
- case 'Bool':
- case 'Closure':
- case 'Double':
- case 'GrowableObjectArray':
- case 'Instance':
- case 'Mint':
- case 'MirrorReference':
- case 'Null':
- case 'Sentinel': // TODO(rmacnak): Separate this out.
- case 'Smi':
- case 'String':
- case 'Type':
- case 'WeakProperty':
- ServiceRefElement element = new Element.tag('instance-ref');
- element.ref = ref;
- return element;
default:
- SpanElement element = new Element.tag('span');
- element.text = "<<Unknown service ref: $ref>>";
- return element;
+ if (ref.isInstance ||
+ ref.isSentinel) { // TODO(rmacnak): Separate this out.
+ ServiceRefElement element = new Element.tag('instance-ref');
+ element.ref = ref;
+ return element;
+ } else {
+ SpanElement element = new Element.tag('span');
+ element.text = "<<Unknown service ref: $ref>>";
+ return element;
+ }
}
}

Powered by Google App Engine
This is Rietveld 408576698