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

Unified Diff: runtime/bin/vmservice/observatory/lib/src/service/object.dart

Issue 536273002: Teach the Observatory about WeakProperties (ephemerons). (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: build 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/service/object.dart
diff --git a/runtime/bin/vmservice/observatory/lib/src/service/object.dart b/runtime/bin/vmservice/observatory/lib/src/service/object.dart
index 8ed63c4354bba701984f36fa391ac925be8c25e9..18bbab4fd3a75c0ce65939ddf0bbf1615e9f9652 100644
--- a/runtime/bin/vmservice/observatory/lib/src/service/object.dart
+++ b/runtime/bin/vmservice/observatory/lib/src/service/object.dart
@@ -51,6 +51,7 @@ abstract class ServiceObject extends Observable {
bool get isSentinel => vmType == 'Sentinel';
bool get isString => vmType == 'String';
bool get isType => vmType == 'Type';
+ bool get isWeakProperty => vmType == 'WeakProperty';
/// The complete service url of this object.
@reflectable String get link => _owner.relativeLink(_id);
@@ -122,6 +123,7 @@ abstract class ServiceObject extends Observable {
case 'Smi':
case 'String':
case 'Type':
+ case 'WeakProperty':
obj = new Instance._empty(owner);
break;
case 'Isolate':
@@ -1490,6 +1492,8 @@ class Instance extends ServiceObject {
@observable var elements;
@observable var userName;
@observable var referent; // If a MirrorReference.
+ @observable Instance key; // If a WeakProperty.
+ @observable Instance value; // If a WeakProperty.
bool get isClosure => closureFunc != null;
@@ -1517,6 +1521,8 @@ class Instance extends ServiceObject {
typeClass = map['type_class'];
userName = map['user_name'];
referent = map['referent'];
+ key = map['key'];
+ value = map['value'];
// We are fully loaded.
_loaded = true;

Powered by Google App Engine
This is Rietveld 408576698