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 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 // If the enclosing library is external, a class is either at type or | 216 // If the enclosing library is external, a class is either at type or |
217 // hierarchy level, depending on its isTypeLevel flag. | 217 // hierarchy level, depending on its isTypeLevel flag. |
218 // If the enclosing library is not external, a class is always at body level. | 218 // If the enclosing library is not external, a class is always at body level. |
219 // | 219 // |
220 // See ClassLevel in ast.dart for the details of each loading level. | 220 // See ClassLevel in ast.dart for the details of each loading level. |
221 | 221 |
222 abstract type Class extends Node { | 222 abstract type Class extends Node { |
223 Byte tag = 2; | 223 Byte tag = 2; |
224 CanonicalNameReference canonicalName; | 224 CanonicalNameReference canonicalName; |
225 FileOffset fileOffset; | 225 FileOffset fileOffset; |
| 226 FileOffset fileEndOffset; |
226 Byte flags (isAbstract, xx); // Where xx is index into ClassLevel | 227 Byte flags (isAbstract, xx); // Where xx is index into ClassLevel |
227 StringReference name; | 228 StringReference name; |
228 // An absolute path URI to the .dart file from which the class was created. | 229 // An absolute path URI to the .dart file from which the class was created. |
229 UriReference fileUri; | 230 UriReference fileUri; |
230 List<Expression> annotations; | 231 List<Expression> annotations; |
231 List<TypeParameter> typeParameters; | 232 List<TypeParameter> typeParameters; |
232 Option<InterfaceType> superClass; | 233 Option<InterfaceType> superClass; |
233 Option<InterfaceType> mixedInType; | 234 Option<InterfaceType> mixedInType; |
234 List<InterfaceType> implementedClasses; | 235 List<InterfaceType> implementedClasses; |
235 List<Field> fields; | 236 List<Field> fields; |
(...skipping 777 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1013 Option<DartType> bound; | 1014 Option<DartType> bound; |
1014 } | 1015 } |
1015 | 1016 |
1016 type TypeParameter { | 1017 type TypeParameter { |
1017 // Note: there is no tag on TypeParameter | 1018 // Note: there is no tag on TypeParameter |
1018 StringReference name; // Cosmetic, may be empty, not unique. | 1019 StringReference name; // Cosmetic, may be empty, not unique. |
1019 DartType bound; // 'dynamic' if no explicit bound was given. | 1020 DartType bound; // 'dynamic' if no explicit bound was given. |
1020 } | 1021 } |
1021 | 1022 |
1022 ``` | 1023 ``` |
OLD | NEW |