| 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 727 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 738 | 738 |
| 739 type SwitchStatement extends Statement { | 739 type SwitchStatement extends Statement { |
| 740 Byte tag = 71; | 740 Byte tag = 71; |
| 741 Expression expression; | 741 Expression expression; |
| 742 List<SwitchCase> cases; | 742 List<SwitchCase> cases; |
| 743 } | 743 } |
| 744 | 744 |
| 745 type SwitchCase { | 745 type SwitchCase { |
| 746 // Note: there is no tag on SwitchCase | 746 // Note: there is no tag on SwitchCase |
| 747 List<Expression> expressions; | 747 List<Expression> expressions; |
| 748 FileOffset[expressions.length] expressionOffsets; // 1-to-1 with expressions. |
| 748 Byte isDefault; // 1 if default, 0 is not default. | 749 Byte isDefault; // 1 if default, 0 is not default. |
| 749 Statement body; | 750 Statement body; |
| 750 } | 751 } |
| 751 | 752 |
| 752 type ContinueSwitchStatement extends Statement { | 753 type ContinueSwitchStatement extends Statement { |
| 753 Byte tag = 72; | 754 Byte tag = 72; |
| 754 | 755 |
| 755 // Reference to the Nth SwitchCase in scope. | 756 // Reference to the Nth SwitchCase in scope. |
| 756 // | 757 // |
| 757 // A SwitchCase is in scope everywhere within its enclosing switch, | 758 // A SwitchCase is in scope everywhere within its enclosing switch, |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 921 | 922 |
| 922 /* enum BaseClassKind { None, Exact, Subclass, Subtype, } */ | 923 /* enum BaseClassKind { None, Exact, Subclass, Subtype, } */ |
| 923 | 924 |
| 924 type InferredValue { | 925 type InferredValue { |
| 925 ClassReference baseClass; // May be NullReference if kind = None. | 926 ClassReference baseClass; // May be NullReference if kind = None. |
| 926 Byte kind; // Index into BaseClassKind. | 927 Byte kind; // Index into BaseClassKind. |
| 927 Byte valueBits; // See lib/type_propagation/type_propagation.dart | 928 Byte valueBits; // See lib/type_propagation/type_propagation.dart |
| 928 } | 929 } |
| 929 | 930 |
| 930 ``` | 931 ``` |
| OLD | NEW |