| Index: pkg/kernel/lib/target/vm.dart
|
| diff --git a/pkg/kernel/lib/target/vm.dart b/pkg/kernel/lib/target/vm.dart
|
| index 855857c071fa2352dd75f07a01892f2bce0a898b..58c229dc14f26bf444fa29fba003d5a5de3d2320 100644
|
| --- a/pkg/kernel/lib/target/vm.dart
|
| +++ b/pkg/kernel/lib/target/vm.dart
|
| @@ -4,8 +4,10 @@
|
| library kernel.target.vm;
|
|
|
| import '../ast.dart';
|
| +import '../core_types.dart';
|
| import '../transformations/continuation.dart' as cont;
|
| import '../transformations/erasure.dart';
|
| +import '../transformations/insert_covariance_checks.dart';
|
| import '../transformations/insert_type_checks.dart';
|
| import '../transformations/mixin_full_resolution.dart' as mix;
|
| import '../transformations/sanitize_for_vm.dart';
|
| @@ -52,10 +54,16 @@ class VmTarget extends Target {
|
| ];
|
|
|
| void transformProgram(Program program) {
|
| - new mix.MixinFullResolution().transform(program);
|
| + var mixins = new mix.MixinFullResolution();
|
| + mixins.transform(program);
|
|
|
| if (strongMode) {
|
| - new InsertTypeChecks().transformProgram(program);
|
| + var hierarchy = mixins.hierarchy;
|
| + var coreTypes = new CoreTypes(program);
|
| + new InsertTypeChecks(hierarchy: hierarchy, coreTypes: coreTypes)
|
| + .transformProgram(program);
|
| + new InsertCovarianceChecks(hierarchy: hierarchy, coreTypes: coreTypes)
|
| + .transformProgram(program);
|
| }
|
|
|
| cont.transformProgram(program);
|
|
|