Index: runtime/vm/service/service.md |
diff --git a/runtime/vm/service/service.md b/runtime/vm/service/service.md |
index 534fac660e26511b5027f299a27726b183ebfd13..54d39d56764034b64323d723cad25bee7d2320d5 100644 |
--- a/runtime/vm/service/service.md |
+++ b/runtime/vm/service/service.md |
@@ -49,7 +49,10 @@ apparently outside the scope of the JSON-RPC specification. |
- [ClassList](#classlist) |
- [Code](#code) |
- [CodeKind](#codekind) |
+ - [Context](#context) |
+ - [ContextElement](#contextelement) |
- [Error](#error) |
+ - [ErrorKind](#errorkind) |
- [Event](#event) |
- [EventKind](#eventkind) |
- [Field](#field) |
@@ -61,7 +64,7 @@ apparently outside the scope of the JSON-RPC specification. |
- [Isolate](#isolate) |
- [Library](#library) |
- [LibraryDependency](#librarydependency) |
- - [ListElement](#listelement) |
+ - [MapAssociation](#mapassociation) |
- [Message](#message) |
- [Null](#null) |
- [Object](#object) |
@@ -869,7 +872,15 @@ class Context { |
int length; |
// The variables in this context object. |
- ListElement[] variables; |
+ ContextElement[] variables; |
+} |
+``` |
+ |
+### ContextElement |
+ |
+``` |
+class ContextElement { |
+ @Instance|Sentinel value; |
} |
``` |
@@ -877,6 +888,9 @@ class Context { |
``` |
class @Error extends @Object { |
+ // What kind of error is this? |
+ ErrorKind kind; |
+ |
// A description of the error. |
string message; |
} |
@@ -886,6 +900,9 @@ _@Error_ is a reference to an _Error_. |
``` |
class Error extends Object { |
+ // What kind of error is this? |
+ ErrorKind kind; |
+ |
// A description of the error. |
string message; |
@@ -902,12 +919,24 @@ class Error extends Object { |
An _Error_ represents a Dart language level error. This is distinct from an |
[rpc error](#rpc-error). |
-An error may occur when: |
+### ErrorKind |
+ |
+``` |
+enum ErrorKind { |
+ // The isolate has encountered an unhandled Dart exception. |
+ UnhandledException, |
+ |
+ // The isolate has encountered a Dart language error in the program. |
+ LanguageError, |
-- The program has encountered an unhandled exception |
-- The program has encountered a syntax error (or another Dart language error) |
-- The program has encountered an unhandled erroneous condition in native code |
-- The program has been terminated |
+ // The isolate has encounted an internal error. These errors should be |
+ // reported as bugs. |
+ InternalError, |
+ |
+ // The isolate has been terminated by an external source. |
+ TerminationError |
+} |
+``` |
### Event |
@@ -919,7 +948,7 @@ class Event extends Response { |
// The isolate with which this event is associated. |
@Isolate isolate; |
- // The breakpoint associated with this event, if applicable. |
+ // The breakpoint which was added, removed, or resolved. |
// |
// This is provided for the event kinds: |
// PauseBreakpoint |
@@ -928,6 +957,19 @@ class Event extends Response { |
// BreakpointResolved |
Breakpoint breakpoint [optional]; |
+ // The list of breakpoints at which we are currently paused |
+ // for a PauseBreakpoint event. |
+ // |
+ // This list may be empty. For example, while single-stepping, the |
+ // VM sends a PauseBreakpoint event with no breakpoints. |
+ // |
+ // If there is more than one breakpoint set at the program position, |
+ // then all of them will be provided. |
+ // |
+ // This is provided for the event kinds: |
+ // PauseBreakpoint |
+ Breakpoint[] pauseBreakpoints [optional]; |
+ |
// The top stack frame associated with this event, if applicable. |
// |
// This is provided for the event kinds: |
@@ -1161,7 +1203,7 @@ class @Instance extends @Object { |
// What kind of instance is this? |
InstanceKind kind; |
- // Instance references include their class. |
+ // Instance references always include their class. |
@Class class; |
// The value of this instance as a string. |
@@ -1211,7 +1253,7 @@ class Instance extends Object { |
// What kind of instance is this? |
InstanceKind kind; |
- // Instance references include their class. |
+ // Instance references always include their class. |
@Class class; |
// The value of this instance as a string. |
@@ -1258,7 +1300,7 @@ class Instance extends Object { |
// |
// Provided for instance kinds: |
// List |
- ListElement[] elements [optional]; |
+ @Instance|Sentinel[] elements [optional]; |
// The elements of a List instance. |
// |
@@ -1309,7 +1351,14 @@ class Instance extends Object { |
int parameterIndex [optional]; |
// The type bounded by a BoundedType instance |
- // or |
+ // |
+ // The value will always be one of: |
+ // Type, TypeRef, TypeParameter, BoundedType. |
+ // |
+ // Provided for instance kinds: |
+ // BoundedType |
+ @Instance boundedType [optional]; |
+ |
// The referent of a TypeRef instance. |
// |
// The value will always be one of: |
@@ -1318,7 +1367,7 @@ class Instance extends Object { |
// Provided for instance kinds: |
// BoundedType |
// TypeRef |
- @Instance type [optional]; |
+ @Instance referentType [optional]; |
// The bound of a TypeParameter or BoundedType. |
// |
@@ -1521,15 +1570,6 @@ class LibraryDependency { |
A _LibraryDependency_ provides information about an import or export. |
-### ListElement |
- |
-``` |
-class ListElement { |
- int index; |
- @Instance|Sentinel value; |
-} |
-``` |
- |
### MapAssociation |
``` |
@@ -1592,13 +1632,24 @@ class Object extends Response { |
// Some objects may get a new id when they are reloaded. |
string id; |
- // Every object has a corresponding Class in the VM. |
- @Class class; |
+ // If an object is allocated in the Dart heap, it will have |
+ // a corresponding class object. |
+ // |
+ // The class of a non-instance is not a Dart class, but is instead |
+ // an internal vm object. |
+ // |
+ // Moving an Object into or out of the heap is considered a |
+ // backwards compatible change for types other than Instance. |
+ @Class class [optional]; |
// The size of this object in the heap. |
// |
- // Note that the size can be zero for some objects. |
- int size; |
+ // If an object is not heap-allocated, then this field is omitted. |
+ // |
+ // Note that the size can be zero for some objects. In the current |
+ // VM implementation, this occurs for small integers, which are |
+ // stored entirely within their object pointers. |
+ int size [optional]; |
} |
``` |