| Index: pkg/kernel/lib/target/vm.dart
|
| diff --git a/pkg/kernel/lib/target/vm.dart b/pkg/kernel/lib/target/vm.dart
|
| index 03c3f31709422c5b5f53996244774909945d7123..eae4b7fbc0ffd8ac52d53bcaeaee40060c979afe 100644
|
| --- a/pkg/kernel/lib/target/vm.dart
|
| +++ b/pkg/kernel/lib/target/vm.dart
|
| @@ -56,8 +56,9 @@ class VmTarget extends Target {
|
|
|
| ClassHierarchy _hierarchy;
|
|
|
| - void performModularTransformations(CoreTypes coreTypes, Program program) {
|
| - var mixins = new mix.MixinFullResolution(this, coreTypes)
|
| + void performModularTransformations(
|
| + CoreTypes coreTypes, ClassHierarchy hierarchy, Program program) {
|
| + var mixins = new mix.MixinFullResolution(this, coreTypes, hierarchy)
|
| ..transform(program.libraries);
|
|
|
| _hierarchy = mixins.hierarchy;
|
| @@ -65,9 +66,8 @@ class VmTarget extends Target {
|
|
|
| void performGlobalTransformations(CoreTypes coreTypes, Program program) {
|
| if (strongMode) {
|
| - new InsertTypeChecks(coreTypes, hierarchy: _hierarchy)
|
| - .transformProgram(program);
|
| - new InsertCovarianceChecks(coreTypes, hierarchy: _hierarchy)
|
| + new InsertTypeChecks(coreTypes, _hierarchy).transformProgram(program);
|
| + new InsertCovarianceChecks(coreTypes, _hierarchy)
|
| .transformProgram(program);
|
| }
|
|
|
| @@ -85,10 +85,8 @@ class VmTarget extends Target {
|
| }
|
|
|
| void performTreeShaking(CoreTypes coreTypes, Program program) {
|
| - new TreeShaker(coreTypes, program,
|
| - hierarchy: _hierarchy,
|
| - strongMode: strongMode,
|
| - programRoots: flags.programRoots)
|
| + new TreeShaker(coreTypes, _hierarchy, program,
|
| + strongMode: strongMode, programRoots: flags.programRoots)
|
| .transform(program);
|
| _hierarchy = null; // Hierarchy must be recomputed.
|
| }
|
|
|