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 663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
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 Loading... | |
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 ``` |
OLD | NEW |