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

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

Issue 2778223002: Add primitive to create closures and use it for closure conversion (Closed)
Patch Set: Fix bug: put parameters with no initalizers into contexts correctly Created 3 years, 8 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') | pkg/kernel/lib/ast.dart » ('J')
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 663 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 Expression vectorExpression; 674 Expression vectorExpression;
675 UInt index; 675 UInt index;
676 Expression value; 676 Expression value;
677 } 677 }
678 678
679 type VectorCopy extends Expression { 679 type VectorCopy extends Expression {
680 Byte tag = 105; 680 Byte tag = 105;
681 Expression vectorExpression; 681 Expression vectorExpression;
682 } 682 }
683 683
684 type ClosureCreation extends Expression {
685 Byte tag = 106;
686 String topLevelFunctionName;
asgerf 2017/03/31 11:03:41 This should be a MemberReference
Dmitry Stefantsov 2017/03/31 11:54:13 Thanks! Done.
687 Expression contextVector;
688 FunctionType functionType;
689 }
690
684 abstract type Statement extends Node {} 691 abstract type Statement extends Node {}
685 692
686 type InvalidStatement extends Statement { 693 type InvalidStatement extends Statement {
687 Byte tag = 60; 694 Byte tag = 60;
688 } 695 }
689 696
690 type ExpressionStatement extends Statement { 697 type ExpressionStatement extends Statement {
691 Byte tag = 61; 698 Byte tag = 61;
692 Expression expression; 699 Expression expression;
693 } 700 }
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after
940 Byte tag = 88; 947 Byte tag = 88;
941 } 948 }
942 949
943 type TypeParameter { 950 type TypeParameter {
944 // Note: there is no tag on TypeParameter 951 // Note: there is no tag on TypeParameter
945 StringReference name; // Cosmetic, may be empty, not unique. 952 StringReference name; // Cosmetic, may be empty, not unique.
946 DartType bound; // 'dynamic' if no explicit bound was given. 953 DartType bound; // 'dynamic' if no explicit bound was given.
947 } 954 }
948 955
949 ``` 956 ```
OLDNEW
« no previous file with comments | « no previous file | pkg/kernel/lib/ast.dart » ('j') | pkg/kernel/lib/ast.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698