| Index: pkg/front_end/tool/_fasta/entry_points.dart
 | 
| diff --git a/pkg/front_end/lib/src/fasta/fasta.dart b/pkg/front_end/tool/_fasta/entry_points.dart
 | 
| similarity index 67%
 | 
| rename from pkg/front_end/lib/src/fasta/fasta.dart
 | 
| rename to pkg/front_end/tool/_fasta/entry_points.dart
 | 
| index c806de07febf4a44cdd7a062a6986a978e3aa73c..f77cf023425cb808d2dd1c05f3df24e68632fa42 100644
 | 
| --- a/pkg/front_end/lib/src/fasta/fasta.dart
 | 
| +++ b/pkg/front_end/tool/_fasta/entry_points.dart
 | 
| @@ -2,41 +2,39 @@
 | 
|  // for details. All rights reserved. Use of this source code is governed by a
 | 
|  // BSD-style license that can be found in the LICENSE file.
 | 
|  
 | 
| -library fasta;
 | 
| +library fasta.tool.entry_points;
 | 
|  
 | 
|  import 'dart:async' show Future;
 | 
|  
 | 
|  import 'dart:convert' show JSON;
 | 
|  
 | 
| -import 'dart:io' show BytesBuilder, File, exitCode;
 | 
| +import 'dart:io' show File, exitCode;
 | 
|  
 | 
| -import 'package:front_end/compiler_options.dart';
 | 
| -import 'package:front_end/src/base/processed_options.dart';
 | 
| -import 'package:front_end/physical_file_system.dart';
 | 
| -import 'package:front_end/src/fasta/kernel/utils.dart';
 | 
| +import 'package:front_end/src/fasta/compiler_context.dart' show CompilerContext;
 | 
|  
 | 
| -import 'package:kernel/kernel.dart' show Program, loadProgramFromBytes;
 | 
| -
 | 
| -import 'compiler_command_line.dart' show CompilerCommandLine;
 | 
| +import 'package:front_end/src/fasta/deprecated_problems.dart'
 | 
| +    show deprecated_InputError, deprecated_inputError;
 | 
|  
 | 
| -import 'compiler_context.dart' show CompilerContext;
 | 
| +import 'package:front_end/src/fasta/dill/dill_target.dart' show DillTarget;
 | 
|  
 | 
| -import 'deprecated_problems.dart'
 | 
| -    show deprecated_InputError, deprecated_inputError;
 | 
| +import 'package:front_end/src/fasta/kernel/kernel_target.dart'
 | 
| +    show KernelTarget;
 | 
|  
 | 
| -import 'kernel/kernel_target.dart' show KernelTarget;
 | 
| +import 'package:front_end/src/fasta/kernel/utils.dart'
 | 
| +    show printProgramText, writeProgramToFile;
 | 
|  
 | 
| -import 'package:kernel/target/targets.dart' show Target;
 | 
| +import 'package:front_end/src/fasta/severity.dart' show Severity;
 | 
|  
 | 
| -import 'dill/dill_target.dart' show DillTarget;
 | 
| +import 'package:front_end/src/fasta/ticker.dart' show Ticker;
 | 
|  
 | 
| -import 'severity.dart' show Severity;
 | 
| +import 'package:front_end/src/fasta/uri_translator.dart' show UriTranslator;
 | 
|  
 | 
| -import 'ticker.dart' show Ticker;
 | 
| +import 'package:kernel/kernel.dart' show Program, loadProgramFromBytes;
 | 
|  
 | 
| -import 'uri_translator.dart' show UriTranslator;
 | 
| +import 'command_line.dart' show withGlobalOptions;
 | 
|  
 | 
|  const bool summary = const bool.fromEnvironment("summary", defaultValue: false);
 | 
| +
 | 
|  const int iterations = const int.fromEnvironment("iterations", defaultValue: 1);
 | 
|  
 | 
