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

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

Issue 2866593003: Add an optional bound to type parameter references (Closed)
Patch Set: Don't leak the bound if it ever becomes non-null Created 3 years, 7 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 | « no previous file | 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 931 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 ```
OLDNEW
« no previous file with comments | « no previous file | pkg/kernel/lib/ast.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698