OLD | NEW |
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 723 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
734 visitLoadLibrary(LoadLibrary node) { | 734 visitLoadLibrary(LoadLibrary node) { |
735 writeByte(Tag.LoadLibrary); | 735 writeByte(Tag.LoadLibrary); |
736 writeDeferredImportReference(node.import); | 736 writeDeferredImportReference(node.import); |
737 } | 737 } |
738 | 738 |
739 visitCheckLibraryIsLoaded(CheckLibraryIsLoaded node) { | 739 visitCheckLibraryIsLoaded(CheckLibraryIsLoaded node) { |
740 writeByte(Tag.CheckLibraryIsLoaded); | 740 writeByte(Tag.CheckLibraryIsLoaded); |
741 writeDeferredImportReference(node.import); | 741 writeDeferredImportReference(node.import); |
742 } | 742 } |
743 | 743 |
| 744 visitVectorCreation(VectorCreation node) { |
| 745 writeByte(Tag.VectorCreation); |
| 746 writeNode(node.length); |
| 747 } |
| 748 |
| 749 visitVectorGet(VectorGet node) { |
| 750 writeByte(Tag.VectorGet); |
| 751 writeNode(node.vectorExpression); |
| 752 writeNode(node.index); |
| 753 } |
| 754 |
| 755 visitVectorSet(VectorSet node) { |
| 756 writeByte(Tag.VectorSet); |
| 757 writeNode(node.vectorExpression); |
| 758 writeNode(node.index); |
| 759 writeNode(node.value); |
| 760 } |
| 761 |
| 762 visitVectorCopy(VectorCopy node) { |
| 763 writeByte(Tag.VectorCopy); |
| 764 writeNode(node.vectorExpression); |
| 765 } |
| 766 |
744 writeStatementOrEmpty(Statement node) { | 767 writeStatementOrEmpty(Statement node) { |
745 if (node == null) { | 768 if (node == null) { |
746 writeByte(Tag.EmptyStatement); | 769 writeByte(Tag.EmptyStatement); |
747 } else { | 770 } else { |
748 writeNode(node); | 771 writeNode(node); |
749 } | 772 } |
750 } | 773 } |
751 | 774 |
752 visitInvalidStatement(InvalidStatement node) { | 775 visitInvalidStatement(InvalidStatement node) { |
753 writeByte(Tag.InvalidStatement); | 776 writeByte(Tag.InvalidStatement); |
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
981 visitNamedType(NamedType node) { | 1004 visitNamedType(NamedType node) { |
982 writeStringReference(node.name); | 1005 writeStringReference(node.name); |
983 writeNode(node.type); | 1006 writeNode(node.type); |
984 } | 1007 } |
985 | 1008 |
986 visitTypeParameterType(TypeParameterType node) { | 1009 visitTypeParameterType(TypeParameterType node) { |
987 writeByte(Tag.TypeParameterType); | 1010 writeByte(Tag.TypeParameterType); |
988 writeUInt30(_typeParameterIndexer[node.parameter]); | 1011 writeUInt30(_typeParameterIndexer[node.parameter]); |
989 } | 1012 } |
990 | 1013 |
| 1014 visitVectorType(VectorType node) { |
| 1015 writeByte(Tag.VectorType); |
| 1016 } |
| 1017 |
991 visitTypeParameter(TypeParameter node) { | 1018 visitTypeParameter(TypeParameter node) { |
992 writeStringReference(node.name ?? ''); | 1019 writeStringReference(node.name ?? ''); |
993 writeNode(node.bound); | 1020 writeNode(node.bound); |
994 } | 1021 } |
995 | 1022 |
996 defaultNode(Node node) { | 1023 defaultNode(Node node) { |
997 throw 'Unsupported node: $node'; | 1024 throw 'Unsupported node: $node'; |
998 } | 1025 } |
999 } | 1026 } |
1000 | 1027 |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1284 void flush() { | 1311 void flush() { |
1285 _sink.add(_buffer.sublist(0, length)); | 1312 _sink.add(_buffer.sublist(0, length)); |
1286 _buffer = new Uint8List(SIZE); | 1313 _buffer = new Uint8List(SIZE); |
1287 length = 0; | 1314 length = 0; |
1288 } | 1315 } |
1289 | 1316 |
1290 void flushAndDestroy() { | 1317 void flushAndDestroy() { |
1291 _sink.add(_buffer.sublist(0, length)); | 1318 _sink.add(_buffer.sublist(0, length)); |
1292 } | 1319 } |
1293 } | 1320 } |
OLD | NEW |