Index: runtime/observatory/lib/src/models/objects/instance.dart |
diff --git a/runtime/observatory/lib/src/models/objects/instance.dart b/runtime/observatory/lib/src/models/objects/instance.dart |
index ba3d93bc1185cb8783de89c8e46dd8012391796d..8401684304dcf13b808ad2fd529a3714aa7a67d8 100644 |
--- a/runtime/observatory/lib/src/models/objects/instance.dart |
+++ b/runtime/observatory/lib/src/models/objects/instance.dart |
@@ -125,6 +125,18 @@ bool isSimdValue(InstanceKind kind) { |
} |
} |
+bool isAbstractType(InstanceKind kind) { |
+ switch (kind) { |
+ case InstanceKind.type: |
+ case InstanceKind.typeRef: |
+ case InstanceKind.typeParameter: |
+ case InstanceKind.boundedType: |
+ return true; |
+ default: |
+ return false; |
+ } |
+} |
+ |
abstract class InstanceRef extends ObjectRef { |
/// What kind of instance is this? |
InstanceKind get kind; |
@@ -206,6 +218,12 @@ abstract class InstanceRef extends ObjectRef { |
/// Provided for instance kinds: |
/// Closure |
FunctionRef get closureFunction; |
+ |
+ /// [optional] The context associated with a Closure instance. |
+ /// |
+ /// Provided for instance kinds: |
+ /// Closure |
+ ContextRef get closureContext; |
} |
abstract class Instance extends Object implements InstanceRef { |
@@ -274,7 +292,10 @@ abstract class Instance extends Object implements InstanceRef { |
/// Float64x2List |
Iterable<dynamic> get typedElements; |
- /// [optional]The fields of this Instance. |
+ /// [optional] The native fields of this Instance. |
+ Iterable<NativeField> get nativeFields; |
+ |
+ /// [optional] The fields of this Instance. |
Iterable<BoundField> get fields; |
/// [optional] The elements of a List instance. |
@@ -309,4 +330,101 @@ abstract class Instance extends Object implements InstanceRef { |
/// Provided for instance kinds: |
/// MirrorReference |
ObjectRef get referent; |
+ |
+ /// [optional] The type arguments for this type. |
+ /// |
+ /// Provided for instance kinds: |
+ /// Type |
+ TypeArgumentsRef get typeArguments; |
+ |
+ /// [optional] The index of a TypeParameter instance. |
+ /// |
+ /// Provided for instance kinds: |
+ /// TypeParameter |
+ int get parameterIndex; |
+ |
+ /// [optional] The type bounded by a BoundedType instance |
+ /// - or - |
+ /// the referent of a TypeRef instance. |
+ /// |
+ /// The value will always be of one of the kinds: |
+ /// Type, TypeRef, TypeParameter, BoundedType. |
+ /// |
+ /// Provided for instance kinds: |
+ /// BoundedType |
+ /// TypeRef |
+ InstanceRef get targetType; |
+ |
+ /// [optional] The bound of a TypeParameter or BoundedType. |
+ /// |
+ /// The value will always be of one of the kinds: |
+ /// Type, TypeRef, TypeParameter, BoundedType. |
+ /// |
+ /// Provided for instance kinds: |
+ /// BoundedType |
+ /// TypeParameter |
+ InstanceRef get bound; |
+ |
+ /// [optional] |
+ /// |
+ /// Provided for instance kinds: |
+ /// Closure |
+ Breakpoint get activationBreakpoint; |
+ |
+ /// [optional] |
+ /// |
+ /// Provided for instance kinds: |
+ /// RegExp |
+ bool get isCaseSensitive; |
+ |
+ /// [optional] |
+ /// |
+ /// Provided for instance kinds: |
+ /// RegExp |
+ bool get isMultiLine; |
+ |
+ /// [optional] |
+ /// |
+ /// Provided for instance kinds: |
+ /// RegExp |
+ Function get oneByteFunction; |
+ |
+ /// [optional] |
+ /// |
+ /// Provided for instance kinds: |
+ /// RegExp |
+ Function get twoByteFunction; |
+ |
+ /// [optional] |
+ /// |
+ /// Provided for instance kinds: |
+ /// RegExp |
+ Function get externalOneByteFunction; |
+ |
+ /// [optional] |
+ /// |
+ /// Provided for instance kinds: |
+ /// RegExp |
+ Function get externalTwoByteFunction; |
+ |
+ /// [optional] |
+ /// |
+ /// Provided for instance kinds: |
+ /// RegExp |
+ Instance get oneByteBytecode; |
+ |
+ /// [optional] |
+ /// |
+ /// Provided for instance kinds: |
+ /// RegExp |
+ Instance get twoByteBytecode; |
+} |
+ |
+abstract class BoundField { |
+ FieldRef get decl; |
+ Guarded<InstanceRef> get value; |
+} |
+ |
+abstract class NativeField { |
+ int get value; |
} |