| 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 988 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 ``` |
| OLD | NEW |