Chromium Code Reviews| Index: pkg/front_end/lib/src/fasta/testing/kernel_chain.dart |
| diff --git a/pkg/front_end/lib/src/fasta/testing/kernel_chain.dart b/pkg/front_end/lib/src/fasta/testing/kernel_chain.dart |
| index bdb0ff71bacb40946129d9ee6bad1e44288a72db..3aae872d3e6b5bf6cce477a96a4d2796290c21dd 100644 |
| --- a/pkg/front_end/lib/src/fasta/testing/kernel_chain.dart |
| +++ b/pkg/front_end/lib/src/fasta/testing/kernel_chain.dart |
| @@ -15,6 +15,8 @@ import 'dart:typed_data' show Uint8List; |
| import 'package:kernel/kernel.dart' show loadProgramFromBinary; |
| +import 'package:kernel/target/targets.dart' show Target; |
| + |
| import 'package:kernel/text/ast_to_text.dart' show Printer; |
| import 'package:testing/testing.dart' show Result, StdioProcess, Step; |
| @@ -192,20 +194,28 @@ class Compile extends Step<TestDescription, Program, CompileContext> { |
| } |
| Uri sdk = await computePatchedSdk(); |
| - Program p = await kernelForProgram( |
| - description.uri, |
| - new CompilerOptions() |
| - ..sdkRoot = sdk |
| - ..packagesFileUri = Uri.base.resolve('.packages') |
| - ..strongMode = context.strongMode |
| - ..linkedDependencies = [sdk.resolve('platform.dill')] |
| - ..onError = reportError); |
| + var options = new CompilerOptions() |
| + ..sdkRoot = sdk |
| + ..compileSdk = true |
| + ..packagesFileUri = Uri.base.resolve('.packages') |
| + ..strongMode = context.strongMode |
| + ..onError = reportError; |
| + if (context.target != null) { |
| + options.target = context.target; |
| + // Do not link platform.dill, but recompile the platform libraries. This |
|
Siggi Cherem (dart-lang)
2017/07/13 22:22:29
BTW - I want to change that about how we include s
|
| + // ensures that if target defines extra libraries that those get included |
| + // too. |
| + } else { |
| + options.linkedDependencies = [sdk.resolve('platform.dill')]; |
| + } |
| + Program p = await kernelForProgram(description.uri, options); |
| return result ??= pass(p); |
| } |
| } |
| abstract class CompileContext implements ChainContext { |
| bool get strongMode; |
| + Target get target; |
| } |
| class BytesCollector implements Sink<List<int>> { |