Remove support for --use-old-frontend option

Change-Id: Ia6e7ded5e312cce4841ded8170fc01a51f07b098
Reviewed-on: https://dart-review.googlesource.com/54229
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
diff --git a/pkg/compiler/lib/src/commandline_options.dart b/pkg/compiler/lib/src/commandline_options.dart
index 152ac6c..c35ddbb 100644
--- a/pkg/compiler/lib/src/commandline_options.dart
+++ b/pkg/compiler/lib/src/commandline_options.dart
@@ -35,12 +35,10 @@
   static const String generateCodeWithCompileTimeErrors =
       '--generate-code-with-compile-time-errors';
 
-  /// TODO(sigmund): delete this flag.
+  /// TODO(sigmund): delete these flags.
   static const String useKernel = '--use-kernel';
-
-  /// Temporary flag to revert to the old front-end once the new common
-  /// front-end is the default.
   static const String useOldFrontend = '--use-old-frontend';
+
   static const String strongMode = '--strong';
   static const String previewDart2 = '--preview-dart-2';
   static const String omitImplicitChecks = '--omit-implicit-checks';
diff --git a/pkg/compiler/lib/src/dart2js.dart b/pkg/compiler/lib/src/dart2js.dart
index e08a1d1..0c6117c 100644
--- a/pkg/compiler/lib/src/dart2js.dart
+++ b/pkg/compiler/lib/src/dart2js.dart
@@ -132,7 +132,6 @@
   bool showWarnings;
   bool showHints;
   bool enableColors;
-  bool useKernel = true;
   Uri platformBinaries = computePlatformBinariesLocation();
   Map<String, dynamic> environment = new Map<String, dynamic>();
 
@@ -248,8 +247,7 @@
   }
 
   void setUseOldFrontend(String argument) {
-    useKernel = false;
-    passThrough(argument);
+    helpAndFail("Option '${Flags.useOldFrontend}' is not supported.");
   }
 
   void setPlatformBinaries(String argument) {
@@ -505,11 +503,9 @@
   }
 
   Uri script = currentDirectory.resolve(arguments[0]);
-  if (useKernel) {
-    diagnosticHandler.autoReadFileUri = true;
-    // TODO(sigmund): reenable hints (Issue #32111)
-    diagnosticHandler.showHints = showHints = false;
-  }
+  diagnosticHandler.autoReadFileUri = true;
+  // TODO(sigmund): reenable hints (Issue #32111)
+  diagnosticHandler.showHints = showHints = false;
   CompilerOptions compilerOptions = CompilerOptions.parse(options,
       libraryRoot: libraryRoot, platformBinaries: platformBinaries)
     ..entryPoint = script
diff --git a/pkg/compiler/lib/src/options.dart b/pkg/compiler/lib/src/options.dart
index 53fa292..1e0fe03 100644
--- a/pkg/compiler/lib/src/options.dart
+++ b/pkg/compiler/lib/src/options.dart
@@ -235,7 +235,7 @@
   /// When this flag is on, the compiler also accepts reading .dill files from
   /// disk. The compiler reads the sources differently depending on the
   /// extension format.
-  bool useKernel = true;
+  final useKernel = true;
 
   /// Enables strong mode in dart2js.
   ///
@@ -343,7 +343,6 @@
       ..trustTypeAnnotations = _hasOption(options, Flags.trustTypeAnnotations)
       ..useContentSecurityPolicy =
           _hasOption(options, Flags.useContentSecurityPolicy)
-      ..useKernel = !_hasOption(options, Flags.useOldFrontend)
       ..useFrequencyNamer =
           !_hasOption(options, Flags.noFrequencyBasedMinification)
       ..useMultiSourceInfo = _hasOption(options, Flags.useMultiSourceInfo)
diff --git a/tests/compiler/dart2js/codegen/type_inference8_test.dart b/tests/compiler/dart2js/codegen/type_inference8_test.dart
index e1be1bb..502aa96 100644
--- a/tests/compiler/dart2js/codegen/type_inference8_test.dart
+++ b/tests/compiler/dart2js/codegen/type_inference8_test.dart
@@ -5,10 +5,10 @@
 /// TODO(johnniwinther): Move this test to the codegen folder.
 
 import "package:async_helper/async_helper.dart";
+import "package:compiler/src/commandline_options.dart";
 import "package:compiler/src/constants/values.dart";
 import "package:compiler/src/types/types.dart";
 import "package:expect/expect.dart";
