| Index: runtime/observatory/lib/src/service/object.dart
|
| diff --git a/runtime/observatory/lib/src/service/object.dart b/runtime/observatory/lib/src/service/object.dart
|
| index 84709866be36663aac6b1c50e584d12c0cf52509..83dfd1cd9ad16c70e02ad4640147613394fe70ca 100644
|
| --- a/runtime/observatory/lib/src/service/object.dart
|
| +++ b/runtime/observatory/lib/src/service/object.dart
|
| @@ -2979,7 +2979,7 @@ class Sentinel extends ServiceObject implements M.Sentinel {
|
| String toString() => 'Sentinel($kind)';
|
| }
|
|
|
| -class Field extends HeapObject implements M.FieldRef {
|
| +class Field extends HeapObject implements M.Field {
|
| // Library or Class.
|
| @observable HeapObject dartOwner;
|
| @observable Library library;
|
| @@ -2992,7 +2992,8 @@ class Field extends HeapObject implements M.FieldRef {
|
| @observable String vmName;
|
|
|
| @observable bool guardNullable;
|
| - @observable var /* Class | String */ guardClass;
|
| + M.GuardClassKind guardClassKind;
|
| + @observable Class guardClass;
|
| @observable String guardLength;
|
| @observable SourceLocation location;
|
|
|
| @@ -3025,7 +3026,21 @@ class Field extends HeapObject implements M.FieldRef {
|
| }
|
|
|
| guardNullable = map['_guardNullable'];
|
| - guardClass = map['_guardClass'];
|
| + if (map['_guardClass'] is Class) {
|
| + guardClass = map['_guardClass'];
|
| + guardClassKind = M.GuardClassKind.single;
|
| + } else {
|
| + switch (map['_guardClass']) {
|
| + case 'various':
|
| + guardClassKind = M.GuardClassKind.dynamic;
|
| + break;
|
| + case 'unknown':
|
| + default:
|
| + guardClassKind = M.GuardClassKind.unknown;
|
| + break;
|
| + }
|
| + }
|
| +
|
| guardLength = map['_guardLength'];
|
| location = map['location'];
|
| _loaded = true;
|
|
|