Remove unnecessary setupPackages step.

Since we switched to the CFE we no longer use this, the CFE recomputes the package-configuration internally.

Change-Id: Icdc2a3eeff1aa75e560157ecf0d5320208096d21
Reviewed-on: https://dart-review.googlesource.com/c/84362
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
diff --git a/pkg/compiler/lib/compiler.dart b/pkg/compiler/lib/compiler.dart
index 4905b96..0c79da0 100644
--- a/pkg/compiler/lib/compiler.dart
+++ b/pkg/compiler/lib/compiler.dart
@@ -6,8 +6,6 @@
 
 import 'dart:async';
 
-import 'package:package_config/packages.dart';
-
 import 'compiler_new.dart' as new_api;
 import 'src/old_to_new_api.dart';
 import 'src/options.dart' show CompilerOptions;
@@ -69,12 +67,6 @@
 typedef void DiagnosticHandler(
     Uri uri, int begin, int end, String message, Diagnostic kind);
 
-/**
- * Provides a package lookup mechanism in the case that no package root or
- * package resolution configuration file are explicitly specified.
- */
-typedef Future<Packages> PackagesDiscoveryProvider(Uri uri);
-
 /// Information resulting from the compilation.
 class CompilationResult {
   /// `true` if the compilation succeeded, that is, compilation didn't fail due
@@ -114,14 +106,12 @@
     [List<String> options = const [],
     CompilerOutputProvider outputProvider,
     Map<String, String> environment = const {},
-    Uri packageConfig,
-    PackagesDiscoveryProvider packagesDiscoveryProvider]) {
+    Uri packageConfig]) {
   CompilerOptions compilerOptions = CompilerOptions.parse(options,
       librariesSpecificationUri: librariesSpecificationUri)
     ..entryPoint = script
     ..packageRoot = packageRoot
     ..packageConfig = packageConfig
-    ..packagesDiscoveryProvider = packagesDiscoveryProvider
     ..environment = environment;
 
   new_api.CompilerInput compilerInput = new LegacyCompilerInput(inputProvider);
diff --git a/pkg/compiler/lib/compiler_new.dart b/pkg/compiler/lib/compiler_new.dart
index bb6b8ab..d7de722 100644
--- a/pkg/compiler/lib/compiler_new.dart
+++ b/pkg/compiler/lib/compiler_new.dart
@@ -15,7 +15,7 @@
 import 'src/apiimpl.dart';
 import 'src/options.dart' show CompilerOptions;
 
-export 'compiler.dart' show Diagnostic, PackagesDiscoveryProvider;
+export 'compiler.dart' show Diagnostic;
 
 // Unless explicitly allowed, passing `null` for any argument to the
 // methods of library will result in an Error being thrown.
diff --git a/pkg/compiler/lib/src/apiimpl.dart b/pkg/compiler/lib/src/apiimpl.dart
index 30059dc..4f13e9b 100644
--- a/pkg/compiler/lib/src/apiimpl.dart
+++ b/pkg/compiler/lib/src/apiimpl.dart
@@ -9,11 +9,6 @@
 
 import 'package:front_end/src/api_unstable/dart2js.dart'
     show LibrariesSpecification, TargetLibrariesSpecification, LibraryInfo;
-import 'package:package_config/packages.dart';
-import 'package:package_config/packages_file.dart' as pkgs;
-import 'package:package_config/src/packages_impl.dart'
-    show MapPackages, NonFilePackagesDirectoryPackages;
-import 'package:package_config/src/util.dart' show checkValidPackageUri;
 
 import '../compiler_new.dart' as api;
 import 'common/tasks.dart' show GenericTask, Measurer;
@@ -30,11 +25,9 @@
   final Measurer measurer;
   api.CompilerInput provider;
   api.CompilerDiagnostics handler;
-  Packages packages;
 
   GenericTask userHandlerTask;
   GenericTask userProviderTask;
-  GenericTask userPackagesDiscoveryTask;
 
   CompilerImpl(this.provider, api.CompilerOutput outputProvider, this.handler,
       CompilerOptions options,
@@ -50,8 +43,6 @@
     tasks.addAll([
       userHandlerTask = new GenericTask('Diagnostic handler', measurer),
       userProviderTask = new GenericTask('Input provider', measurer),
-      userPackagesDiscoveryTask =
-          new GenericTask('Package discovery', measurer),
     ]);
   }
 
@@ -60,59 +51,6 @@
         null, null, null, null, message, api.Diagnostic.VERBOSE_INFO);
   }
 