-import '../compiler_helper.dart';
 import '../memory_compiler.dart';
 
 import 'dart:async';
@@ -35,21 +35,26 @@
 Future runTest1() async {
   var result = await runCompiler(
       memorySourceFiles: {'main.dart': TEST1},
-      options: ['--use-old-frontend', '--disable-inlining']);
+      options: [Flags.disableInlining]);
   var compiler = result.compiler;
   var typesInferrer = compiler.globalInference.typesInferrerInternal;
-  var commonMasks = typesInferrer.closedWorld.abstractValueDomain;
-  MemberElement element = findElement(compiler, "foo");
+  var closedWorld = typesInferrer.closedWorld;
+  var elementEnvironment = closedWorld.elementEnvironment;
+  var commonMasks = closedWorld.abstractValueDomain;
+  var element = elementEnvironment.lookupLibraryMember(
+      elementEnvironment.mainLibrary, 'foo');
   var mask = typesInferrer.getReturnTypeOfMember(element);
   var falseType =
       new ValueTypeMask(commonMasks.boolType, new FalseConstantValue());
   // 'foo' should always return false
   Expect.equals(falseType, mask);
   // the argument to 'bar' is always false
-  dynamic bar = findElement(compiler, "bar");
-  var barArg = bar.parameters.first;
-  var barArgMask = typesInferrer.getTypeOfParameter(barArg);
-  Expect.equals(falseType, barArgMask);
+  dynamic bar = elementEnvironment.lookupLibraryMember(
+      elementEnvironment.mainLibrary, 'bar');
+  compiler.codegenWorldBuilder.forEachParameterAsLocal(bar, (barArg) {
+    var barArgMask = typesInferrer.getTypeOfParameter(barArg);
+    Expect.equals(falseType, barArgMask);
+  });
   var barCode = compiler.backend.getGeneratedCode(bar);
   Expect.isTrue(barCode.contains('"bbb"'));
   Expect.isFalse(barCode.contains('"aaa"'));
@@ -78,19 +83,24 @@
 Future runTest2() async {
   var result = await runCompiler(
       memorySourceFiles: {'main.dart': TEST2},
-      options: ['--use-old-frontend', '--disable-inlining']);
+      options: [Flags.disableInlining]);
   var compiler = result.compiler;
   var typesInferrer = compiler.globalInference.typesInferrerInternal;
   var commonMasks = typesInferrer.closedWorld.abstractValueDomain;
-  MemberElement element = findElement(compiler, "foo");
+  var closedWorld = typesInferrer.closedWorld;
+  var elementEnvironment = closedWorld.elementEnvironment;
+  var element = elementEnvironment.lookupLibraryMember(
+      elementEnvironment.mainLibrary, 'foo');
   var mask = typesInferrer.getReturnTypeOfMember(element);
   // Can't infer value for foo's return type, it could be either true or false
   Expect.identical(commonMasks.boolType, mask);
-  dynamic bar = findElement(compiler, "bar");
-  var barArg = bar.parameters.first;
-  var barArgMask = typesInferrer.getTypeOfParameter(barArg);
-  // The argument to bar should have the same type as the return type of foo
-  Expect.identical(commonMasks.boolType, barArgMask);
+  dynamic bar = elementEnvironment.lookupLibraryMember(
+      elementEnvironment.mainLibrary, 'bar');
+  compiler.codegenWorldBuilder.forEachParameterAsLocal(bar, (barArg) {
+    var barArgMask = typesInferrer.getTypeOfParameter(barArg);
+    // The argument to bar should have the same type as the return type of foo
+    Expect.identical(commonMasks.boolType, barArgMask);
+  });
   var barCode = compiler.backend.getGeneratedCode(bar);
   Expect.isTrue(barCode.contains('"bbb"'));
   // Still must output the print for "aaa"
diff --git a/tests/compiler/dart2js/dart2js.status b/tests/compiler/dart2js/dart2js.status
index de4f98d..1360b6c 100644
--- a/tests/compiler/dart2js/dart2js.status
+++ b/tests/compiler/dart2js/dart2js.status
@@ -36,6 +36,8 @@
 rti/rti_need0_test: Pass, Slow
 rti/rti_need1_test: Pass, Slow
 show_package_warnings_test: RuntimeError # missing errors from the FE
