| 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 929 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 940 } | 940 } |
| 941 | 941 |
| 942 visitBreakStatement(BreakStatement node) { | 942 visitBreakStatement(BreakStatement node) { |
| 943 writeByte(Tag.BreakStatement); | 943 writeByte(Tag.BreakStatement); |
| 944 writeOffset(node.fileOffset); | 944 writeOffset(node.fileOffset); |
| 945 writeUInt30(_labelIndexer[node.target]); | 945 writeUInt30(_labelIndexer[node.target]); |
| 946 } | 946 } |
| 947 | 947 |
| 948 visitWhileStatement(WhileStatement node) { | 948 visitWhileStatement(WhileStatement node) { |
| 949 writeByte(Tag.WhileStatement); | 949 writeByte(Tag.WhileStatement); |
| 950 writeOffset(node.fileOffset); |
| 950 writeNode(node.condition); | 951 writeNode(node.condition); |
| 951 writeNode(node.body); | 952 writeNode(node.body); |
| 952 } | 953 } |
| 953 | 954 |
| 954 visitDoStatement(DoStatement node) { | 955 visitDoStatement(DoStatement node) { |
| 955 writeByte(Tag.DoStatement); | 956 writeByte(Tag.DoStatement); |
| 957 writeOffset(node.fileOffset); |
| 956 writeNode(node.body); | 958 writeNode(node.body); |
| 957 writeNode(node.condition); | 959 writeNode(node.condition); |
| 958 } | 960 } |
| 959 | 961 |
| 960 visitForStatement(ForStatement node) { | 962 visitForStatement(ForStatement node) { |
| 961 _variableIndexer.pushScope(); | 963 _variableIndexer.pushScope(); |
| 962 writeByte(Tag.ForStatement); | 964 writeByte(Tag.ForStatement); |
| 965 writeOffset(node.fileOffset); |
| 963 writeVariableDeclarationList(node.variables); | 966 writeVariableDeclarationList(node.variables); |
| 964 writeOptionalNode(node.condition); | 967 writeOptionalNode(node.condition); |
| 965 writeNodeList(node.updates); | 968 writeNodeList(node.updates); |
| 966 writeNode(node.body); | 969 writeNode(node.body); |
| 967 _variableIndexer.popScope(); | 970 _variableIndexer.popScope(); |
| 968 } | 971 } |
| 969 | 972 |
| 970 visitForInStatement(ForInStatement node) { | 973 visitForInStatement(ForInStatement node) { |
| 971 _variableIndexer.pushScope(); | 974 _variableIndexer.pushScope(); |
| 972 writeByte(node.isAsync ? Tag.AsyncForInStatement : Tag.ForInStatement); | 975 writeByte(node.isAsync ? Tag.AsyncForInStatement : Tag.ForInStatement); |
| 973 writeOffset(node.fileOffset); | 976 writeOffset(node.fileOffset); |
| 977 writeOffset(node.bodyOffset); |
| 974 writeVariableDeclaration(node.variable); | 978 writeVariableDeclaration(node.variable); |
| 975 writeNode(node.iterable); | 979 writeNode(node.iterable); |
| 976 writeNode(node.body); | 980 writeNode(node.body); |
| 977 _variableIndexer.popScope(); | 981 _variableIndexer.popScope(); |
| 978 } | 982 } |
| 979 | 983 |
| 980 visitSwitchStatement(SwitchStatement node) { | 984 visitSwitchStatement(SwitchStatement node) { |
| 981 _switchCaseIndexer.enter(node); | 985 _switchCaseIndexer.enter(node); |
| 982 writeByte(Tag.SwitchStatement); | 986 writeByte(Tag.SwitchStatement); |
| 983 writeNode(node.expression); | 987 writeNode(node.expression); |
| (...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1570 _sink.add(_buffer.sublist(0, length)); | 1574 _sink.add(_buffer.sublist(0, length)); |
| 1571 _buffer = new Uint8List(SIZE); | 1575 _buffer = new Uint8List(SIZE); |
| 1572 flushedLength += length; | 1576 flushedLength += length; |
| 1573 length = 0; | 1577 length = 0; |
| 1574 } | 1578 } |
| 1575 | 1579 |
| 1576 void flushAndDestroy() { | 1580 void flushAndDestroy() { |
| 1577 _sink.add(_buffer.sublist(0, length)); | 1581 _sink.add(_buffer.sublist(0, length)); |
| 1578 } | 1582 } |
| 1579 } | 1583 } |
| OLD | NEW |