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]; | |
Cutch
2015/05/29 19:34:14
I wonder if we could nest these, e.g:
"WeakProper
| |
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 referent of a TypeRef instance. | |
1305 // | |
1306 // The value will always be one of: | |
1307 // Type, TypeRef, TypeParameter, BoundedType. | |
1308 // | |
1309 // Provided for instance kinds: | |
1310 // TypeRef | |
1311 @Instance typeRef [optional]; | |
1312 | |
1313 // The index of a TypeParameter instance. | |
1314 // | |
1315 // Provided for instance kinds: | |
1316 // TypeParameter | |
1317 int parameterIndex [optional]; | |
1318 | |
1319 // The type bounded by a BoundedType instance. | |
1320 // | |
1321 // The value will always be one of: | |
1322 // Type, TypeRef, TypeParameter, BoundedType. | |
1323 // | |
1324 // Provided for instance kinds: | |
1325 // BoundedType | |
1326 @Instance boundedType [optional]; | |
1327 | |
1328 // The upper bound of a TypeParameter or BoundedType. | |
1329 // | |
1330 // The value will always be one of: | |
1331 // Type, TypeRef, TypeParameter, BoundedType. | |
1332 // | |
1333 // Provided for instance kinds: | |
1334 // BoundedType | |
1335 // TypeParameter | |
1336 @Instance upperBound [optional]; | |
1200 } | 1337 } |
1201 ``` | 1338 ``` |
1202 | 1339 |
1203 An _Instance_ represents an instance of the Dart language class _Object_. | 1340 An _Instance_ represents an instance of the Dart language class _Object_. |
1204 | 1341 |
1205 ### Int | 1342 ### InstanceKind |
1206 | 1343 |
1207 ``` | 1344 ``` |
1208 class @Int extends @Instance { | 1345 enum { |
1209 // The value of this int as a string. | 1346 // A general instance of the Dart class Object. |
1210 // | 1347 PlainInstance, |
1211 // Suitable for passing to int.parse(). | 1348 |
1212 string valueAsString; | 1349 // null instance. |
1350 Null, | |
1351 | |
1352 // true or false. | |
1353 Bool, | |
1354 | |
1355 // An instance of the Dart class double. | |
1356 Double, | |
1357 | |
1358 // An instance of the Dart class int. | |
1359 Int, | |
1360 | |
1361 // An instance of the Dart class String. | |
1362 String, | |
1363 | |
1364 // An instance of the built-in VM List implementation. User-defined | |
1365 // Lists will be PlainInstance. | |
1366 List, | |
1367 | |
1368 // An instance of the built-in VM Map implementation. User-defined | |
1369 // Lists will be PlainInstance. | |
1370 Map, | |
1371 | |
1372 // An instance of the built-in VM Closure implementation. User-defined | |
1373 // Closures will be PlainInstance. | |
1374 Closure, | |
1375 | |
1376 // An instance of the Dart class MirrorReference. | |
1377 MirrorReference, | |
1378 | |
1379 // An instance of the Dart class WeakProperty. | |
1380 WeakProperty, | |
1381 | |
1382 // An instance of the Dart class Type | |
1383 Type, | |
1384 | |
1385 // An instance of the Dart class TypeRef | |
1386 TypeRef, | |
1387 | |
1388 // An instance of the Dart class TypeParamer | |
1389 TypeParameter, | |
1390 | |
1391 // An instance of the Dart class BoundedType | |
1392 BoundedType, | |
1213 } | 1393 } |
1214 ``` | 1394 ``` |
1215 | 1395 |
1216 _@Int_ is a reference to an _Int_. | 1396 Adding new values to _InstanceKind_ is considered a backwards |
1217 | 1397 compatible change. Clients should treat unrecognized instance kinds |
1218 ``` | 1398 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 | 1399 |
1229 ### Isolate | 1400 ### Isolate |
1230 | 1401 |
1231 ``` | 1402 ``` |
1232 class @Isolate extends Response { | 1403 class @Isolate extends Response { |
1233 // The id which is passed to the getIsolate RPC to load this isolate. | 1404 // The id which is passed to the getIsolate RPC to load this isolate. |
1234 string id; | 1405 string id; |
1235 | 1406 |
1236 // A numeric id for this isolate, represented as a string. Unique. | 1407 // A numeric id for this isolate, represented as a string. Unique. |
1237 string number; | 1408 string number; |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1348 // The prefix of an 'as' import, or null. | 1519 // The prefix of an 'as' import, or null. |
1349 String prefix; | 1520 String prefix; |
1350 | 1521 |
1351 // The library being imported or exported. | 1522 // The library being imported or exported. |
1352 @Library target; | 1523 @Library target; |
1353 } | 1524 } |
1354 ``` | 1525 ``` |
1355 | 1526 |
1356 A _LibraryDependency_ provides information about an import or export. | 1527 A _LibraryDependency_ provides information about an import or export. |
1357 | 1528 |
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 | 1529 ### ListElement |
1383 | 1530 |
1384 ``` | 1531 ``` |
1385 class ListElement { | 1532 class ListElement { |
1386 int index; | 1533 int index; |
1387 @Instance|Sentinel value; | 1534 @Instance|Sentinel value; |
1388 } | 1535 } |
1389 ``` | 1536 ``` |
1390 | 1537 |
1391 ### Message | 1538 ### Message |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1561 ``` | 1708 ``` |
1562 enum StepOption { | 1709 enum StepOption { |
1563 Into, | 1710 Into, |
1564 Over, | 1711 Over, |
1565 Out | 1712 Out |
1566 } | 1713 } |
1567 ``` | 1714 ``` |
1568 | 1715 |
1569 A _StepOption_ indicates which form of stepping is requested in a [resume](#resu me) RPC. | 1716 A _StepOption_ indicates which form of stepping is requested in a [resume](#resu me) RPC. |
1570 | 1717 |
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 | 1718 ### Success |
1609 | 1719 |
1610 ``` | 1720 ``` |
1611 class Success extends Response { | 1721 class Success extends Response { |
1612 } | 1722 } |
1613 ``` | 1723 ``` |
1614 | 1724 |
1615 The _Success_ type is used to indicate that an operation completed successfully. | 1725 The _Success_ type is used to indicate that an operation completed successfully. |
1616 | 1726 |
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 | 1727 ### TypeArguments |
1647 | 1728 |
1648 ``` | 1729 ``` |
1649 class @TypeArguments extends @Object { | 1730 class @TypeArguments extends @Object { |
1650 // A name for this type argument list. | 1731 // A name for this type argument list. |
1651 string name; | 1732 string name; |
1652 } | 1733 } |
1653 ``` | 1734 ``` |
1654 | 1735 |
1655 _@TypeArguments_ is a reference to a _TypeArguments_ object. | 1736 _@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. | 1806 // A list of isolates running in the VM. |
1726 @Isolate[] isolates | 1807 @Isolate[] isolates |
1727 } | 1808 } |
1728 ``` | 1809 ``` |
1729 | 1810 |
1730 ## Revision History | 1811 ## Revision History |
1731 | 1812 |
1732 version | comments | 1813 version | comments |
1733 ------- | -------- | 1814 ------- | -------- |
1734 0.0 | draft | 1815 0.0 | draft |
OLD | NEW |