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

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

Issue 2973633002: [kernel] Change how TypeParameterType is calculated. (Closed)
Patch Set: Rebased Created 3 years, 4 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
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 988 matching lines...) Expand 10 before | Expand all | Expand 10 after
999 // from the definition of scoping, since type parameter N+1 is not "in scope" 999 // from the definition of scoping, since type parameter N+1 is not "in scope"
1000 // in the bound of type parameter N, but it takes up an index as if it was in 1000 // in the bound of type parameter N, but it takes up an index as if it was in
1001 // scope there. 1001 // scope there.
1002 // 1002 //
1003 // The type parameter can be bound by a Class, FunctionNode, or FunctionType. 1003 // The type parameter can be bound by a Class, FunctionNode, or FunctionType.
1004 // 1004 //
1005 // Note that constructors currently do not declare type parameters. Uses of 1005 // Note that constructors currently do not declare type parameters. Uses of
1006 // the class type parameters in a constructor refer to those declared on the 1006 // the class type parameters in a constructor refer to those declared on the
1007 // class. 1007 // class.
1008 UInt index; 1008 UInt index;
1009
1010 // Byte offset in the binary for the first type declaration of the
1011 // Class or FunctionNode.
1012 UInt typeParameterPosition;
1013 // The entry number in the list (starting at 0).
1014 UInt typeParameterIndex;
1015 Option<DartType> bound; 1009 Option<DartType> bound;
1016 } 1010 }
1017 1011
1018 type TypeParameter { 1012 type TypeParameter {
1019 // Note: there is no tag on TypeParameter 1013 // Note: there is no tag on TypeParameter
1020 StringReference name; // Cosmetic, may be empty, not unique. 1014 StringReference name; // Cosmetic, may be empty, not unique.
1021 DartType bound; // 'dynamic' if no explicit bound was given. 1015 DartType bound; // 'dynamic' if no explicit bound was given.
1022 } 1016 }
1023 1017
1024 ``` 1018 ```
OLDNEW
« no previous file with comments | « no previous file | pkg/kernel/lib/binary/ast_from_binary.dart » ('j') | runtime/vm/kernel_binary_flowgraph.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698