OLD | NEW |
---|---|
1 This file describes the binary format of Dart Kernel. | 1 This file describes the binary format of Dart Kernel. |
2 | 2 |
3 Notation | 3 Notation |
4 -------- | 4 -------- |
5 Bitmasks are described with the syntax: | 5 Bitmasks are described with the syntax: |
6 ```scala | 6 ```scala |
7 Byte flags (flag1, flag2, ..., flagN) | 7 Byte flags (flag1, flag2, ..., flagN) |
8 ``` | 8 ``` |
9 where 'flag<N>' is the N-th least significant bit, | 9 where 'flag<N>' is the N-th least significant bit, |
10 (so flag1 is the least significant bit). | 10 (so flag1 is the least significant bit). |
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
310 */ | 310 */ |
311 | 311 |
312 type FunctionNode { | 312 type FunctionNode { |
313 Byte tag = 3; | 313 Byte tag = 3; |
314 FileOffset fileOffset; | 314 FileOffset fileOffset; |
315 FileOffset fileEndOffset; | 315 FileOffset fileEndOffset; |
316 Byte asyncMarker; // Index into AsyncMarker above. | 316 Byte asyncMarker; // Index into AsyncMarker above. |
317 Byte dartAsyncMarker; // Index into AsyncMarker above. | 317 Byte dartAsyncMarker; // Index into AsyncMarker above. |
318 List<TypeParameter> typeParameters; | 318 List<TypeParameter> typeParameters; |
319 UInt requiredParameterCount; | 319 UInt requiredParameterCount; |
320 UInt totalParameterCount; // positionalParameters.length + namedParameters.len gth. | |
Kevin Millikin (Google)
2017/06/12 12:01:51
For some reason it seems more obvious to have the
jensj
2017/06/13 13:42:14
Done.
| |
320 List<VariableDeclaration> positionalParameters; | 321 List<VariableDeclaration> positionalParameters; |
321 List<VariableDeclaration> namedParameters; | 322 List<VariableDeclaration> namedParameters; |
322 DartType returnType; | 323 DartType returnType; |
323 Option<Statement> body; | 324 Option<Statement> body; |
324 } | 325 } |
325 | 326 |
326 type VariableReference { | 327 type VariableReference { |
327 // Reference to the Nth variable in scope, with 0 being the | 328 // Reference to the Nth variable in scope, with 0 being the |
328 // first variable declared in the outermost scope, and larger | 329 // first variable declared in the outermost scope, and larger |
329 // numbers being the variables declared later in a given scope, | 330 // numbers being the variables declared later in a given scope, |
(...skipping 645 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
975 Byte tag = 88; | 976 Byte tag = 88; |
976 } | 977 } |
977 | 978 |
978 type TypeParameter { | 979 type TypeParameter { |
979 // Note: there is no tag on TypeParameter | 980 // Note: there is no tag on TypeParameter |
980 StringReference name; // Cosmetic, may be empty, not unique. | 981 StringReference name; // Cosmetic, may be empty, not unique. |
981 DartType bound; // 'dynamic' if no explicit bound was given. | 982 DartType bound; // 'dynamic' if no explicit bound was given. |
982 } | 983 } |
983 | 984 |
984 ``` | 985 ``` |
OLD | NEW |