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

Side by Side Diff: pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart

Issue 2380573004: kernel->ssa: implement assert statements (Closed)
Patch Set: remove todo after discussion Created 4 years, 2 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 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
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
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 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/ssa/graph_builder.dart ('k') | tests/compiler/dart2js/kernel/assert_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698