-  /**
-   * Translates a readable URI into a resource URI.
-   *
-   * See [LibraryLoader] for terminology on URIs.
-   */
-  Uri translateUri(Spannable node, Uri uri) =>
-      uri.scheme == 'package' ? translatePackageUri(node, uri) : uri;
-
-  Uri translatePackageUri(Spannable node, Uri uri) {
-    try {
-      checkValidPackageUri(uri);
-    } on ArgumentError catch (e) {
-      reporter.reportErrorMessage(node, MessageKind.INVALID_PACKAGE_URI,
-          {'uri': uri, 'exception': e.message});
-      return null;
-    }
-    return packages.resolve(uri, notFound: (Uri notFound) {
-      reporter.reportErrorMessage(
-          node, MessageKind.LIBRARY_NOT_FOUND, {'resolvedUri': uri});
-      return null;
-    });
-  }
-
-  Future setupPackages(Uri uri) {
-    if (options.packageRoot != null) {
-      // Use "non-file" packages because the file version requires a [Directory]
-      // and we can't depend on 'dart:io' classes.
-      packages = new NonFilePackagesDirectoryPackages(options.packageRoot);
-    } else if (options.packageConfig != null) {
-      Future<api.Input<List<int>>> future =
-          callUserProvider(options.packageConfig, api.InputKind.binary);
-      return future.then((api.Input<List<int>> binary) {
-        packages =
-            new MapPackages(pkgs.parse(binary.data, options.packageConfig));
-      }).catchError((error) {
-        reporter.reportErrorMessage(
-            NO_LOCATION_SPANNABLE,
-            MessageKind.INVALID_PACKAGE_CONFIG,
-            {'uri': options.packageConfig, 'exception': error});
-        packages = Packages.noPackages;
-      });
-    } else {
-      if (options.packagesDiscoveryProvider == null) {
-        packages = Packages.noPackages;
-      } else {
-        return callUserPackagesDiscovery(uri).then((p) {
-          packages = p;
-        });
-      }
-    }
-    return new Future.value();
-  }
-
   Future setupSdk() {
     var future = new Future.value(null);
     _Environment env = environment;
@@ -147,8 +85,7 @@
   Future<bool> run(Uri uri) {
     Duration setupDuration = measurer.wallClock.elapsed;
     return selfTask.measureSubtask("CompilerImpl.run", () {
-      return setupSdk().then((_) => setupPackages(uri)).then((_) {
-        assert(packages != null);
+      return setupSdk().then((_) {
         return super.run(uri);
       }).then((bool success) {
         if (options.verbose) {
@@ -240,16 +177,6 @@
       rethrow;
     }
   }
-
-  Future<Packages> callUserPackagesDiscovery(Uri uri) {
-    try {
-      return userPackagesDiscoveryTask
-          .measureIo(() => options.packagesDiscoveryProvider(uri));
-    } catch (ex, s) {
-      reportCrashInUserCode('Uncaught exception in package discovery', ex, s);
-      rethrow;
-    }
-  }
 }
 
 class _Environment implements Environment {
diff --git a/pkg/compiler/lib/src/dart2js.dart b/pkg/compiler/lib/src/dart2js.dart
index 81c386a..75633a7 100644
--- a/pkg/compiler/lib/src/dart2js.dart
+++ b/pkg/compiler/lib/src/dart2js.dart
@@ -10,7 +10,6 @@
 import 'dart:isolate' show Isolate;
 
 import 'package:front_end/src/api_unstable/dart2js.dart' as fe;
-import 'package:package_config/discovery.dart' show findPackages;
 
 import '../compiler_new.dart' as api;
 import 'commandline_options.dart';
@@ -599,7 +598,6 @@
     ..packageRoot = packageRoot
     ..packageConfig = packageConfig
     ..environment = environment
-    ..packagesDiscoveryProvider = findPackages
     ..kernelInitializedCompilerState = kernelInitializedCompilerState
     ..optimizationLevel = optimizationLevel;
   return compileFunc(
diff --git a/pkg/compiler/lib/src/options.dart b/pkg/compiler/lib/src/options.dart
index 99eac5b..eada831 100644
--- a/pkg/compiler/lib/src/options.dart
+++ b/pkg/compiler/lib/src/options.dart
@@ -6,7 +6,6 @@
 
 import 'package:front_end/src/api_unstable/dart2js.dart' as fe;
 
-import '../compiler.dart' show PackagesDiscoveryProvider;
 import 'commandline_options.dart' show Flags;
 
 /// Options used for controlling diagnostic messages.
@@ -52,10 +51,6 @@
   /// If not null then [packageRoot] should be null.
   Uri packageConfig;
 
-  // TODO(sigmund): Move out of here, maybe to CompilerInput. Options should not
-  // hold code, just configuration options.
-  PackagesDiscoveryProvider packagesDiscoveryProvider;
-
   /// Location from which serialized inference data is read.
   ///
   /// If this is set, the [entryPoint] is expected to be a .dill file and the
diff --git a/tests/compiler/dart2js/end_to_end/user_crash_test.dart b/tests/compiler/dart2js/end_to_end/user_crash_test.dart
index 76d92cd..a17fbf2 100644
--- a/tests/compiler/dart2js/end_to_end/user_crash_test.dart
+++ b/tests/compiler/dart2js/end_to_end/user_crash_test.dart
@@ -25,23 +25,6 @@
         expectedExceptions: [
           EXCEPTION
         ]);
-    test(
-        'Throw in package discovery',
-        await run(packagesDiscoveryProvider: (_) {
-          throw EXCEPTION;
-        }),
-        expectedLines: [
-          'Uncaught exception in package discovery: $EXCEPTION',
-          null /* Stack trace*/
-        ],
-        expectedExceptions: [
-          EXCEPTION
-        ]);
-    test(
-        'new Future.error in package discovery',
-        await run(
-            packagesDiscoveryProvider: (_) => new Future.error(EXCEPTION)),
-        expectedExceptions: [EXCEPTION]);
 
     var cantReadFile =
         templateCantReadFile.withArguments(entryPoint, EXCEPTION);
@@ -82,16 +65,14 @@
 
 Future<RunResult> run(
     {Map<String, String> memorySourceFiles: const {'main.dart': 'main() {}'},
-    CompilerDiagnostics diagnostics,
-    PackagesDiscoveryProvider packagesDiscoveryProvider}) async {
+    CompilerDiagnostics diagnostics}) async {
   RunResult result = new RunResult();
   await runZoned(() async {
     try {
       await runCompiler(
           entryPoint: entryPoint,
           memorySourceFiles: memorySourceFiles,
-          diagnosticHandler: diagnostics,
-          packagesDiscoveryProvider: packagesDiscoveryProvider);
+          diagnosticHandler: diagnostics);
     } catch (e) {
       result.exceptions.add(e);
     }
diff --git a/tests/compiler/dart2js/helpers/memory_compiler.dart b/tests/compiler/dart2js/helpers/memory_compiler.dart
index 29f7985..079ac0b 100644
--- a/tests/compiler/dart2js/helpers/memory_compiler.dart
+++ b/tests/compiler/dart2js/helpers/memory_compiler.dart
@@ -8,12 +8,7 @@
 
 import 'package:compiler/compiler.dart' show DiagnosticHandler;
 import 'package:compiler/compiler_new.dart'
-    show
-        CompilationResult,
-        CompilerDiagnostics,
-        CompilerOutput,
-        Diagnostic,
-        PackagesDiscoveryProvider;
+    show CompilationResult, CompilerDiagnostics, CompilerOutput, Diagnostic;
 import 'package:compiler/src/common.dart';
 import 'package:compiler/src/diagnostics/messages.dart' show Message;
 import 'package:compiler/src/null_compiler_output.dart' show NullCompilerOutput;
@@ -80,7 +75,6 @@
     Uri librariesSpecificationUri,
     Uri packageRoot,
     Uri packageConfig,
-    PackagesDiscoveryProvider packagesDiscoveryProvider,
     void beforeRun(CompilerImpl compiler)}) async {
   if (entryPoint == null) {
     entryPoint = Uri.parse('memory:main.dart');
@@ -94,8 +88,7 @@
       showDiagnostics: showDiagnostics,
       librariesSpecificationUri: librariesSpecificationUri,
       packageRoot: packageRoot,
-      packageConfig: packageConfig,
-      packagesDiscoveryProvider: packagesDiscoveryProvider);
+      packageConfig: packageConfig);
   if (beforeRun != null) {
     beforeRun(compiler);
   }
@@ -115,15 +108,12 @@
     bool showDiagnostics: true,
     Uri librariesSpecificationUri,
     Uri packageRoot,
-    Uri packageConfig,
-    PackagesDiscoveryProvider packagesDiscoveryProvider}) {
+    Uri packageConfig}) {
   retainDataForTesting = true;
   librariesSpecificationUri ??= Uri.base.resolve('sdk/lib/libraries.json');
   Uri platformBinaries = computePlatformBinariesLocation();
 
-  if (packageRoot == null &&
-      packageConfig == null &&
-      packagesDiscoveryProvider == null) {
+  if (packageRoot == null && packageConfig == null) {
     if (Platform.packageRoot != null) {
       packageRoot = Uri.base.resolve(Platform.packageRoot);
     } else if (Platform.packageConfig != null) {
@@ -151,8 +141,7 @@
     ..entryPoint = entryPoint
     ..packageRoot = packageRoot
     ..environment = {}
-    ..packageConfig = packageConfig
-    ..packagesDiscoveryProvider = packagesDiscoveryProvider;
+    ..packageConfig = packageConfig;
   compilerOptions.kernelInitializedCompilerState =
       kernelInitializedCompilerState;
   CompilerImpl compiler = new CompilerImpl(