Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(53)

Side by Side Diff: pkg/kernel/binary.md

Issue 2971903006: Add fileEndOffset to Class. (Closed)
Patch Set: Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | pkg/kernel/lib/ast.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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 ```
OLDNEW
« no previous file with comments | « no previous file | pkg/kernel/lib/ast.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698