| OLD | NEW |
| 1 # Dart VM Service Protocol 0.0 | 1 # Dart VM Service Protocol 0.0 |
| 2 | 2 |
| 3 This document describes _version 0.0_ of the Dart VM Service Protocol. | 3 This document describes _version 0.0_ of the Dart VM Service Protocol. |
| 4 This protocol is used to communicate with a running Dart Virtual | 4 This protocol is used to communicate with a running Dart Virtual |
| 5 Machine. | 5 Machine. |
| 6 | 6 |
| 7 To use the Service Protocol, start the VM with the *--observe* flag. | 7 To use the Service Protocol, start the VM with the *--observe* flag. |
| 8 The VM will start a webserver which services protocol requests via WebSocket. | 8 The VM will start a webserver which services protocol requests via WebSocket. |
| 9 It is possible to make HTTP (non-WebSocket) requests, | 9 It is possible to make HTTP (non-WebSocket) requests, |
| 10 but this does not allow access to VM _events_ and is not documented | 10 but this does not allow access to VM _events_ and is not documented |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 - [getVersion](#getversion) | 35 - [getVersion](#getversion) |
| 36 - [getVM](#getvm) | 36 - [getVM](#getvm) |
| 37 - [pause](#pause) | 37 - [pause](#pause) |
| 38 - [removeBreakpoint](#removebreakpoint) | 38 - [removeBreakpoint](#removebreakpoint) |
| 39 - [resume](#resume) | 39 - [resume](#resume) |
| 40 - [setName](#setname) | 40 - [setName](#setname) |
| 41 - [setLibraryDebuggable](#setlibrarydebuggable) | 41 - [setLibraryDebuggable](#setlibrarydebuggable) |
| 42 - [streamCancel](#streamcancel) | 42 - [streamCancel](#streamcancel) |
| 43 - [streamListen](#streamlisten) | 43 - [streamListen](#streamlisten) |
| 44 - [Public Types](#public-types) | 44 - [Public Types](#public-types) |
| 45 - [Bool](#bool) | |
| 46 - [BoundField](#boundfield) | 45 - [BoundField](#boundfield) |
| 47 - [BoundVariable](#boundvariable) | 46 - [BoundVariable](#boundvariable) |
| 48 - [Breakpoint](#breakpoint) | 47 - [Breakpoint](#breakpoint) |
| 49 - [Class](#class) | 48 - [Class](#class) |
| 50 - [ClassList](#classlist) | 49 - [ClassList](#classlist) |
| 51 - [Code](#code) | 50 - [Code](#code) |
| 52 - [CodeKind](#codekind) | 51 - [CodeKind](#codekind) |
| 53 - [Double](#double) | |
| 54 - [Error](#error) | 52 - [Error](#error) |
| 55 - [Event](#event) | 53 - [Event](#event) |
| 56 - [EventKind](#eventkind) | 54 - [EventKind](#eventkind) |
| 57 - [Field](#field) | 55 - [Field](#field) |
| 58 - [Flag](#flag) | 56 - [Flag](#flag) |
| 59 - [FlagList](#flaglist) | 57 - [FlagList](#flaglist) |
| 60 - [Frame](#frame) | 58 - [Frame](#frame) |
| 61 - [Function](#function) | 59 - [Function](#function) |
| 62 - [Instance](#instance) | 60 - [Instance](#instance) |
| 63 - [Int](#int) | |
| 64 - [Isolate](#isolate) | 61 - [Isolate](#isolate) |
| 65 - [Library](#library) | 62 - [Library](#library) |
| 66 - [LibraryDependency](#librarydependency) | 63 - [LibraryDependency](#librarydependency) |
| 67 - [List](#list) | |
| 68 - [ListElement](#listelement) | 64 - [ListElement](#listelement) |
| 69 - [Message](#message) | 65 - [Message](#message) |
| 70 - [Null](#null) | 66 - [Null](#null) |
| 71 - [Object](#object) | 67 - [Object](#object) |
| 72 - [Sentinel](#sentinel) | 68 - [Sentinel](#sentinel) |
| 73 - [SentinelKind](#sentinelkind) | 69 - [SentinelKind](#sentinelkind) |
| 74 - [Script](#script) | 70 - [Script](#script) |
| 75 - [Stack](#stack) | 71 - [Stack](#stack) |
| 76 - [StepOption](#stepoption) | 72 - [StepOption](#stepoption) |
| 77 - [String](#string) | |
| 78 - [Success](#success) | 73 - [Success](#success) |
| 79 - [Type](#type) | |
| 80 - [TypeArguments](#typearguments) | 74 - [TypeArguments](#typearguments) |
| 81 - [Response](#response) | 75 - [Response](#response) |
| 82 - [Version](#version) | 76 - [Version](#version) |
| 83 - [VM](#vm) | 77 - [VM](#vm) |
| 84 - [Revision History](#revision-history) | 78 - [Revision History](#revision-history) |
| 85 | 79 |
| 86 ## RPCs, Requests, and Responses | 80 ## RPCs, Requests, and Responses |
| 87 | 81 |
| 88 An RPC request is a JSON object sent to the server. Here is an | 82 An RPC request is a JSON object sent to the server. Here is an |
| 89 example [getVersion](#getversion) request: | 83 example [getVersion](#getversion) request: |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 299 ``` | 293 ``` |
| 300 | 294 |
| 301 The major version number is incremented when the protocol is changed | 295 The major version number is incremented when the protocol is changed |
| 302 in a potentially _incompatible_ way. An example of an incompatible | 296 in a potentially _incompatible_ way. An example of an incompatible |
| 303 change is removing a non-optional property from a result. | 297 change is removing a non-optional property from a result. |
| 304 | 298 |
| 305 The minor version number is incremented when the protocol is changed | 299 The minor version number is incremented when the protocol is changed |
| 306 in a _backwards compatible_ way. An example of a backwards compatible | 300 in a _backwards compatible_ way. An example of a backwards compatible |
| 307 change is adding a property to a result. | 301 change is adding a property to a result. |
| 308 | 302 |
| 303 Certain changes that would normally not be backwards compatible are |
| 304 considered backwards compatible for the purposes of versioning. |
| 305 Specifically, additions can be made to the [EventKind](#eventkind) and |
| 306 [InstanceKind](#instancekind) enumerated types and the client must |
| 307 handle this gracefully. See the notes on these enumerated types for more |
| 308 information. |
| 309 |
| 309 ## Private RPCs, Types, and Properties | 310 ## Private RPCs, Types, and Properties |
| 310 | 311 |
| 311 Any RPC, type, or property which begins with an underscore is said to | 312 Any RPC, type, or property which begins with an underscore is said to |
| 312 be _private_. These RPCs, types, and fields can be changed at any | 313 be _private_. These RPCs, types, and fields can be changed at any |
| 313 time without changing major or minor version numbers. | 314 time without changing major or minor version numbers. |
| 314 | 315 |
| 315 The intention is that the Service Protocol will evolve by adding | 316 The intention is that the Service Protocol will evolve by adding |
| 316 private RPCs which may, over time, migrate to the public api as they | 317 private RPCs which may, over time, migrate to the public api as they |
| 317 become stable. Some private types and properties expose VM specific | 318 become stable. Some private types and properties expose VM specific |
| 318 implementation state and will never be appropriate to add to | 319 implementation state and will never be appropriate to add to |
| (...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 685 ``` | 686 ``` |
| 686 enum PermittedValues { | 687 enum PermittedValues { |
| 687 Value1, | 688 Value1, |
| 688 Value2 | 689 Value2 |
| 689 } | 690 } |
| 690 ``` | 691 ``` |
| 691 | 692 |
| 692 This means that _PermittedValues_ is a _string_ with two potential values, | 693 This means that _PermittedValues_ is a _string_ with two potential values, |
| 693 _Value1_ and _Value2_. | 694 _Value1_ and _Value2_. |
| 694 | 695 |
| 695 ### Bool | |
| 696 | |
| 697 ``` | |
| 698 class @Bool extends @Instance { | |
| 699 // The value of this bool as a string, either 'true' or 'false'. | |
| 700 string valueAsString; | |
| 701 } | |
| 702 ``` | |
| 703 | |
| 704 _@Bool_ is a reference to a _Bool_. | |
| 705 | |
| 706 ``` | |
| 707 class Bool extends Instance { | |
| 708 // The value of this bool as a string, either 'true' or 'false'. | |
| 709 string valueAsString; | |
| 710 } | |
| 711 ``` | |
| 712 | |
| 713 An _Bool_ represents an instance of the Dart language class _bool_. | |
| 714 | |
| 715 ### BoundField | 696 ### BoundField |
| 716 | 697 |
| 717 ``` | 698 ``` |
| 718 class BoundField { | 699 class BoundField { |
| 719 @Field decl; | 700 @Field decl; |
| 720 @Instance|Sentinel value; | 701 @Instance|Sentinel value; |
| 721 } | 702 } |
| 722 ``` | 703 ``` |
| 723 | 704 |
| 724 A _BoundField_ represents a field bound to a particular value in an | 705 A _BoundField_ represents a field bound to a particular value in an |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 865 ``` | 846 ``` |
| 866 enum CodeKind { | 847 enum CodeKind { |
| 867 Dart, | 848 Dart, |
| 868 Native, | 849 Native, |
| 869 Stub, | 850 Stub, |
| 870 Tag, | 851 Tag, |
| 871 Collected | 852 Collected |
| 872 } | 853 } |
| 873 ``` | 854 ``` |
| 874 | 855 |
| 875 ### Double | 856 ### Context |
| 876 | 857 |
| 877 ``` | 858 ``` |
| 878 class @Double extends @Instance { | 859 class @Context { |
| 879 // The value of this double as a string. | 860 // The number of variables in this context. |
| 880 // | 861 int length; |
| 881 // Suitable for passing to double.parse(). | |
| 882 string valueAsString; | |
| 883 } | 862 } |
| 884 ``` | 863 ``` |
| 885 | 864 |
| 886 _@Double_ is a reference to a _Double_. | 865 ``` |
| 866 class Context { |
| 867 // The number of variables in this context. |
| 868 int length; |
| 887 | 869 |
| 888 ``` | 870 // The variables in this context object. |
| 889 class Double extends Instance { | 871 ListElement[] variables; |
| 890 // The value of this double as a string. | |
| 891 // | |
| 892 // Suitable for passing to double.parse(). | |
| 893 string valueAsString; | |
| 894 } | 872 } |
| 895 ``` | 873 ``` |
| 896 | 874 |
| 897 A _Double_ represents an instance of the Dart language class _double_. | |
| 898 | |
| 899 ### Error | 875 ### Error |
| 900 | 876 |
| 901 ``` | 877 ``` |
| 902 class @Error extends @Object { | 878 class @Error extends @Object { |
| 903 // A description of the error. | 879 // A description of the error. |
| 904 string message; | 880 string message; |
| 905 } | 881 } |
| 906 ``` | 882 ``` |
| 907 | 883 |
| 908 _@Error_ is a reference to an _Error_. | 884 _@Error_ is a reference to an _Error_. |
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1180 @Code code [optional]; | 1156 @Code code [optional]; |
| 1181 } | 1157 } |
| 1182 ``` | 1158 ``` |
| 1183 | 1159 |
| 1184 A _Function_ represents a Dart language function. | 1160 A _Function_ represents a Dart language function. |
| 1185 | 1161 |
| 1186 ### Instance | 1162 ### Instance |
| 1187 | 1163 |
| 1188 ``` | 1164 ``` |
| 1189 class @Instance extends @Object { | 1165 class @Instance extends @Object { |
| 1166 // What kind of instance is this? |
| 1167 InstanceKind kind; |
| 1168 |
| 1190 // Instance references include their class. | 1169 // Instance references include their class. |
| 1191 @Class class; | 1170 @Class class; |
| 1171 |
| 1172 // The value of this instance as a string. |
| 1173 // |
| 1174 // Provided for the instance kinds: |
| 1175 // Null (null) |
| 1176 // Bool (true or false) |
| 1177 // Double (suitable for passing to Double.parse()) |
| 1178 // Int (suitable for passing to int.parse()) |
| 1179 // String (value may be truncated) |
| 1180 string valueAsString [optional]; |
| 1181 |
| 1182 // The valueAsString for String references may be truncated. If so, |
| 1183 // this property is added with the value 'true'. |
| 1184 bool valueAsStringIsTruncated [optional]; |
| 1185 |
| 1186 // The length of a List instance. |
| 1187 // |
| 1188 // Provided for instance kinds: |
| 1189 // List |
| 1190 int length [optional]; |
| 1191 |
| 1192 // The name of a Type instance. |
| 1193 // |
| 1194 // Provided for instance kinds: |
| 1195 // Type |
| 1196 string name [optional]; |
| 1197 |
| 1198 // The corresponding Class if this Type is canonical. |
| 1199 // |
| 1200 // Provided for instance kinds: |
| 1201 // Type |
| 1202 @Class typeClass [optional]; |
| 1203 |
| 1204 // The parameterized class of a type parameter: |
| 1205 // |
| 1206 // Provided for instance kinds: |
| 1207 // TypeParameter |
| 1208 @Class parameterizedClass [optional]; |
| 1192 } | 1209 } |
| 1193 ``` | 1210 ``` |
| 1194 | 1211 |
| 1195 _@Instance_ is a reference to an _Instance_. | 1212 _@Instance_ is a reference to an _Instance_. |
| 1196 | 1213 |
| 1197 ``` | 1214 ``` |
| 1198 class Instance extends Object { | 1215 class Instance extends Object { |
| 1216 // What kind of instance is this? |
| 1217 InstanceKind kind; |
| 1218 |
| 1219 // Instance references include their class. |
| 1220 @Class class; |
| 1221 |
| 1222 // The value of this instance as a string. |
| 1223 // |
| 1224 // Provided for the instance kinds: |
| 1225 // Bool (true or false) |
| 1226 // Double (suitable for passing to Double.parse()) |
| 1227 // Int (suitable for passing to int.parse()) |
| 1228 // String (value may be truncated) |
| 1229 string valueAsString [optional]; |
| 1230 |
| 1231 // The valueAsString for String references may be truncated. If so, |
| 1232 // this property is added with the value 'true'. |
| 1233 bool valueAsStringIsTruncated [optional]; |
| 1234 |
| 1235 // The length of a List instance. |
| 1236 // |
| 1237 // Provided for instance kinds: |
| 1238 // List |
| 1239 int length [optional]; |
| 1240 |
| 1241 // The name of a Type instance. |
| 1242 // |
| 1243 // Provided for instance kinds: |
| 1244 // Type |
| 1245 string name [optional]; |
| 1246 |
| 1247 // The corresponding Class if this Type is canonical. |
| 1248 // |
| 1249 // Provided for instance kinds: |
| 1250 // Type |
| 1251 @Class typeClass [optional]; |
| 1252 |
| 1253 // The parameterized class of a type parameter: |
| 1254 // |
| 1255 // Provided for instance kinds: |
| 1256 // TypeParameter |
| 1257 @Class parameterizedClass [optional]; |
| 1258 |
| 1259 // The fields of this Instance. |
| 1199 BoundField fields [optional]; | 1260 BoundField fields [optional]; |
| 1261 |
| 1262 // The elements of a List instance. |
| 1263 // |
| 1264 // Provided for instance kinds: |
| 1265 // List |
| 1266 ListElement[] elements [optional]; |
| 1267 |
| 1268 // The function associated with a Closure instance. |
| 1269 // |
| 1270 // Provided for instance kinds: |
| 1271 // Closure |
| 1272 @Function closureFunction [optional]; |
| 1273 |
| 1274 // The context associated with a Closure instance. |
| 1275 // |
| 1276 // Provided for instance kinds: |
| 1277 // Closure |
| 1278 @Function closureContext [optional]; |
| 1279 |
| 1280 // The referent of a MirrorReference instance. |
| 1281 // |
| 1282 // Provided for instance kinds: |
| 1283 // MirrorReference |
| 1284 @Instance mirrorReferent [optional]; |
| 1285 |
| 1286 // The key for a WeakProperty instance. |
| 1287 // |
| 1288 // Provided for instance kinds: |
| 1289 // WeakProperty |
| 1290 @Instance propertyKey [optional]; |
| 1291 |
| 1292 // The key for a WeakProperty instance. |
| 1293 // |
| 1294 // Provided for instance kinds: |
| 1295 // WeakProperty |
| 1296 @Instance propertyValue [optional]; |
| 1297 |
| 1298 // The type arguments for this type. |
| 1299 // |
| 1300 // Provided for instance kinds: |
| 1301 // Type |
| 1302 @TypeArguments typeArguments [optional]; |
| 1303 |
| 1304 // The index of a TypeParameter instance. |
| 1305 // |
| 1306 // Provided for instance kinds: |
| 1307 // TypeParameter |
| 1308 int parameterIndex [optional]; |
| 1309 |
| 1310 // The type bounded by a BoundedType instance |
| 1311 // or |
| 1312 // The referent of a TypeRef instance. |
| 1313 // |
| 1314 // The value will always be one of: |
| 1315 // Type, TypeRef, TypeParameter, BoundedType. |
| 1316 // |
| 1317 // Provided for instance kinds: |
| 1318 // BoundedType |
| 1319 // TypeRef |
| 1320 @Instance type [optional]; |
| 1321 |
| 1322 // The bound of a TypeParameter or BoundedType. |
| 1323 // |
| 1324 // The value will always be one of: |
| 1325 // Type, TypeRef, TypeParameter, BoundedType. |
| 1326 // |
| 1327 // Provided for instance kinds: |
| 1328 // BoundedType |
| 1329 // TypeParameter |
| 1330 @Instance bound [optional]; |
| 1200 } | 1331 } |
| 1201 ``` | 1332 ``` |
| 1202 | 1333 |
| 1203 An _Instance_ represents an instance of the Dart language class _Object_. | 1334 An _Instance_ represents an instance of the Dart language class _Object_. |
| 1204 | 1335 |
| 1205 ### Int | 1336 ### InstanceKind |
| 1206 | 1337 |
| 1207 ``` | 1338 ``` |
| 1208 class @Int extends @Instance { | 1339 enum { |
| 1209 // The value of this int as a string. | 1340 // A general instance of the Dart class Object. |
| 1210 // | 1341 PlainInstance, |
| 1211 // Suitable for passing to int.parse(). | 1342 |
| 1212 string valueAsString; | 1343 // null instance. |
| 1344 Null, |
| 1345 |
| 1346 // true or false. |
| 1347 Bool, |
| 1348 |
| 1349 // An instance of the Dart class double. |
| 1350 Double, |
| 1351 |
| 1352 // An instance of the Dart class int. |
| 1353 Int, |
| 1354 |
| 1355 // An instance of the Dart class String. |
| 1356 String, |
| 1357 |
| 1358 // An instance of the built-in VM List implementation. User-defined |
| 1359 // Lists will be PlainInstance. |
| 1360 List, |
| 1361 |
| 1362 // An instance of the built-in VM Map implementation. User-defined |
| 1363 // Lists will be PlainInstance. |
| 1364 Map, |
| 1365 |
| 1366 // An instance of the built-in VM Closure implementation. User-defined |
| 1367 // Closures will be PlainInstance. |
| 1368 Closure, |
| 1369 |
| 1370 // An instance of the Dart class MirrorReference. |
| 1371 MirrorReference, |
| 1372 |
| 1373 // An instance of the Dart class WeakProperty. |
| 1374 WeakProperty, |
| 1375 |
| 1376 // An instance of the Dart class Type |
| 1377 Type, |
| 1378 |
| 1379 // An instance of the Dart class TypeParamer |
| 1380 TypeParameter, |
| 1381 |
| 1382 // An instance of the Dart class TypeRef |
| 1383 TypeRef, |
| 1384 |
| 1385 // An instance of the Dart class BoundedType |
| 1386 BoundedType, |
| 1213 } | 1387 } |
| 1214 ``` | 1388 ``` |
| 1215 | 1389 |
| 1216 _@Int_ is a reference to an _Int_. | 1390 Adding new values to _InstanceKind_ is considered a backwards |
| 1217 | 1391 compatible change. Clients should treat unrecognized instance kinds |
| 1218 ``` | 1392 as _PlainInstance_. |
| 1219 class Int extends Instance { | |
| 1220 // The value of this int as a string. | |
| 1221 // | |
| 1222 // Suitable for passing to int.parse(). | |
| 1223 string valueAsString; | |
| 1224 } | |
| 1225 ``` | |
| 1226 | |
| 1227 An _Int_ represents an instance of the Dart language class _int_. | |
| 1228 | 1393 |
| 1229 ### Isolate | 1394 ### Isolate |
| 1230 | 1395 |
| 1231 ``` | 1396 ``` |
| 1232 class @Isolate extends Response { | 1397 class @Isolate extends Response { |
| 1233 // The id which is passed to the getIsolate RPC to load this isolate. | 1398 // The id which is passed to the getIsolate RPC to load this isolate. |
| 1234 string id; | 1399 string id; |
| 1235 | 1400 |
| 1236 // A numeric id for this isolate, represented as a string. Unique. | 1401 // A numeric id for this isolate, represented as a string. Unique. |
| 1237 string number; | 1402 string number; |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1348 // The prefix of an 'as' import, or null. | 1513 // The prefix of an 'as' import, or null. |
| 1349 String prefix; | 1514 String prefix; |
| 1350 | 1515 |
| 1351 // The library being imported or exported. | 1516 // The library being imported or exported. |
| 1352 @Library target; | 1517 @Library target; |
| 1353 } | 1518 } |
| 1354 ``` | 1519 ``` |
| 1355 | 1520 |
| 1356 A _LibraryDependency_ provides information about an import or export. | 1521 A _LibraryDependency_ provides information about an import or export. |
| 1357 | 1522 |
| 1358 ### List | |
| 1359 | |
| 1360 ``` | |
| 1361 class @List extends @Instance { | |
| 1362 // The length of this list. | |
| 1363 int length; | |
| 1364 } | |
| 1365 ``` | |
| 1366 | |
| 1367 _@List_ is a reference to a _List_. | |
| 1368 | |
| 1369 ``` | |
| 1370 class List extends Instance { | |
| 1371 // The length of this list. | |
| 1372 int length; | |
| 1373 | |
| 1374 // The elements of this list. | |
| 1375 ListElement[] elements; | |
| 1376 } | |
| 1377 ``` | |
| 1378 | |
| 1379 A _List_ represents an built-in instance of the Dart class _List_. | |
| 1380 User-defined lists will be represented as _Instance_. | |
| 1381 | |
| 1382 ### ListElement | 1523 ### ListElement |
| 1383 | 1524 |
| 1384 ``` | 1525 ``` |
| 1385 class ListElement { | 1526 class ListElement { |
| 1386 int index; | 1527 int index; |
| 1387 @Instance|Sentinel value; | 1528 @Instance|Sentinel value; |
| 1388 } | 1529 } |
| 1389 ``` | 1530 ``` |
| 1390 | 1531 |
| 1391 ### Message | 1532 ### Message |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1561 ``` | 1702 ``` |
| 1562 enum StepOption { | 1703 enum StepOption { |
| 1563 Into, | 1704 Into, |
| 1564 Over, | 1705 Over, |
| 1565 Out | 1706 Out |
| 1566 } | 1707 } |
| 1567 ``` | 1708 ``` |
| 1568 | 1709 |
| 1569 A _StepOption_ indicates which form of stepping is requested in a [resume](#resu
me) RPC. | 1710 A _StepOption_ indicates which form of stepping is requested in a [resume](#resu
me) RPC. |
| 1570 | 1711 |
| 1571 ### String | |
| 1572 | |
| 1573 ``` | |
| 1574 class @String extends @Instance { | |
| 1575 // The value of this double as a string. | |
| 1576 // | |
| 1577 // Note that this may be truncated. | |
| 1578 // | |
| 1579 // Suitable for passing to double.parse(). | |
| 1580 string valueAsString; | |
| 1581 | |
| 1582 // The valueAsString for String references may be truncated. If so, | |
| 1583 // this property is added with the value 'true'. | |
| 1584 bool valueAsStringIsTruncated [optional]; | |
| 1585 } | |
| 1586 ``` | |
| 1587 | |
| 1588 _@String_ is a reference to a _String_. | |
| 1589 | |
| 1590 ``` | |
| 1591 class String extends Instance { | |
| 1592 // The value of this double as a string. | |
| 1593 // | |
| 1594 // Note that this will never be truncated. | |
| 1595 // | |
| 1596 // Suitable for passing to double.parse(). | |
| 1597 string valueAsString; | |
| 1598 } | |
| 1599 ``` | |
| 1600 | |
| 1601 An _String_ represents an instance of the Dart language class _String_. | |
| 1602 | |
| 1603 The _valueAsString_ property for an _@String_ may be truncated. To get | |
| 1604 the untruncated _valueAsString_, call the [getObject](#getobject) RPC | |
| 1605 on the String's _id_. A _String_ object never truncates the | |
| 1606 _valueAsString_. | |
| 1607 | |
| 1608 ### Success | 1712 ### Success |
| 1609 | 1713 |
| 1610 ``` | 1714 ``` |
| 1611 class Success extends Response { | 1715 class Success extends Response { |
| 1612 } | 1716 } |
| 1613 ``` | 1717 ``` |
| 1614 | 1718 |
| 1615 The _Success_ type is used to indicate that an operation completed successfully. | 1719 The _Success_ type is used to indicate that an operation completed successfully. |
| 1616 | 1720 |
| 1617 ### Type | |
| 1618 | |
| 1619 ``` | |
| 1620 class @Type extends @Instance { | |
| 1621 // The name of this type. | |
| 1622 string name; | |
| 1623 | |
| 1624 // The corresponding Class if this Type is canonical. | |
| 1625 @Class typeClass [optional]; | |
| 1626 } | |
| 1627 ``` | |
| 1628 | |
| 1629 _@Type_ is a reference to a _Type_. | |
| 1630 | |
| 1631 ``` | |
| 1632 class Type extends Instance { | |
| 1633 // The name of this type. | |
| 1634 string name; | |
| 1635 | |
| 1636 // The corresponding Class if this Type is canonical. | |
| 1637 @Class typeClass [optional]; | |
| 1638 | |
| 1639 // The type arguments for this type. | |
| 1640 @TypeArguments typeArgs [optional]; | |
| 1641 } | |
| 1642 ``` | |
| 1643 | |
| 1644 An _Type_ represents an instance of the Dart language class _Type_. | |
| 1645 | |
| 1646 ### TypeArguments | 1721 ### TypeArguments |
| 1647 | 1722 |
| 1648 ``` | 1723 ``` |
| 1649 class @TypeArguments extends @Object { | 1724 class @TypeArguments extends @Object { |
| 1650 // A name for this type argument list. | 1725 // A name for this type argument list. |
| 1651 string name; | 1726 string name; |
| 1652 } | 1727 } |
| 1653 ``` | 1728 ``` |
| 1654 | 1729 |
| 1655 _@TypeArguments_ is a reference to a _TypeArguments_ object. | 1730 _@TypeArguments_ is a reference to a _TypeArguments_ object. |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1725 // A list of isolates running in the VM. | 1800 // A list of isolates running in the VM. |
| 1726 @Isolate[] isolates | 1801 @Isolate[] isolates |
| 1727 } | 1802 } |
| 1728 ``` | 1803 ``` |
| 1729 | 1804 |
| 1730 ## Revision History | 1805 ## Revision History |
| 1731 | 1806 |
| 1732 version | comments | 1807 version | comments |
| 1733 ------- | -------- | 1808 ------- | -------- |
| 1734 0.0 | draft | 1809 0.0 | draft |
| OLD | NEW |