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 931 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
942 // from the definition of scoping, since type parameter N+1 is not "in scope" | 942 // from the definition of scoping, since type parameter N+1 is not "in scope" |
943 // in the bound of type parameter N, but it takes up an index as if it was in | 943 // in the bound of type parameter N, but it takes up an index as if it was in |
944 // scope there. | 944 // scope there. |
945 // | 945 // |
946 // The type parameter can be bound by a Class, FunctionNode, or FunctionType. | 946 // The type parameter can be bound by a Class, FunctionNode, or FunctionType. |
947 // | 947 // |
948 // Note that constructors currently do not declare type parameters. Uses of | 948 // Note that constructors currently do not declare type parameters. Uses of |
949 // the class type parameters in a constructor refer to those declared on the | 949 // the class type parameters in a constructor refer to those declared on the |
950 // class. | 950 // class. |
951 UInt index; | 951 UInt index; |
| 952 |
| 953 Option<DartType> bound; |
952 } | 954 } |
953 | 955 |
954 type VectorType extends DartType { | 956 type VectorType extends DartType { |
955 Byte tag = 88; | 957 Byte tag = 88; |
956 } | 958 } |
957 | 959 |
958 type TypeParameter { | 960 type TypeParameter { |
959 // Note: there is no tag on TypeParameter | 961 // Note: there is no tag on TypeParameter |
960 StringReference name; // Cosmetic, may be empty, not unique. | 962 StringReference name; // Cosmetic, may be empty, not unique. |
961 DartType bound; // 'dynamic' if no explicit bound was given. | 963 DartType bound; // 'dynamic' if no explicit bound was given. |
962 } | 964 } |
963 | 965 |
964 ``` | 966 ``` |
OLD | NEW |