Chromium Code Reviews| Index: pkg/front_end/lib/src/fasta/compile_platform.dart |
| diff --git a/pkg/front_end/lib/src/fasta/compile_platform.dart b/pkg/front_end/lib/src/fasta/compile_platform.dart |
| index 750d2da3d417c46e5905232aa58d87430669fd4f..f5718d3a5887fe7618a0767b70533189389c397e 100644 |
| --- a/pkg/front_end/lib/src/fasta/compile_platform.dart |
| +++ b/pkg/front_end/lib/src/fasta/compile_platform.dart |
| @@ -6,23 +6,20 @@ library fasta.compile_platform; |
| import 'dart:async' show Future; |
| -import 'dart:io' show exitCode; |
| +import 'dart:io' show exitCode, File; |
| import 'compiler_command_line.dart' show CompilerCommandLine; |
| import 'compiler_context.dart' show CompilerContext; |
| -import 'dill/dill_target.dart' show DillTarget; |
| - |
| import 'errors.dart' show InputError; |
| -import 'kernel/kernel_target.dart' show KernelTarget; |
| - |
| -import 'kernel/utils.dart' show printProgramText, writeProgramToFile; |
| +import 'kernel/utils.dart' show writeProgramToFile; |
| import 'ticker.dart' show Ticker; |
| -import 'translate_uri.dart' show TranslateUri; |
| +import '../../compiler_options.dart'; |
|
ahe
2017/07/05 13:29:39
Add show and move to before line 11.
I've sorted
Siggi Cherem (dart-lang)
2017/07/05 18:42:09
Done.
|
| +import '../kernel_generator_impl.dart'; |
|
ahe
2017/07/05 13:29:39
Ditto.
Siggi Cherem (dart-lang)
2017/07/05 18:42:09
Done.
|
| const int iterations = const int.fromEnvironment("iterations", defaultValue: 1); |
| @@ -56,38 +53,29 @@ Future compilePlatform(List<String> arguments) async { |
| Future compilePlatformInternal(CompilerContext c, Ticker ticker, Uri patchedSdk, |
| Uri fullOutput, Uri outlineOutput) async { |
| - if (c.options.strongMode) { |
| + var options = new CompilerOptions() |
| + ..strongMode = c.options.strongMode |
| + ..sdkRoot = patchedSdk |
| + ..packagesFileUri = c.options.packages |
| + ..compileSdk = true |
| + ..chaseDependencies = true |
| + ..target = c.options.target |
| + ..debugDump = c.options.dumpIr |
| + ..verify = c.options.verify |
| + ..verbose = c.options.verbose; |
| + |
| + if (options.strongMode) { |
| print("Note: strong mode support is preliminary and may not work."); |
| } |
| - ticker.isVerbose = c.options.verbose; |
| - Uri deps = Uri.base.resolveUri(new Uri.file("${fullOutput.toFilePath()}.d")); |
| - ticker.logMs("Parsed arguments"); |
| - if (ticker.isVerbose) { |
| + if (options.verbose) { |
| print("Generating outline of $patchedSdk into $outlineOutput"); |
| print("Compiling $patchedSdk to $fullOutput"); |
| } |
| - TranslateUri uriTranslator = await TranslateUri |
| - .parse(c.fileSystem, patchedSdk, packages: c.options.packages); |
| - ticker.logMs("Read packages file"); |
| - |
| - DillTarget dillTarget = |
| - new DillTarget(ticker, uriTranslator, c.options.target); |
| - KernelTarget kernelTarget = |
| - new KernelTarget(c.fileSystem, dillTarget, uriTranslator, c.uriToSource); |
| - |
| - kernelTarget.read(Uri.parse("dart:core")); |
| - await dillTarget.buildOutlines(); |
| - var outline = await kernelTarget.buildOutlines(); |
| - |
| - await writeProgramToFile(outline, outlineOutput); |
| + var result = await generateKernel([Uri.parse('dart:core')], options, |
| + buildSummary: true, buildProgram: true); |
| + new File.fromUri(outlineOutput).writeAsBytesSync(result.summary); |
| ticker.logMs("Wrote outline to ${outlineOutput.toFilePath()}"); |
| - |
| - if (exitCode != 0) return null; |
| - |
| - var program = await kernelTarget.buildProgram(verify: c.options.verify); |
| - if (c.options.dumpIr) printProgramText(program); |
| - await writeProgramToFile(program, fullOutput); |
| + await writeProgramToFile(result.program, fullOutput); |
| ticker.logMs("Wrote program to ${fullOutput.toFilePath()}"); |
| - await kernelTarget.writeDepsFile(fullOutput, deps); |
| } |