| 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 75c09182de503bbd483c0b534dea51e712d0472b..84460bb4ca900616a628e577d603c50388280265 100644
|
| --- a/runtime/observatory/lib/src/service/object.dart
|
| +++ b/runtime/observatory/lib/src/service/object.dart
|
| @@ -117,6 +117,7 @@ abstract class ServiceObject extends Observable {
|
| bool get isInt => false;
|
| bool get isList => false;
|
| bool get isMap => false;
|
| + bool get isTypedData => false;
|
| bool get isMirrorReference => false;
|
| bool get isWeakProperty => false;
|
| bool get isClosure => false;
|
| @@ -1854,13 +1855,14 @@ class Instance extends ServiceObject {
|
| @observable ServiceFunction function; // If a closure.
|
| @observable Context context; // If a closure.
|
| @observable String name; // If a Type.
|
| - @observable int length; // If a List or Map.
|
| + @observable int length; // If a List, Map or TypedData.
|
|
|
| @observable var typeClass;
|
| @observable var fields;
|
| @observable var nativeFields;
|
| @observable var elements; // If a List.
|
| @observable var associations; // If a Map.
|
| + @observable var typedElements; // If a TypedData.
|
| @observable var referent; // If a MirrorReference.
|
| @observable Instance key; // If a WeakProperty.
|
| @observable Instance value; // If a WeakProperty.
|
| @@ -1876,6 +1878,7 @@ class Instance extends ServiceObject {
|
| bool get isInt => kind == 'Int';
|
| bool get isList => kind == 'List';
|
| bool get isMap => kind == 'Map';
|
| + bool get isTypedData => kind == 'TypedData';
|
| bool get isMirrorReference => kind == 'MirrorReference';
|
| bool get isWeakProperty => kind == 'WeakProperty';
|
| bool get isClosure => kind == 'Closure';
|
| @@ -1909,6 +1912,41 @@ class Instance extends ServiceObject {
|
| fields = map['fields'];
|
| elements = map['elements'];
|
| associations = map['associations'];
|
| + if (map['bytes'] != null) {
|
| + var bytes = new Uint8List.fromList(map['bytes']);
|
| + switch (map['elementType']) {
|
| + case "Uint8ClampedArray":
|
| + typedElements = bytes.buffer.asUint8ClampedList(); break;
|
| + case "Uint8Array":
|
| + typedElements = bytes.buffer.asUint8List(); break;
|
| + case "Uint16Array":
|
| + typedElements = bytes.buffer.asUint16List(); break;
|
| + case "Uint32Array":
|
| + typedElements = bytes.buffer.asUint32List(); break;
|
| + case "Uint64Array":
|
| + typedElements = bytes.buffer.asUint64List(); break;
|
| + case "Int8Array":
|
| + typedElements = bytes.buffer.asInt8List(); break;
|
| + case "Int16Array":
|
| + typedElements = bytes.buffer.asInt16List(); break;
|
| + case "Int32Array":
|
| + typedElements = bytes.buffer.asInt32List(); break;
|
| + case "Int64Array":
|
| + typedElements = bytes.buffer.asInt64List(); break;
|
| + case "Float32Array":
|
| + typedElements = bytes.buffer.asFloat32List(); break;
|
| + case "Float64Array":
|
| + typedElements = bytes.buffer.asFloat64List(); break;
|
| + case "Int32x4Array":
|
| + typedElements = bytes.buffer.asInt32x4List(); break;
|
| + case "Float32x4Array":
|
| + typedElements = bytes.buffer.asFloat32x4List(); break;
|
| + case "Float64x2Array":
|
| + typedElements = bytes.buffer.asFloat64x2List(); break;
|
| + default:
|
| + typedElements = null;
|
| + }
|
| + }
|
| typeClass = map['typeClass'];
|
| referent = map['mirrorReferent'];
|
| key = map['propertyKey'];
|
|
|