+sourcemaps/d2js_validity_test: RuntimeError # Issue 33072
+sourcemaps/deferred_d2js_validity_test: RuntimeError # Issue 33072
 sourcemaps/pub_build_validity_test: Pass, RuntimeError # Investigate: passes locally, but only fails in bots.
 sourcemaps/source_mapping_invokes_test: Pass, Slow
 sourcemaps/source_mapping_operators_test: Pass, Slow
diff --git a/tests/compiler/dart2js/end_to_end/exit_code_test.dart b/tests/compiler/dart2js/end_to_end/exit_code_test.dart
index a6549af..f12e914 100644
--- a/tests/compiler/dart2js/end_to_end/exit_code_test.dart
+++ b/tests/compiler/dart2js/end_to_end/exit_code_test.dart
@@ -10,9 +10,8 @@
 import 'package:expect/expect.dart';
 
 import 'package:compiler/compiler_new.dart' as api;
+import 'package:compiler/src/commandline_options.dart';
 import 'package:compiler/src/common/codegen.dart';
-import 'package:compiler/src/common/resolution.dart';
-import 'package:compiler/src/compile_time_constants.dart';
 import 'package:compiler/src/compiler.dart';
 import 'package:compiler/src/dart2js.dart' as entry;
 import 'package:compiler/src/diagnostics/diagnostic_listener.dart';
@@ -20,14 +19,11 @@
 import 'package:compiler/src/diagnostics/messages.dart';
 import 'package:compiler/src/diagnostics/spannable.dart';
 import 'package:compiler/src/apiimpl.dart' as apiimpl;
-import 'package:compiler/src/elements/elements.dart';
 import 'package:compiler/src/elements/entities.dart';
 import 'package:compiler/src/js_backend/js_backend.dart';
 import 'package:compiler/src/library_loader.dart';
 import 'package:compiler/src/null_compiler_output.dart';
 import 'package:compiler/src/options.dart' show CompilerOptions;
-import 'package:compiler/src/resolution/resolution.dart';
-import 'package:compiler/src/scanner/scanner_task.dart';
 import 'package:compiler/src/universe/world_impact.dart';
 import 'package:compiler/src/world.dart';
 import 'diagnostic_reporter_helper.dart';
@@ -58,17 +54,6 @@
     return new TestBackend(this);
   }
 
-  @override
-  ScannerTask createScannerTask() => new TestScanner(this);
-
-  @override
-  Resolution createResolution() => new TestResolution(this);
-
-  @override
-  ResolverTask createResolverTask() {
-    return new TestResolver(this, backend.constantCompilerTask);
-  }
-
   Future<bool> run(Uri uri) {
     test('Compiler.run');
     return super.run(uri);
@@ -146,46 +131,6 @@
   }
 }
 
-class TestScanner extends ScannerTask {
-  final TestCompiler compiler;
-
-  TestScanner(TestCompiler compiler)
-      : compiler = compiler,
-        super(compiler.dietParser, compiler.reporter, compiler.measurer);
-
-  void scanElements(CompilationUnitElement compilationUnit) {
-    compiler.test('ScannerTask.scanElements');
-    super.scanElements(compilationUnit);
-  }
-}
-
-class TestResolver extends ResolverTask {
-  final TestCompiler compiler;
-
-  TestResolver(TestCompiler compiler, ConstantCompiler constantCompiler)
-      : this.compiler = compiler,
-        super(compiler.resolution, constantCompiler, compiler.measurer);
-
-  void computeClassMembers(ClassElement element) {
-    compiler.test('ResolverTask.computeClassMembers');
-    super.computeClassMembers(element);
-  }
-}
-
-class TestResolution extends CompilerResolution {
-  TestCompiler compiler;
-
-  TestResolution(TestCompiler compiler)
-      : this.compiler = compiler,
-        super(compiler);
-
-  @override
-  WorldImpact computeWorldImpact(Element element) {
-    compiler.test('Compiler.analyzeElement');
-    return super.computeWorldImpact(element);
-  }
-}
-
 int checkedResults = 0;
 
 Future testExitCode(
@@ -242,7 +187,6 @@
 
     List<String> args = new List<String>.from(options)
       // TODO(sigmund): convert to support the new CFE
-      ..add("--use-old-frontend")
       ..add("--library-root=${Uri.base.resolve('sdk/')}")
       ..add("tests/compiler/dart2js/end_to_end/data/exit_code_helper.dart");
     Future result = entry.internalMain(args);
@@ -293,11 +237,8 @@
     'Compiler': beforeRun,
     'Compiler.run': beforeRun,
     'Compiler.processLoadedLibraries': beforeRun,
-    'ScannerTask.scanElements': duringRun,
     'Compiler.withCurrentElement': duringRun,
-    'Compiler.analyzeElement': duringRun,
     'Compiler.codegen': duringRun,
-    'ResolverTask.computeClassMembers': duringRun,
   };
   int totalExpectedErrors = 0;
 
