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

Side by Side Diff: pkg/kernel/lib/binary/ast_to_binary.dart

Issue 2680303002: Kernel debugging; service tests (Closed)
Patch Set: Address 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
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 library kernel.ast_to_binary; 4 library kernel.ast_to_binary;
5 5
6 import '../ast.dart'; 6 import '../ast.dart';
7 import '../import_table.dart'; 7 import '../import_table.dart';
8 import 'tag.dart'; 8 import 'tag.dart';
9 import 'dart:convert'; 9 import 'dart:convert';
10 import 'dart:typed_data'; 10 import 'dart:typed_data';
(...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after
508 } 508 }
509 509
510 visitStaticGet(StaticGet node) { 510 visitStaticGet(StaticGet node) {
511 writeByte(Tag.StaticGet); 511 writeByte(Tag.StaticGet);
512 writeOffset(node, node.fileOffset); 512 writeOffset(node, node.fileOffset);
513 writeReference(node.targetReference); 513 writeReference(node.targetReference);
514 } 514 }
515 515
516 visitStaticSet(StaticSet node) { 516 visitStaticSet(StaticSet node) {
517 writeByte(Tag.StaticSet); 517 writeByte(Tag.StaticSet);
518 writeOffset(node, node.fileOffset);
518 writeReference(node.targetReference); 519 writeReference(node.targetReference);
519 writeNode(node.value); 520 writeNode(node.value);
520 } 521 }
521 522
522 visitMethodInvocation(MethodInvocation node) { 523 visitMethodInvocation(MethodInvocation node) {
523 writeByte(Tag.MethodInvocation); 524 writeByte(Tag.MethodInvocation);
524 writeOffset(node, node.fileOffset); 525 writeOffset(node, node.fileOffset);
525 writeNode(node.receiver); 526 writeNode(node.receiver);
526 writeName(node.name); 527 writeName(node.name);
527 writeNode(node.arguments); 528 writeNode(node.arguments);
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
608 609
609 visitIsExpression(IsExpression node) { 610 visitIsExpression(IsExpression node) {
610 writeByte(Tag.IsExpression); 611 writeByte(Tag.IsExpression);
611 writeOffset(node, node.fileOffset); 612 writeOffset(node, node.fileOffset);
612 writeNode(node.operand); 613 writeNode(node.operand);
613 writeNode(node.type); 614 writeNode(node.type);
614 } 615 }
615 616
616 visitAsExpression(AsExpression node) { 617 visitAsExpression(AsExpression node) {
617 writeByte(Tag.AsExpression); 618 writeByte(Tag.AsExpression);
619 writeOffset(node, node.fileOffset);
618 writeNode(node.operand); 620 writeNode(node.operand);
619 writeNode(node.type); 621 writeNode(node.type);
620 } 622 }
621 623
622 visitStringLiteral(StringLiteral node) { 624 visitStringLiteral(StringLiteral node) {
623 writeByte(Tag.StringLiteral); 625 writeByte(Tag.StringLiteral);
624 writeStringReference(node.value); 626 writeStringReference(node.value);
625 } 627 }
626 628
627 visitIntLiteral(IntLiteral node) { 629 visitIntLiteral(IntLiteral node) {
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
668 writeByte(Tag.TypeLiteral); 670 writeByte(Tag.TypeLiteral);
669 writeNode(node.type); 671 writeNode(node.type);
670 } 672 }
671 673
672 visitThisExpression(ThisExpression node) { 674 visitThisExpression(ThisExpression node) {
673 writeByte(Tag.ThisExpression); 675 writeByte(Tag.ThisExpression);
674 } 676 }
675 677
676 visitRethrow(Rethrow node) { 678 visitRethrow(Rethrow node) {
677 writeByte(Tag.Rethrow); 679 writeByte(Tag.Rethrow);
680 writeOffset(node, node.fileOffset);
678 } 681 }
679 682
680 visitThrow(Throw node) { 683 visitThrow(Throw node) {
681 writeByte(Tag.Throw); 684 writeByte(Tag.Throw);
682 writeOffset(node, node.fileOffset); 685 writeOffset(node, node.fileOffset);
683 writeNode(node.expression); 686 writeNode(node.expression);
684 } 687 }
685 688
686 visitListLiteral(ListLiteral node) { 689 visitListLiteral(ListLiteral node) {
687 writeByte(node.isConst ? Tag.ConstListLiteral : Tag.ListLiteral); 690 writeByte(node.isConst ? Tag.ConstListLiteral : Tag.ListLiteral);
691 writeOffset(node, node.fileOffset);
688 writeNode(node.typeArgument); 692 writeNode(node.typeArgument);
689 writeNodeList(node.expressions); 693 writeNodeList(node.expressions);
690 } 694 }
691 695
692 visitMapLiteral(MapLiteral node) { 696 visitMapLiteral(MapLiteral node) {
693 writeByte(node.isConst ? Tag.ConstMapLiteral : Tag.MapLiteral); 697 writeByte(node.isConst ? Tag.ConstMapLiteral : Tag.MapLiteral);
694 writeOffset(node, node.fileOffset); 698 writeOffset(node, node.fileOffset);
695 writeNode(node.keyType); 699 writeNode(node.keyType);
696 writeNode(node.valueType); 700 writeNode(node.valueType);
697 writeNodeList(node.entries); 701 writeNodeList(node.entries);
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
766 770
767 visitLabeledStatement(LabeledStatement node) { 771 visitLabeledStatement(LabeledStatement node) {
768 _labelIndexer.enter(node); 772 _labelIndexer.enter(node);
769 writeByte(Tag.LabeledStatement); 773 writeByte(Tag.LabeledStatement);
770 writeNode(node.body); 774 writeNode(node.body);
771 _labelIndexer.exit(); 775 _labelIndexer.exit();
772 } 776 }
773 777
774 visitBreakStatement(BreakStatement node) { 778 visitBreakStatement(BreakStatement node) {
775 writeByte(Tag.BreakStatement); 779 writeByte(Tag.BreakStatement);
780 writeOffset(node, node.fileOffset);
776 writeUInt30(_labelIndexer[node.target]); 781 writeUInt30(_labelIndexer[node.target]);
777 } 782 }
778 783
779 visitWhileStatement(WhileStatement node) { 784 visitWhileStatement(WhileStatement node) {
780 writeByte(Tag.WhileStatement); 785 writeByte(Tag.WhileStatement);
781 writeNode(node.condition); 786 writeNode(node.condition);
782 writeNode(node.body); 787 writeNode(node.body);
783 } 788 }
784 789
785 visitDoStatement(DoStatement node) { 790 visitDoStatement(DoStatement node) {
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
869 writeNode(node.expression); 874 writeNode(node.expression);
870 } 875 }
871 876
872 visitVariableDeclaration(VariableDeclaration node) { 877 visitVariableDeclaration(VariableDeclaration node) {
873 writeByte(Tag.VariableDeclaration); 878 writeByte(Tag.VariableDeclaration);
874 writeVariableDeclaration(node); 879 writeVariableDeclaration(node);
875 } 880 }
876 881
877 void writeVariableDeclaration(VariableDeclaration node) { 882 void writeVariableDeclaration(VariableDeclaration node) {
878 writeOffset(node, node.fileOffset); 883 writeOffset(node, node.fileOffset);
884 writeOffset(node, node.fileEqualsOffset);
879 writeByte(node.flags); 885 writeByte(node.flags);
880 writeStringReference(node.name ?? ''); 886 writeStringReference(node.name ?? '');
881 writeNode(node.type); 887 writeNode(node.type);
882 writeOptionalInferredValue(node.inferredValue); 888 writeOptionalInferredValue(node.inferredValue);
883 writeOptionalNode(node.initializer); 889 writeOptionalNode(node.initializer);
884 // Declare the variable after its initializer. It is not in scope in its 890 // Declare the variable after its initializer. It is not in scope in its
885 // own initializer. 891 // own initializer.
886 _variableIndexer.declare(node); 892 _variableIndexer.declare(node);
887 } 893 }
888 894
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
1269 void flush() { 1275 void flush() {
1270 _sink.add(_buffer.sublist(0, length)); 1276 _sink.add(_buffer.sublist(0, length));
1271 _buffer = new Uint8List(SIZE); 1277 _buffer = new Uint8List(SIZE);
1272 length = 0; 1278 length = 0;
1273 } 1279 }
1274 1280
1275 void flushAndDestroy() { 1281 void flushAndDestroy() {
1276 _sink.add(_buffer.sublist(0, length)); 1282 _sink.add(_buffer.sublist(0, length));
1277 } 1283 }
1278 } 1284 }
OLDNEW
« no previous file with comments | « pkg/kernel/lib/binary/ast_from_binary.dart ('k') | pkg/kernel/lib/transformations/continuation.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698