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 833 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
844 Byte tag = 80; // Note: tag is out of order. | 844 Byte tag = 80; // Note: tag is out of order. |
845 FileOffset fileOffset; | 845 FileOffset fileOffset; |
846 FileOffset bodyOffset; | 846 FileOffset bodyOffset; |
847 VariableDeclaration variable; | 847 VariableDeclaration variable; |
848 Expression iterable; | 848 Expression iterable; |
849 Statement body; | 849 Statement body; |
850 } | 850 } |
851 | 851 |
852 type SwitchStatement extends Statement { | 852 type SwitchStatement extends Statement { |
853 Byte tag = 71; | 853 Byte tag = 71; |
| 854 FileOffset fileOffset; |
854 Expression expression; | 855 Expression expression; |
855 List<SwitchCase> cases; | 856 List<SwitchCase> cases; |
856 } | 857 } |
857 | 858 |
858 type SwitchCase { | 859 type SwitchCase { |
859 // Note: there is no tag on SwitchCase | 860 // Note: there is no tag on SwitchCase |
860 List<Pair<FileOffset, Expression>> expressions; | 861 List<Pair<FileOffset, Expression>> expressions; |
861 Byte isDefault; // 1 if default, 0 is not default. | 862 Byte isDefault; // 1 if default, 0 is not default. |
862 Statement body; | 863 Statement body; |
863 } | 864 } |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1037 Option<DartType> bound; | 1038 Option<DartType> bound; |
1038 } | 1039 } |
1039 | 1040 |
1040 type TypeParameter { | 1041 type TypeParameter { |
1041 // Note: there is no tag on TypeParameter | 1042 // Note: there is no tag on TypeParameter |
1042 StringReference name; // Cosmetic, may be empty, not unique. | 1043 StringReference name; // Cosmetic, may be empty, not unique. |
1043 DartType bound; // 'dynamic' if no explicit bound was given. | 1044 DartType bound; // 'dynamic' if no explicit bound was given. |
1044 } | 1045 } |
1045 | 1046 |
1046 ``` | 1047 ``` |
OLD | NEW |