| 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 1112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1123 } else { | 1123 } else { |
| 1124 writeByte(Tag.InterfaceType); | 1124 writeByte(Tag.InterfaceType); |
| 1125 writeReference(node.className); | 1125 writeReference(node.className); |
| 1126 writeNodeList(node.typeArguments); | 1126 writeNodeList(node.typeArguments); |
| 1127 } | 1127 } |
| 1128 } | 1128 } |
| 1129 | 1129 |
| 1130 visitFunctionType(FunctionType node) { | 1130 visitFunctionType(FunctionType node) { |
| 1131 if (node.requiredParameterCount == node.positionalParameters.length && | 1131 if (node.requiredParameterCount == node.positionalParameters.length && |
| 1132 node.typeParameters.isEmpty && | 1132 node.typeParameters.isEmpty && |
| 1133 node.namedParameters.isEmpty) { | 1133 node.namedParameters.isEmpty && |
| 1134 node.typedefReference == null) { |
| 1134 writeByte(Tag.SimpleFunctionType); | 1135 writeByte(Tag.SimpleFunctionType); |
| 1135 writeNodeList(node.positionalParameters); | 1136 writeNodeList(node.positionalParameters); |
| 1136 writeStringReferenceList(node.positionalParameterNames); | 1137 writeStringReferenceList(node.positionalParameterNames); |
| 1137 writeNode(node.returnType); | 1138 writeNode(node.returnType); |
| 1138 } else { | 1139 } else { |
| 1139 writeByte(Tag.FunctionType); | 1140 writeByte(Tag.FunctionType); |
| 1140 _typeParameterIndexer.enter(node.typeParameters); | 1141 _typeParameterIndexer.enter(node.typeParameters); |
| 1141 writeNodeList(node.typeParameters); | 1142 writeNodeList(node.typeParameters); |
| 1142 writeUInt30(node.requiredParameterCount); | 1143 writeUInt30(node.requiredParameterCount); |
| 1143 writeUInt30( | 1144 writeUInt30( |
| 1144 node.positionalParameters.length + node.namedParameters.length); | 1145 node.positionalParameters.length + node.namedParameters.length); |
| 1145 writeNodeList(node.positionalParameters); | 1146 writeNodeList(node.positionalParameters); |
| 1146 writeNodeList(node.namedParameters); | 1147 writeNodeList(node.namedParameters); |
| 1147 writeStringReferenceList(node.positionalParameterNames); | 1148 writeStringReferenceList(node.positionalParameterNames); |
| 1149 writeReference(node.typedefReference); |
| 1148 writeNode(node.returnType); | 1150 writeNode(node.returnType); |
| 1149 _typeParameterIndexer.exit(node.typeParameters); | 1151 _typeParameterIndexer.exit(node.typeParameters); |
| 1150 } | 1152 } |
| 1151 } | 1153 } |
| 1152 | 1154 |
| 1153 visitNamedType(NamedType node) { | 1155 visitNamedType(NamedType node) { |
| 1154 writeStringReference(node.name); | 1156 writeStringReference(node.name); |
| 1155 writeNode(node.type); | 1157 writeNode(node.type); |
| 1156 } | 1158 } |
| 1157 | 1159 |
| (...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1568 _sink.add(_buffer.sublist(0, length)); | 1570 _sink.add(_buffer.sublist(0, length)); |
| 1569 _buffer = new Uint8List(SIZE); | 1571 _buffer = new Uint8List(SIZE); |
| 1570 flushedLength += length; | 1572 flushedLength += length; |
| 1571 length = 0; | 1573 length = 0; |
| 1572 } | 1574 } |
| 1573 | 1575 |
| 1574 void flushAndDestroy() { | 1576 void flushAndDestroy() { |
| 1575 _sink.add(_buffer.sublist(0, length)); | 1577 _sink.add(_buffer.sublist(0, length)); |
| 1576 } | 1578 } |
| 1577 } | 1579 } |
| OLD | NEW |