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();