|  compileEntryPoint(List<String> arguments) async {
 | 
| @@ -71,8 +69,8 @@ outlineEntryPoint(List<String> arguments) async {
 | 
|  
 | 
|  Future<KernelTarget> outline(List<String> arguments) async {
 | 
|    try {
 | 
| -    return await CompilerCommandLine.withGlobalOptions(
 | 
| -        "outline", arguments, true, (CompilerContext c, _) async {
 | 
| +    return await withGlobalOptions("outline", arguments, true,
 | 
| +        (CompilerContext c, _) async {
 | 
|        if (c.options.verbose) {
 | 
|          print("Building outlines for ${arguments.join(' ')}");
 | 
|        }
 | 
| @@ -90,8 +88,8 @@ Future<KernelTarget> outline(List<String> arguments) async {
 | 
|  
 | 
|  Future<Uri> compile(List<String> arguments) async {
 | 
|    try {
 | 
| -    return await CompilerCommandLine.withGlobalOptions(
 | 
| -        "compile", arguments, true, (CompilerContext c, _) async {
 | 
| +    return await withGlobalOptions("compile", arguments, true,
 | 
| +        (CompilerContext c, _) async {
 | 
|        if (c.options.verbose) {
 | 
|          print("Compiling directly to Kernel: ${arguments.join(' ')}");
 | 
|        }
 | 
| @@ -169,37 +167,6 @@ class CompileTask {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| -// TODO(sigmund): reimplement this API using the directive listener intead.
 | 
| -Future<List<Uri>> getDependencies(Uri script,
 | 
| -    {Uri sdk,
 | 
| -    Uri packages,
 | 
| -    Uri platform,
 | 
| -    bool verbose: false,
 | 
| -    Target target}) async {
 | 
| -  var options = new CompilerOptions()
 | 
| -    ..target = target
 | 
| -    ..verbose = verbose
 | 
| -    ..packagesFileUri = packages
 | 
| -    ..sdkSummary = platform
 | 
| -    ..sdkRoot = sdk;
 | 
| -  var pOptions = new ProcessedOptions(options);
 | 
| -  return await CompilerContext.runWithOptions(pOptions,
 | 
| -      (CompilerContext c) async {
 | 
| -    UriTranslator uriTranslator = await c.options.getUriTranslator();
 | 
| -    c.options.ticker.logMs("Read packages file");
 | 
| -    DillTarget dillTarget =
 | 
| -        new DillTarget(c.options.ticker, uriTranslator, c.options.target);
 | 
| -    if (platform != null) _appendDillForUri(dillTarget, platform);
 | 
| -    KernelTarget kernelTarget = new KernelTarget(PhysicalFileSystem.instance,
 | 
| -        false, dillTarget, uriTranslator, c.uriToSource);
 | 
| -
 | 
| -    kernelTarget.read(script);
 | 
| -    await dillTarget.buildOutlines();
 | 
| -    await kernelTarget.loader.buildOutlines();
 | 
| -    return await kernelTarget.loader.getDependencies();
 | 
| -  });
 | 
| -}
 | 
| -
 | 
|  /// Load the [Program] from the given [uri] and append its libraries
 | 
|  /// to the [dillTarget].
 | 
|  void _appendDillForUri(DillTarget dillTarget, Uri uri) {
 | 
| @@ -208,16 +175,3 @@ void _appendDillForUri(DillTarget dillTarget, Uri uri) {
 | 
|    platformProgram.unbindCanonicalNames();
 | 
|    dillTarget.loader.appendLibraries(platformProgram);
 | 
|  }
 | 
| -
 | 
| -// TODO(ahe): https://github.com/dart-lang/sdk/issues/28316
 | 
| -class ByteSink implements Sink<List<int>> {
 | 
| -  final BytesBuilder builder = new BytesBuilder();
 | 
| -
 | 
| -  void add(List<int> data) {
 | 
| -    builder.add(data);
 | 
| -  }
 | 
| -
 | 
| -  void close() {
 | 
| -    // Nothing to do.
 | 
| -  }
 | 
| -}
 | 
| 
 |