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

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

Issue 2750013002: [kernel] Debugging of switch statement (Closed)
Patch Set: Addressed comments Created 3 years, 9 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 | « pkg/front_end/lib/src/fasta/kernel/body_builder.dart ('k') | 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 727 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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 ```
OLDNEW
« no previous file with comments | « pkg/front_end/lib/src/fasta/kernel/body_builder.dart ('k') | pkg/kernel/lib/ast.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698