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 320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
331 | 331 |
332 abstract type Expression extends Node {} | 332 abstract type Expression extends Node {} |
333 | 333 |
334 type InvalidExpression extends Expression { | 334 type InvalidExpression extends Expression { |
335 Byte tag = 19; | 335 Byte tag = 19; |
336 } | 336 } |
337 | 337 |
338 type VariableGet extends Expression { | 338 type VariableGet extends Expression { |
339 Byte tag = 20; | 339 Byte tag = 20; |
340 FileOffset fileOffset; | 340 FileOffset fileOffset; |
341 UInt variableDeclarationPosition; // Notice that this field is temporary. | |
Kevin Millikin (Google)
2017/04/05 08:59:57
I don't think the comment belongs here. But do sa
| |
341 VariableReference variable; | 342 VariableReference variable; |
342 } | 343 } |
343 | 344 |
344 type SpecializedVariableGet extends Expression { | 345 type SpecializedVariableGet extends Expression { |
345 Byte tag = 128 + N; // Where 0 <= N < 8. | 346 Byte tag = 128 + N; // Where 0 <= N < 8. |
346 // Equivalent to a VariableGet with index N. | 347 // Equivalent to a VariableGet with index N. |
347 FileOffset fileOffset; | 348 FileOffset fileOffset; |
349 UInt variableDeclarationPosition; // Notice that this field is temporary. | |
348 } | 350 } |
349 | 351 |
350 type VariableSet extends Expression { | 352 type VariableSet extends Expression { |
351 Byte tag = 21; | 353 Byte tag = 21; |
352 FileOffset fileOffset; | 354 FileOffset fileOffset; |
353 VariableReference variable; | 355 VariableReference variable; |
354 Expression value; | 356 Expression value; |
355 } | 357 } |
356 | 358 |
357 type SpecializedVariableSet extends Expression { | 359 type SpecializedVariableSet extends Expression { |
(...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
940 Byte tag = 88; | 942 Byte tag = 88; |
941 } | 943 } |
942 | 944 |
943 type TypeParameter { | 945 type TypeParameter { |
944 // Note: there is no tag on TypeParameter | 946 // Note: there is no tag on TypeParameter |
945 StringReference name; // Cosmetic, may be empty, not unique. | 947 StringReference name; // Cosmetic, may be empty, not unique. |
946 DartType bound; // 'dynamic' if no explicit bound was given. | 948 DartType bound; // 'dynamic' if no explicit bound was given. |
947 } | 949 } |
948 | 950 |
949 ``` | 951 ``` |
OLD | NEW |