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 646 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
657 Byte tag = 52; | 657 Byte tag = 52; |
658 FunctionNode function; | 658 FunctionNode function; |
659 } | 659 } |
660 | 660 |
661 type Let extends Expression { | 661 type Let extends Expression { |
662 Byte tag = 53; | 662 Byte tag = 53; |
663 VariableDeclaration variable; | 663 VariableDeclaration variable; |
664 Expression body; | 664 Expression body; |
665 } | 665 } |
666 | 666 |
667 type LoadLibrary extends Expression { | |
668 Byte tag = 14; | |
669 LibraryReference library; | |
670 } | |
671 | |
sra1
2017/02/01 01:11:16
Do you need at add DeferredLibary and the check he
asgerf
2017/02/02 12:50:36
Yep. Updated.
| |
667 abstract type Statement extends Node {} | 672 abstract type Statement extends Node {} |
668 | 673 |
669 type InvalidStatement extends Statement { | 674 type InvalidStatement extends Statement { |
670 Byte tag = 60; | 675 Byte tag = 60; |
671 } | 676 } |
672 | 677 |
673 type ExpressionStatement extends Statement { | 678 type ExpressionStatement extends Statement { |
674 Byte tag = 61; | 679 Byte tag = 61; |
675 Expression expression; | 680 Expression expression; |
676 } | 681 } |
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
917 | 922 |
918 /* enum BaseClassKind { None, Exact, Subclass, Subtype, } */ | 923 /* enum BaseClassKind { None, Exact, Subclass, Subtype, } */ |
919 | 924 |
920 type InferredValue { | 925 type InferredValue { |
921 ClassReference baseClass; // May be NullReference if kind = None. | 926 ClassReference baseClass; // May be NullReference if kind = None. |
922 Byte kind; // Index into BaseClassKind. | 927 Byte kind; // Index into BaseClassKind. |
923 Byte valueBits; // See lib/type_propagation/type_propagation.dart | 928 Byte valueBits; // See lib/type_propagation/type_propagation.dart |
924 } | 929 } |
925 | 930 |
926 ``` | 931 ``` |
OLD | NEW |