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 | 4 |
5 import 'package:kernel/ast.dart' as ir; | 5 import 'package:kernel/ast.dart' as ir; |
6 | 6 |
7 import '../common.dart'; | 7 import '../common.dart'; |
8 import '../common/names.dart'; | 8 import '../common/names.dart'; |
9 import '../compiler.dart'; | 9 import '../compiler.dart'; |
10 import '../constants/values.dart'; | 10 import '../constants/values.dart'; |
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 | 248 |
249 Element get jsIndexableLength => _backend.helpers.jsIndexableLength; | 249 Element get jsIndexableLength => _backend.helpers.jsIndexableLength; |
250 | 250 |
251 ir.Procedure get checkConcurrentModificationError => | 251 ir.Procedure get checkConcurrentModificationError => |
252 kernel.functions[_backend.helpers.checkConcurrentModificationError]; | 252 kernel.functions[_backend.helpers.checkConcurrentModificationError]; |
253 | 253 |
254 TypeMask get checkConcurrentModificationErrorReturnType => | 254 TypeMask get checkConcurrentModificationErrorReturnType => |
255 TypeMaskFactory.inferredReturnTypeForElement( | 255 TypeMaskFactory.inferredReturnTypeForElement( |
256 _backend.helpers.checkConcurrentModificationError, _compiler); | 256 _backend.helpers.checkConcurrentModificationError, _compiler); |
257 | 257 |
| 258 ir.Procedure get assertHelper => |
| 259 kernel.functions[_backend.helpers.assertHelper]; |
| 260 |
| 261 TypeMask get assertHelperReturnType => TypeMaskFactory |
| 262 .inferredReturnTypeForElement(_backend.helpers.assertHelper, _compiler); |
| 263 |
| 264 ir.Procedure get assertTest => kernel.functions[_backend.helpers.assertTest]; |
| 265 |
| 266 TypeMask get assertTestReturnType => TypeMaskFactory |
| 267 .inferredReturnTypeForElement(_backend.helpers.assertTest, _compiler); |
| 268 |
| 269 ir.Procedure get assertThrow => |
| 270 kernel.functions[_backend.helpers.assertThrow]; |
| 271 |
| 272 TypeMask get assertThrowReturnType => TypeMaskFactory |
| 273 .inferredReturnTypeForElement(_backend.helpers.assertThrow, _compiler); |
| 274 |
258 DartType getDartType(ir.DartType type) { | 275 DartType getDartType(ir.DartType type) { |
259 return type.accept(_typeConverter); | 276 return type.accept(_typeConverter); |
260 } | 277 } |
261 | 278 |
262 List<DartType> getDartTypes(List<ir.DartType> types) { | 279 List<DartType> getDartTypes(List<ir.DartType> types) { |
263 return types.map(getDartType).toList(); | 280 return types.map(getDartType).toList(); |
264 } | 281 } |
265 } | 282 } |
266 | 283 |
267 class DartTypeConverter extends ir.DartTypeVisitor<DartType> { | 284 class DartTypeConverter extends ir.DartTypeVisitor<DartType> { |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
309 @override | 326 @override |
310 DartType visitDynamicType(ir.DynamicType node) { | 327 DartType visitDynamicType(ir.DynamicType node) { |
311 return const DynamicType(); | 328 return const DynamicType(); |
312 } | 329 } |
313 | 330 |
314 @override | 331 @override |
315 DartType visitInvalidType(ir.InvalidType node) { | 332 DartType visitInvalidType(ir.InvalidType node) { |
316 throw new UnimplementedError("Invalid types not currently supported"); | 333 throw new UnimplementedError("Invalid types not currently supported"); |
317 } | 334 } |
318 } | 335 } |
OLD | NEW |