@@ -310,7 +251,7 @@
       expected =
           _expectedExitCode(beforeRun: tests[marker], fatalWarnings: true);
       totalExpectedErrors += expected.length;
-      await testExitCodes(marker, expected, ['--fatal-warnings']);
+      await testExitCodes(marker, expected, [Flags.fatalWarnings]);
     }
 
     Expect.equals(totalExpectedErrors, checkedResults);
diff --git a/tests/compiler/dart2js/memory_compiler.dart b/tests/compiler/dart2js/memory_compiler.dart
index 88dc06c..3f92e4c 100644
--- a/tests/compiler/dart2js/memory_compiler.dart
+++ b/tests/compiler/dart2js/memory_compiler.dart
@@ -14,7 +14,6 @@
         CompilerOutput,
         Diagnostic,
         PackagesDiscoveryProvider;
-import 'package:compiler/src/commandline_options.dart';
 import 'package:compiler/src/diagnostics/messages.dart' show Message;
 import 'package:compiler/src/elements/entities.dart'
     show LibraryEntity, MemberEntity;
@@ -140,10 +139,7 @@
     Uri packageConfig,
     PackagesDiscoveryProvider packagesDiscoveryProvider}) {
   Uri libraryRoot = Uri.base.resolve('sdk/');
-  Uri platformBinaries;
-  if (!options.contains(Flags.useOldFrontend)) {
-    platformBinaries = computePlatformBinariesLocation();
-  }
+  Uri platformBinaries = computePlatformBinariesLocation();
 
   if (packageRoot == null &&
       packageConfig == null &&
diff --git a/tests/compiler/dart2js/sourcemaps/d2js_validity_test.dart b/tests/compiler/dart2js/sourcemaps/d2js_validity_test.dart
index 53e0c75..f724936 100644
--- a/tests/compiler/dart2js/sourcemaps/d2js_validity_test.dart
+++ b/tests/compiler/dart2js/sourcemaps/d2js_validity_test.dart
@@ -21,7 +21,6 @@
           mainFile,
           '-o${tmpDir.path}/out.js',
           '--library-root=sdk',
-          '--use-old-frontend'
         ]);
         return result.then((CompilationResult result) {
           CompilerImpl compiler = result.compiler;
diff --git a/tests/compiler/dart2js/sourcemaps/deferred_d2js_validity_test.dart b/tests/compiler/dart2js/sourcemaps/deferred_d2js_validity_test.dart
index ac03ca1..321719b 100644
--- a/tests/compiler/dart2js/sourcemaps/deferred_d2js_validity_test.dart
+++ b/tests/compiler/dart2js/sourcemaps/deferred_d2js_validity_test.dart
@@ -20,7 +20,6 @@
           file,
           '-o${tmpDir.path}/out.js',
           '--library-root=sdk',
-          '--use-old-frontend'
         ]);
         return result.then((CompilationResult result) {
           CompilerImpl compiler = result.compiler;
diff --git a/tests/compiler/dart2js/sourcemaps/tools/source_mapping_tester.dart b/tests/compiler/dart2js/sourcemaps/tools/source_mapping_tester.dart
index 781b46b..4eaf294 100644
--- a/tests/compiler/dart2js/sourcemaps/tools/source_mapping_tester.dart
+++ b/tests/compiler/dart2js/sourcemaps/tools/source_mapping_tester.dart
@@ -131,14 +131,7 @@
 }
 
 const Map<String, List<String>> TEST_CONFIGURATIONS = const {
-  'ast': const [
-    '--use-new-source-info',
-    '--use-old-frontend',
-  ],
   'kernel': const [],
-  'old': const [
-    '--use-old-frontend',
-  ],
 };
 
 final Map<String, Uri> TEST_FILES = _computeTestFiles();