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

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

Issue 2680303002: Kernel debugging; service tests (Closed)
Patch Set: Correct file offset when calling on field (mind the rebase) Created 3 years, 10 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/analyzer/ast_from_analyzer.dart » ('j') | runtime/vm/object.cc » ('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 430 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 } 441 }
442 442
443 type StaticGet extends Expression { 443 type StaticGet extends Expression {
444 Byte tag = 26; 444 Byte tag = 26;
445 FileOffset fileOffset; 445 FileOffset fileOffset;
446 MemberReference target; 446 MemberReference target;
447 } 447 }
448 448
449 type StaticSet extends Expression { 449 type StaticSet extends Expression {
450 Byte tag = 27; 450 Byte tag = 27;
451 FileOffset fileOffset;
451 MemberReference target; 452 MemberReference target;
452 Expression value; 453 Expression value;
453 } 454 }
454 455
455 type Arguments { 456 type Arguments {
456 // Note: there is no tag on Arguments. 457 // Note: there is no tag on Arguments.
457 List<DartType> types; 458 List<DartType> types;
458 List<Expression> positional; 459 List<Expression> positional;
459 List<NamedExpression> named; 460 List<NamedExpression> named;
460 } 461 }
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 552
552 type IsExpression extends Expression { 553 type IsExpression extends Expression {
553 Byte tag = 37; 554 Byte tag = 37;
554 FileOffset fileOffset; 555 FileOffset fileOffset;
555 Expression operand; 556 Expression operand;
556 DartType type; 557 DartType type;
557 } 558 }
558 559
559 type AsExpression extends Expression { 560 type AsExpression extends Expression {
560 Byte tag = 38; 561 Byte tag = 38;
562 FileOffset fileOffset;
561 Expression operand; 563 Expression operand;
562 DartType type; 564 DartType type;
563 } 565 }
564 566
565 type StringLiteral extends Expression { 567 type StringLiteral extends Expression {
566 Byte tag = 39; 568 Byte tag = 39;
567 StringReference value; 569 StringReference value;
568 } 570 }
569 571
570 type SpecializedIntLiteral extends Expression { 572 type SpecializedIntLiteral extends Expression {
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 Byte tag = 45; 615 Byte tag = 45;
614 DartType type; 616 DartType type;
615 } 617 }
616 618
617 type ThisExpression extends Expression { 619 type ThisExpression extends Expression {
618 Byte tag = 46; 620 Byte tag = 46;
619 } 621 }
620 622
621 type Rethrow extends Expression { 623 type Rethrow extends Expression {
622 Byte tag = 47; 624 Byte tag = 47;
625 FileOffset fileOffset;
623 } 626 }
624 627
625 type Throw extends Expression { 628 type Throw extends Expression {
626 Byte tag = 48; 629 Byte tag = 48;
627 FileOffset fileOffset; 630 FileOffset fileOffset;
628 Expression value; 631 Expression value;
629 } 632 }
630 633
631 type ListLiteral extends Expression { 634 type ListLiteral extends Expression {
632 Byte tag = 49; 635 Byte tag = 49;
636 FileOffset fileOffset;
633 DartType typeArgument; 637 DartType typeArgument;
634 List<Expression> values; 638 List<Expression> values;
635 } 639 }
636 640
637 type ConstListLiteral extends Expression { 641 type ConstListLiteral extends Expression {
638 Byte tag = 58; // Note: tag is out of order. 642 Byte tag = 58; // Note: tag is out of order.
643 FileOffset fileOffset;
639 DartType typeArgument; 644 DartType typeArgument;
640 List<Expression> values; 645 List<Expression> values;
641 } 646 }
642 647
643 type MapLiteral extends Expression { 648 type MapLiteral extends Expression {
644 Byte tag = 50; 649 Byte tag = 50;
645 FileOffset fileOffset; 650 FileOffset fileOffset;
646 DartType keyType; 651 DartType keyType;
647 DartType valueType; 652 DartType valueType;
648 List<MapEntry> entries; 653 List<MapEntry> entries;
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
713 Option<Expression> message; 718 Option<Expression> message;
714 } 719 }
715 720
716 type LabeledStatement extends Statement { 721 type LabeledStatement extends Statement {
717 Byte tag = 65; 722 Byte tag = 65;
718 Statement body; 723 Statement body;
719 } 724 }
720 725
721 type BreakStatement extends Statement { 726 type BreakStatement extends Statement {
722 Byte tag = 66; 727 Byte tag = 66;
728 FileOffset fileOffset;
723 729
724 // Reference to the Nth LabeledStatement in scope, with 0 being the 730 // Reference to the Nth LabeledStatement in scope, with 0 being the
725 // outermost enclosing labeled statement within the same FunctionNode. 731 // outermost enclosing labeled statement within the same FunctionNode.
726 // 732 //
727 // Labels are not in scope across function boundaries. 733 // Labels are not in scope across function boundaries.
728 UInt labelIndex; 734 UInt labelIndex;
729 } 735 }
730 736
731 type WhileStatement extends Statement { 737 type WhileStatement extends Statement {
732 Byte tag = 67; 738 Byte tag = 67;
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
828 Byte flags (isYieldStar); 834 Byte flags (isYieldStar);
829 Expression expression; 835 Expression expression;
830 } 836 }
831 837
832 type VariableDeclarationStatement extends Statement { 838 type VariableDeclarationStatement extends Statement {
833 Byte tag = 78; 839 Byte tag = 78;
834 VariableDeclaration variable; 840 VariableDeclaration variable;
835 } 841 }
836 842
837 type VariableDeclaration { 843 type VariableDeclaration {
844 // The offset for the variable declaration, i.e. the offset of the start of
845 // the declaration.
838 FileOffset fileOffset; 846 FileOffset fileOffset;
847
848 // The offset for the equal sign in the declaration (if it contains one).
849 // If it does not contain one this should be -1.
850 FileOffset fileEqualsOffset;
851
839 Byte flags (isFinal, isConst); 852 Byte flags (isFinal, isConst);
840 // For named parameters, this is the parameter name. 853 // For named parameters, this is the parameter name.
841 // For other variables, the name is cosmetic, may be empty, 854 // For other variables, the name is cosmetic, may be empty,
842 // and is not necessarily unique. 855 // and is not necessarily unique.
843 StringReference name; 856 StringReference name;
844 DartType type; 857 DartType type;
845 Option<InferredValue> inferredValue; 858 Option<InferredValue> inferredValue;
846 859
847 // For statements and for-loops, this is the initial value. 860 // For statements and for-loops, this is the initial value.
848 // For optional parameters, this is the default value (if given). 861 // For optional parameters, this is the default value (if given).
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
940 953
941 /* enum BaseClassKind { None, Exact, Subclass, Subtype, } */ 954 /* enum BaseClassKind { None, Exact, Subclass, Subtype, } */
942 955
943 type InferredValue { 956 type InferredValue {
944 ClassReference baseClass; // May be NullReference if kind = None. 957 ClassReference baseClass; // May be NullReference if kind = None.
945 Byte kind; // Index into BaseClassKind. 958 Byte kind; // Index into BaseClassKind.
946 Byte valueBits; // See lib/type_propagation/type_propagation.dart 959 Byte valueBits; // See lib/type_propagation/type_propagation.dart
947 } 960 }
948 961
949 ``` 962 ```
OLDNEW
« no previous file with comments | « no previous file | pkg/kernel/lib/analyzer/ast_from_analyzer.dart » ('j') | runtime/vm/object.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698