| Index: pkg/front_end/test/fasta/shaker_test.dart | 
| diff --git a/pkg/front_end/test/fasta/shaker_test.dart b/pkg/front_end/test/fasta/shaker_test.dart | 
| index 397b71d8b91498c033050a256d75898b49acccd7..7032f47c7d59494ef59e78ec24510b7dbf5040d2 100644 | 
| --- a/pkg/front_end/test/fasta/shaker_test.dart | 
| +++ b/pkg/front_end/test/fasta/shaker_test.dart | 
| @@ -20,8 +20,9 @@ import 'dart:convert' show JSON; | 
| import 'dart:io' show File; | 
|  | 
| export 'package:testing/testing.dart' show Chain, runMe; | 
| -import 'package:front_end/physical_file_system.dart'; | 
| -import 'package:front_end/src/fasta/compiler_command_line.dart'; | 
| +import 'package:front_end/compiler_options.dart'; | 
| +import 'package:front_end/src/base/processed_options.dart'; | 
| +import 'package:front_end/src/fasta/compiler_context.dart'; | 
| import 'package:front_end/src/fasta/dill/dill_target.dart' show DillTarget; | 
| import 'package:front_end/src/fasta/deprecated_problems.dart' | 
| show deprecated_InputError; | 
| @@ -31,9 +32,6 @@ import 'package:front_end/src/fasta/kernel/kernel_target.dart' | 
| import 'package:front_end/src/fasta/kernel/verifier.dart' show verifyProgram; | 
| import 'package:front_end/src/fasta/testing/kernel_chain.dart' show runDiff; | 
| import 'package:front_end/src/fasta/testing/patched_sdk_location.dart'; | 
| -import 'package:front_end/src/fasta/ticker.dart' show Ticker; | 
| -import 'package:front_end/src/fasta/uri_translator.dart' show UriTranslator; | 
| -import 'package:front_end/src/fasta/uri_translator_impl.dart'; | 
| import 'package:front_end/src/fasta/util/relativize.dart' show relativizeUri; | 
| import 'package:kernel/ast.dart' show Program; | 
| import 'package:kernel/kernel.dart' show loadProgramFromBytes; | 
| @@ -53,7 +51,7 @@ Future<TreeShakerContext> createContext( | 
|  | 
| /// Context used to run the tree-shaking test suite. | 
| class TreeShakerContext extends ChainContext { | 
| -  final UriTranslator uriTranslator; | 
| +  final ProcessedOptions options; | 
| final Uri outlineUri; | 
| final List<Step> steps; | 
| final List<int> outlineBytes; | 
| @@ -61,8 +59,8 @@ class TreeShakerContext extends ChainContext { | 
| final ExpectationSet expectationSet = | 
| new ExpectationSet.fromJsonList(JSON.decode(EXPECTATIONS)); | 
|  | 
| -  TreeShakerContext(this.outlineUri, this.uriTranslator, this.outlineBytes, | 
| -      bool updateExpectations) | 
| +  TreeShakerContext( | 
| +      this.outlineUri, this.options, this.outlineBytes, bool updateExpectations) | 
| : steps = <Step>[ | 
| const BuildProgram(), | 
| new CheckShaker(updateExpectations: updateExpectations), | 
| @@ -81,12 +79,11 @@ class TreeShakerContext extends ChainContext { | 
| bool updateExpectations = environment["updateExpectations"] == "true"; | 
| Uri sdk = await computePatchedSdk(); | 
| Uri outlineUri = sdk.resolve('outline.dill'); | 
| -    Uri packages = Uri.base.resolve(".packages"); | 
| -    UriTranslator uriTranslator = await UriTranslatorImpl | 
| -        .parse(PhysicalFileSystem.instance, sdk, packages: packages); | 
| +    var options = new CompilerOptions() | 
| +      ..packagesFileUri = Uri.base.resolve(".packages"); | 
| List<int> outlineBytes = new File.fromUri(outlineUri).readAsBytesSync(); | 
| -    return new TreeShakerContext( | 
| -        outlineUri, uriTranslator, outlineBytes, updateExpectations); | 
| +    return new TreeShakerContext(outlineUri, new ProcessedOptions(options), | 
| +        outlineBytes, updateExpectations); | 
| } | 
| } | 
|  | 
| @@ -98,17 +95,16 @@ class BuildProgram | 
| String get name => "build program"; | 
| Future<Result<_IntermediateData>> run( | 
| TestDescription description, TreeShakerContext context) async { | 
| -    return await CompilerCommandLine.withGlobalOptions("", [""], (_) async { | 
| +    return await CompilerContext.runWithOptions(context.options, (_) async { | 
| try { | 
| var platformOutline = context.loadPlatformOutline(); | 
| platformOutline.unbindCanonicalNames(); | 
| -        var dillTarget = new DillTarget( | 
| -            new Ticker(isVerbose: false), | 
| -            context.uriTranslator, | 
| +        var uriTranslator = await context.options.getUriTranslator(); | 
| +        var dillTarget = new DillTarget(context.options.ticker, uriTranslator, | 
| new VmFastaTarget(new TargetFlags(strongMode: false))); | 
| dillTarget.loader.appendLibraries(platformOutline); | 
| -        var sourceTarget = new KernelTarget(PhysicalFileSystem.instance, false, | 
| -            dillTarget, context.uriTranslator); | 
| +        var sourceTarget = new KernelTarget( | 
| +            context.options.fileSystem, false, dillTarget, uriTranslator); | 
| await dillTarget.buildOutlines(); | 
|  | 
| var inputUri = description.uri; | 
|  |