Index: pkg/kernel/bin/transform.dart |
diff --git a/pkg/kernel/bin/transform.dart b/pkg/kernel/bin/transform.dart |
index 1207e418680cc92422ac848f2932c06d5fc3f198..eb083d27d5ea075f7f7b07f5f952ed5e72b5d8f6 100755 |
--- a/pkg/kernel/bin/transform.dart |
+++ b/pkg/kernel/bin/transform.dart |
@@ -7,6 +7,7 @@ import 'dart:async'; |
import 'dart:io'; |
import 'package:args/args.dart'; |
+import 'package:kernel/core_types.dart'; |
import 'package:kernel/kernel.dart'; |
import 'package:kernel/transformations/closure_conversion.dart' as closures; |
import 'package:kernel/transformations/continuation.dart' as cont; |
@@ -74,22 +75,23 @@ Future<CompilerOutcome> runTransformation(List<String> arguments) async { |
parseProgramRoots(embedderEntryPointManifests); |
var program = loadProgramFromBinary(input); |
+ var coreTypes = new CoreTypes(program); |
switch (options['transformation']) { |
case 'continuation': |
- program = cont.transformProgram(program); |
+ program = cont.transformProgram(coreTypes, program); |
break; |
case 'resolve-mixins': |
- program = mix.transformProgram(program); |
+ program = mix.transformProgram(coreTypes, program); |
break; |
case 'closures': |
- program = closures.transformProgram(program); |
+ program = closures.transformProgram(coreTypes, program); |
break; |
case 'treeshake': |
- program = |
- treeshaker.transformProgram(program, programRoots: programRoots); |
+ program = treeshaker.transformProgram(coreTypes, program, |
+ programRoots: programRoots); |
break; |
case 'methodcall': |
- program = method_call.transformProgram(program); |
+ program = method_call.transformProgram(coreTypes, program); |
break; |
case 'empty': |
program = empty.transformProgram(program); |