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 993 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1004 // from the definition of scoping, since type parameter N+1 is not "in scope" | 1004 // from the definition of scoping, since type parameter N+1 is not "in scope" |
1005 // in the bound of type parameter N, but it takes up an index as if it was in | 1005 // in the bound of type parameter N, but it takes up an index as if it was in |
1006 // scope there. | 1006 // scope there. |
1007 // | 1007 // |
1008 // The type parameter can be bound by a Class, FunctionNode, or FunctionType. | 1008 // The type parameter can be bound by a Class, FunctionNode, or FunctionType. |
1009 // | 1009 // |
1010 // Note that constructors currently do not declare type parameters. Uses of | 1010 // Note that constructors currently do not declare type parameters. Uses of |
1011 // the class type parameters in a constructor refer to those declared on the | 1011 // the class type parameters in a constructor refer to those declared on the |
1012 // class. | 1012 // class. |
1013 UInt index; | 1013 UInt index; |
1014 | |
1015 // Byte offset in the binary for the first type declaration of the | |
1016 // Class or FunctionNode. | |
1017 UInt typeParameterPosition; | |
1018 // The entry number in the list (starting at 0). | |
1019 UInt typeParameterIndex; | |
1020 Option<DartType> bound; | 1014 Option<DartType> bound; |
1021 } | 1015 } |
1022 | 1016 |
1023 type TypeParameter { | 1017 type TypeParameter { |
1024 // Note: there is no tag on TypeParameter | 1018 // Note: there is no tag on TypeParameter |
1025 StringReference name; // Cosmetic, may be empty, not unique. | 1019 StringReference name; // Cosmetic, may be empty, not unique. |
1026 DartType bound; // 'dynamic' if no explicit bound was given. | 1020 DartType bound; // 'dynamic' if no explicit bound was given. |
1027 } | 1021 } |
1028 | 1022 |
1029 ``` | 1023 ``` |
OLD | NEW |