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

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

Issue 2780513004: [Kernel] Remove code from the old type propagation. (Closed)
Patch Set: Remove empty status file section Created 3 years, 8 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 | « pkg/kernel/bin/transform.dart ('k') | 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 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 Byte tag = 4; 206 Byte tag = 4;
207 CanonicalNameReference canonicalName; 207 CanonicalNameReference canonicalName;
208 FileOffset fileOffset; 208 FileOffset fileOffset;
209 FileOffset fileEndOffset; 209 FileOffset fileEndOffset;
210 Byte flags (isFinal, isConst, isStatic); 210 Byte flags (isFinal, isConst, isStatic);
211 Name name; 211 Name name;
212 // An absolute path URI to the .dart file from which the field was created. 212 // An absolute path URI to the .dart file from which the field was created.
213 UriReference fileUri; 213 UriReference fileUri;
214 List<Expression> annotations; 214 List<Expression> annotations;
215 DartType type; 215 DartType type;
216 Option<InferredValue> inferredValue;
217 Option<Expression> initializer; 216 Option<Expression> initializer;
218 } 217 }
219 218
220 type Constructor extends Member { 219 type Constructor extends Member {
221 Byte tag = 5; 220 Byte tag = 5;
222 CanonicalNameReference canonicalName; 221 CanonicalNameReference canonicalName;
223 FileOffset fileOffset; 222 FileOffset fileOffset;
224 FileOffset fileEndOffset; 223 FileOffset fileEndOffset;
225 Byte flags (isConst, isExternal); 224 Byte flags (isConst, isExternal);
226 Name name; 225 Name name;
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 // Note: there is no tag on FunctionNode. 296 // Note: there is no tag on FunctionNode.
298 FileOffset fileOffset; 297 FileOffset fileOffset;
299 FileOffset fileEndOffset; 298 FileOffset fileEndOffset;
300 Byte asyncMarker; // Index into AsyncMarker above. 299 Byte asyncMarker; // Index into AsyncMarker above.
301 Byte dartAsyncMarker; // Index into AsyncMarker above. 300 Byte dartAsyncMarker; // Index into AsyncMarker above.
302 List<TypeParameter> typeParameters; 301 List<TypeParameter> typeParameters;
303 UInt requiredParameterCount; 302 UInt requiredParameterCount;
304 List<VariableDeclaration> positionalParameters; 303 List<VariableDeclaration> positionalParameters;
305 List<VariableDeclaration> namedParameters; 304 List<VariableDeclaration> namedParameters;
306 DartType returnType; 305 DartType returnType;
307 Option<InferredValue> inferredReturnValue;
308 Option<Statement> body; 306 Option<Statement> body;
309 } 307 }
310 308
311 type VariableReference { 309 type VariableReference {
312 // Reference to the Nth variable in scope, with 0 being the 310 // Reference to the Nth variable in scope, with 0 being the
313 // first variable declared in the outermost scope, and larger 311 // first variable declared in the outermost scope, and larger
314 // numbers being the variables declared later in a given scope, 312 // numbers being the variables declared later in a given scope,
315 // or in a more deeply nested scope. 313 // or in a more deeply nested scope.
316 // 314 //
317 // Function parameters are indexed from left to right and make 315 // Function parameters are indexed from left to right and make
(...skipping 524 matching lines...) Expand 10 before | Expand all | Expand 10 after
842 // The offset for the equal sign in the declaration (if it contains one). 840 // The offset for the equal sign in the declaration (if it contains one).
843 // If it does not contain one this should be -1. 841 // If it does not contain one this should be -1.
844 FileOffset fileEqualsOffset; 842 FileOffset fileEqualsOffset;
845 843
846 Byte flags (isFinal, isConst); 844 Byte flags (isFinal, isConst);
847 // For named parameters, this is the parameter name. 845 // For named parameters, this is the parameter name.
848 // For other variables, the name is cosmetic, may be empty, 846 // For other variables, the name is cosmetic, may be empty,
849 // and is not necessarily unique. 847 // and is not necessarily unique.
850 StringReference name; 848 StringReference name;
851 DartType type; 849 DartType type;
852 Option<InferredValue> inferredValue;
853 850
854 // For statements and for-loops, this is the initial value. 851 // For statements and for-loops, this is the initial value.
855 // For optional parameters, this is the default value (if given). 852 // For optional parameters, this is the default value (if given).
856 // In all other contexts, it must be Nothing. 853 // In all other contexts, it must be Nothing.
857 Option<Expression> initializer; 854 Option<Expression> initializer;
858 } 855 }
859 856
860 type FunctionDeclaration extends Statement { 857 type FunctionDeclaration extends Statement {
861 Byte tag = 79; 858 Byte tag = 79;
862 FileOffset fileOffset; 859 FileOffset fileOffset;
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
942 type VectorType extends DartType { 939 type VectorType extends DartType {
943 Byte tag = 88; 940 Byte tag = 88;
944 } 941 }
945 942
946 type TypeParameter { 943 type TypeParameter {
947 // Note: there is no tag on TypeParameter 944 // Note: there is no tag on TypeParameter
948 StringReference name; // Cosmetic, may be empty, not unique. 945 StringReference name; // Cosmetic, may be empty, not unique.
949 DartType bound; // 'dynamic' if no explicit bound was given. 946 DartType bound; // 'dynamic' if no explicit bound was given.
950 } 947 }
951 948
952 /* enum BaseClassKind { None, Exact, Subclass, Subtype, } */
953
954 type InferredValue {
955 ClassReference baseClass; // May be NullReference if kind = None.
956 Byte kind; // Index into BaseClassKind.
957 Byte valueBits; // See lib/type_propagation/type_propagation.dart
958 }
959
960 ``` 949 ```
OLDNEW
« no previous file with comments | « pkg/kernel/bin/transform.dart ('k') | pkg/kernel/lib/ast.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698