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

Unified Diff: runtime/bin/vmservice/observatory/lib/src/elements/service_view.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_view.dart
diff --git a/runtime/bin/vmservice/observatory/lib/src/elements/service_view.dart b/runtime/bin/vmservice/observatory/lib/src/elements/service_view.dart
index 15da1b8236497baff1389eae43a46640f9cef39c..438ebfae8b39187bf5a74c014b277b12e4600c43 100644
--- a/runtime/bin/vmservice/observatory/lib/src/elements/service_view.dart
+++ b/runtime/bin/vmservice/observatory/lib/src/elements/service_view.dart
@@ -20,7 +20,7 @@ class ServiceObjectViewElement extends ObservatoryElement {
ServiceObjectViewElement.created() : super.created();
ObservatoryElement _constructElementForObject() {
- var type = object.vmType;
+ var type = object.type;
switch (type) {
case 'AllocationProfile':
HeapProfileElement element = new Element.tag('heap-profile');
@@ -62,42 +62,6 @@ class ServiceObjectViewElement extends ObservatoryElement {
HeapMapElement element = new Element.tag('heap-map');
element.fragmentation = object;
return element;
- case 'LibraryPrefix':
- case 'TypeRef':
- case 'TypeParameter':
- case 'BoundedType':
- case 'Int32x4':
- case 'Float32x4':
- case 'Float64x4':
- case 'TypedData':
- case 'ExternalTypedData':
- case 'Capability':
- case 'ReceivePort':
- case 'SendPort':
- case 'Stacktrace':
- case 'JSRegExp':
- case 'UserTag':
- // TODO(turnidge): The types above this comment are instance
- // types and should be handled by the InstanceViewElement. We
- // need to go through these and make sure that they print in a
- // reasonable way.
- case 'Type':
- case 'Array':
- case 'Bool':
- case 'Closure':
- case 'Double':
- case 'GrowableObjectArray':
- case 'Instance':
- case 'Smi':
- case 'Mint':
- case 'MirrorReference':
- case 'Null':
- case 'Bigint':
- case 'String':
- case 'WeakProperty':
- InstanceViewElement element = new Element.tag('instance-view');
- element.instance = object;
- return element;
case 'IO':
IOViewElement element = new Element.tag('io-view');
element.io = object;
@@ -189,9 +153,16 @@ class ServiceObjectViewElement extends ObservatoryElement {
element.vm = object;
return element;
default:
- JsonViewElement element = new Element.tag('json-view');
- element.map = object;
- return element;
+ if (object.isInstance ||
+ object.isSentinel) { // TODO(rmacnak): Separate this out.
+ InstanceViewElement element = new Element.tag('instance-view');
+ element.instance = object;
+ return element;
+ } else {
+ JsonViewElement element = new Element.tag('json-view');
+ element.map = object;
+ return element;
+ }
}
}

Powered by Google App Engine
This is Rietveld 408576698